LWIP 接收資料從網絡卡到應用層完整流程(未完成)

2021-09-20 03:59:38 字數 885 閱讀 1273

這裡解釋下從網絡卡phy到ip層的資料接收流程:

這裡是以函式呼叫方式來體現:

netif_add——>ethernetif_init——>low_level_init——>ethernetif_input——>low_level_input和tcpip_input——>

ethernet_input——>

ip4_input(etharp_input、pppoe_disc_input)——>udp_input、tcp_input、icmp_input、igmp_input等

1.在netif_add(&gnetif, &ipaddr, &netmask, &gw, null, ðernetif_init, &tcpip_input);這個函式中,主要用到的是

ethernetif_init(對網口底層初始化)、tcpip_input(向上層遞交資料)這兩個函式。

2.在ethernetif_init函式中,呼叫low_level_init函式,low_level_init函式中建立ethernetif_input執行緒進行中斷訊號量方式的接收數

據,dma接收到完整幀後釋放訊號量,ethernetif_input執行緒用low_level_input提取完整資料報,再通過tcpip_input中呼叫的

ethernet_input將資料傳遞給上層如:ip、arp、ppoe等,具體遞交給哪層由資料報型別決定,到這裡底層phy到ip層部分完成;

3.資料報遞交到ip層後(只討論含資料幀流程,arp等不討論),switch不同幀型別來將資料傳遞給不同傳輸層協議,如tcp、udp等,這樣資料就從ip層傳輸到了傳輸層,再遞交給上層應用。至此,由ip層到應用層完成。

上面不同顏色含義:

淺綠色:底層phy接收到ip層之間資料傳遞;

藍色: ip層到應用層資料傳遞。

網絡卡 十四 LWIP 應用層 dhcp

動態主機設定協議 英語 dynamic host configuration protocol1.客戶端尋找 server dhcp discover 當 dhcp 客戶端第一次登入網路的時候,也就是客戶發現本機上沒有任何 ip 資料設定,它會向網路發出乙個 dhcp discover 封包。因為客...

資料層與應用層分離

比如將資料庫查詢打包到乙個cdatabase類中,把查詢到的資料顯示到乙個列表控制項時,只要呼叫cdatabase類的乙個成員函式cdatabase initlistctrl clistctrl 在呼叫時,將目標的列表控制項的指標作為引數提供,在cdatabase initlistctrl clis...

從應用層修改系統日期和時間

1,修改系統時間需要system許可權 參與framework 編譯,修改android.mk 檔案,新增獲取system許可權的certificate 如紅色所示 include build package use the following include to make our test ap...