免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: piginthetree

在linux中如何修改带vlan标签的报文的vlan字段? [复制链接]

论坛徽章:
0
发表于 2009-05-25 14:26 |显示全部楼层
原帖由 piginthetree 于 2009-5-25 14:18 发表
对了 写轮眼大哥 如果设计ebtables的模块 能否实现这个需求


可以,但是目前内核支持通过iptables控制网桥,所以ebtables不是不需的。

我还是要提醒你,如果系统路由没有将报文发送到vlan接口,那么就不会有压入标签的动作,你保存在skb上的tag也就无用了。

论坛徽章:
0
发表于 2009-05-25 14:37 |显示全部楼层
原帖由 ShadowStar 于 2009-5-25 14:26 发表


可以,但是目前内核支持通过iptables控制网桥,所以ebtables不是不需的。

我还是要提醒你,如果系统路由没有将报文发送到vlan接口,那么就不会有压入标签的动作,你保存在skb上的tag也就无用了。

系统路由没有将报文发送到vlan接口 怎么理解呢? 不好意思 我比较菜 浪费了你不少时间

论坛徽章:
0
发表于 2009-05-25 14:46 |显示全部楼层
原帖由 piginthetree 于 2009-5-25 14:37 发表

系统路由没有将报文发送到vlan接口 怎么理解呢? 不好意思 我比较菜 浪费了你不少时间


比如说,一个普通的接口eth0,ip为192.168.1.1/24;另一个vlan口,ip为192.168.3.2/24。
那么发往192.168.1.188的报文就会走eth0出口,而不会走vlan口。
调用的是eth0的发送函数,自然不会有压入tag的动作了。

论坛徽章:
0
发表于 2009-05-25 14:49 |显示全部楼层
哦 明白了 刚才我看了下sk_buff 你说的那个可以添加标志的域是不是这个
@nfmark: Can be used for communication between hooks

这个字段会一直保存在skb中,一直到进入802.1q模块内部都不会丢失么?

[ 本帖最后由 piginthetree 于 2009-5-25 14:51 编辑 ]

论坛徽章:
0
发表于 2009-05-25 14:54 |显示全部楼层
原帖由 piginthetree 于 2009-5-25 14:49 发表
哦 明白了 刚才我看了下sk_buff 你说的那个可以添加标志的域是不是这个
@nfmark: Can be used for communication between hooks

这个字段会一直保存在skb中,一直到进入802.1q模块内部都不会丢失么?


不建议你直接使用这个,可以做个类似的。
因为怕和其他地方使用的相冲突。

注意在copy header时也要复制。按照nfmark来做就OK。

论坛徽章:
0
发表于 2009-05-25 15:00 |显示全部楼层
哦 明白了
对了
802.1q模块我只修改这个就可以了么?
在vlan的vlan_dev_hard_start_xmit中的skb = __vlan_put_tag(skb, veth_TCI);传入标记,取代veth_TCI。

论坛徽章:
0
发表于 2009-05-25 15:02 |显示全部楼层
原帖由 piginthetree 于 2009-5-25 15:00 发表
哦 明白了
对了
802.1q模块我只修改这个就可以了么?
在vlan的vlan_dev_hard_start_xmit中的skb = __vlan_put_tag(skb, veth_TCI);传入标记,取代veth_TCI。


我只是大概看了一下,可能会有其他地方。

建议你先改这里测试一下。

论坛徽章:
0
发表于 2009-05-25 15:06 |显示全部楼层
原帖由 ShadowStar 于 2009-5-25 15:02 发表


我只是大概看了一下,可能会有其他地方。

建议你先改这里测试一下。

非常感谢!!

论坛徽章:
0
发表于 2009-05-25 16:44 |显示全部楼层
刚才写代码测试了 果然能改 再次感谢ShadowStar  
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP