Community discussions

MikroTik App
 
mikroathome
just joined
Topic Author
Posts: 6
Joined: Mon Jan 04, 2021 3:04 pm

QoS in VPLS

Wed Apr 14, 2021 11:39 am

Hello everyone,

I have RB750r2 routers in my lab, on which I run VPLS tunnel and want to implement QoS based traffic prioritization for MPLS domain.
I would like to mark packets that enter the ether interface by assigning them a DSCP value and then projecting them to the EXP classes accordingly.
The EXP field is to ensure traffic prioritization within the MPLS domain.
Should I do DSCP marking via / interface bridge filter as ethernet is bridged with VPLS interface?
How to correctly assign such marked DSCP packets to EXP?
Is this functionality already supported?

Regards,
Dave
 
georgekaskader
just joined
Posts: 6
Joined: Wed Sep 11, 2019 5:26 pm

Re: QoS in VPLS

Wed Apr 14, 2021 12:20 pm

IMHO you sould use set ingress priority If you prioritize packets ex. on switch or set priority in magle rlz.
 
mikroathome
just joined
Topic Author
Posts: 6
Joined: Mon Jan 04, 2021 3:04 pm

Re: QoS in VPLS

Wed Apr 14, 2021 12:56 pm

Thank you for a comment. At the moment I have this sample configuration on the LER router, unfortunately the packets are not classified correctly:
...
/interface bridge
add name=siteB
 ...
/interface vpls
add disabled=no l2mtu=1500 mac-address=00:00:00:00:00:B1 name=R6toR1 remote-peer=10.1.1.1 vpls-id=100:100
 ...
/interface vlan
add interface=ether1 name=vlan10 vlan-id=10
 ...
/interface bridge port
add bridge=siteB interface=vlan10
add bridge=siteB interface=R6toR1
 ...
/interface bridge filter
add action=mark-packet chain=forward in-interface=vlan10 new-packet-mark=SIP_Signaling_Packet
add action=mark-packet chain=forward in-interface=vlan10 new-packet-mark=RTP_Stream_Packet
 ...
/ip firewall mangle
add action=mark-connection chain=forward new-connection-mark=SIP_Signaling passthrough=yes protocol=udp src-port=5060
add action=mark-packet chain=forward connection-mark=SIP_Signaling dscp=30 new-packet-mark=SIP_Signaling_Packet passthrough=yes
add action=mark-connection chain=forward new-connection-mark=RTP_Stream passthrough=yes port=10000-20000 protocol=udp
add action=mark-packet chain=forward connection-mark=RTP_Stream dscp=46 new-packet-mark=RTP_Stream_Packet passthrough=yes
add action=set-priority chain=forward new-priority=from-dscp-high-3-bits out-interface=siteB passthrough=yes
...
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: QoS in VPLS

Wed Apr 14, 2021 6:40 pm

Thank you for a comment. At the moment I have this sample configuration on the LER router, unfortunately the packets are not classified correctly:
You can't use mangle on the traffic if the device is bridging it - only if it is routing it. In this case it is being bridged so it will never hit the mangle table.

You could experiment with use-ip-firewall in bridge settings, it could make this possible, but would certainly put more load on the device.
 
mikroathome
just joined
Topic Author
Posts: 6
Joined: Mon Jan 04, 2021 3:04 pm

Re: QoS in VPLS

Wed Apr 14, 2021 10:24 pm

Hello mducharme,

Thank you for the tip. I corrected and expanded my configuration for the inbound router (please see below).
It seems that packets are marked fine on inbound router (winbox window below).
But I have a question how to configure intermediate routers (LSRs) to queue packets based on the EXP field?

winbox.jpg
# model = RB750r2
/interface bridge
add name=loopback
add name=siteB
/interface vpls
add disabled=no l2mtu=1500 mac-address=00:00:00:00:00:B1 name=R6toR1 remote-peer=10.1.1.1 vpls-id=100:100
/interface vlan
add interface=ether1 name=vlan10 vlan-id=10
add interface=ether1 name=vlan20 vlan-id=20
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/queue tree
add bucket-size=0.01 max-limit=90M name=DOWN parent=vlan10 queue=default
add name=7.NetCtrl_D packet-mark=7NCO parent=DOWN queue=default
add name=6.InterNetCtrl_D packet-mark=6INC parent=DOWN priority=7 queue=default
add name=5.Critical_D packet-mark=5CRI parent=DOWN priority=6 queue=default
add name=4.FlashOverride_D packet-mark=4FLO parent=DOWN priority=5 queue=default
add name=3.Flash_D packet-mark=3FLA parent=DOWN priority=4 queue=default
add name=2.Immediate_D packet-mark=2IMM parent=DOWN priority=3 queue=default
add name=1.Priority_D packet-mark=1PRI parent=DOWN priority=2 queue=default
add name=0.BestEffort_D packet-mark=0BEF parent=DOWN priority=1 queue=default
add bucket-size=0.01 max-limit=90M name=UP parent=R6toR1 queue=default
add name=7.NetCtrl_U packet-mark=7NCO parent=UP queue=default
add name=6.InterNetCtrl_U packet-mark=6INC parent=UP priority=7 queue=default
add name=5.Critical_U packet-mark=5CRI parent=UP priority=6 queue=default
add name=4.FlashOverride_U packet-mark=4FLO parent=UP priority=5 queue=default
add name=3.Flash_U packet-mark=3FLA parent=UP priority=4 queue=default
add name=2.Immediate_U packet-mark=2IMM parent=UP priority=3 queue=default
add name=1.Priority_U packet-mark=1PRI parent=UP priority=2 queue=default
add name=0.BestEffort_U packet-mark=0BEF parent=UP priority=1 queue=default
/routing ospf instance
set [ find default=yes ] redistribute-connected=as-type-1 router-id=10.6.6.6
/interface bridge filter
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=0BEF passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=1PRI passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=2IMM passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=3FLA passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=4FLO passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=5CRI passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=6INC passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=7NCO passthrough=yes
/interface bridge port
add bridge=siteB interface=vlan10
add bridge=siteB interface=R6toR1
/interface bridge settings
set use-ip-firewall=yes use-ip-firewall-for-vlan=yes
/ip address
add address=10.5.6.2/30 interface=ether2 network=10.5.6.0
add address=10.4.6.2/30 interface=ether3 network=10.4.6.0
add address=10.6.6.6 interface=loopback network=10.6.6.6
add address=10.6.11.1/29 interface=vlan10 network=10.6.11.0
add address=10.6.12.1/29 interface=vlan20 network=10.6.12.0
add address=192.168.200.246/24 interface=ether5 network=192.168.200.0
/ip firewall mangle
add action=mark-connection chain=prerouting comment=VOIP_Signaling new-connection-mark=3FLA passthrough=yes port=5060-5062 protocol=udp
add action=mark-packet chain=prerouting connection-mark=3FLA new-packet-mark=3FLA passthrough=no
add action=mark-connection chain=prerouting comment=VOIP_Stream new-connection-mark=5CRI passthrough=yes port=10000-12000 protocol=udp
add action=mark-packet chain=prerouting connection-mark=5CRI new-packet-mark=5CRI passthrough=no
add action=mark-connection chain=prerouting comment=VIDEO_Stream new-connection-mark=4FLO passthrough=yes port=15000-20000 protocol=udp
add action=mark-packet chain=prerouting connection-mark=4FLO new-packet-mark=4FLO passthrough=no
add action=mark-connection chain=prerouting comment=OTHER_Traffic connection-mark=no-mark new-connection-mark=0BEF passthrough=yes
add action=mark-packet chain=prerouting connection-mark=0BEF new-packet-mark=0BEF passthrough=no
/mpls ldp
set enabled=yes lsr-id=10.6.6.6 transport-address=10.6.6.6
/mpls ldp interface
add interface=ether2
add interface=ether3
/routing ospf interface
add network-type=point-to-point
/routing ospf network
add area=backbone network=10.6.11.0/29
add area=backbone network=10.6.12.0/29
add area=backbone network=10.5.6.0/30
add area=backbone network=10.4.6.0/30
You do not have the required permissions to view the files attached to this post.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Wed Apr 14, 2021 10:31 pm

The LSRs handle mpls exp bits "automatically".

https://wiki.mikrotik.com/wiki/Manual:M ... _behaviour

"When RouterOS receives MPLS packet, it sets "ingress priority" value for packet to that carried inside top label. Note that "ingress priority" is not a field inside packet headers - it can be thought of like additional mark assigned to packet while being processed by router. When RouterOS labels MPLS packet, it sets EXP bits to "priority" (not "ingress priority"!) assigned to packet. When RouterOS switches MPLS packet, "ingress priority" is automatically copied to "priority", this way regular MPLS switching communicates priority info over whole label switched path."

Once you set its priority, the mpls domain retains it untill the mpls tag is removed. (At least within mikrotik devices)
 
mikroathome
just joined
Topic Author
Posts: 6
Joined: Mon Jan 04, 2021 3:04 pm

Re: QoS in VPLS

Thu Apr 15, 2021 1:18 am

That is strange because I can't see the EXP field changing its value. I made a mirror port on a port going to MPLS cloud and dumped frames with Wireshark:
You do not have the required permissions to view the files attached to this post.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Thu Apr 15, 2021 1:48 am

There are a few catcha-gotcha's that come up depending on the hardware. If you are in excess of two hops away and using RB hardware (non CCR), you will need to add single port bridges on the mpls out-in interfaces. But to start, you need to verify that you have your outgoing traffic from the start (LER) is assigning priority on its outgoing interface first. If you set priority in that router it will copy to EXP bit. I tend to use vlans to carry priority.
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: QoS in VPLS

Thu Apr 15, 2021 2:19 am

That is strange because I can't see the EXP field changing its value. I made a mirror port on a port going to MPLS cloud and dumped frames with Wireshark:
You no longer have any set-priority actions to set the priority to anything other than 0 - that's why you don't see anything.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Thu Apr 15, 2021 3:01 am

That is strange because I can't see the EXP field changing its value. I made a mirror port on a port going to MPLS cloud and dumped frames with Wireshark:
You no longer have any set-priority actions to set the priority to anything other than 0 - that's why you don't see anything.
If thats his edge router egress traffic into his mpls core, it should show proper priority in the EXP field if he has it set correctly no?

(Assuming that packet is one hes expecting to have a priority other than 0)
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: QoS in VPLS

Thu Apr 15, 2021 4:21 am

If thats his edge router egress traffic into his mpls core, it should show proper priority in the EXP field if he has it set correctly no?

(Assuming that packet is one hes expecting to have a priority other than 0)
That's what I mean - in his updated config snippet posted above, he isn't setting any priority. This is the bridge where the MPLS label is applied. Therefore MPLS EXP bits will be 0 for everything and they are. He is expecting MPLS EXP bits to magically be non-zero when he doesn't have any set-priority statements configured to set priority to anything other than 0.

There are some set priority statements but they are there to zero out the priority for packets received from the VPLS tunnel rather than the other way around.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Thu Apr 15, 2021 4:28 am

My apologies. I had thought maybe he had updated that part of his config but he may not have.

If he doesn't know or realize, queue priority is only that. Will not transfer to packet or exp priority. As he has the queues built.
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: QoS in VPLS

Thu Apr 15, 2021 4:31 am

If he doesn't know or realize, queue priority is only that. Will not transfer to packet or exp priority. As he has the queues built.
Yes, exactly, I suspect he might think that the queue priority is somehow going to transfer to packet priority/EXP. And of course, as you say, that is not the case.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Thu Apr 15, 2021 4:38 am

Yes, exactly, I suspect he might think that the queue priority is somehow going to transfer to packet priority/EXP. And of course, as you say, that is not the case.
Another thing to realize as I think he has them backwards. Queue priorities are highest..1, to lowest..8. Vs COS/packet highest..7, to lowest..0. He has net control as queue priority 7.
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: QoS in VPLS

Thu Apr 15, 2021 4:46 am

Another thing to realize as I think he has them backwards. Queue priorities are highest..1, to lowest..8. Vs COS/packet highest..7, to lowest..0. He has net control as queue priority 7.
Nice catch, missed that. Yes he has the queue priorities backwards.
 
mikroathome
just joined
Topic Author
Posts: 6
Joined: Mon Jan 04, 2021 3:04 pm

Re: QoS in VPLS

Thu Apr 15, 2021 11:23 pm

Hello guys,
Sorry for the delay in replying because of the time zone difference as I think.
Thank you for taking up the discussion and your comments and tips - I appreciate it.

I corrected the configuration according to your tips and unfortunately I still do not observe that the EXP bits have a value other than 0:
exp2.jpg
Can you, based on my corrected config, point out where I made a mistake?
/interface bridge
add name=loopback
add name=siteB
/interface vpls
add advertised-l2mtu=1526 disabled=no l2mtu=1526 mac-address=00:00:00:00:00:B1 name=R6toR1 remote-peer=10.1.1.1 vpls-id=100:100
/interface vlan
add interface=ether1 name=vlan10 vlan-id=10
add interface=ether1 name=vlan20 vlan-id=20
/interface ethernet switch
set 0 mirror-source=ether2 mirror-target=ether4
/interface wireless security-profiles
set [ find default=yes ] supplicant-identity=MikroTik
/queue tree
add bucket-size=0.01 max-limit=90M name=DOWN parent=vlan10 queue=default
add name=1.NetCtrl_D packet-mark=1NCO parent=DOWN priority=1 queue=default
add name=2.InterNetCtrl_D packet-mark=2INC parent=DOWN priority=2 queue=default
add name=3.Critical_D packet-mark=3CRI parent=DOWN priority=3 queue=default
add name=4.FlashOverride_D packet-mark=4FLO parent=DOWN priority=4 queue=default
add name=5.Flash_D packet-mark=5FLA parent=DOWN priority=5 queue=default
add name=6.Immediate_D packet-mark=6IMM parent=DOWN priority=6 queue=default
add name=7.Priority_D packet-mark=7PRI parent=DOWN priority=7 queue=default
add name=8.BestEffort_D packet-mark=8BEF parent=DOWN queue=default
add bucket-size=0.01 max-limit=90M name=UP parent=R6toR1 queue=default
add name=1.NetCtrl_U packet-mark=1NCO parent=UP priority=1 queue=default
add name=2.InterNetCtrl_U packet-mark=2INC parent=UP priority=2 queue=default
add name=3.Critical_U packet-mark=3CRI parent=UP priority=3 queue=default
add name=4.FlashOverride_U packet-mark=4FLO parent=UP priority=4 queue=default
add name=5.Flash_U packet-mark=5FLA parent=UP priority=5 queue=default
add name=6.Immediate_U packet-mark=6IMM parent=UP priority=6 queue=default
add name=7.Priority_U packet-mark=7PRI parent=UP priority=7 queue=default
add name=8.BestEffort_U packet-mark=8BEF parent=UP queue=default
/routing ospf instance
set [ find default=yes ] redistribute-connected=as-type-1 router-id=10.6.6.6
/interface bridge filter
add action=set-priority chain=forward in-interface=R6toR1 new-priority=7 packet-mark=8BEF passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=6 packet-mark=7PRI passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=5 packet-mark=6IMM passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=4 packet-mark=5FLA passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=3 packet-mark=4FLO passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=2 packet-mark=3CRI passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=1 packet-mark=2INC passthrough=yes
add action=set-priority chain=forward in-interface=R6toR1 new-priority=0 packet-mark=1NCO passthrough=yes
/interface bridge port
add bridge=siteB interface=vlan10
add bridge=siteB interface=R6toR1
/interface bridge settings
set use-ip-firewall=yes use-ip-firewall-for-vlan=yes
/ip address
add address=10.5.6.2/30 interface=ether2 network=10.5.6.0
add address=10.4.6.2/30 interface=ether3 network=10.4.6.0
add address=10.6.6.6 interface=loopback network=10.6.6.6
add address=10.6.11.1/29 interface=vlan10 network=10.6.11.0
add address=10.6.12.1/29 interface=vlan20 network=10.6.12.0
add address=192.168.200.246/24 interface=ether5 network=192.168.200.0
/ip firewall mangle
add action=mark-packet chain=prerouting connection-mark=8BEF new-packet-mark=8BEF passthrough=no
add action=mark-connection chain=prerouting comment=VOIP_Signaling new-connection-mark=5FLA passthrough=yes port=5060-5062 protocol=udp
add action=mark-packet chain=prerouting connection-mark=5FLA new-packet-mark=5FLA passthrough=no
add action=mark-connection chain=prerouting comment=VOIP_Stream new-connection-mark=3CRI passthrough=yes port=10000-12000 protocol=udp
add action=mark-packet chain=prerouting connection-mark=3CRI new-packet-mark=3CRI passthrough=no
add action=mark-connection chain=prerouting comment=VIDEO_Stream new-connection-mark=4FLO passthrough=yes port=15000-20000 protocol=udp
add action=mark-packet chain=prerouting connection-mark=4FLO new-packet-mark=4FLO passthrough=no
add action=mark-connection chain=prerouting comment=OTHER_Traffic connection-mark=no-mark new-connection-mark=8BEF passthrough=yes
add action=mark-packet chain=prerouting connection-mark=8BEF new-packet-mark=8BEF passthrough=no
add action=set-priority chain=forward new-priority=from-ingress
/mpls ldp
set enabled=yes lsr-id=10.6.6.6 transport-address=10.6.6.6
/mpls ldp interface
add interface=ether2
add interface=ether3
/routing ospf interface
add network-type=point-to-point
/routing ospf network
add area=backbone network=10.6.11.0/29
add area=backbone network=10.6.12.0/29
add area=backbone network=10.5.6.0/30
add area=backbone network=10.4.6.0/30
/system identity
set name=R6
/tool sniffer
set filter-interface=all filter-ip-address=172.16.0.0/24 streaming-enabled=yes streaming-server=192.168.200.110
[admin@R6] >
You do not have the required permissions to view the files attached to this post.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Fri Apr 16, 2021 1:26 am

/ip firewall mangle
***add action=mark-connection chain=prerouting comment=OTHER_Traffic connection-mark=no-mark new-connection-mark=8BEF passthrough=yes
add action=mark-packet chain=prerouting connection-mark=8BEF new-packet-mark=8BEF passthrough=no

The part asterisk was at the bottom of the list, it should be before the mark packet statement, though eventually it would get caught, but the first packets missed.

****add action=set-priority chain=forward new-priority=from-ingress
Remove this statement. This is overriding the bridge filter statements because this process is after the forward chain in the bridge filter. If ingress priority is 0 (COS which doesnt exist without a vlan), it will in fact write 0 priority. (Over-writing anything you've done in the bridge forward chain.)

https://wiki.mikrotik.com/wiki/Manual:Packet_Flow_v6
Here is the one for bridging
https://wiki.mikrotik.com/images/thumb/ ... _b.svg.png

I would expect life to be better after removing that statement.


Also, in the /bridge filter statements, unless you are going to process packets further in the bridge filter chain, I would set passthrough=no in each line, so that they are not running through every rule.
Last edited by mikeeg02 on Fri Apr 16, 2021 1:30 am, edited 1 time in total.
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: QoS in VPLS

Fri Apr 16, 2021 1:30 am

There's another problem too - he seems have configured the bridge filter to set the priority for the packets that have just been received over the VPLS tunnel instead of the packets that he is about to send over the VPLS tunnel. You probably want to set EXP for the packets that you are about to send over the MPLS network, rather than trying to set it for packets that have just left the MPLS network and are no longer MPLS.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Fri Apr 16, 2021 1:39 am

There's another problem too - he seems have configured the bridge filter to set the priority for the packets that have just been received over the VPLS tunnel instead of the packets that he is about to send over the VPLS tunnel. You probably want to set EXP for the packets that you are about to send over the MPLS network, rather than trying to set it for packets that have just left the MPLS network and are no longer MPLS.
Yes, I missed that.

in-interface in the bridge filters should be in-interface=vlan10.

This will assign incoming traffic on ether1-vlan10 to the priorities which youre bridging to vpls out.

Also, you will want to use something like

/bridge filter add action=set-priority chain=forward in-interface=R6toR1 new-priority=from-ingress passthrough=no to copy EXP field to vlan COS priority on outgoing interface if you need to retain COS priority out. This is assuming priorities have been properly set on the far end of the vpls tunnel.
 
mikroathome
just joined
Topic Author
Posts: 6
Joined: Mon Jan 04, 2021 3:04 pm

Re: QoS in VPLS

Fri Apr 16, 2021 2:04 am

Hello again,
Thanks to your advice, setting up the EXP field seems to be working correctly :) I will verify it tomorrow, thank you for now!
You do not have the required permissions to view the files attached to this post.
 
mikeeg02
Member Candidate
Member Candidate
Posts: 162
Joined: Fri Mar 30, 2018 2:28 am
Location: Pennsylvania

Re: QoS in VPLS

Fri Apr 16, 2021 2:06 am

Alternatively, if you would like to set the priority using what you have in both directions, you could just remove the in-interface. Then all marked packets in the bridge forward chain will set the priority, no matter which way they are going.

Edit: Good work!
 
mducharme
Trainer
Trainer
Posts: 1777
Joined: Tue Jul 19, 2016 6:45 pm
Location: Vancouver, BC, Canada

Re: QoS in VPLS

Fri Apr 16, 2021 3:56 am

Hello again,
Thanks to your advice, setting up the EXP field seems to be working correctly :) I will verify it tomorrow, thank you for now!
Something that needs to be clarified is that queue priority values are different than packet priority values (MPLS EXP bit, VLAN PCP). With queue priority, a lower priority integer value is a higher priority, and a higher priority integer value is lower priority. With the original intent of packet priority, a higher priority integer value is a higher priority, and a lower priority integer value is a lower priority - so the exact opposite of queue priority.

The reason I say original intent is that packet priority values (MPLS EXP bit values and VLAN PCP values) tend to map to a slightly different scale in the modern day. Originally it was decided that 0 would be the lowest priority and 7 would be the highest, but the issue is that in many cases it makes more sense to mark certain traffic as being below best effort priority, which the original scale did not allow for in an easy way.

If you want to map the old style packet priority (nothing below best effort exists) to queue priority, it would match up like this:

--- lowest priority ---
queue priority 8 = packet priority (ex. EXP, PCP) 0
queue priority 7 = packet priority 1
queue priority 6 = packet priority 2
queue priority 5 = packet priority 3
queue priority 4 = packet priority 4
queue priority 3 = packet priority 5
queue priority 2 = packet priority 6
queue priority 1 = packet priority 7
-- highest priority --

However, using the new scale, packet priorities 1 and 2 are both considered below 0 in terms of how they are handled by devices, and this is much more common:

--- lowest priority ---
queue priority 8 = packet priority (ex. EXP, PCP) 1
queue priority 7 = packet priority 2
queue priority 6 = packet priority 0
queue priority 5 = packet priority 3
queue priority 4 = packet priority 4
queue priority 3 = packet priority 5
queue priority 2 = packet priority 6
queue priority 1 = packet priority 7
-- highest priority --

The new scale is more often used by third party equipment such as wireless radios etc.

Who is online

Users browsing this forum: No registered users and 13 guests