亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
新手請教:發(fā)包的時候vlan是怎么封裝滴??????????????????
[打印本頁]
作者:
luoops
時間:
2013-05-27 16:13
標(biāo)題:
新手請教:發(fā)包的時候vlan是怎么封裝滴??????????????????
本帖最后由 luoops 于 2013-05-27 16:30 編輯
最近遇到一個vlan相關(guān)的問題,之前從來沒用玩過以太網(wǎng)驅(qū)動和內(nèi)核,十分痛苦,請各位看官解答!
問題描述:
我們在指定數(shù)據(jù)中封裝了隧道,最后發(fā)出去的報文中隧道外還攜帶了vlan。我們不希望隧道外層再帶vlan,但找來找去不知道他是怎么完成vlan封裝的!
相關(guān)函數(shù):
(內(nèi)核版本2.6.35)
在linux-2.6-cloud/drivers/net/gianfar.c中有個發(fā)包函數(shù)gfar_start_xmit(struct sk_buff *skb, struct net_device *dev),將skb扔給硬件發(fā)送。
其中有這么一段:
... ...
if (priv->vlgrp && vlan_tx_tag_present(skb)) {
if (unlikely(NULL == fcb)) {
fcb = gfar_add_fcb(skb);
lstatus |= BD_LFLAG(TXBD_TOE);
}
fcb = (struct txfcb *)skb_pull(skb, GMAC_FCB_LEN);
gfar_tx_vlan(skb, fcb); /*
這里設(shè)置fcb的flags和vlctl兩個元素值
*/
}
... ...
在gfar_start_xmit函數(shù)扔給硬件發(fā)送之前打印了skb->data,發(fā)現(xiàn)并沒有攜帶vlan,但是抓取最后發(fā)出去的報文卻有vlan,不知道在哪里完成vlan的填充!
請各位有經(jīng)驗的前輩們指點下!
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2