Re: [問題] 請問net device driver的小問題 煩請幫忙

看板LinuxDev作者 (suedeN  ￾   )時間17年前 (2008/01/09 21:36), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串3/7 (看更多)
那個request irq 所註冊的 interrupr service function 中 好像沒有 您說的 有call到rtl8139_rx() 我知道收到packet 後 會先拆掉 mac header 然後就call netif_rx() 但是 在哪裡 有註冊 rtl8139_rx()這個東西 :q! ※ 引述《Spig (Spig)》之銘言: : ※ 引述《rz600000 (suedeN  ￾   )》之銘言: : : 請問net device driver的小問題 煩請幫忙 : : 就是 針對 net device driver 中的 8139too來說 : : 一般我要註冊 傳送封包的function : : dev->hard_start_xmit = rtl8139_start_xmit; : : 會以上面那行 用以告知kernel說 以後要用傳送封包的話 : : 要用rtl8139_start_xmit 很像就是EXPORT_SYMBOL 的觀念說 : : 我把這個function 提供給上面kernel 使用 : : 但是現在 接收封包的 function 是 rtl8139_rx() : : 我找不到 任何註冊的動作 也沒有任何東西 指向rtl8139_rx() : : 這樣在接收封包的時候 要怎麼知道呢???? : : 我想問的就是 在哪裡有註冊rtl8139_rx()這個functions的地方 : 去找 request_irq(), 他會註冊一組中斷函式(ISR) : 這個中斷函式會執行 Rx 的部份, 最後用 netif_rx() 往上送 : 簡單來說 : Tx: Kernel -> xmit() -> Hardware -> Ethernet : Rx: Ethernet -> Hardware -> ISR(tasklet) -> netif_rx() -> Kernel -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.176.182
文章代碼(AID): #17XCtqBI (LinuxDev)
討論串 (同標題文章)
文章代碼(AID): #17XCtqBI (LinuxDev)