6

有什么方法可以从我的应用程序(例如使用)中操纵以太网帧中的优先级代码点(PCP)setsockopt()字段的值?我想避免从头开始创建以太网帧的低级黑客攻击。

我在手册页中进行了搜索socket(7)ip(7)但没有用于控制以太网帧字段的选项。

如果这是相关的,我需要它用于 TCP 套接字。

4

2 回答 2

5

您可以使用 sockopt() 设置 vlan 优先级字段:

int priority = 7;
setsockopt(sfd, SOL_SOCKET, SO_PRIORITY, &priority, sizeof(priority));

在文件 net/8021q/vlan_dev.c 中,您可以看到 skb->priority 字段用于 VLAN 802.1Q TCI...

于 2012-12-07T15:47:00.090 回答
1

每个 VLAN 设备上都有入口和出口映射。例如:

vconfig add eth0 333
vconfig set_egress_map eth0.333 2 4
vconfig set_egress_map eth0.333 3 5
cat /proc/net/vlan/eth0.333

您可以在最后两行看到映射。

于 2015-02-03T03:17:38.997 回答