<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于嵌入式Linux的3G無(wú)線(xiàn)視頻終端的設計與實(shí)現

基于嵌入式Linux的3G無(wú)線(xiàn)視頻終端的設計與實(shí)現

作者: 時(shí)間:2011-08-01 來(lái)源:網(wǎng)絡(luò ) 收藏

內核netfilter結構在/usr/src/inelude/linux/netfilter.h中定義,類(lèi)似如下:
c.jpg
參數是:
list
Netfilter本身是一個(gè)鉤子鏈;它指向netfilter鉤子的頭部,通常設置為{NULL,NULL}。
hook
該函數在數據包碰到鉤子點(diǎn)時(shí)被調用。該函數與前面描述的函數相同,它必須返回NF_ACCEPT、NF_DROP或NF_QUEUE。如果返回NF_ACCEPT,則下一個(gè)鉤子將被附加到將要調用的點(diǎn)。如果返回NF_DROP,則數據包被丟棄。如果返回NF_QUEUE,則對數據包進(jìn)行排隊。sK_buff指針被傳遞到該函數中,并用數據包信息如IP報頭、TCP報頭等進(jìn)行填充,可以使用sk_buff結構指針來(lái)操作或刪除數據包(要刪除數據包,只需將skb指針設置為空即可)。
pf
協(xié)議簇;例如,適用于IPv4的PF_INET。
hooknum
鉤子的掛載點(diǎn),由于本系統不需要在本地對數據包進(jìn)行任何處理,因此選擇的掛在點(diǎn)為NF_IP_PRE_ROUTING,在對數據包進(jìn)行正確性校驗后就調用鉤子函數處理數據包。Priority表明鉤子的優(yōu)先級,在本系統中采用高優(yōu)先級處理NF_IP_PRI_FIRST。
內核數據處理的關(guān)鍵是鉤子函數的編寫(xiě),此函數規定了數據包在到達時(shí)需要進(jìn)行的處理過(guò)程。
鉤子函數框架如下:
d.jpg
設定好特定的鉤子函數之后,調用函數
int nf_register_hook(struct nf_hook_ops*req);
將鉤子函數注冊至內核。一旦該結構注冊到內核中,將調用這里定義的函數來(lái)處理數據包。
使用函數
void nf_unregister_hook(struct nf_hook_ops*req);
可以將已經(jīng)注冊入內核的鉤子函數取消,此時(shí),接收到數據包將按照內核的默認規則來(lái)進(jìn)行處理。流程如圖3所示。

本文引用地址:http://dyxdggzs.com/article/150415.htm

e.jpg

linux操作系統文章專(zhuān)題:linux操作系統詳解(linux不再難懂)


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>