那段代码确实没有跟踪到。。。按照它的处理流程如果是arp就添加到struct netpoll_info 的arp_tx队列后,就返回1,导致netpoll_receive_skb函数调用也返回值1.还好使netif_receive_skb函数返回NET_RX_DROP;这样就会回到process_backlog函数循环处理其他的skb了。。。。就是没有跟踪到调用struct netpoll_info 的arp_tx队列的skb。。?? 回复 11# tc1989tc
这样就会回到process_backlog函数循环处理其他的skb了。。。。
NAPI机制下不会返回process_backlog,那是旧机制。
就是没有跟踪到调用struct netpoll_info 的arp_tx队列的skb。。??
这句话没看懂。你是说没跟踪到谁发送了他么? 在 netpoll_send_msg (大概意思,忘记具体名字了)的最后,有个 service_arp_xxx 什么的,记不住了,手头没代码。
回复 12# 卖萌犯法
哎被你说晕了我怎么的代码是如果arp被net_poll处理了 会返回到process_backlog函数呢
还有就是我前面不是说了吗 如果arp被net_poll处理是在这里被处理回复的
write_msg-->netpoll_send_udp-->netpoll_send_skb-->netpoll_poll-->service_arp_queue。你怎么说都是在arp_process处理的啊???
版主来解决哈这个疑问撒 楼主能不能说说这里,我也看蒙了 本帖最后由 super皮波 于 2015-03-04 19:56 编辑
回复 13# tc1989tc
我也没看懂,如果netpoll不发送udp的包的话,是否arp永远都不应答了?
回复 15# super皮波
我也不知道啊 当时没有跟踪了。。
很久没碰内核代码了
页:
1
[2]