您的位置:首页 > 其它

skb-4

2016-01-26 15:06 423 查看
unsigned char *data = skb_put(skb, user_data_len);
int err = 0;
skb->csum = csum_and_copy_from_user(user_pointer, data,
user_data_len, 0, &err);
if (err)
goto user_fault;


This is what a new SKB looks like right after the user datais added.

skb_put() advances 'skb->tail' by the specified number ofbytes, it also increments 'skb->len' by that number of bytes as well.This routine must not be called on a SKB that has any paged data.You must also be sure that there is enough tail room in
the SKB forthe amount of bytes you are trying to put. Both of these conditionsare checked for by
skb_put() and an assertion failure willtrigger if either rule is violated.

The computed checksum is remembered in 'skb->csum'. Now, it's time tobuild the protocol headers. We'll build a UDP header, then one forIPV4.

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: