sk buff 常用的方法總結

2021-09-27 06:57:41 字數 1595 閱讀 5687

1. alloc_skb() 

作用: 1. 建立sk_buff變數,並為該變數分配記憶體 2. 建立乙個資料緩衝區,用來存放資料報。 

原始碼: 

static inline struct sk_buff *alloc_skb(unsigned int size,

gfp_t priority)

struct sk_buff *__alloc_skb(unsigned int size, gfp_t gfp_mask,

int fclone, int node)

out:

return skb;

nodata:

kmem_cache_free(cache, skb);

skb = null;

goto out;

}

2. skb_put()

作用:將tail指標向下移n個單位

原始碼:

unsigned char *skb_put(struct sk_buff *skb, unsigned int len)

export_symbol(skb_put);

static inline unsigned char *skb_tail_pointer(const struct sk_buff *skb)

3. skb_reserve()

作用:將data和tail指標向下移n個單位

原始碼:

static inline void skb_reserve(struct sk_buff *skb, int len)

4. skb_push ()

作用:將data指標向上移n個單位

原始碼

static inline unsigned char *__skb_push(struct sk_buff *skb, unsigned int len)

5. skb_pull()

作用:將data指標下移n個單位

原始碼:

static inline unsigned char *__skb_pull(struct sk_buff *skb, unsigned int len)

6.skb_set_mac_header

原始碼:

static inline void skb_set_mac_header(struct sk_buff *skb, const int offset)

7. skb_set_network_header

原始碼:

static inline void skb_set_network_header(struct sk_buff *skb, const int offset)

8. skb_set_transport_header

原始碼

static inline void skb_set_transport_header(struct sk_buff *skb,

const int offset)

Redis的常用方法總結

public static redisdao jedis public static void main string args 操作普通鍵值對 test public void test01 操作list test public void test02 操作set test public void...

Collections常用的方法總結

1 sort collection 方法的使用 含義 對集合進行排序 例 對已知集合c進行排序?public class practice 執行結果為 l,o,v,e e,l,o,v 2 shuffle collection 方法的使用 含義 對集合進行隨機排序 例 shuffle collecti...

js的常用方法總結

1.replace 例 2.search 例 3.slice 從一字串中選一部分字串,生成新的字串 例 4.match 從字串中查詢指定的值,它返回的是指定的值,而不是指定值的位置,和search不同 例 6.lastindexof 得到要查詢的值在此字串中的位置,不存在則返回 1例 判斷全為中文 ...