LinuxDev 板


LINE

我去看e1000这个网卡 中有说到 930 netdev->open = &e1000_open; 931 netdev->stop = &e1000_close; 932 netdev->hard_start_xmit = &e1000_xmit_frame; 933 netdev->get_stats = &e1000_get_stats; 934 netdev->set_multicast_list = &e1000_set_multi; 935 netdev->set_mac_address = &e1000_set_mac; 936 netdev->change_mtu = &e1000_change_mtu; 937 netdev->do_ioctl = &e1000_ioctl; 938 e1000_set_ethtool_ops(netdev); 939 netdev->tx_timeout = &e1000_tx_timeout; 940 netdev->watchdog_timeo = 5 * HZ; 941 #ifdef CONFIG_E1000_NAPI _^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 这里他有提到假若我 def NAPI 才去定义 dev的poll为 &e1000_clean; 942 netdev->poll = &e1000_clean; 943 netdev->weight = 64; 944 #endif 945 netdev->vlan_rx_register = e1000_vlan_rx_register; 946 netdev->vlan_rx_add_vid = e1000_vlan_rx_add_vid; 947 netdev->vlan_rx_kill_vid = e1000_vlan_rx_kill_vid; 但是 我看了一下 /net/core/dev.c里面的 code 他有提到 __netif_rx_schdule ->__raise_softing_irq -> net_rx_action 在net_rx_action 中会去找寻 这一装置的 poll function 即 net_rx_action -> dev->poll 但是我今天没有定义 要使用NAPI 所以在上面再做 e1000的初始化动作的时候 就不会去def netdev->poll = &e1000_clean 那到底kernel 怎麽知道我要call哪个 function 感恩 ※ 引述《Spig (Spig)》之铭言: : ※ 引述《rz600000 (suedeN  ￾   )》之铭言: : 不好意思, 之前的回答是依照 linux 2.4 的经验... : 刚刚才打开 2.6.16 的 kernel source 来看 : 在 rtl8139_interrupt() 里如果查到 interrupt source 有包含 RxAckBits : 会去呼叫 __netif_rx_schedule() : 然後上层会以 poll 的方式呼叫下来 : 详细的文件请参考 Documentation/networking/NAPI_HOWTO.txt --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.117.176.182
1F:→ mefuck:首先 你得厘清一件事情 传送封包是主动的 而接收是被动 01/11 16:56
2F:→ mefuck:所以 传送封包可以透过常见的hard_start_xmit来传送 01/11 16:58
3F:→ mefuck:但是 接收包封 乃是不预期的事情 通常有采用两种方式接收 01/11 16:59
4F:→ mefuck:一种是polling 一种是中断 01/11 17:00
5F:→ mefuck:我们是藉由中断去呼叫你的接收函式 01/11 17:02
6F:→ mefuck:kernel则是透过中断的方式 才知道要去呼叫接收封包的函式 01/11 17:04
7F:→ mefuck:也就是说 一般接收函式并没有注册的动作(不采用CALLBACK) 01/11 17:07
8F:→ mefuck:你要在你的中断处理函式内去呼叫接收函式 01/11 17:09
9F:→ mefuck:大致上是这样 不知道这样说你是否清楚 01/11 17:09
10F:→ rz600000:..我所说的是 自动收近来的封包 之後处理的function 01/11 23:55
11F:→ rz600000:是收进来到DMA後 ISR 中会呼叫到的处理封包function. 01/11 23:57







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP