First let’s go over the tx-ring or transmit ring. It’s a hardware interface queue and it’s FIFO. This is the final queue before transmitting out of an interface.
When you configure QOS, it’s always running. I usually tell people QOS doesn’t operate until congestion happens. QOS “kicks in” when the tx-ring is full and it has no where to place the waiting packets for transmission.
Egress vs Ingress: Egress = Used most the time to help deal with congestion by prioritizing traffic. You can mark, remark, drop, and/or rate limit the traffic.
Ingress = Validate traffic being received and based on what you see, you can mark, remark, drop, and/or rate limit the traffic
QOS most the time will be applied to the Egress traffic.
Priority vs Bandwidth:
They both define the minimum bandwidth guaranteed to that class.
The difference that Priority has over Bandwidth is Priority has a built-in policer, manages delay and jitter, and finally provides low latency. This is why Priority is used for VOIP traffic. Bandwidth is used for other traffic.
Police vs Shape:
When you police traffic, you’re going to DROP (markdown) non conforming packets
When you shape traffic, it stores and delays traffic or buffers them
So basically the difference between these two are, Police will drop packets and shape will buffer them.