摘要: 输出pkt时分片出现位置 在发送数据时,如果数据块大于MTU 那么就会分片;ip_finish_output 中就会调用ip_fragment 进行分片 static int ip_finish_output(struct net *net, struct sock *sk, struct sk_b 阅读全文
posted @ 2022-04-23 20:16 codestacklinuxer 阅读(100) 评论(0) 推荐(0) 编辑
摘要: skb_add_data skb_add_data()将指定用户空间的数据添加到SKB的数据缓存区的尾部,操作过程如图3-22所示。如果成功则返回0,否则返回相应的错误码。参数skb为待添加数据的SKB;from为待添加的数据源,指向在用户空间的存储缓存区;copy为待添加数据的长度。 skb_tr 阅读全文
posted @ 2022-04-23 17:44 codestacklinuxer 阅读(80) 评论(0) 推荐(0) 编辑
摘要: skb_linearize:分配新的skb->data,将旧的skb->data、skb_shinfo(skb)->frags、skb_shinfo(skb)->frag_list中的内容拷贝到新skb->data的连续内存空间中,释放frags或frag_list //其中frags用于支持分散聚 阅读全文
posted @ 2022-04-23 15:51 codestacklinuxer 阅读(232) 评论(0) 推荐(0) 编辑