22 Commits

Author SHA1 Message Date
Dmitrii Shcherbakov
656a427e39 Make the local chassis ID configurable
ovn-controller can be configured with a system-id override file or
-n option to use any suffix for OVSDB options. Currently ovn-bgp-agent
just uses a constant "bgp" for this and there is no way to change it.

48db2a7a35

Let's allow this suffix to be set via a config option instead.

Change-Id: Ida30b46e16ddcdc2d82af980546876f72a845c1d
(cherry picked from commit e3cb1b4a472e0c2743690af62768a96a1c2b8c00)
2024-07-19 10:03:43 +00:00
Michel Nederlof
47c18ffaa4 Add support for l3vpn with NB driver
Creates VRF/VXLAN per VNI, exposed through FRR with kernel routes
Vlan interfaces are added to the appropriate VNI, configured per bgpvpn
config options on the logical switch.

Related-bug: #2051105
Change-Id: I097c4629922d787827aba7761164f4004ed1305a
(cherry picked from commit b3ca890f471fc2694342edc1f22670913cece934)
2024-05-23 07:27:08 +00:00
Michel Nederlof
326ec40230 Add feature to check if SNAT disabled before exposing tenant networks
If SNAT on the router is enabled, then the subnet is reachable
from the outside, but all new sessions created from within the subnet
will be SNAT-ed. So those sessions will use the external IP of the router.
For example whitelisting specific tenant ips would not be possible.

With SNAT disabled, the neutron router will act as a normal gateway, and
sessions created from within a tenant vm will be sent from the real ip.

Closes-Bug: #2052292
Change-Id: Ib97065fb2fcca069195278fea804256370d21816
2024-02-27 09:21:59 +00:00
Luis Tomas Bolivar
921e39ba02 Fixes at the documentation
This is a follow up of [1]

[1] https://review.opendev.org/c/openstack/ovn-bgp-agent/+/903407

Change-Id: Ifda13d090b1e298ae8b5393a313c2ea4df105fcb
2024-02-19 09:14:31 +01:00
Luis Tomas Bolivar
f94c041e7a Add documentation about NB DB driver
This includes the option to use the OVN-Cluster for routing
instead of the kernel.

It also updates the supportability matrix to better reflect the
current status, and makes a little reorg on the organization
structure

Change-Id: If8fb9a42f74511e9f70a25d7c08dce99c20c3f10
2024-01-31 15:13:29 +01:00
Luis Tomas Bolivar
bb663ad778 Add support at NB BGP Driver for exposing OVN LBs
Change-Id: I4b1992d938e157a693c9db33882e5bc27ef8f604
2023-11-16 09:49:59 +01:00
maliangyi
6272a42f6c Fix spelling errors
Change-Id: I856058bf04f4c7822e3d21338b3bbdc5ffd4df9b
2023-09-12 15:58:26 +08:00
Luis Tomas Bolivar
f587e4357c Add supportability matrix
Add initial information about the different options supported
by the different drivers

Change-Id: I9c49ae7d125cec90725943eeda01a5849070b11a
2023-04-12 10:29:36 +00:00
Lucas Alvares Gomes
d3c3ace96e Change x/ovn-bgp-agent references to openstack/ovn-bgp-agent
With the move to be included in the Neutron governance we have to update
the references from x/ to openstack/

Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Change-Id: I9bdd16d1feacefa0a9937bcf322ad7c242b506d4
2023-04-11 08:59:08 +00:00
Zuul
b42a05ac30 Merge "Support for AddressScopes as an API of what to expose" 2023-01-30 16:27:15 +00:00
Luis Tomas Bolivar
19bd3e0fb9 Support for AddressScopes as an API of what to expose
This patch adds the option to filter the tenant subnets to
be exposed depending on them belonging or not to an
address_scope (i.e., to a subnet pool associated to an
address_scope).

Change-Id: Iacbcc2ef094858f82166273d5b23c81f10324726
2023-01-30 13:24:55 +01:00
Lucas Alvares Gomes
1efb875df1 Publish docs to readthedocs
Docs should be published at https://ovn-bgp-agent.readthedocs.io/

Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Change-Id: I4e59fabd66aa9e67d59937762ff9eadca8fe33fd
2023-01-27 14:55:05 -03:00
Luca Czesla
d59c61caa5 Add new driver ovn_stretched_l2_bgp_driver
This driver allows to announce tenant networks with
an address scope via the virtual router IP.

For this to work, all routers in the respective L2
network must be reachable to each other and the
ovn-bgp-agent/frr needs an IP in this network to
talk to its BGP peer.

The following changes have been made:
- To filter which networks are announced via which
  agent/BGP session, we added a filter on the
  OpenStack address scope
- Networks are announced instead of VM IPs
- Add SubnetRouterUpdateEvent to handle updates of
  lrp ports

Depends-on: https://review.opendev.org/c/openstack/neutron/+/861719

Change-Id: I6e48c7e056ba2101ad670ab54c96e072459c5e65
2023-01-10 11:19:41 +00:00
Luis Tomas Bolivar
d6686c88e6 Add support to only expose tenant IPv6 GUA IPs
A new flag is added so that we can either expose all the
tenant network IPs (expose_tenant_networks) or just the
IPv6 GUA ones (expose_ipv6_gua_tenant_networks).

If the expose_ipv6_gua_tenant_network flag is enabled, before
exposing the tenant IPs it is checked if they are IPv6 and
of global type, and only in that case they will be advertized.

Story 2010374
Task 46609

Change-Id: Ifa1e25aabb3f6a3fc5f1e5ba5a32bfedadf6765a
2022-11-22 19:30:24 +01:00
Luca Czesla
7f058d8c99 Allow the user to set the VRF settings
Allow the user to configure the VRF settings to e.g. run
multiple agents per host.

The constants OVN_BGP_NIC, OVN_BGP_VRF and OVN_BGP_VRF_TABLE
have been replaced by configurable config options:

- OVN_BGP_NIC renamed to bgp_nic (default: "bgp-nic")
- OVN_BGP_VRF renamed to bgp_vrf (default: "bgp-vrf")
- OVN_BGP_VRF_TABLE renamed to bgp_vrf_table_id (default: 10)

Change-Id: I863e7bb140cd85a4ecefe6ccaad8adc5eae0cbd9
2022-10-20 12:53:38 +00:00
Luis Tomas Bolivar
1fa471083c Fix rst typos at bgp_mode_design documentation
Change-Id: Ib0c0281339c35cd089c35a0b3482148f1e06b10c
2022-09-07 09:18:10 +02:00
Luis Tomas Bolivar
2523572af9 Add initial BGP Mode documentation
Change-Id: I58e7a8da7cc7d67e10b0bdccfd83c9e9ae5dff90
2022-09-06 14:15:15 +02:00
Luis Tomas Bolivar
f5ae44ef98 Minor fixing on EVPN documentation
Change-Id: I3a8dce163e74391da3ffe14c62c55a95555a969f
2022-08-25 13:26:39 +02:00
Luis Tomas Bolivar
d701467eb8 Update EVPN Mode documentation
Change-Id: Icce2edbff9ba75cd288328de71d2c28963355880
2021-10-04 13:44:46 +02:00
Luis Tomas Bolivar
e3afbb0aba Add initial support for EVPN
Change-Id: I8c6ffc192158b96ea3186501ae6579bd2934d37b
2021-09-03 10:15:49 +02:00
Luis Tomas Bolivar
f5ef3c8f31 Initial support for BGP
Change-Id: Ieed45b80e2860c94a42a8d5d16f5dfe7b515bf2c
2021-09-01 11:29:04 +02:00
Lucas Alvares Gomes
224a19994e Initial commit
Signed-off-by: Lucas Alvares Gomes <lucasagomes@gmail.com>
Change-Id: I7de2acf50ab009a3a45b90b977c4c7d801c491b5
2021-08-27 16:56:11 +01:00