Page MenuHomeVyOS Platform

Would it be possible to implement an additional command/parameter to configure the vlan priority 0-7 on vif or vif-c+vif-s
Open, WishlistPublic

Description

We want to use VyOS together with iperf for performance tests between different locations. For the tests we need the possibility to configure the vlan priority 0-7 on vif or vif-c+vif-s. Would this be possible and how much would it cost to develop this feature ?

Details

Difficulty level
Unknown (require assessment)
Version
VyOS 1.5
Why the issue appeared?
Will be filled on close
Is it a breaking change?
Unspecified (possibly destroys the router)
Issue type
Unspecified (please specify)

Event Timeline

rleinfelder triaged this task as Wishlist priority.Sat, Apr 13, 2:36 PM
rleinfelder created this task.
rleinfelder created this object in space S1 VyOS Public.

You mean you want QoS based on VLAN which is named 802.1p ?

Yes, we want to configure the QoS priority "three bits" of the 802.1p field. In our lab the packet forwarding is based on 802.1q priority.
https://en.wikipedia.org/wiki/IEEE_802.1Q

You can do the QoS priority on the VyOS by matching the traffic based on VLAN ID and then set the DSCP (TOS) using "set-dscp" according to the manuals below:

https://docs.vyos.io/en/equuleus/configuration/trafficpolicy/index.html

https://docs.vyos.io/en/latest/configuration/trafficpolicy/index.html

The reason is that DSCP is the IEEE way to do the priotization nowadays and 802.1p (COS) should be seen as legacy (as I understand it).

What I think is missing in your case is to set the COS (802.1p) if you wish and also capability to match on the COS and not just DSCP (TOS).

There are translationtables between DSCP (TOS) and 802.1p (COS) but as I understand it they are located at different spots in the header where 802.1p (COS) is part of the 802.1Q header aka layer2 header while the DSCP (TOS) is part of the IPv4/IPv6 header aka layer3 header.

The priorisation for data traffic on our DSLAM access network is based on 802.1q because this are mainly Layer2 devices. The network between the DSLAMs prioritize also the data traffic based on 802.1q header. At the moment we need Layer2 ethernet tester which allow us to set the COS bit (0-7) on vif and vif-c+vif-s to measure the QoS through the network. The reason for my request was, to ask some VyOS community member, if this would be possible with VyOS + iperf like we do it today with the Layer2 ethernet tester.

Does it work?

vyos@r4:~$ sudo cat /proc/net/vlan/eth2.100.200 
eth2.100.200  VID: 200	 REORDER_HDR: 1  dev->priv_flags: 81121
         total frames received            0
          total bytes received            0
      Broadcast/Multicast Rcvd            0

      total frames transmitted          105
       total bytes transmitted         6350
Device: eth2.100
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
 EGRESS priority mappings: 


vyos@r4:~$ sudo ip link set eth2.100.200 type vlan egress 0:2
vyos@r4:~$ sudo cat /proc/net/vlan/eth2.100.200 
eth2.100.200  VID: 200	 REORDER_HDR: 1  dev->priv_flags: 81121
         total frames received            0
          total bytes received            0
      Broadcast/Multicast Rcvd            0

      total frames transmitted          180
       total bytes transmitted        10844
Device: eth2.100
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
 EGRESS priority mappings: 0:2 
vyos@r4:~$ 


vyos@r4:~$ sudo ip link set eth2.100.200 type vlan egress 2:3
vyos@r4:~$ sudo cat /proc/net/vlan/eth2.100.200 
eth2.100.200  VID: 200	 REORDER_HDR: 1  dev->priv_flags: 81121
         total frames received            0
          total bytes received            0
      Broadcast/Multicast Rcvd            0

      total frames transmitted          205
       total bytes transmitted        12438
Device: eth2.100
INGRESS priority mappings: 0:0  1:0  2:0  3:0  4:0  5:0  6:0 7:0
 EGRESS priority mappings: 0:2 2:3 
vyos@r4:~$

Viacheslav, YES it works, THANK YOU so much, now it's possible to set the priority on vif-c and vif-s. This is a great step forward to have this opportunity in my lab.
Now i have two questions:
-Is there a possibility to make the setting permanent ?
-And do you think, someone in the community is willing to implement a command/parameter to configure the priority on vif-c and vif-s also CLI ?. As i wrote I would pay for this implementation so everyone in the community can use this feature in VyOS.

How is this supposed to work?

EGRESS priority mappings: 0:2 2:3

Since 802.1p have just 8 values 0-7.

Apachez, the QOS-MAPPING is FROM:TO, which means egress-priority 0 will be mapped to 2, egress-priority 2 will be mapped to 3. In my case i need only 0:3 or 0:5 on vif-s or vif-c because priority 0 is used by default for iperf application. Hope this helps for your understanding...