Thursday, April 8, 2021

Nexus 9000-EX/FX QoS with EVPN

I need to implement ECN on a few links on my EVPN datacenter fabric that's running on Nexus 9300-EX and -FX switches.

Based on the available documentation, I need to enable WRED in order to utilize ECN, but the vast, vast majority of flows in my datacenter are non-ECN...so I don't really want to impact non-ECN traffic.

It appears that I should just have to implement the following across my ingress VTEPs, my spines, and my egress VTEPs and it should "just work(tm)".

policy-map type queuing qosQUEUING class type queuing c-out-q-default random-detect minimum-threshold 1 mbytes maximum-threshold 10 mbytes drop-probability 0 weight 0 ecn bandwidth remaining percent 100 class type queuing c-out-q3 priority level 1 class type queuing c-out-q2 bandwidth remaining percent 0 class type queuing c-out-q1 bandwidth remaining percent 0 ! system qos service-policy type queuing output qosQUEUING ! 

According to my research, this should enable WRED (and thus ECN) on all interfaces, but because the drop probability is 0, non-ECN flows should just get tail-dropped. The thresholds shouldn't matter and weight is irrelevant because nothing should be dropped as part of WRED.

As for my spines, DSCP should be rewritten by default on the ingress VTEP and the ECN bit should be copied to the outer IP header, so this same policy should work as expected. The egress VTEP shouldn't need anything special either because all traffic is just in the default class and qos-group (0).

All of my spine/leaf links are 40- and 100-gbps, so I don't believe I'll really ever need it...but I don't want the storage vendor to point fingers at me at this point.

Anyone done this before? Does this plan sound reasonable?

Thanks!



No comments:

Post a Comment