[neutron] IPv6 advertisement support for BGP neutron-dynamic-routing
Hi everyone, This is a doubt regarding existing IPv6 advertisement support for BGP in the current n-d-r repo.
From the documentation, it is mentioned that to enable advertising IPv6 prefixes, create an address scope with ip_version=6 and a BGP speaker with ip_version=6.
We have a use case where v4 and v6 routes must be advertised using a single v4 peer. 1. How can we advertise both v4 and v6 routes using single v4 peer? Do we have to create 2 BGP speakers ( one for v4 and another for v6) Then create a single BGP v4 peer and add the same peer to both the speakers? Is this the correct approach or any other way? 1. Is there any other significance of version field in current BGP speaker model? Thanks, Manu
On Fri, 2021-07-02 at 06:24 +0000, Manu B wrote:
Hi everyone, This is a doubt regarding existing IPv6 advertisement support for BGP in the current n-d-r repo. From the documentation, it is mentioned that to enable advertising IPv6 prefixes, create an address scope with ip_version=6 and a BGP speaker with ip_version=6. We have a use case where v4 and v6 routes must be advertised using a single v4 peer. 1. How can we advertise both v4 and v6 routes using single v4 peer? you cant as far as i am aware. i dont have neutron-dynamic-routing enabled in my home setup anymore but when i did i found you need 2 speakers. Do we have to create 2 BGP speakers ( one for v4 and another for v6) yes although the issue i had with that was that you can only schdule one speaker to given host so on my singel node deployment i could only have one of the two speakser running. Then create a single BGP v4 peer and add the same peer to both the speakers? to get this working i had to assing two different asn to the two differen speaker and create two peering session to my home router. one for the ipv4 speaker and one for the ipv6 speaker.
Is this the correct approach or any other way? i have no idea what the correct approch is but that is why i foudn worked. if i had a second dragent runnign i coudl have had the cloud advertise both in parallel this way its a shame that it can just advertise ipv4 and ipv6 in the same speaker with one peering session.
as i said above i could only have one of the two schdeld to the singe dragent i had running at a time but if i swapped between which one was runing i got either the ipv4 routes or ipv6 routes advertised. the limitation seams to be on the neutron-dynamic-routing side not the bgp protocol in this case.
1. Is there any other significance of version field in current BGP speaker model? Thanks, Manu
On 7/2/21 8:24 AM, Manu B wrote:
Hi everyone,
This is a doubt regarding existing IPv6 advertisement support for BGP in the current n-d-r repo.
From the documentation, it is mentioned that to enable advertising IPv6 prefixes,
create an address scope with ip_version=6 and a BGP speaker with ip_version=6.
We have a use case where v4 and v6 routes must be advertised using a single v4 peer.
1. How can we advertise both v4 and v6 routes using single v4 peer?
Do we have to create 2 BGP speakers ( one for v4 and another for v6)
Then create a single BGP v4 peer and add the same peer to both the speakers?
Is this the correct approach or any other way?
MP-BGP support has been added with https://review.opendev.org/c/openstack/neutron-dynamic-routing/+/608302, I never tested that myself, but from the release note it would seem that you configure only one speaker and one peer and then by setting proper configuration options on the peer it gets announced both v4 and v6 prefixes.
On 7/3/21 9:02 AM, Jens Harbott wrote:
On 7/2/21 8:24 AM, Manu B wrote:
Hi everyone,
This is a doubt regarding existing IPv6 advertisement support for BGP in the current n-d-r repo.
From the documentation, it is mentioned that to enable advertising IPv6 prefixes,
create an address scope with ip_version=6 and a BGP speaker with ip_version=6.
We have a use case where v4 and v6 routes must be advertised using a single v4 peer.
1. How can we advertise both v4 and v6 routes using single v4 peer?
Do we have to create 2 BGP speakers ( one for v4 and another for v6)
Then create a single BGP v4 peer and add the same peer to both the speakers?
Is this the correct approach or any other way?
MP-BGP support has been added with https://review.opendev.org/c/openstack/neutron-dynamic-routing/+/608302, I never tested that myself, but from the release note it would seem that you configure only one speaker and one peer and then by setting proper configuration options on the peer it gets announced both v4 and v6 prefixes.
In our production environment, we found that that when OSKen advertises for IPv6 over an IPv4 session, it crashes after ~7 days. So yeah, that patches kind of works, but it's not stable. Cheers, Thomas Goirand (zigo)
On Sat, 2021-07-03 at 09:02 +0200, Jens Harbott wrote:
On 7/2/21 8:24 AM, Manu B wrote:
Hi everyone,
This is a doubt regarding existing IPv6 advertisement support for BGP in the current n-d-r repo.
From the documentation, it is mentioned that to enable advertising IPv6 prefixes,
create an address scope with ip_version=6 and a BGP speaker with ip_version=6.
We have a use case where v4 and v6 routes must be advertised using a single v4 peer.
1. How can we advertise both v4 and v6 routes using single v4 peer?
Do we have to create 2 BGP speakers ( one for v4 and another for v6)
Then create a single BGP v4 peer and add the same peer to both the speakers?
Is this the correct approach or any other way?
MP-BGP support has been added with https://review.opendev.org/c/openstack/neutron-dynamic-routing/+/608302 , I never tested that myself, but from the release note it would seem that you configure only one speaker and one peer and then by setting proper configuration options on the peer it gets announced both v4 and v6 prefixes. you can advertiese ipv6 over ipv4 yes that is what i was doing but you still need to agents since you assocate the speaker instance with an allocation pool/subnet pools which containers only one version of ip adresses as a result i dont thing you can have a singel speaker advertise both ipv4 and ipv6 but either address space can be advertised over a ipv4 perring session.
participants (4)
-
Jens Harbott
-
Manu B
-
Sean Mooney
-
Thomas Goirand