You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Whenever packets marked with a DSCP value arrive to the switch its value should be preserved on egress, if there are no specific forwarding rules that explicitly change this behavior.
Actual Behavior
Packets marked with a DSCP value have their DSCP value set to 0 on egress.
Steps to Reproduce the Problem
Switch configuration
On the switch, configure a bridge with two ports:
ip link add swbridge type bridge vlan_filtering 1 vlan_default_pvid 1
ip link set port7 master swbridge
ip link set port8 master swbridge
ip link set swbridge up
ip link set port7 up
ip link set port8 up
Server
In this example, enp8s0f0np0 is connected to port7 and enp8s0f1np1 to port8 on the switch, respectively.
Terminal 1
Install iperf3, setup 2 namespaces, assign IP addresses. and start iperf3 server on ns0:
apt install iperf3 -y
ip netns add ns0
ip netns add ns1
ip link set enp8s0f0np0 netns ns0
ip netns exec ns0 ip a a 192.51.0.2/24 dev enp8s0f0np0
ip netns exec ns0 ip link set enp8s0f0np0 up
ip link set enp8s0f1np1 netns ns1
ip netns exec ns1 ip a a 192.51.0.1/24 dev enp8s0f1np1
ip netns exec ns1 ip link set enp8s0f1np1 up
ip netns exec ns0 iperf3 -s
Terminal 2
Start traffic capture on ns0:
ip netns exec ns0 tcpdump -venli enp8s0f0np0
Terminal 3
Start traffic capture on ns1:
ip netns exec ns0 tcpdump -venli enp8s0f1np1
Terminal 4
Start iperf3 client on ns1 setting the DSCP value with the --dscp option:
The terminal capturing traffic on ns0 will show the DSCP value set to 0 on all packets. On ns1, it is possible to observe the configured value on the tos field:
If you google for 'DSCP trust' you will find various discussions around this. Apparently there is a general configuration that a switch removes DSCP bits while a router should pass them unchanged.
So it may be more of a missing feature, or a broader discussion if there should be a "default switch" or "default router" configuration in BISDN Linux.
The "default switch" would then, for instance, create the swbridge and bind ports to it, while the "default router" would pre-configure router settings like the above.
I guess the points here would then be 1) document that BISDN Linux comes with this DSCP trust feature disabled by default, and 2) have DSCP trust configurable in the switch as a feature. Still, I do find odd that a plain L2 bridge configuration ends up with this behavior by default.
Expected Behavior
Whenever packets marked with a DSCP value arrive to the switch its value should be preserved on egress, if there are no specific forwarding rules that explicitly change this behavior.
Actual Behavior
Packets marked with a DSCP value have their DSCP value set to 0 on egress.
Steps to Reproduce the Problem
Switch configuration
On the switch, configure a bridge with two ports:
Server
In this example,
enp8s0f0np0
is connected toport7
andenp8s0f1np1
toport8
on the switch, respectively.Terminal 1
Install iperf3, setup 2 namespaces, assign IP addresses. and start iperf3 server on
ns0
:Terminal 2
Start traffic capture on
ns0
:Terminal 3
Start traffic capture on
ns1
:Terminal 4
Start iperf3 client on
ns1
setting the DSCP value with the--dscp
option:Observable results
The terminal capturing traffic on
ns0
will show the DSCP value set to 0 on all packets. Onns1
, it is possible to observe the configured value on thetos
field:Terminal 2
Terminal 3
Specifications
The text was updated successfully, but these errors were encountered: