找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3538|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

TCP/IP協(xié)議棧移植的時(shí)候三個(gè)關(guān)鍵點(diǎn)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:82781 發(fā)表于 2015-6-13 15:58 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
日照


上午看了看棧底層接口,主要有這樣幾個(gè)功能:
1:eth_input(struct pbuf *p, struct netif *inp);
2:ethernetif_output(struct netif *netif, struct pbuf *p, struct ip_addr *ipaddr)
3:rt_err_t eth_device_init(struct eth_device* dev, const char* name)
第一個(gè)是用來(lái)把網(wǎng)絡(luò)上的數(shù)據(jù)預(yù)分揀,分成IP包和ARP包,大體的步驟流程是:首先取出以太網(wǎng)層的類型數(shù)據(jù),然后判斷是IP還是ARP,然后對(duì)應(yīng)著各自的處理程序,
第二個(gè)是用來(lái)把TCP/IP的上層封裝數(shù)據(jù)加入ARP頭之后放入BUFF中,然后分揀是IP包還是ARP包然后加入各自的頭,最后通過(guò)PHY上傳到以太網(wǎng),基本上是輸入的逆運(yùn)算,
第三個(gè)是  初始化,  加載結(jié)構(gòu)類的幾個(gè)方法地址,比如說(shuō)底層的收發(fā),標(biāo)志,MAC長(zhǎng)度等一堆,最后:Set a network interface as the default network interface。






分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表