NSX Tier-0 Gateway stops advertising prefixes to other BGP peers.
search cancel

NSX Tier-0 Gateway stops advertising prefixes to other BGP peers.

book

Article ID: 370789

calendar_today

Updated On:

Products

VMware NSX

Issue/Introduction

  • When a prefix has multiple-paths from only one single peer (a route-server) that supports ADPPATH-TX, and then withdraws one of the paths, other paths remain in BGP routing table. But the route is deleted from RIB(zebra).
  • Check 'get bgp <prefix>', it will still show the remaining path. But 'get route <prefix>' will show no route left.
  • You see entries similar to the following in the syslog

    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

Environment

VMware NSX

Cause

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.

Resolution

This issue is resolved in VMware NSX 4.2.0

Workaround:


 'clear bgp <ip-address>' on the NSX-EDGE or on the 'route-server' will resolve the issue too.

Additional Information

Impact: All paths get deleted instead of the single specific path, causing possible traffic disruption.