亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫(kù)
最近訪問(wèn)板塊 發(fā)新帖
查看: 2625 | 回復(fù): 4
打印 上一主題 下一主題

[網(wǎng)絡(luò)子系統(tǒng)] sk_buff里的hdr_len和nohdr字段是什么意思 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2016-01-08 22:31 |只看該作者 |倒序?yàn)g覽
這兩天看到組裝ip分片的流程ip_frag_reasm->skb_morph->__skb_clone, __skb_clone里面有這么一句話

n->hdr_len = skb->nohdr ? skb_headroom(skb) : skb->hdr_len

內(nèi)核對(duì)這兩個(gè)字段的解釋是
@hdr_len: writable header length of cloned skb
@nohdr: Payload reference only, must not modify header

然后去搜了內(nèi)核里引用他們的地方,也沒(méi)看出個(gè)所以然來(lái),網(wǎng)上的描述也語(yǔ)焉不詳,不知道哪位可以解惑一下

論壇徽章:
20
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-16 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-18 06:20:00每日論壇發(fā)貼之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16賽季CBA聯(lián)賽之江蘇
日期:2017-06-26 11:05:5615-16賽季CBA聯(lián)賽之上海
日期:2017-07-21 18:12:5015-16賽季CBA聯(lián)賽之青島
日期:2017-09-04 17:32:0515-16賽季CBA聯(lián)賽之吉林
日期:2018-03-26 10:02:16程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-15 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2016-07-07 18:37:512015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-08-17 12:21:08
2 [報(bào)告]
發(fā)表于 2016-01-11 20:06 |只看該作者
/* We divide dataref into two halves.  The higher 16 bits hold references
* to the payload part of skb->data.  The lower 16 bits hold references to
* the entire skb->data.  A clone of a headerless skb holds the length of
* the header in skb->hdr_len.
*
* All users must obey the rule that the skb->data reference count must be
* greater than or equal to the payload reference count.
*
* Holding a reference to the payload part means that the user does not
* care about modifications to the header part of skb->data.

*/
#define SKB_DATAREF_SHIFT 16
#define SKB_DATAREF_MASK ((1 << SKB_DATAREF_SHIFT) - 1)

論壇徽章:
0
3 [報(bào)告]
發(fā)表于 2016-01-12 08:53 |只看該作者
這段描述我也看到過(guò),但還是沒(méi)有解釋這個(gè)問(wèn)題啊

論壇徽章:
20
程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2015-08-17 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-16 06:20:00程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-18 06:20:00每日論壇發(fā)貼之星
日期:2016-07-18 06:20:00黑曼巴
日期:2016-12-26 16:00:3215-16賽季CBA聯(lián)賽之江蘇
日期:2017-06-26 11:05:5615-16賽季CBA聯(lián)賽之上海
日期:2017-07-21 18:12:5015-16賽季CBA聯(lián)賽之青島
日期:2017-09-04 17:32:0515-16賽季CBA聯(lián)賽之吉林
日期:2018-03-26 10:02:16程序設(shè)計(jì)版塊每日發(fā)帖之星
日期:2016-07-15 06:20:0015-16賽季CBA聯(lián)賽之江蘇
日期:2016-07-07 18:37:512015亞冠之薩濟(jì)拖拉機(jī)
日期:2015-08-17 12:21:08
4 [報(bào)告]
發(fā)表于 2016-01-15 14:42 |只看該作者
給nohdr賦值(1)的函數(shù)只有skb_header_release,這個(gè)函數(shù)目前只有tcp相關(guān)的代碼在用。
http://lxr.free-electrons.com/ident?i=__skb_header_release
所有這些調(diào)用后面都跟著一個(gè)往tcp_write_queue里插入的操作。

個(gè)人理解,所有queue里的skb共享五元組信息(因?yàn)槎紝儆谝粋(gè)tcp連接),不同的是(7層)內(nèi)容部分,
所以不關(guān)心header部分(3/4層)是如何修改的,滿足nohdr的定義。

看起來(lái)這時(shí)候skb->data還指向layer 7,l3/l4層頭還沒(méi)有被構(gòu)建??

論壇徽章:
0
5 [報(bào)告]
發(fā)表于 2016-02-03 16:41 |只看該作者
回復(fù) 4# nswcfd

又看了一遍代碼,的確是這樣的,謝謝
   
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過(guò)ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP