我是网络世界的新手,我有一个问题。我有一个加载到 enp5s0 的 tc-ebpf(出口)程序,该程序正在处理 vlan-tag(Q-tags)。我创建了一个名为 enp5s0.1234 的 vlan 接口,id 为 1234。但程序似乎没有读取 vlan-tag。我认为这是由于卸载问题。然而,用 ethtool 转旗似乎并没有解决问题。
# ethtool -k enp5s0 | grep vlan
rx-vlan-offload: off
tx-vlan-offload: off
rx-vlan-filter: on [fixed]
vlan-challenged: off [fixed]
tx-vlan-stag-hw-insert: off [fixed]
rx-vlan-stag-hw-parse: off [fixed]
rx-vlan-stag-filter: off [fixed]
我使用 iproute2 加载程序,如下所示:
# tc qdisc add dev enp5s0 clsact;
# tc filter add dev enp5s0 egress bpf da obj tc-egress.o sec egress;
我在使用该接口发送数据包时验证了正在接收数据包并添加了 Q-tag。
谢谢大家的帮助。