Quality of Service (QoS) on a switch can be a confusing subject, especially if you’re used to dealing with things like low-latency queuing on Cisco routers. It doesn’t help that a lot of the documentation for QoS on switches isn’t great (from any vendor), so I’m going to try my best to explain it here in a way that’s easy to understand.
QoS on an Arista (and many other) switches is different than it is on a router because, aside from the obvious fact that switches aren’t routers, they operate primarily at layer-2. When dealing with routers, we usually work with either IP precedence or Differentiated Services Code Point (DSCP) fields, both of which reside in the layer-3 headers of packets. Switches operate primarily at layer-2, and while typical Ethernet packets don’t include a field for QoS, packets encoded with 802.1Q do. When an Ethernet frame includes the 802.1Q tag, we usually think of it as being VLAN tagged for use in a trunk, but these tags have other uses as well.
The 802.1Q tag is not just a VLAN tag. While I’m not usually a fan of digging into packet formats, it’s important to understand the method used for tagging CoS into non-VLAN-tagged frames. The entire 802.1Q tag is four bytes in length, and includes the following four fields:
This 16-bit field contains the value 0v 0x8100 to identify the frame as 802.1Q.
A three-bit field used for frame priority. This field contains the values used ...