Setting 802.1(p) QoS tag struggles

VinceMulhollon

New Member
Dec 5, 2023
3
0
1
I want to set different outgoing 802.1(p) QoS tags on each VLAN for QoS purposes.

Local test cluster is a Proxmox VE recently updated 8.1 no pending packages at this time everything other than 802.1(p) tagging works great including CEPH, have SDN installed although not using, and have open vswitch installed although not using OvS, the below is all Linux VLAN, Linux Bridge, non production use so feel free to make adventurous suggestions, etc.

I found plenty of old docs online suggesting:

auto eno1.110 iface eno1.110 inet manual mtu 9000 egress-qos-map 0:3 1:3 2:3 3:3 4:3 5:3 6:3 7:3

That will theoretically force outgoing packets on vlan 110 to 802.1(p) tag of 3, which my ethernet switches are configured to put in QoS buffer #3, all will be right with the world, etc. Technically the only rewrite I need is 0:3 for the default but whatever.

That, however, silently fails to apply. No error messages and VLAN 110 continues working. I tried reloading the interface in the webgui by changing the comment name, I tried restarting networking using systemd, ifreload, all continues working but the egress map is never applied.

To demonstrate:
cat /proc/net/vlan/eno1.110
shows blank for "EGRESS priority mappings"

I figured out on my own that this works and seems to be the only way to apply egress mappings at this time (well, other than running the ip link command by hand as root at the CLI)

auto eno1.110 iface eno1.110 inet manual mtu 9000 up ip link set eno1.110 type vlan egress 0:3 1:3 2:3 3:3 4:3 5:3 6:3 7:3

OK that works after interface is reloaded, or at least cat /proc/net/vlan/eno1.110 has a good "EGRESS priority mappings:" line.
Theoretically outgoing traffic on VLAN 110 will now have 802.1p QoS tag 3 applied to everything and will drop into QoS buffer #3 on my switch.

I guess I have two questions:
  1. I'm not sure if this is a bug or operating as designed.
  2. Is there a better way, a more "Proxmox approved" way, to force outgoing packets over a specific VLAN to a specific 802.1(p) QoS value?
I have a great pile of ethernet interfaces LAGed/Bonded together and I have certain VLANs I want to prioritize and other VLANs I do not. The ethernet switches work pretty well at traffic shaping and QoS in my non-proxmox experiments so far. I'm just trying to convince Proxmox to force certain VLANs outgoing traffic to certain 802.1(p) values. The general idea in the long run is large bulk file transfers like backup files will not interfere with streaming video on separate VLANs although if nothing else is going on then its fine to let all 40G of LAG/bonded ethernet be used for backup files (* well obviously its not quite as simple as this paragraph implies, but you get the idea).

Don't other people with VLANs prioritize their VLANs? This seems like it should be a common goal/topic.
 
" egress-qos-map" syntax is not supported by ifupdown2. (and I don't find reference to ifupdown1, where do you have see that it was working in /etc/network/interfaces)

So, until it's implemented, the only wait to use up / post-up script like you have done.

Currently they are no official support of qos in proxmox.

I don't known if it's on the roadmap, but indeed I think it's a missing features for users sharing links between vm, corosync,... (I'm thinking about corosync , maybe also backups saturing link)
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!