Tunnel accross different backends

Bug #1486882 reported by Dong Liu
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Won't Fix

Bug Description

For agent-based tunnel backends like ovs/linux bridge, VMs sending traffic on VXLAN networks have to derive a lot of information (agent IP address where VM is and VXLAN port that agent will be listening on), now l2pop driver gets these information from
'port -> binding:host -> agent -> agent configurations -> tunneling_ip', it mandate all agents setting the same VXLAN port in config file, while it's impossible for each host to set its own endpoint attribute like listening udp port.

Another problem is how to make mutiple tunnel backends co-working, suppose we have a hybrid networking infrastructure: some vtep is based on Openvswitch, some on Tor switch of Vendor A, and some on Tor switch of Vendor B. While mechanism driver of A does know vtep information of all virtual ports connected to Tor switchs of A by its own way, it has no way to learn vtep information of virtual ports connected to Tor switchs of B, and vice versa. Also for l2pop MD for OVS, it knows nothing about vtep information of ports connected to TOR switch of both A & B. So the tunnel is broken into three isolated islands.

Based on above use cases, I think we need a shared, standard data model to store vtep information across different backends. Each backend save vtep into this store, and fetch vtep information of other backends, thus the cross-backend population is possible.

Tags: rfe
Dong Liu (liudong78)
Changed in neutron:
assignee: nobody → Dong Liu (liudong78)
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Related fix proposed to neutron-specs (master)

Related fix proposed to branch: master
Review: https://review.openstack.org/215409

Changed in neutron:
status: New → Confirmed
Dong Liu (liudong78)
description: updated
Changed in neutron:
importance: Undecided → Wishlist
description: updated
Revision history for this message
Armando Migliaccio (armando-migliaccio) wrote : Re: ml2 port cross backends extension

I read the spec and the use case description, and unless I miss something I don't think that extending the port resource with a tunnelling information is a viable solution. Ultimately a tunnel IP is a property of a compute host or a subset of them. Each backend can choose how to expose it to allow the wiring, and for that we don't need to spill implementation details all the way to the API.

Please feel free to elaborate your use case further; until then, this is provisionally rejected.

Changed in neutron:
status: Confirmed → Won't Fix
Revision history for this message
shihanzhang (shihanzhang) wrote :

Thanks for your feedback, Armando. The title seems a little misleading, "Tunnel
accross different backends" is the more accurate description, I'll revise it later.

Absolutely agentless or external systems tunnelling information may be provided
in their different ways, however if we want them to coexist, a shared standard
data model and access method needs to be established, I will update the use case
description as soon as possible.

summary: - ml2 port cross backends extension
+ Tunnel accross different backends
description: updated
description: updated
Revision history for this message
OpenStack Infra (hudson-openstack) wrote : Change abandoned on neutron-specs (master)

Change abandoned by Doug Wiegley (<email address hidden>) on branch: master
Review: https://review.openstack.org/215409
Reason: This review is > 4 weeks without comment and currently blocked by a core reviewer with a -2. We are abandoning this for now. Feel free to reactivate the review by pressing the restore button and contacting the reviewer with the -2 on this review to ensure you address their concerns.

Changed in neutron:
assignee: Dong Liu (liudong78) → nobody
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers