Configure Routing Table Path Selection
By default, only the MEDs of routes that have the same peer ASs are compared. You can configure routing table path selection options to get different behaviors. To configure routing table path selection behavior, include the
path-selectionstatement:[edit protocols bgp]path-selection (cisco-non-deterministic | always-compare-med);For a list of hierarchy levels at which you can configure this statement, see the statement summary section for this statement.
Routing table path selection can be configured in one of two ways:
- Using the same nondeterministic behavior as does the Cisco IOS software (
cisco-non-deterministic). This behavior has two effects:
- The active path is always first. All nonactive, but eligible, paths follow the active path and are maintained in the order in which they were received, with the most recent path first. Ineligible paths remain at the end of the list.
- When a new path is added to the routing table, path comparisons are made without removing from consideration those paths that should never be selected because those paths lose the MED tiebreaking rule.
These two effects cause the system to only sometimes compare the MEDs between paths that it should otherwise compare. Because of this, we recommend that you not configure nondeterministic behavior.
- Always comparing MEDs whether or not the peer ASs of the compared routes are the same (
always-compare-med).For an example of always comparing MEDs, see Example: Always Compare MEDs.
For a description of the algorithm used to determine the active path, see How the Active Route Is Determined.
Example: Always Compare MEDs
In this example, paths learned from 208.197.169.15 have their MED values compared to the sum of 4 and the MED values of the same paths learned from 208.197.169.14.
[edit]protocols {bgp {path-selection always-compare-med;group ref {type external;import math;peer-as 10458;neighbor 208.197.169.14;}group ref {type external;peer-as 10;neighbor 208.197.169.15;}}}policy-options {policy-statement math {then {metric add 4;}}}