В файле 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?