2005年03月05日

Kernel 2.6.11 リリース

Linux Kernel 2.6.11 リリース


しかし、相変わらずchangeLog 見にくいですねぇ。。。
せめて、ジャンル別とか表示できないかなぁ。

ということで、個人的に気になったモノを抜き出してみました。
かなり、偏見と無能に満ちたモノとなっています。(^-^;A


●IPv6
IPv6まんせ〜! ということで。

実装ミスっぽ。
・[IPV6] Don't update FAILED entries on receipt of NAs.

As NAs do not create new entries (RFC2461 7.2.5),
NA should not change state of FAILED entries.



●TUN/TAP系
自宅のIPv6環境にて使用中のTUNドライバ関連。

今回の目玉かな? queuingが改良されてるっぽいっす。
・TUN/TAP driver packet queuing fixes and improvements

Patch from Harald Roelle

Fixes for the following issues
- "Kicking" packet behavior in case of kernel packet scheduler (! TUN_ONE_QUEUE):
When the netif queue is stopped because of an overrun of the driver's queue,
no new packets are delivered to the driver until a new packet arrives, not even
when in the meantime there's again space in the driver's queue (gained by a
reading user process). In short, whenever netif queue was stopped, one needs an
additional packet to "kick" packet delivery to the driver.
The reason for this is, that the netif queue is started but not woken up, i.e.
the rest of the kernel is not signaled to resume packet delivery.

- Adjustment of tx queue length by ifconfig has only effect when TUN_ONE_QUEUE
is set. Otherwise always constant TUN_READQ_SIZE queue length is used.

- TX queue default length setting is not consistent:
o TAP dev + TUN_ONE_QUEUE: 1000 (by ether_setup())
o all other cases: 10

- Default tx queue length is too short in many cases.
IMHO it should be at least twice as long as the number of fragments needed
for a maximum sized IP packet at a "typical" MTU size.
This would ensure that at least one complete IP packet can be delivered
to the attached user space process, even if the packet's fragments
are "misaligned" in the buffer and the user process is not scheduled
in time to read the queue.

Additional modifications:

- To signal that stopping of the queue has occurred, the tx fifo overrun
counter is increased.

- Implemented ethtool api. Primarily added to have a standard method requesting
the driver version.

Signed-off-by: Max Krasnyansky


Use random_ether_addr() to generate TAP MAC address.


まぁ、まんまですが、私的に影響ありそうなので。
・[PATCH] Multicast filtering for tun.c

From: Shaun Jackman

This patch adds multicast filtering to the TUN network driver, for
packets being sent from the network device to the character device.

* drivers/net/tun.c: Add multicast filtering for packets travelling from
the network device to the character device.

* include/linux/if_tun.h (tun_struct): Add interface flags, a hardware
device addres, and a multicast filter.


「Please test if this helps in your case」って、そんな。(^-^;A
・[TUN/TAP]: Add missing trans_start and last_rx setting.

But as stated in bonding.txt, the ARP monitor requires the underlying
driver to update dev->trans_start and dev->last_rx.

The patch below adds the required functionality to the TUN/TAP driver.
Please test if this helps in your case.



●TCP/UDP系
●UML系
●netfilter系
●SELinux系
う〜ん、ざっと見た限りでは、面白そうなのなし。


●ねた!!!
「crazy Mac OS-X TCP implementations」って。(^-^;A
・[TCP]: Set PSH bit on all outgoing TSO frames.

Helps with crazy Mac OS-X TCP implementations which delay the
recvmsg() wakeup of the user until push is seen.

Based upon ideas from Alexey Kuznetsov, and a preliminary
patch by Stephen Hemminger.



今回は、アップデートは見送りかなぁ。
安定したって書いてあるけど、微妙だし。。。

Creative Commons License
This weblog is licensed under a Creative Commons License.