我在 FreeBSD 9 中有一个 VLAN 接口:
vlan34: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=103<RXCSUM,TXCSUM,TSO4>
ether xx:xx:xx:xx:xx
inet6 fe80::xxxx:xxxx:xxxx:xxxx%vlan34 prefixlen 64 scopeid 0xb
inet xxx.xxx.xxx.xxxnetmask 0xfffff800 broadcast xxx.xxx.xxx.xxx
nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
media: Ethernet autoselect (1000baseT <full-duplex>)
status: active
vlan: 34 parent interface: em0
我需要的是将从此接口发送的所有数据包的 VLAN 优先级设置为 4。
基于 FreeBSD 的手册页(VLAN(4)),除了 VLAN 标记之外没有其他支持。
No 802.1Q features except VLAN tagging are implemented.
似乎唯一不需要修补基础系统的解决方法是使用 ng_patch。然而,在ng_patch(4),这个例子与这个目标无关,而且很难理解。
/usr/sbin/ngctl -f- <<-SEQ
mkpeer ipfw: patch 200 in
name ipfw:200 ttl_add
msg ttl_add: setconfig { count=1 csum_flags=1 ops=[ \
{ mode=2 value=3 length=1 offset=8 } ] }
SEQ
/sbin/ipfw add 150 netgraph 200 ip from any to simplex.remote.net
有没有使用 ng_patch 修改 VLAN 优先级的示例?谢谢。
答案1
有一个修补由罗伯特·沃森 (Robert Watson) 实现的。