When you configure a policy for OER you can choose what metrics are most important to you (packet loss, delay, jitter, etc.). For example you can configure a policy that will choose an exit path based on the following criteria:
- Lowest Delay
- Lowest Jitter
- Lowest Packet Loss
Now imagine we have two exit paths with the following metrics:
- Exit A: Delay is 80ms, jitter is 5ms and packet loss is 2000ppm.
- Exit B: Delay is 90ms, jitter is 3ms and packet loss is 1500ppm.
If we select exit A based on the lowest delay only then we don’t make the best choice since the jitter and packet loss of exit A are worse than exit B. By using the variance we can ensure that other exit paths fall within the “acceptable” criteria for a certain metric. This allows us to choose an exit path based on more than one metric.
Now let’s say I configure a variance of 15% for delay. Exit path A has a delay of 80 ms. All exit paths that fall within 80 ms + 15% will be considered equal when it comes to delay. 80ms + 15% = 92 ms. The delay for exit B (90 ms) is lower than 92 ms so exit A and B are seen as “equal” when it comes to delay. This means we will have to look at the second metric (jitter).
Does this make sense? Let’s take a look at an actual policy with 3 exit paths:
- Exit A: Delay 100 ms, jitter 5ms, packet loss 2000ppm.
- Exit B: Delay 150 ms, jitter 6ms, packet loss 1900ppm.
- Exit C: Delay 110 ms, jitter 3ms, packet loss 1900ppm.
MC#show run | sec oer-map oer-map VARIANCE 10 match traffic-class prefix-list MYPREFIXES set resolve delay priority 1 variance 20 set resolve loss priority 2 variance 10 set resolve jitter priority 3 variance 15
Let me describe the policy above: