[ovs-dev] [PATCH 0/2] Add support for LISP into Open vSwitch

Kyle Mestery (kmestery) kmestery at cisco.com
Tue Jan 29 23:27:02 UTC 2013

On Jan 29, 2013, at 5:19 PM, Jesse Gross <jesse at nicira.com> wrote:
> On Fri, Jan 25, 2013 at 2:13 PM, Kyle Mestery (kmestery)
> <kmestery at cisco.com> wrote:
>> On Jan 23, 2013, at 12:02 PM, Jesse Gross <jesse at nicira.com> wrote:
>>> On Tue, Jan 22, 2013 at 10:36 AM, Kyle Mestery <kmestery at cisco.com> wrote:
>>>> The following two patches provide support for the LISP tunneling protocol into
>>>> Open vSwitch. See the latest IETF draft for LISP here:
>>>> http://tools.ietf.org/html/draft-ietf-lisp-24
>>>> Kyle Mestery (1):
>>>> Add support to the tunneling code for a "pre_tunnel" function.
>>>>   This allows the tunneling code to perform operations on the
>>>>   packet before the outer IP header is added.
>>>> Lorand Jakab (1):
>>>> Add support for LISP tunneling
>>> Hi Kyle,
>>> I'm curious if you can share your long term plan for LISP.  In
>>> particular there are three areas that I was wondering about:
>>> * L3 support.  Obviously OVS is very Ethernet centric at this point,
>>> resulting in the need to play games with MAC addresses.
>>> * Additional LISP data plane support.  LISP encodes more control
>>> information in the protocol itself compared to the existing OVS tunnel
>>> implementations, which basically only have the tunnel ID.  It looks
>>> like this implementation generates nonces on transmit but otherwise
>>> doesn't try to handle the other pieces.
>>> * LISP control plane components.
>>> What do you guys see as the ideal end result?
>> Hi Jesse:
>> We see the following as the plan for LISP in OVS. I'd be interested to hear
>> feedback on this.
>> Short term:
>>        Make use of the vport-lisp.c which Lori has worked on.
>> Medium to long term:
>>        The control plane comes into play here. We see 2 options:
>>                1. No map server, everything done with static flows.
>>                2. A lightweight control plane for mappings lookup. This would allow
>>                     vswitchd to query a map server (open source or commercial) using
>>                     the LISP protocol (RFC 6830).
>>        Make OVS less ethernet specific. This work could be done in parallel to the
>>        above. I have not scoped this work out yet.
>> Our high level proposal of how to get this done:
>> 1. Fix comments in Lori's existing patch with the hope of getting it into OVS. This
>>     does static flow programming and uses static MAC addresses.
>> 2. Update this to work with the NULL port support coming into the tunneling code.
>> 3. Add the control plane work:
>>        1. Provisioning via an external controller and a light weight EID-to-RLOC
>>             mapping lookup in vswitchd.
>>        2. Hooks to allow for integration with an external map server.
>> 4. In parallel, work on making OVS less ethernet specific.
>> Thoughts?
> This sounds like a reasonable plan to me.  Does it make sense to mark
> this as experimental or otherwise subject to change?  It seems likely
> that there will be user visible changes as new pieces are added (for
> example, the changes to make it less Ethernet specific will affect the
> flows) and we don't really want to have to maintain backwards
> compatibility in that regard.
I think that seems fair. We can try our best to make things backwards
compatible as we're doing the work, but the experimental nature will
allow for some leeway if it's needed.

> The other area that I'm somewhat concerned about is with upstreaming.
> Once we get OVS for GRE and VXLAN upstream (which Pravin is working on
> now), the delta between the out of tree module and in tree module will
> be very small.  I'd like to keep on decreasing the differences but we
> may want to wait a little while for LISP until we get down further
> down your plan.

Is the goal to eventually not require the out of tree module? If that's the
case, then perhaps we need to look at adding LISP support upstream into
Linux in parallel to the plan above.

More information about the dev mailing list