tc1989tc 发表于 2013-07-23 13:10

回复 10# 卖萌犯法


    那段代码确实没有跟踪到。。。按照它的处理流程如果是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。。??

卖萌犯法 发表于 2013-07-26 19:40

回复 11# tc1989tc

这样就会回到process_backlog函数循环处理其他的skb了。。。。

NAPI机制下不会返回process_backlog,那是旧机制。

就是没有跟踪到调用struct netpoll_info 的arp_tx队列的skb。。??

这句话没看懂。你是说没跟踪到谁发送了他么? 在 netpoll_send_msg (大概意思,忘记具体名字了)的最后,有个 service_arp_xxx 什么的,记不住了,手头没代码。

tc1989tc 发表于 2013-07-26 22:37

回复 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:55

楼主能不能说说这里,我也看蒙了

super皮波 发表于 2015-03-04 19:56

本帖最后由 super皮波 于 2015-03-04 19:56 编辑

回复 13# tc1989tc

我也没看懂,如果netpoll不发送udp的包的话,是否arp永远都不应答了?
   

tc1989tc 发表于 2015-03-04 20:55

回复 15# super皮波


    我也不知道啊 当时没有跟踪了。。
很久没碰内核代码了
页: 1 [2]
查看完整版本: 网络子系统 netpoll_rx处理