[RFE] [ipv6] Advertise tenant prefixes from router to outside

Bug #1530331 reported by Atsuko Ito
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
neutron
Expired
Wishlist
Unassigned

Bug Description

For now, when end user is creating IPv6-enabled tenant network and attaching it to the virtual router, there are two ways to set up external infrastructure to put traffic back to the router. One is using DHCPv6 PD[1]. BGP is a new option available in Mitaka. Both require configuration of extra external systems (PD server, BGP routers).

In IPv6 Router Advertisements we have an option called Route Information Option[2] to advertise more specific routes from gateway. We could easily append a section like next one to advertise tenant prefix 2001:db8:1::/64 to public network. And if provider network router outside OpenStack will be configured to accept these. This might be considered a lighter weight alternative to PD and BGP for announcing tenant networks. Neighboring routers just need to accept and honor the announcement. Externally accessible addresses would still need to be routed to any border routers manually.

interface qg- {
       AdvDefaultLifetime 0;
       route 2001:db8:1::/64 {
       };
};

Cisco accepts it by default AFAIK, linux needs a sysctl net.ipv6.conf.*.accept_ra_rt_info_max_plen set to 64.

Moreover, enabling receiving prefixes in router namespaces allows routers communicate by themselves.

For preventing user from advertising subnets that makes no sense for outside infrastructure, Address Scopes[3] mechanism should be used:

1. Administrator creates an address scope and associate an IPv6 subnet pool with it.
2. Administrator creates Public shared network’s subnet from this subnet pool.
3. Tenant user creates tenant network from this subnet pool and connect it to Public shared network with router
4. OpenStack advertises prefix to the external interface of the router.

[1]: http://specs.openstack.org/openstack/neutron-specs/specs/kilo/ipv6-prefix-delegation.html
[2]: https://tools.ietf.org/html/rfc4191
[3]: https://blueprints.launchpad.net/neutron/+spec/address-scopes

Atsuko Ito (yottatsa)
summary: - Advertise tenant prefixes from router to outside
+ [RFE] [ipv6] Advertise tenant prefixes from router to outside
Henry Gessau (gessau)
Changed in neutron:
status: New → Confirmed
importance: Undecided → Wishlist
tags: added: ipv6
Revision history for this message
Sean M. Collins (scollins) wrote : Re: [Bug 1530331] [NEW] [RFE] [ipv6] Advertise tenant prefixes from router to outside

I have some concerns about this RFE - mostly around the fact that we
should fix the linked bug so we can continue to use prefix
delegation.

I may not be reading the RFC correctly, but the topologies they
describe, where a host has multiple routers for multiple prefixes
and we wish to specify more specific routes, does not quite match what
at least this bug discusses, when we are talking about having routers
"communicate by themselves" - so we may need to flesh out exactly
what you are proposing, and what use case this is for.
--
Sean M. Collins

Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

I think concerns about this RFE should be separate from the bug referenced [1]. I totally agree that we should fix PD but that doesn't translate in to a concern about this RFE to me. We should probably remove the reference to the bug from the description here. Having a feature that is broken isn't really a justification for a new feature. This should be considered on its own as an alternative to PD regardless of whether PD works.

I agree with Sean that the idea should be fleshed out and we need to understand the RFC. I need to read it in detail myself.

In principle, I could support putting some effort in to this because it looks like it could be a very easy implementation and could fit well in to some deployments. But, I want to caveat that by saying that I'd like to hear from some people who are actually using this RFC in their networks.

[1] https://bugs.launchpad.net/neutron/+bug/1505316

Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

Just an observation. The text "RA-RIO" nor "RIO" cannot be found in the rfc document at all. I searched for "route information" in the document to find the relevant option.

Revision history for this message
Atsuko Ito (yottatsa) wrote :

Looks like "RIO" was a short-hand abbreviation from my previous job in Yandex. I'll stop using this to be less confusing.

description: updated
tags: added: l3-ipam-dhcp
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

Let's discuss it during next meeting to see if wan get an agreement on this one.

Changed in neutron:
status: Confirmed → Triaged
Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

How would an admin turn this on? Would we turn it on router by router? Or, turn it on for the external network? I think I'd prefer the latter. So, the admin would set something on the external network saying RA Route Information Option packets should be sent on this network. Fromm there, it is just a matter of telling the L3 agents with routers connected to the network where it can turn it on in the router namespaces, I think. It doesn't seem very complicated.

description: updated
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

More input and and brainstorming needed.

Revision history for this message
Atsuko Ito (yottatsa) wrote :

@carl-baldwin: I agree with you that the advertisement of qr- prefixes to qg- iface should be option for the external networks.

description: updated
Revision history for this message
Carl Baldwin (carl-baldwin) wrote :

So, we'd set something on an external network to say that routers should advertise. And then the routers have to see that and emit router advertisements for the internal networks.

I haven't heard of much demand for this. How can we gauge that?

Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote :

Status update:

http://eavesdrop.openstack.org/meetings/neutron_drivers/2016/neutron_drivers.2016-05-12-22.01.log.html#l-30

It's probably safer to wait for wider adoption of IPv6 in Neutron deployments.

Changed in neutron:
status: Triaged → Incomplete
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for neutron because there has been no activity for 60 days.]

Changed in neutron:
status: Incomplete → Expired
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.