cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
6786
Views
10
Helpful
11
Replies

ASR 9010 (IOS XR 4.3.4) BGP "multipath" config

Shunta Tsuchida
Cisco Employee
Cisco Employee

ASR 9010 (IOS XR 4.3.4), I want to make sure what's BGP "multipath" config implications here.

router bgp 17511
|
 neighbor 61.122.240.149
  use neighbor-group INTERNAL
  address-family ipv4 unicast                     <<<<< we can set "multipath" here

For BGP "multipaths" setting, it's configuration below would be more of popular,
--------
router bgp XXXXX
 address-family ipv4 unicast
  maximum-paths ebgp 8
 !
 address-family ipv6 unicast
  maximum-paths ebgp 8
------

so I'm wondering what lies the difference between  "multipath" and "maximum-paths" syntax.

11 Replies 11

AARON WEINTRAUB
Level 1
Level 1

on XR, 'multipath' under the global bgp configuration is actually a different knob:

-----

router(config-bgp)#bgp multipath as-path ?
ignore Ignore as-path related check for multipath selection

-----

In this case, it means that you would install multipaths even when the next-hop as was different, for example if you learned the same path from AS1 and AS2, they could be candidate multipaths.

You would want maximum-paths under the AFI to actually enable multiple paths.

yeah by default mpath only is for those prefixes with the exact same AS-length and the exact same AS-PATH also. This is standards based.

You can override this behavior of the as-path needing to be same and the as-length also being the same with the as-path ignore and relax (respectively).

xander

Aaron correct, and point taken ;) there is a bug doc open for this to describe teh functionality better.

Here is a write up:

This feature may be called Selective multipath.

=================

Configuration:

The feature is enabled by configuring the keyword "selective" in the corresponding "maximum-paths" command. The "maximum-paths" command is under the VRF address-family level.

Next, the user needs to select the neighbors whose path would be eligible for being a multipath. This is done by adding the keyword "multipath" under the neighbor or neighbor-group or af-group address-family.

=================

Functionality: Once the "selective" option is turned on, paths from the neighbors that are configured with "multipath" are eligible for being multipath, but paths from the neighbors that are not configured with "multipath" are not eligible for being multipath.

There is no change in the bestpath calculations. A bestpath is in effect always in the set of multipaths.

For VPN prefixes, the PE paths are always eligible for being multipath.
================

Example: For default VRF

router bgp 1
  address-family ipv4 unicast
     maximum-paths ibgp 4 selective
     maximum-paths ebgp 5 selective
 
  neighbor 1.1.1.1
    address-family ipv4 unicast
       multipath

  neighbor 2.2.2.2
    address-family ipv4 unicast

  neighbor 3.3.3.3
    address-family ipv4 unicast
       multipath

In the above example, for ipv4 unicast prefixes, paths from 1.1.1.1 and 3.3.3.3 are eligible for being a multipath, but paths from 2.2.2.2 are not eligible for being multipath even if it satisfies all other criteria

Hi Xander,

Thank you for your comment.

Can you tell me the case number for that doc bug ?

Or you try to open now ?

the documentation request is filed in a different system for this one Shunta, but it is in the works. the detail will be the same as what I provided above. So there is no need to file/request a separate documentation request.

cheers!

xander

Hi Xander,

Thank you for your update.

So can we assume recently we will be able to catch your updated information in Configuration File /  Command Reference on CCO ?

If there available documentations on CCO, I hope you to update to me.

Regards,

Shunta Tsuchida

Hi Xander, Aaron,

Thank you for your comment.

>So can we assume recently we will be able to catch your updated information in >Configuration File /  Command Reference on CCO ?

>If there available documentations on CCO, I hope you to update to me.

Xander, I hope you to make sure above point.

Regards,

Shunta Tsuchida

Shunta Tsuchida
Cisco Employee
Cisco Employee

Hi Aaron, Xander,

Thank you for your comment.

Now customer CLI the entire syntax option there goes as below.

--------

9010A(config-bgp-nbr-af)#?

  aigp                          Enable AIGP for this neighbor

  allowas-in                    Allow as-path with my AS present in it

  apply-group                   Apply configuration from a group

  as-override                   Override matching AS-number while sending update

  bestpath                      Change default route selection criteria

  capability                    Advertise capability to the peer

  clear                         Clear the uncommitted configuration

  commit                        Commit the configuration changes to running

  default-originate             Originate default route to this neighbor

  describe                      Describe a command without taking real actions

  do                            Run an exec command

  exit                          Exit from this submode

  maximum-prefix                Maximum number of prefixes to accept from this peer

  multipath                     Paths from this neighbor is eligible for multipath          <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

  next-hop-self                 Disable the next hop calculation for this neighbor

  next-hop-unchanged            Do not overwrite next hop before advertising to eBGP peers

  no                            Negate a command or set its defaults

  orf                           Specify ORF and inbound filtering criteria

  origin-as                     BGP origin-AS knobs

  pwd                           Commands used to reach current submode

  remove-private-AS             Remove private AS number from outbound updates

  root                          Exit to the global configuration mode

  route-policy                  Apply route policy to neighbor

  route-reflector-client        Configure a neighbor as Route Reflector client

  send-community-ebgp           Send community attribute to this external neighbor

  send-extended-community-ebgp  Send extended community attribute to this external neighbor

  show                          Show contents of configuration

  soft-reconfiguration          Per neighbor soft reconfiguration

  use                           Inherit configuration for this address-family from a group

  weight                        Set default weight for routes from this neighbor

9010A(config-bgp-nbr-af)#

 

9010A(config-bgp-nbr-af)#multipath ?

  <cr>                                                         <<<<<<<<<<<<<<<<<<<<<<<<<<<<<

9010A(config-bgp-nbr-af)#

-------------------

So can we assume basically this command would be the same function for "maximum-paths" to provide more relaxed selection rule to store BGP best path prefixes in RIB (neighbor based), right ?

 

oh I see what you're saying Shunta, here is the difference between these 2:

maximum-paths is how many paths from different neighbors we will be willing to consider.

noting that for a path to be mpath elibigible the as length, path needs to be the same, and then also noting that by default only eBGP paths are considered. There are overrides for each of these clauses as mentioned in the previous comment (ignore, relax and eiBGP respectively).

Now you may have neighbors XYZ all advertising the same prefix. If you have max-paths 2 configured, we only take the first two learnt. now let's say that your neighbor Z is merely a backup path and you don't want to use it all the time or ever. you can then cofnigure multipath on enighbors X and Y, so that Z is not considered for multipath selection.

xander

>Now you may have neighbors XYZ all advertising the same prefix. If you have max-paths 2 >configured, we only take the first two learnt. now let's say that your neighbor Z is merely a >backup path and you don't want to use it all the time or ever. you can then cofnigure multipath >on enighbors X and Y, so that Z is not considered for multipath selection.

So can we assume that "(config-bgp-nbr-af)#multipath" provides "neighbor based" path selection (in your case, XY or XZ or YZ) with global "max-paths" enabled ?

I have a strong feeling (but will defer to someone with source code access) that 'neighbor 1.2.3.4 address-family ipv4 unicast multipath' is the default and that you could selectively make a neighbor NOT eligible for mpath routes via 'no neighbor 1.2.3.4 address-family ipv4 unicast multipath '.Unfortunately I could not find an exact reference for multipath used under neighbor configuration for the 5.3.X pages (hint to cisco)