skb_buf数据结构

来源:互联网 发布:上海软件市场 编辑:程序博客网 时间:2024/04/30 08:51

linux 内核的skb_buf数据结构中

head与end指针指向分配的skb_buf的缓冲区的首地址和尾地址。

data和tail指针指向分配的skb_buf的缓冲区中的实际的data数据的首地址和尾地址。

《深入理解linux网络技术》 -P37

当调用skb_push函数准备向skb_buf中添加数据时,data指针会向前移动想要添加数据大小的地址。

skb_buf.data指向的地址就是数据包中数据的首地址(在IP层,data指向IP数据包的IP头首地址。在传输层,data指向TCP或UDP头首地址)。可以通过

char *data = skb_buf.data;

如图所示:此时*data指向的地址上的值为0x45,data[28]的值为0x00,data[36]的值也为0x00。



0 0
原创粉丝点击