|
|
1
2
当您向dev_add_pack注册协议处理程序时,将在数据包到达时调用处理程序回调函数。这就是IP协议处理程序的工作原理。从inet初始化:
当nic为到达的数据包引发中断时,nic中断处理程序将运行,最终调用netif_rx(或napi_schedule),这将引发softirq net_rx_操作。这将结束为每个注册的协议处理程序调用deliver_skb。从netif_receive_skb_core
所以是的,您的协议处理程序回调函数将在L2上被调用,并与IP协议处理程序的IP RCV一起被调用。 如果要在该层调用,可以使用“proto_register”在l3注册协议处理程序。 |
|
|
2
1
对.您注册的包类型的.func()在设备的rx处理程序处理它之前,在netif_receive_skb()中调用。 |