首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

关于skb->data是只读的?该怎么处理

2012-02-13 
关于skb-data是只读的??各位大虾请帮忙:我看到很多资料都说sk_buff的data域是只读的,甚至还有函数:skb_ma

关于skb->data是只读的??
各位大虾请帮忙:

我看到很多资料都说sk_buff的data域是只读的,甚至还有函数:skb_make_writable().来让使它可读,再修改数据...

可是为什么,我直接对其中data域进行赋值却没有错误呢/??

我想再确认一下::   skb-> data[0]   =   'a '   ;   倒底会不会引起错误??

谢谢> !>

[解决办法]
确实是只读的,我上次已经做过实验了,不信你可以在没有将原始的skb拷贝给其他的ks_buff结构之前试试这个函数skb_pull();如果是在内核区编程的话保证你死机,这个我已经深有体会了。不过好像udp的data域是可以改变的。可能这正好符合了tcp保证准确性,而udp考虑传输效率。

我想再确认一下:: skb-> data[0] = 'a ' ; 倒底会不会引起错误??

这个目前我没有资格回答!我还没有做过。你这是要改变网卡上传过来的数据了。
这有危险。你要确定你的len和tail指针。

热点排行