Hi Christian, I suggest to open a launchpad bug for this, perhaps even mark it as an RFE (Request for Enhancement, kind of lightweight blueprint for Neutron). The Neutron drivers team discuss these topics on Fridays 1400 UTC if there's open agenda (open RFEs :-)) If I understand well the technical bottleneck here is os-ken, am I right? Best wishes Lajos Katona (lajoskatona) Christian Rohmann <christian.rohmann@inovex.de> ezt írta (időpont: 2024. ápr. 25., Cs, 13:22):
Hello OpenStack-Discuss,
when setting up Neutron Dynamic Routing [1] to advertise IPV4 floating IPs and also IPv6 tenant networks I ran into some questions / issues. I was just about to ask about them here on the ML, when I found the older thread [2] discussing the advertising of IPv6 routes (e.g. from tenant networks). There Sean mentioned [4] that even with MP-BGP support [3] it's required to have two BGP speakers. While [3] means IPv4 or IPv6 can be used to establish the BGP session itself to then advertise routes for either address family, it's not possible to advertise IPv4 AND IPv6 routes via the same session.
To cut to the chase of this threat ....
It's not uncommon to simply use individual (non Multi-Protocol) BGP sessions to exchange routes for IPv4 and IPv6 individually and to me this poses no issue to me. The problem with Neutron is though, that the os_ken dragent driver only supports one BGP speaker [5] per agent. This leads to only one of the BGP speakers (IPv4 or IPv6) running per individual (control plane, networking) host.
Or am I not seeing something or am misreading the capabilities of the components involved? If not, I see two options for improvement here:
1) Enabling a BGP speaker to have more than one address family (dragent driver already has MP-BGP support via [3]), so the query fetching the routes [6] simply returns them both.
2) Somehow get more than one BGP speaker per dragent working by ... a) ... extending the driver to host more than one BGP speaker b) ... extending dragent to have more than one driver instance
Would love to hear how others have set up their dynamic routing and what your ideas are! Regards
Christian
[1] https://github.com/openstack/neutron-dynamic-routing [2]
https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.... [3] https://review.opendev.org/c/openstack/neutron-dynamic-routing/+/608302 [4]
https://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.... [5]
https://github.com/openstack/neutron-dynamic-routing/blob/ffaaf5a25d846feadc... [6]
https://github.com/openstack/neutron-dynamic-routing/blob/ffaaf5a25d846feadc...