An API to allow for a Quantum port to connect to multiple networks
There is currently no way for a Quantum port to connect to multiple Quantum networks. Depending on the networking technology, this may be advantageous. For example, if the Quantum network is backed by VLANs, allowing a port to connect to multiple networks is akin to setting up the port as a "trunk" port.
A likely place to start with this is as an API extension, which we will do first.
Blueprint information
- Status:
- Complete
- Approver:
- Kyle Mestery
- Priority:
- Undefined
- Drafter:
- Kyle Mestery
- Direction:
- Needs approval
- Assignee:
- None
- Definition:
- Obsolete
- Series goal:
- None
- Implementation:
- Unknown
- Milestone target:
- None
- Started by
- Completed by
- Armando Migliaccio
Related branches
Related bugs
Sprints
Whiteboard
One possible use case can be a firewall service VM needs to connect to multiple networks and wants to use vlan to save limited VNIC(physical interface) resources
Can you elaborate how the guest VM sees packets from such neutron ports?
I'm not sure how VM sees/distinguishes packets from such ports.
mestery: The VM will see packets with VLAN tags on them for these ports. The underlying vSwitch will be expected to pass tagged packets into the VM. Think of it as if the VM is connected to a trunk port on a ToR switch.
Copied from the discussion at https:/
-->-->-->---> starts here
isaku yamahata
VLAN trunking
With VLAN trunking, what kind of patcket will the service VM see?
i.e. the service VM sees VLAN tagged packets and needs to understand which VLAN id correcponds to which service/tenants?
Yi Sun
I think the VM should see the vlan traffic. For example,there are many firewalls can support trunk port. Internally, the firewall can map the vlan into different logical interfaces
11:00 AM Today
bob.melander
In an implementation we've made at Cisco the service VM will get VLAN tagged packets. Then inside the VM a logical sub interface is created for each such VLAN. The logical sub interface is what the Neutron ports for the service instance is bound to.
4:52 PM Today
bob.melander
Here is a link to a blueprint for VLAN trunking.
https:/
4:53 PM Today
isaku yamahata
Hi Bob.
Can you please clarify it more on 'inside the VM" and "sub interface"?
Probably this discussion should be continued in the VLAN blueprint, though.
Currently neutron ports correspond to vif connected to VM. Agent or nova vif driver(or libvirtd) creates those ports.
Since "sub interface" lives in the service VM according to your description, in order to create "sub inerface", neutron (via agent) needs to talk to the service VM somehow.(probably via management interface)
Right?
5:43 PM Today
bob.melander
Exactly, in our implementation we let Nova create the VM with VIFs on Neutron Ports we (well, the plugin) first creates. Then (on a router-
6:15 PM Today
bob.melander
I agree, the details of this is probably more suited for the bundle blueprint. But the mechanism is very useful for service VMs.
6:16 PM Today
isaku yamahata
Thanks for clarification. Now I'm seeing what VLAN trunking in this context means.
6:36 PM Today (edited 6:39 PM Today)
--<--<--<--< ends here
So this makes sense then? And I think, as Bob indicates, this makes more sense to implement inside this blueprint as I see the VLAN trunk port portion of the service VM framework discussions as separate and useful outside of that scope.
Yes, makes sense and I agreed.
So the point would be to define abstract model of communication channel between neutron and
the VM. it would be called management interface or something.
Yamahata
@Yamahata
By "management interface" are you talking about the logic vlan port/trunk interface or the BP implementation?
@Kely, agree with you
Yi
Yi, Here is my brain dump. I hope the slide helps
https:/
Kyle, can you please check it?
Yamahata
FYI-- here is another BP, even there are no much of detail, from title, it maybe something similar
https:/
This BP describes about only VLAN. How about other protocol? for example VXLAN, GRE.
Furthermore it can be extended. mix of VLAN and untagged VXLAN.
Yamahata