sk_buff_head отсутствует в новых ядрах Linux - PullRequest
2 голосов
/ 31 января 2012

В более старых версиях ядра Linux (например, 2.6.11) struct sk_buff содержит указатель на struct sk_buff_head (именованный список). В книге «Понимание внутренних сетевых компонентов Linux» говорится, что этот указатель поддерживается, поскольку sk_buffs необходимо быстро найти заголовок списка skb. Однако я не смог найти такого члена в последних версиях ядра (3.2.1). Кто-нибудь может объяснить, как изменилось управление списком skb в более новых ядрах?

1 Ответ

2 голосов
/ 01 февраля 2012

Это изменилось давно, в 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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...