LINUX.ORG.RU

Код ядра (сетевая подсистема)


0

0

В файле include/net/protocol.h есть определение структуры

/* This is used to register protocols. */
struct inet_protocol
{
int (*handler)(struct sk_buff *skb);
void (*err_handler)(struct sk_buff *skb, u32 info);
struct inet_protocol *next;
unsigned char protocol;
unsigned char copy:1;
void *data;
const char *name;
};

Если кто разбирался, подскажите, зачем нужен copy?

anonymous

Re: Код ядра (сетевая подсистема)

что-то там было в 2.4, точно не скажу.

типа, если мы добавляем net_protocol *prot, и у нас
уже есть протокол с таким же prot->protocol, то copy = 1.
потом при delivery делался skb_clone() если copy, чтобы
оба протокола его "видели". кажется.

смотреть inet_add_protocol(), ip_local_deliver().

в любом случае, этого уже нет - и суда нет :)

idle ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.