get bgp <prefix>
', it will still show the remaining path. But 'get route <prefix>
' will show no route left.syslog:2024-04-10T11:35:58.698Z nsxedge.example.com NSX 7 ROUTING [nsx@6876 comp="nsx-edge" subcomp="rcpm" s2comp="rcpm-nsxa" level="INFO"] Received prefix 10.62.27.208/32 with n_nexthops = 1 in table_id = 254 action = ADD
syslog:2024-04-10T11:37:02.773Z nsxedge.example.com NSX 7 ROUTING [nsx@6876 comp="nsx-edge" subcomp="rcpm" s2comp="rcpm-nsxa" level="INFO"] Received prefix 10.62.27.208/32 with n_nexthops = 2 in table_id = 254 action = ADD
syslog:2024-04-10T11:38:46.309Z nsxedge.example.com NSX 7 ROUTING [nsx@6876 comp="nsx-edge" subcomp="rcpm" s2comp="rcpm-nsxa" level="INFO"] Received prefix 10.62.27.208/32 with n_nexthops = 0 in table_id = 254 action = DELETE
n_nexthops = 0
-> this is not valid as the route server is still advertising the prefix with one nexthop
syslog:2024-04-10T11:38:55.872Z nsxedge.example.com NSX 7 ROUTING [nsx@6876 comp="nsx-edge" subcomp="rcpm" s2comp="rcpm-nsxa" level="INFO"] Received prefix 10.62.27.208/32 with n_nexthops = 1 in table_id = 254 action = ADD
syslog:2024-04-10T11:38:57.618Z nsxedge.example.com NSX 7 ROUTING [nsx@6876 comp="nsx-edge" subcomp="rcpm" s2comp="rcpm-nsxa" level="INFO"] Received prefix 10.62.27.208/32 with n_nexthops = 2 in table_id = 254 action = ADD
syslog:2024-04-10T11:39:42.612Z nsxedge.example.com NSX 7 ROUTING [nsx@6876 comp="nsx-edge" subcomp="rcpm" s2comp="rcpm-nsxa" level="INFO"] Received prefix 10.62.27.208/32 with n_nexthops = 0 in table_id = 254 action = DELETE
syslog:2024-04-10T11:41:39.624Z nsxedge.example.com NSX 7 ROUTING [nsx@6876 comp="nsx-edge" subcomp="rcpm" s2comp="rcpm-nsxa" level="INFO"] Received prefix 10.62.27.208/32 with n_nexthops = 1 in table_id = 254 action = ADD
VMware NSX
Sometime back a BGP path-computation optimization (first introduced in keeper release) was implemented. As part of that optimization was added for the case where a prefix path is being removed and it does not have any other paths available.
In such cases we skip best-path computation for the prefix and directly remove the route from RIB(zebra). it seems to be NOT considering the scenario that there can be paths from the same peer if it supports ADDPATH-TX.
In such a case it is still needed to schedule a best-path compute so that the entire route will not be deleted, only the corresponding next hop will be removed.
Workaround:
'clear bgp <ip-address>
' on the NSX-EDGE or on the 'route-server' will resolve the issue too.
Impact: All paths get deleted instead of the single specific path, causing possible traffic disruption.