首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >u32数据包分类器从哪里开始

u32数据包分类器从哪里开始
EN

Server Fault用户
提问于 2022-01-27 21:10:44
回答 1查看 172关注 0票数 0

我有一个有效的流量分类器,它使用原始数据包偏移量来匹配数据包的源和/或目标MAC地址。过滤器使用负偏移量,因为默认情况下,offset=0是IP数据包的开始。这意味着以太网报头的内容就在前面。

例如,MAC 12:34:56:78:90:ab:

代码语言:javascript
运行
复制
tc filter add dev <iface> protocol ip parent 1:0 prio 1 u32 \
    match u16 0x0800 0xffff at -2 \
    match u32 0x90ab 0xffff at -12 \
    match u16 0x12345678 0xffffffff at -14 \
    flowid 1:10

现在,网络链路将承载802.1QVLAN流量和非VLAN内容。protocol ip阻止此通信量进行匹配。问题是,如何为VLAN流量构造类似的规则?我再次尝试做一个负偏移,为DotQ流量搜索0x8100的"Ethertype“值,只是为了确认我关于偏移量的假设,但似乎找不到,或者至少似乎无法与之匹配。下面的示例不成功地匹配DotQ流量:

代码语言:javascript
运行
复制
tc filter add dev <iface> parent 1:0 prio 1 u32 \
    match u16 0x8100 0xffff at -6 flowid 1:10

我无法在tc系统上找到任何指定offset=0代表什么的文档。它是无条件地启动IP报头,还是protocol ip影响了这一点?

EN

回答 1

Server Fault用户

发布于 2022-01-28 16:04:40

我的猜测是protocol IP使用EtherType字段来确定第三层协议是什么。由于VLAN标记是插入在EtherType字段之前的,如https://en.wikipedia.org/wiki/IEEE_802.1Q中所示,因此它与IP数据包不匹配。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1091408

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档