O que significa este código? [fechadas]

1

Eu não consigo entender .type e .func neste código.

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

Isso é referenciado em:

net / ipv4 / af_inet.c linha 1751

    
por m-tech 03.10.2016 / 12:50

1 resposta

2

Isso está associando o manipulador do protocolo IP ( ip_rcv ) ao tipo de IP da Ethernet ( ETH_P_IP == 0x0800 ).

Ele é usado pela função init_inet logo abaixo desse código, onde ele chama de dev_add_pack() para adicionar ip_rcv como o manipulador para pacotes IP Ethernet.

    
por 03.10.2016 / 13:04