bgpd: add additional attributes for evpn detail/ipv4/ipv6 detail json#21035
Merged
riw777 merged 2 commits intoFRRouting:masterfrom Mar 31, 2026
Merged
bgpd: add additional attributes for evpn detail/ipv4/ipv6 detail json#21035riw777 merged 2 commits intoFRRouting:masterfrom
riw777 merged 2 commits intoFRRouting:masterfrom
Conversation
39aa0df to
c6f2ecc
Compare
Greptile SummaryThis PR adds Key changes:
Issues found:
Confidence Score: 3/5
Important Files Changed
Flowchart%%{init: {'theme': 'neutral'}}%%
flowchart TD
A["bgp_show_table() per dest"] --> B{use_json && detail_json?}
B -- No --> Z[non-JSON output]
B -- Yes --> C[open per-prefix dict\nroute_vty_out_detail_header\n+ pathCount via header]
C --> D[iterate paths\ntrack prefix_path_count\nbest_path_selected]
D --> E[vty_json_no_pretty\njson_paths array]
E --> F{json_detail_header_used?}
F -- Yes --> G[build json_flags\nbestPathExists]
G --> H{BGP_FLAG_SUPPRESS_FIB_PENDING?}
H -- Yes --> I["fibInstalled\nfibWaitForInstall\nfibInstallFailed ⚠️\nfibSuppress=true"]
H -- No --> J[emit multiPathCount\nfibSuppress fields skipped]
I --> J
J --> K[vty_out multiPathCount\nvty_out flags JSON]
K --> L[close per-prefix dict]
L --> M{is_last?}
M -- Yes --> N["close header brackets\n i==1: emit numRoutes ⚠️\n(skipped when depth==1 / all flag)\n emit totalRoutes totalPaths"]
M -- No --> O[continue to next dest]
style I fill:#ffcccc,stroke:#cc0000
style N fill:#ffcccc,stroke:#cc0000
Last reviewed commit: bf348a5 |
b2e8dc0 to
bf348a5
Compare
9571fc5 to
3648318
Compare
Contributor
Author
|
ci:rerun |
7047a7d to
f91882a
Compare
ton31337
reviewed
Mar 17, 2026
ton31337
reviewed
Mar 17, 2026
ton31337
approved these changes
Mar 18, 2026
Contributor
Author
8e81d4c to
72730e2
Compare
Member
|
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Added no of rotues, pathcount, multipathcount and flags fileds into show bgp ipv4/ipv6 detail json output and show bgp l2vpn evpn route detail json output. Commands: 1)show bgp vrf blue ipv4 unicast json detail 2)show bgp vrf blue ipv6 unicast json detail 3)show bgp l2vpn evpn route detail json Signed-off-by: harini <hnattamaisub@nvidia.com>
Enhanced existing tests to match their behaviour Signed-off-by: harini <hnattamaisub@nvidia.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Added no of rotues, pathcount, multipathcount and flags fileds into show bgp ipv4/ipv6 detail json output and show bgp l2vpn evpn route detail json output.
Commands:
1)show bgp vrf blue ipv4 unicast json detail
2)show bgp vrf blue ipv6 unicast json detail
3)show bgp l2vpn evpn route detail json
r1# show bgp vrf blue ipv4 unicast json detail
{
"vrfId": 6,
"vrfName": "blue",
"tableVersion": 1,
"routerId": "192.168.13.1",
"defaultLocPrf": 100,
"localAS": 65000,
"routes": { "10.10.10.10/32": {
"prefix": "10.10.10.10/32",
"version": 1,
"pathCount": 1,"paths": [{"aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","metric":0,"locPrf":100,"valid":true,"version":1,"bestpath":{"overall":true,"selectionReason":"First path received"},"extendedCommunity":{"string":"LB:65000:5000000 (40.000 Mbps)"},"lastUpdate":{"epoch":1774346830,"string":"Tue Mar 24 10:07:10 2026"},"lastUpdateStr":"0:00:00:08","nexthops":[{"ip":"192.168.13.3","hostname":"r3","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"192.168.13.3","routerId":"192.168.13.3","hostname":"r3","type":"internal"}}]
,"multiPathCount":1
,"flags": {"bestPathExists":true}
} } , "totalRoutes": 1, "totalPaths": 1,"numRoutes":1
}
r1# show bgp vrf blue ipv4 unicast json
{
"vrfId": 6,
"vrfName": "blue",
"tableVersion": 1,
"routerId": "192.168.13.1",
"defaultLocPrf": 100,
"localAS": 65000,
"routes": { "10.10.10.10/32": [{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"internal","prefix":"10.10.10.10","prefixLen":32,"network":"10.10.10.10/32","version":1,"metric":0,"locPrf":100,"weight":0,"peerId":"192.168.13.3","path":"","origin":"IGP","nexthops":[{"ip":"192.168.13.3","hostname":"r3","afi":"ipv4","used":true}]}]
} , "totalRoutes": 1, "totalPaths": 1,"numRoutes":1
}
r1# show bgp vrf blue ipv4 unicast json brief
{
"routes": { "10.10.10.10/32": {
"pathCount":1
,"multiPathCount":1
,"flags": {"bestPathExists":true}
} } , "totalRoutes": 1, "totalPaths": 1,"numRoutes":1
}
r1#
host1# show bgp vrf default ipv6 unicast json
{
"vrfId": 0,
"vrfName": "default",
"tableVersion": 1,
"routerId": "10.100.0.11",
"defaultLocPrf": 100,
"localAS": 111,
"routes": { "100::21/128": [{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"external","prefix":"100::21","prefixLen":128,"network":"100::21/128","version":1,"metric":0,"weight":32768,"peerId":"(unspec)","path":"","origin":"IGP","nexthops":[{"ip":"::","hostname":"host1","afi":"ipv6","scope":"global","linkLocalOnly":false,"length":16,"used":true}]}]
} , "totalRoutes": 1, "totalPaths": 1,"numRoutes":1
}
host1# show bgp vrf default ipv6 unicast json detail
{
"vrfId": 0,
"vrfName": "default",
"tableVersion": 1,
"routerId": "10.100.0.11",
"defaultLocPrf": 100,
"localAS": 111,
"routes": { "100::21/128": {
"prefix": "100::21/128",
"version": 1,"advertisedTo": {
"50:0:1::1":{
"hostname":"PE1"
}
}
,"pathCount": 1,"paths": [{"aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","metric":0,"weight":32768,"valid":true,"version":1,"sourced":true,"local":true,"bestpath":{"overall":true,"selectionReason":"First path received"},"lastUpdate":{"epoch":1774346897,"string":"Tue Mar 24 10:08:17 2026"},"lastUpdateStr":"0:00:00:46","bgpId":"10.100.0.11","nexthops":[{"ip":"::","hostname":"host1","afi":"ipv6","scope":"global","linkLocalOnly":false,"length":16,"metric":0,"accessible":true,"used":true}],"peer":{"peerId":"::","routerId":"10.100.0.11"}}]
,"multiPathCount":1
,"flags": {"bestPathExists":true}
} } , "totalRoutes": 1, "totalPaths": 1,"numRoutes":1
}
host1# show bgp vrf default ipv6 unicast json brief
{
"routes": { "100::21/128": {
"pathCount":1
,"multiPathCount":1
,"flags": {"bestPathExists":true}
} } , "totalRoutes": 1, "totalPaths": 1,"numRoutes":1
}
host1#
r1# show bgp l2vpn evpn route detail json brief
{
"0.0.0.0:2":{},"10.0.0.10:1":{"[5]:[0]:[24]:[10.0.0.0]":{"pathCount":2,"multiPathCount":2,"flags":{"bestPathExists":true}},"numRoutes":1}
,"10.0.0.11:3":{"[3]:[0]:[32]:[10.0.0.11]":{"pathCount":1,"multiPathCount":1,"flags":{"bestPathExists":true}},"numRoutes":1}
,"10.0.0.12:2":{"[2]:[0]:[48]:[00:00:00:00:00:c1]":{"pathCount":1,"multiPathCount":1,"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c1]:[32]:[10.0.0.0]":{"pathCount":1,"multiPathCount":1,"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c2]":{"pathCount":1,"multiPathCount":1,"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c2]:[32]:[10.0.0.2]":{"pathCount":1,"multiPathCount":1,"flags":{"bestPathExists":true}},"[3]:[0]:[32]:[10.0.0.12]":{"pathCount":1,"multiPathCount":1,"flags":{"bestPathExists":true}},"numRoutes":5}
}
r1# show bgp l2vpn evpn route json
{
"0.0.0.0:2":{},"10.0.0.10:1":{"rd":"10.0.0.10:1","[5]:[0]:[24]:[10.0.0.0]":{"prefix":"[5]:[0]:[24]:[10.0.0.0]","prefixLen":352,"pathCount":2,"multiPathCount":2,"paths":[[{"valid":true,"bestpath":true,"selectionReason":"Locally configured route","multipath":true,"pathFrom":"external","routeType":5,"ethTag":0,"ipLen":24,"ip":"10.0.0.0","metric":0,"weight":0,"peerId":"(unspec)","path":"64000","origin":"IGP","extendedCommunity":{"string":"ET:8 RT:64001:100 Rmac:a2:48:26:4b:a6:6a"},"nexthops":[{"ip":"10.0.0.10","hostname":"r1","afi":"ipv4","used":true}]}],[{"valid":true,"multipath":true,"pathFrom":"external","routeType":5,"ethTag":0,"ipLen":24,"ip":"10.0.0.0","metric":0,"weight":0,"peerId":"(unspec)","path":"64000","origin":"IGP","extendedCommunity":{"string":"ET:8 RT:64001:100 Rmac:a2:48:26:4b:a6:6a"},"nexthops":[{"ip":"10.0.0.10","hostname":"r1","afi":"ipv4","used":true}]}]],"flags":{"bestPathExists":true}},"numRoutes":1}
,"10.0.0.11:3":{"rd":"10.0.0.11:3","[3]:[0]:[32]:[10.0.0.11]":{"prefix":"[3]:[0]:[32]:[10.0.0.11]","prefixLen":352,"pathCount":1,"multiPathCount":1,"paths":[[{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"internal","routeType":3,"ethTag":0,"ipLen":32,"ip":"10.0.0.11","locPrf":100,"weight":0,"peerId":"10.0.0.9","path":"","origin":"IGP","extendedCommunity":{"string":"RT:64001:10 ET:8"},"nexthops":[{"ip":"10.0.0.11","hostname":"rr","afi":"ipv4","used":true}]}]],"flags":{"bestPathExists":true}},"numRoutes":1}
,"10.0.0.12:2":{"rd":"10.0.0.12:2","[2]:[0]:[48]:[00:00:00:00:00:c1]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c1]","prefixLen":352,"pathCount":1,"multiPathCount":1,"paths":[[{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"internal","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c1","locPrf":100,"weight":0,"peerId":"10.0.0.9","path":"","origin":"IGP","extendedCommunity":{"string":"RT:64001:10 ET:8"},"nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","used":true}]}]],"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c1]:[32]:[10.0.0.0]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c1]:[32]:[10.0.0.0]","prefixLen":352,"pathCount":1,"multiPathCount":1,"paths":[[{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"internal","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c1","ipLen":32,"ip":"10.0.0.0","locPrf":100,"weight":0,"peerId":"10.0.0.9","path":"","origin":"IGP","extendedCommunity":{"string":"RT:64001:10 ET:8"},"nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","used":true}]}]],"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c2]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c2]","prefixLen":352,"pathCount":1,"multiPathCount":1,"paths":[[{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"internal","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c2","locPrf":100,"weight":0,"peerId":"10.0.0.9","path":"","origin":"IGP","extendedCommunity":{"string":"RT:64001:10 ET:8"},"nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","used":true}]}]],"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c2]:[32]:[10.0.0.2]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c2]:[32]:[10.0.0.2]","prefixLen":352,"pathCount":1,"multiPathCount":1,"paths":[[{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"internal","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c2","ipLen":32,"ip":"10.0.0.2","locPrf":100,"weight":0,"peerId":"10.0.0.9","path":"","origin":"IGP","extendedCommunity":{"string":"RT:64001:10 ET:8"},"nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","used":true}]}]],"flags":{"bestPathExists":true}},"[3]:[0]:[32]:[10.0.0.12]":{"prefix":"[3]:[0]:[32]:[10.0.0.12]","prefixLen":352,"pathCount":1,"multiPathCount":1,"paths":[[{"valid":true,"bestpath":true,"selectionReason":"First path received","pathFrom":"internal","routeType":3,"ethTag":0,"ipLen":32,"ip":"10.0.0.12","locPrf":100,"weight":0,"peerId":"10.0.0.9","path":"","origin":"IGP","extendedCommunity":{"string":"RT:64001:10 ET:8"},"nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","used":true}]}]],"flags":{"bestPathExists":true}},"numRoutes":5}
,"numPrefix":7,"numPaths":8}
r1#
r1# show bgp l2vpn evpn route detail json
{
"0.0.0.0:2":{},"10.0.0.10:1":{"rd":"10.0.0.10:1","[5]:[0]:[24]:[10.0.0.0]":{"prefix":"[5]:[0]:[24]:[10.0.0.0]","prefixLen":352,"rd":"10.0.0.10:1","routeType":5,"ethTag":0,"ipLen":24,"ip":"10.0.0.0","pathCount":2,"multiPathCount":2,"paths":[[{"vni":"100","gatewayIP":"10.0.0.0","aspath":{"string":"64000","segments":[{"type":"as-sequence","list":[64000]}],"length":1},"origin":"IGP","metric":0,"valid":true,"version":2,"sourced":true,"local":true,"multipath":true,"bestpath":{"overall":true,"selectionReason":"Locally configured route"},"extendedCommunity":{"string":"ET:8 RT:64001:100 Rmac:a2:48:26:4b:a6:6a"},"addpathRxId":2,"addpathTxId":2,"addpathTxIdAll":2,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"advertisedTo":{"10.0.0.9":{"hostname":"rr"}},"lastUpdate":{"epoch":1774347333,"string":"Tue Mar 24 10:15:33 2026"},"lastUpdateStr":"0:00:01:15","nexthops":[{"ip":"10.0.0.10","hostname":"r1","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"0.0.0.0","routerId":"10.0.0.10"}}],[{"vni":"100","gatewayIP":"10.0.0.2","aspath":{"string":"64000","segments":[{"type":"as-sequence","list":[64000]}],"length":1},"origin":"IGP","metric":0,"valid":true,"version":2,"sourced":true,"local":true,"multipath":true,"extendedCommunity":{"string":"ET:8 RT:64001:100 Rmac:a2:48:26:4b:a6:6a"},"addpathRxId":3,"addpathTxId":3,"addpathTxIdAll":3,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"advertisedTo":{"10.0.0.9":{"hostname":"rr"}},"lastUpdate":{"epoch":1774347333,"string":"Tue Mar 24 10:15:33 2026"},"lastUpdateStr":"0:00:01:15","nexthops":[{"ip":"10.0.0.10","hostname":"r1","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"0.0.0.0","routerId":"10.0.0.10"}}]],"flags":{"bestPathExists":true}},"numRoutes":1}
,"10.0.0.11:3":{"rd":"10.0.0.11:3","[3]:[0]:[32]:[10.0.0.11]":{"prefix":"[3]:[0]:[32]:[10.0.0.11]","prefixLen":352,"rd":"10.0.0.11:3","routeType":3,"ethTag":0,"ipLen":32,"ip":"10.0.0.11","pathCount":1,"multiPathCount":1,"paths":[[{"aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","locPrf":100,"valid":true,"version":1,"bestpath":{"overall":true,"selectionReason":"First path received"},"extendedCommunity":{"string":"RT:64001:10 ET:8"},"originatorId":"10.0.0.11","clusterList":{"list":["10.0.0.9"]},"addpathRxId":9,"addpathTxId":4,"addpathTxIdAll":4,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"lastUpdate":{"epoch":1774347334,"string":"Tue Mar 24 10:15:34 2026"},"lastUpdateStr":"0:00:01:14","pmsi":{"tunnelType":"Ingress Replication","label":10},"nexthops":[{"ip":"10.0.0.11","hostname":"rr","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"10.0.0.9","routerId":"10.0.0.9","hostname":"rr","type":"internal"}}]],"flags":{"bestPathExists":true}},"numRoutes":1}
,"10.0.0.12:2":{"rd":"10.0.0.12:2","[2]:[0]:[48]:[00:00:00:00:00:c1]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c1]","prefixLen":352,"rd":"10.0.0.12:2","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c1","pathCount":1,"multiPathCount":1,"paths":[[{"vni":"10","aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","locPrf":100,"valid":true,"version":1,"bestpath":{"overall":true,"selectionReason":"First path received"},"extendedCommunity":{"string":"RT:64001:10 ET:8"},"originatorId":"10.0.0.12","clusterList":{"list":["10.0.0.9"]},"addpathRxId":4,"addpathTxId":5,"addpathTxIdAll":5,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"lastUpdate":{"epoch":1774347334,"string":"Tue Mar 24 10:15:34 2026"},"lastUpdateStr":"0:00:01:14","nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"10.0.0.9","routerId":"10.0.0.9","hostname":"rr","type":"internal"}}]],"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c1]:[32]:[10.0.0.0]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c1]:[32]:[10.0.0.0]","prefixLen":352,"rd":"10.0.0.12:2","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c1","ipLen":32,"ip":"10.0.0.0","pathCount":1,"multiPathCount":1,"paths":[[{"vni":"10","aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","locPrf":100,"valid":true,"version":2,"bestpath":{"overall":true,"selectionReason":"First path received"},"extendedCommunity":{"string":"RT:64001:10 ET:8"},"originatorId":"10.0.0.12","clusterList":{"list":["10.0.0.9"]},"addpathRxId":5,"addpathTxId":6,"addpathTxIdAll":6,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"lastUpdate":{"epoch":1774347334,"string":"Tue Mar 24 10:15:34 2026"},"lastUpdateStr":"0:00:01:14","nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"10.0.0.9","routerId":"10.0.0.9","hostname":"rr","type":"internal"}}]],"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c2]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c2]","prefixLen":352,"rd":"10.0.0.12:2","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c2","pathCount":1,"multiPathCount":1,"paths":[[{"vni":"10","aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","locPrf":100,"valid":true,"version":3,"bestpath":{"overall":true,"selectionReason":"First path received"},"extendedCommunity":{"string":"RT:64001:10 ET:8"},"originatorId":"10.0.0.12","clusterList":{"list":["10.0.0.9"]},"addpathRxId":6,"addpathTxId":7,"addpathTxIdAll":7,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"lastUpdate":{"epoch":1774347334,"string":"Tue Mar 24 10:15:34 2026"},"lastUpdateStr":"0:00:01:14","nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"10.0.0.9","routerId":"10.0.0.9","hostname":"rr","type":"internal"}}]],"flags":{"bestPathExists":true}},"[2]:[0]:[48]:[00:00:00:00:00:c2]:[32]:[10.0.0.2]":{"prefix":"[2]:[0]:[48]:[00:00:00:00:00:c2]:[32]:[10.0.0.2]","prefixLen":352,"rd":"10.0.0.12:2","routeType":2,"ethTag":0,"macLen":48,"mac":"00:00:00:00:00:c2","ipLen":32,"ip":"10.0.0.2","pathCount":1,"multiPathCount":1,"paths":[[{"vni":"10","aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","locPrf":100,"valid":true,"version":4,"bestpath":{"overall":true,"selectionReason":"First path received"},"extendedCommunity":{"string":"RT:64001:10 ET:8"},"originatorId":"10.0.0.12","clusterList":{"list":["10.0.0.9"]},"addpathRxId":7,"addpathTxId":8,"addpathTxIdAll":8,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"lastUpdate":{"epoch":1774347334,"string":"Tue Mar 24 10:15:34 2026"},"lastUpdateStr":"0:00:01:14","nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"10.0.0.9","routerId":"10.0.0.9","hostname":"rr","type":"internal"}}]],"flags":{"bestPathExists":true}},"[3]:[0]:[32]:[10.0.0.12]":{"prefix":"[3]:[0]:[32]:[10.0.0.12]","prefixLen":352,"rd":"10.0.0.12:2","routeType":3,"ethTag":0,"ipLen":32,"ip":"10.0.0.12","pathCount":1,"multiPathCount":1,"paths":[[{"aspath":{"string":"Local","segments":[],"length":0},"origin":"IGP","locPrf":100,"valid":true,"version":5,"bestpath":{"overall":true,"selectionReason":"First path received"},"extendedCommunity":{"string":"RT:64001:10 ET:8"},"originatorId":"10.0.0.12","clusterList":{"list":["10.0.0.9"]},"addpathRxId":8,"addpathTxId":9,"addpathTxIdAll":9,"addpathTxIdBestPerAS":0,"addpathTxIdBestSelected":0,"lastUpdate":{"epoch":1774347334,"string":"Tue Mar 24 10:15:34 2026"},"lastUpdateStr":"0:00:01:14","pmsi":{"tunnelType":"Ingress Replication","label":10},"nexthops":[{"ip":"10.0.0.12","hostname":"rr","afi":"ipv4","metric":0,"accessible":true,"used":true}],"peer":{"peerId":"10.0.0.9","routerId":"10.0.0.9","hostname":"rr","type":"internal"}}]],"flags":{"bestPathExists":true}},"numRoutes":5}
,"numPrefix":7,"numPaths":8}
r1#