色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

sk_buff內存空間布局情況與相關操作(一)

麥辣雞腿堡 ? 來源:技術簡說 ? 作者:董旭 ? 2023-07-30 16:43 ? 次閱讀

套接字數據緩存(socket buffer)在Linux內核中表示為:struct sk_buff,是Linux內核中數據包管理的基本單元,主要包含兩個部分,其一:管理數據,即數據包的管理信息;其二:報文數據,保存了實際網絡中傳輸的數據,在內核協議棧起承上啟下的作用,也有很多值得關注的sk_buff操作。

1、sk_buff四大指針與相關操作
**分配初始化:**struct sk_buff中四個指針都指向數據區,分別是head、data、tail、end,剛剛分配出來的sk_buff會立馬進行四大指針的初始操作。

分配sk_buff如下所示:

struct sk_buff *buff;
 buff = sk_stream_alloc_skb(sk, 0, sk- >sk_allocation, true);

sk_stream_alloc_skb最終調用__alloc_skb函數進行內存分配,分配skb后,進行四大指針的初始化操作:

struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,
       int flags, int node)
{
 struct sk_buff *skb;
 skb = kmem_cache_alloc_node(cache, gfp_mask & ~__GFP_DMA, node)
 skb- >head = data;
 skb- >data = data;
 skb_reset_tail_pointer(skb);
 skb- >end = skb- >tail + size;
}

其中skb_reset_tail_pointer(skb):

static inline void skb_reset_tail_pointer(struct sk_buff *skb)
{
 skb- >tail = skb- >data;
}

最終四大指針初始化為以下圖所示:

圖片

此時head、data、tail三個指針指向一起,end指向數據緩沖區的尾部。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5090

    文章

    19176

    瀏覽量

    306934
  • 內核
    +關注

    關注

    3

    文章

    1382

    瀏覽量

    40375
  • Linux
    +關注

    關注

    87

    文章

    11342

    瀏覽量

    210154
  • 內存
    +關注

    關注

    8

    文章

    3052

    瀏覽量

    74225
收藏 人收藏

    評論

    相關推薦

    Linux sk_buff四大指針與相關操作

     在以上文章中,沒有分析過Linux內核網絡關鍵的數據結構-套接字數據緩存struct sk_buff,本文將第次分享到sk_buff,但鑒于其在內核網絡中些復雜
    發表于 10-13 17:23 ?4728次閱讀
    Linux <b class='flag-5'>sk_buff</b>四大指針與<b class='flag-5'>相關</b><b class='flag-5'>操作</b>

    Linux內存點滴 用戶進程內存空間

    文件VM分配與釋放“內存總是被進程占用”,這句話換過來可以這么理解:進程總是需要內存。當fork()或者exec()個進程的時候,系統內核就會分配定量的VM給進程,作為進程的
    發表于 08-14 16:23

    DM8127使用SWOSD_TI_alloc()分配內存空間怎么加大?

    DM8127使用SWOSD_TI_alloc()分配內存空間不夠,請問在什么文件里怎樣修改加大內存空間???
    發表于 04-16 10:56

    stm32 使用u*** host庫占用內存空間很大!!!

    如何解決stm32 使用u*** host庫占用內存空間很大的問題呢???
    發表于 01-22 16:44

    ARM32 Linux的內存布局

    看我們實際上內存布局是怎么樣的?Linux內核在啟動時,會打印出內核內存空間布局圖,下面是ARM IMX6平臺打印出來的內存空間布局圖這部
    發表于 04-24 14:20

    RTThread的動態內存空間該如何去分配呢

    關于rtt的動態內存空間分配,想問下以下我的幾點理解是對的嗎1、我看RTT NANO和MASTER版本的動態內存分配好像不太樣,我的理解是MASTER版本的動態
    發表于 08-31 14:34

    MCU中怎么申請段固定地址的內存空間

    MCU中怎么申請段固定地址的內存空間
    發表于 10-09 07:35

    freertos怎么釋放任務的內存空間

    freertos怎么釋放任務的內存空間
    發表于 10-12 07:20

    Linux網絡設備驅動程序

    當要發送數據包的時候,內核必須建立個包含傳輸數據的sk_buff,然后將sk_buff交給下層,各層在sk_buff遞交給下層,各層在
    發表于 05-10 11:15 ?1839次閱讀

    如何讓你的手機省出內存空間

    大家都知道,手機使用久了就會變得很卡頓,除了手機本身“老化”之外,還有個重要的原因就是內存堆積的太多了。事實上占用手機內存的無非就是照片、視頻、微信等等,如果好好處理下這幾個方面的
    的頭像 發表于 02-13 14:07 ?4340次閱讀

    網卡的Ring Buffer詳解

    DMA 將 NIC 接收的數據包逐個寫入 sk_buff個數據包可能占用多個 sk_buff , sk_buff 讀寫順序遵循FIFO(先入先出)原則。
    的頭像 發表于 03-17 14:25 ?1583次閱讀

    網卡的Ring Buffer詳解

    DMA 將 NIC 接收的數據包逐個寫入 sk_buff個數據包可能占用多個 sk_buff , sk_buff 讀寫順序遵循FIFO(先入先出)原則。
    的頭像 發表于 04-04 09:15 ?1187次閱讀

    sk_buff內存空間布局情況相關操作(二)

    操作tailroom中用戶數據塊區域:skb_put用于修改指向數據區末尾的指針tail: void *skb_put( struct sk_buff *skb, unsigned int len
    的頭像 發表于 07-30 16:47 ?782次閱讀
    <b class='flag-5'>sk_buff</b><b class='flag-5'>內存空間布局</b><b class='flag-5'>情況</b>與<b class='flag-5'>相關</b><b class='flag-5'>操作</b>(二)

    sk_buff內存空間布局情況相關操作(三)

    2、非線性區域 在1、中,可以看到每張sk_buff的圖: 在end指針緊挨著個非線性區域 ; 在struct sk_buff中沒有指向skb_shared_info結構的指針,利用end指針
    的頭像 發表于 07-30 16:48 ?1269次閱讀
    <b class='flag-5'>sk_buff</b><b class='flag-5'>內存空間布局</b><b class='flag-5'>情況</b>與<b class='flag-5'>相關</b><b class='flag-5'>操作</b>(三)

    淺析新能源電動汽車充電樁空間布局優化研究

    新能源汽車充電樁空間布局優化研究是個復雜而重要的問題,要以用戶實際需求為出發點,需要綜合考慮充電樁的數量和分布、供電能力和供電網絡的可靠性以及充電樁的建設和運營管理等因素.通過優化充電樁的空間布局,可以提高新能源汽車的充電便利
    的頭像 發表于 12-17 09:36 ?376次閱讀
    淺析新能源電動汽車充電樁<b class='flag-5'>空間布局</b>優化研究
    主站蜘蛛池模板: 免费精品一区二区三区在线观看 | 久久精品美女久久 | 蜜桃传媒在线观看 | 亚洲精品国产熟女久久久 | 国产精品三级在线观看 | 国产日韩亚洲精品视频 | 调教玩弄奶头乳夹开乳震动器 | 呜呜别塞了啊抽插 | 青苹果乐园在线观看电视剧 | 久青草国产在线视频亚瑟影视 | 国产成人一区免费观看 | 99久久免费国产精品特黄 | 精品国产在线观看福利 | 国内精品九九视频 | 好紧小嫩嫩水的10p 好紧好湿太硬了我太爽了小说 | 国产成人女人在线视频观看 | 成人午夜精品无码区久久漫画日本 | 国产超碰精久久久久久无码AV | xxxx老妇性hdbbbb| 国产毛A片久久久久久无码 国产毛A片啊久久久久久A | 成人在线精品视频 | 娇女的呻吟亲女禁忌h16 | 四川少妇大战4黑人 | 午夜国产精品影院在线观看 | 在线免费观看成年人视频 | 少妇精油按摩 | 无码国产成人午夜在线观看不卡 | 99久久国产露脸精品国产吴梦梦 | 伊人久久综合网站 | 久久久精品国产免费A片胖妇女 | 草民电影网午夜伦理电影网 | 欧亚一卡二卡日本一卡二卡 | 两性色午夜视频免费国产 | 久久中文骚妇内射 | 激情女人花| 欧美精品成人a多人在线观看 | 亚洲欧洲日韩国产一区二区三区 | 亚洲日韩欧美国产中文在线 | 久久九九免费 | 年轻的女教师2017韩国在线看 | 国产精品一区二区亚瑟不卡 |