* reichtiger (woailinux@163.com) wrote: > Hi,all > Does the Linux ARP worked like this ? I find the funtion arp_send() in linux/net/arp.c : > > When the system network card recieved a packet and make a interrupt ,the system call will be called to recieve the packet as sk_buff ,then ,the arp module will check the sk_buff 's arp part ? > > I think my description is not good but I need to know how it recieve packets and check them . start with netif_rx(), called during interrupt from nic driver on packet receipt. this kicks off netif_rx_action() for bottom half handling (via the NET_RX_SOFTIRQ). notice arp registers a packet handler called arp_rcv() which is called in netif_rx_action(). hope that helps, -chris -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/