1 .. _bgp-user-guide-additional-path-capability:
3 Additional Path Capability
4 ==========================
5 The ADD-PATH capability allows to advertise multiple paths for the same address prefix.
6 It can help with optimal routing and routing convergence in a network by providing potential alternate or backup paths.
14 This section shows a way to enable ADD-PATH capability in BGP speaker and peer configuration.
16 .. note:: The capability is applicable for IP Unicast, IP Labeled Unicast and Flow Specification address families.
20 To enable ADD-PATH capability in BGP plugin, first configure BGP speaker instance:
22 **URL:** ``/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols``
26 **Content-Type:** ``application/xml``
34 <protocol xmlns="http://openconfig.net/yang/network-instance">
35 <name>bgp-example</name>
36 <identifier xmlns:x="http://openconfig.net/yang/policy-types">x:BGP</identifier>
37 <bgp xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
40 <router-id>192.0.2.2</router-id>
45 <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
46 <receive>true</receive>
47 <send-max>2</send-max>
54 @line 14: Defines path selection strategy: *send-max* > 1 -> Advertise N Paths or *send-max* = 0 -> Advertise All Paths
56 Here is an example for update a specific family with enable ADD-PATH capability
58 **URL:** ``/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/bgp-example/bgp/global/afi-safis/afi-safi/openconfig-bgp-types:IPV4%2DUNICAST``
62 **Content-Type:** ``application/xml``
68 <afi-safi xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
69 <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
70 <receive>true</receive>
71 <send-max>0</send-max>
76 Here is an example for BGP peer configuration with enabled ADD-PATH capability.
78 **URL:** ``/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/bgp-example/bgp/neighbors``
82 **Content-Type:** ``application/xml``
88 <neighbor xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
89 <neighbor-address>192.0.2.1</neighbor-address>
92 <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-LABELLED-UNICAST</afi-safi-name>
95 <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
96 <receive>true</receive>
97 <send-max>0</send-max>
102 .. note:: The path selection strategy is not configurable on per peer basis. The send-max presence indicates a willingness to send ADD-PATH NLRIs to the neighbor.
104 Here is an example for update specific family BGP peer configuration with enabled ADD-PATH capability.
106 **URL:** ``/restconf/config/openconfig-network-instance:network-instances/network-instance/global-bgp/openconfig-network-instance:protocols/protocol/openconfig-policy-types:BGP/bgp-example/bgp/neighbors/neighbor/192.0.2.1/afi-safis/afi-safi/openconfig-bgp-types:IPV4%2DUNICAST``
110 **Content-Type:** ``application/xml``
116 <afi-safi xmlns="urn:opendaylight:params:xml:ns:yang:bgp:openconfig-extensions">
117 <afi-safi-name xmlns:x="http://openconfig.net/yang/bgp-types">x:IPV4-UNICAST</afi-safi-name>
118 <receive>true</receive>
119 <send-max>0</send-max>
124 The IPv4 Unicast table with enabled ADD-PATH capability in an instance of the speaker's Loc-RIB can be verified via REST:
126 **URL:** ``/restconf/operational/bgp-rib:bgp-rib/rib/bgp-example/loc-rib/tables/bgp-types:ipv4-address-family/bgp-types:unicast-subsequent-address-family/ipv4-routes``
136 <ipv4-routes xmlns="urn:opendaylight:params:xml:ns:yang:bgp-inet">
139 <prefix>193.0.2.1/32</prefix>
149 <global>10.0.0.1</global>
155 <prefix>193.0.2.1/32</prefix>
165 <global>10.0.0.2</global>
171 @line 3: The routes with the same destination are distinguished by *path-id* attribute.
175 * `Advertisement of Multiple Paths in BGP <https://tools.ietf.org/html/rfc7911>`_
176 * `Best Practices for Advertisement of Multiple Paths in IBGP <https://tools.ietf.org/html/draft-ietf-idr-add-paths-guidelines-08>`_