This section explains the BGP learning and advertisement support in NSX Advanced Load Balancer.

The BGP learning and advertisement supports:

  • Learning routes from a set of peers.

  • Learning default route from a set of peers.

  • Advertising learned routes to a set of peers.

  • Advertising NSX Advanced Load Balancer Service Engine as default routes to a set of peers.

Note:

Learning Back end Routes and Advertising the same to the Front-end

The following is the diagrammatic representation of learning back end routes and advertising the same to the front end:

Learning Default Route from the Front end and Advertising itself as Default Route to Back end

The following is the diagrammatic representation of learning default route from the front end and advertising itself as the default route to the back end:



Advertising directly connected Back-end Networks to Front-end

The following is the diagrammatic representation of advertising directly connected back end networks to the front end:



Key Considerations

The following are the constraints with learning and advertising NSX Advanced Load Balancer BGP:

  • This feature is only available using CLI.

  • The advertisement option is supported only when routing is enabled (Default Gateway (IP Routing on NSX Advanced Load Balancer SE) on NSX Advanced Load Balancer SE). Routing is supported only with Legacy-HA mode. Only active SE will advertise the routes.

  • Configurable route attributes, such as AS path prepend, IP communities, local preference, will not be applied on learned routes.

  • The filters to learning routes and advertising of learned routes are not allowed.

  • A label used in peer must be present in one routing option.

  • The peers are grouped to exchange routes based on the associated label.

  • From a peer, you can either learn routes or learn the default route, but not both.

  • The assumption for instance is that when you learn routes from back end peers, there will be no default route.

  • You will not be advertising NSX Advanced Load Balancer Service Engine as the default route to any peer belonging to a group from which you are learning the default route.

  • You will not be advertising the default route to any peer in the group to which you are advertising the learned routes.

Note:

The routes learned through BGP will not be used for placement decisions. The Controller will not use the routes learned by Service Engines through BGP to evaluate reachability to the pool servers.

Configuring Learning and Advertisement

The following is the sample configuration sequence with one front end peer and one back end peer:

[admin:ctlr-bgp]: > configure vrfcontext global
Updating an existing object. Currently, the object is:
+----------------------------+-------------------------------------------------+
| Field                      | Value                                           |
+----------------------------+-------------------------------------------------+
| uuid                       | vrfcontext-f1d049c8-306e-45eb-8fe3-1f6abb8e19ef  |
| name                       | global                                          |
| bgp_profile                |                                                 |
|   local_as                 | 66000                                           |
|   ibgp                     | False                                           |
|   peers[1]                 |                                                 |
|     remote_as              | 1                                           |
|     peer_ip                | 100.64.1.64                                    |
|     subnet                 | 100.64.1.0/24                                  |
|     md5_secret             | <sensitive>                                     |
|     bfd                    | True                                            |
|     advertise_vip          | True                                            |
|     advertise_snat_ip      | False                                           |
|     advertisement_interval | 5                                               |
|     connect_timer          | 10                                              |
|     ebgp_multihop          | 255                                             |
|     shutdown               | False                                         |
|     label                  | frontend                                      |
|   peers[2]                 |                                                 |
|     remote_as              | 65000                                          |
|     peer_ip                | 100.64.2.65                                    |
|     subnet                 | 100.64.2.0/24                                  |
|     md5_secret             | <sensitive>                              |
|     bfd                    | True                                            |
|     advertise_vip          | False                                           |
|     advertise_snat_ip      | True                                            |
|     advertisement_interval | 5                                               |
|     connect_timer          | 10                                              |
|     ebgp_multihop          | 255                                             |
|     shutdown               | False                                         |
|     label                  | backend                                       |
|   keepalive_interval       | 60                                              |
|   hold_time                | 180                                             |
|   send_community           | True                                            |
|   local_preference         | 400                                           |
| num_as_path_prepend        | 3                                             |
| routing_options[1]         |                                               |
|     label                  | backend                                       |
| learn_routes               | True                                          |
|   advertise_default_route  | True                                          |
|   max_learn_limit          | 100                                           |
| routing_options[2]         |                                               |
|     label                  | frontend                                       |
| learn_only_default_route   | True                                          |
| learn_routes               | False                                          |
|   advertise_learned_route  | True                                          |
|   max_learn_limit          | 50                                           |
|   shutdown                 | False                                           |
| system_default             | True                                            |
|   lldp_enable              | True                                           |
| tenant_ref                 | admin                                           |
| cloud_ref                  | Default-Cloud                                   |
+----------------------------+-------------------------------------------------+

The example shows a configuration where the default route is learned from the front end, advertises the default route to the back end, learns routes from the back end and advertises the learned routes to the front end.

The following is the Service Engine route outputs to illustrate the learning and advertisement feature:

[admin:amit-ctrl-bgp]: >
[admin:amit-ctrl-bgp]: > show serviceengine Avi-se-mrcps route
+-----------------+-------------+-----------+---------------+---------------------------+
| IP Destination  | Gateway     | Interface | Interface IP  | Route Flags               |
+-----------------+-------------+-----------+---------------+---------------------------+
+-----------------+-------------+-----------+---------------+---------------------------+
VRF 0
+-----------------+-------------+-----------+---------------+---------------------------+
| 4.4.4.0/24      | 100.64.1.64 | eth3      | 100.64.1.24   | Up, Learned, Gateway, GWUp |
| 5.5.5.1/32      | 0.0.0.0     | eth3      | 5.5.5.1       | Up, GWUp                  |
| 6.6.6.0/24      | 100.64.2.65 | eth2      | 100.64.2.56   | Up, Learned, Gateway, GWUp|
| 7.7.7.1/32      | 0.0.0.0     | eth3      | 7.7.7.1       | Up, GWUp                  |
| 100.64.1.0/24   | 0.0.0.0     | eth3      | 100.64.1.24   | Up, GWUp                  |
| 100.64.1.104/32 | 0.0.0.0     | eth3      | 100.64.1.104  | Up, GWUp                  |
| 100.64.1.105/32 | 0.0.0.0     | eth3      | 100.64.1.105  | Up, GWUp                  |
| 100.64.1.106/32 | 0.0.0.0     | eth3      | 100.64.2.106  | Up, GWUp
| 100.64.1.108/32 | 0.0.0.0     | eth3      | 100.64.1.108  | Up, GWUp                  |
| 100.64.2.0/24   | 0.0.0.0     | eth2      | 100.64.2.56   | Up, GWUp|
+-----------------+-------------+-----------+---------------+---------------------------+
[admin:admin-ctrl-bgp]: >