Linux kernel 更新的linux内核中缺少sk_buff_头

Linux kernel 更新的linux内核中缺少sk_buff_头,linux-kernel,Linux Kernel,在旧版本的linux内核(例如2.6.11)中,struct sk_buff包含指向struct sk_buff_head(命名列表)的指针。《理解Linux网络内部结构》一书说,这个指针是在sk_爱好者需要快速查找skb列表的头部时维护的。然而,我在最新版本的内核(3.2.1)中找不到这样的成员。有人能解释一下skb列表管理在较新内核中是如何改变的吗?这在很久以前就发生了变化,在2.6.14中发生了明显的变化。所讨论的内核提交是: commit 8728b834b226ffcf2c94a585

在旧版本的linux内核(例如2.6.11)中,struct sk_buff包含指向struct sk_buff_head(命名列表)的指针。《理解Linux网络内部结构》一书说,这个指针是在sk_爱好者需要快速查找skb列表的头部时维护的。然而,我在最新版本的内核(3.2.1)中找不到这样的成员。有人能解释一下skb列表管理在较新内核中是如何改变的吗?

这在很久以前就发生了变化,在2.6.14中发生了明显的变化。所讨论的内核提交是:

commit 8728b834b226ffcf2c94a58530090e292af2a7bf
Author: David S. Miller <davem@davemloft.net>
Date:   Tue Aug 9 19:25:21 2005

    [NET]: Kill skb->list

    Remove the "list" member of struct sk_buff, as it is entirely
    redundant.  All SKB list removal callers know which list the
    SKB is on, so storing this in sk_buff does nothing other than
    taking up some space.

    Two tricky bits were SCTP, which I took care of, and two ATM
    drivers which Francois Romieu <romieu@fr.zoreil.com> fixed
    up.

    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
提交8728b834b226ffcf2c94a58530090e292af2a7bf
作者:大卫·S·米勒
日期:2005年8月9日星期二19:25:21
[网络]:杀死skb->列表
删除struct sk_buff的“list”成员,因为它完全是
冗余的所有SKB列表删除调用者都知道
SKB已打开,因此将其存储在sku buff中除了
占用一些空间。
两个棘手的部分是我负责的SCTP和两个ATM
Francois Romieu修复的驱动程序
向上的
签字人:David S.Miller
签字人:弗朗索瓦·罗米厄