Skip to content

Extend Add-path Send leaf with values ADDPATH-ECMP and ADDPATH-ALL - #1518

Open
nupkanoi wants to merge 2 commits into
openconfig:masterfrom
nupkanoi:oc_addpath
Open

Extend Add-path Send leaf with values ADDPATH-ECMP and ADDPATH-ALL#1518
nupkanoi wants to merge 2 commits into
openconfig:masterfrom
nupkanoi:oc_addpath

Conversation

@nupkanoi

Copy link
Copy Markdown
Contributor

This proposal extends Add-path Send leaf with values ADDPATH-ECMP and ADDPATH-ALL to add support ecmp and send all paths within add-path feature.

Platform Implementations

  1. Arista Feature Documentation: BGP Additional Paths (Add-Path)

bgp additional-paths send ecmp (Advertises all ECMP multipaths)
bgp additional-paths send any (Advertises all paths)
bgp additional-paths send limit (Limits the best-path advertisement count)
bgp additional-paths receive

  1. Cisco (IOS-XR)

additional-paths send / additional-paths receive
additional-paths selection route-policy
RPL policy action: set path-selection multipath advertise or set path-selection all advertise.

Cisco should natively translate the enum values ADDPATH_ALL and ADDPATH_ECMP to the appropriate route-policy
Example route-policy:

route-policy ADDPATH-ECMP
  set path-selection multipath advertise
end-policy
! 

  1. Juniper (Junos)
    path-count
    path-selection-mode equal-cost-paths
    path-selection-mode all-paths

  2. Nokia (SR Linux)

network-instance protocols bgp afi-safi ipv4-unicast add-paths send true
send-max
Coupled with the BGP Multipath configuration (protocols bgp afi-safi ipv4-unicast multipath) to advertise ECMP ranges.

Tree View

 module: openconfig-bgp-common
         |     |  |     |     +--rw add-paths
         |     |  |     |     |  +--rw config
         |     |  |     |     |  |  +--rw receive?                  boolean
-        |     |  |     |     |  |  +--rw send?                     boolean
+        |     |  |     |     |  |  +--rw send?                     union
         |     |  |     |     |  |  +--rw send-max?                 uint8
         |     |  |     |     |  |  +--rw eligible-prefix-policy?   -> /oc-rpol:routing-policy/policy-definitions/policy-definition/name
         |     |  |     |     |  +--ro state
         |     |  |     |     |     +--ro receive?                  boolean
-        |     |  |     |     |     +--ro send?                     boolean
+        |     |  |     |     |     +--ro send?                     union
         |     |  |     |     |     +--ro send-max?                 uint8
         |     |  |     |     |     +--ro eligible-prefix-policy?   -> /oc-rpol:routing-policy/policy-definitions/policy-definition/name
         |     |  |     |     +--rw use-multiple-paths
         |     |  |     |     |  +--rw config

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates the openconfig-bgp-common.yang submodule to version 9.9.2, extending the send leaf under Add-path to support a union of boolean and explicit enumeration modes (ADDPATH_ECMP and ADDPATH_ALL). Feedback suggests keeping the parent module and other submodules in sync with this version update to avoid compilation failures, and clarifying the behavior of ADDPATH_ALL when send-max is not configured.

Comment thread release/models/bgp/openconfig-bgp-common.yang
Comment thread release/models/bgp/openconfig-bgp-common.yang
…rrect version and also updated ADDPATH_ALL description
@arun-arista

Copy link
Copy Markdown

Can we also consider adding ADDPATH_BACKUP to the enum?
Adding on to your Platform Implementations, there is bgp additional-paths send backup that would advertise the best path and the backup path.
We can also add a leaf prefix-list that controls which routes are advertised out as add-path.

@navaneethyv navaneethyv moved this to Ready to discuss in OC Operator Review Jul 21, 2026
@navaneethyv

Copy link
Copy Markdown
Contributor

@nupkanoi please fix the failing checks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

3 participants