1

Я не могу понять .type и .func в этом коде.

static struct packet_type ip_packet_type __read_mostly = {
.type = cpu_to_be16(ETH_P_IP),
.func = ip_rcv,};

На это ссылаются в:

net/ipv4/af_inet.c line 1751

1 ответ1

2

Это ассоциирование обработчик протокола IP ip_rcv к типу IP Ethernet ETH_P_IP == 0x0800

Он используется функцией init_inet чуть ниже того кода, где он вызывает dev_add_pack() для добавления ip_rcv в качестве обработчика для пакетов IP Ethernet.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .