netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Lori Jakab <lojakab@cisco.com>
To: David Miller <davem@davemloft.net>, chris@logicalelegance.com
Cc: netdev@vger.kernel.org, vermagan@cisco.com
Subject: Re: [PATCH V6 net-next] LISP: Locator/Identifier Separation Protocol
Date: Fri, 27 Jun 2014 09:19:50 +0300	[thread overview]
Message-ID: <53AD0D06.6070109@cisco.com> (raw)
In-Reply-To: <20140623.150206.1941399398042390524.davem@davemloft.net>

Hi David,

Thanks for reviewing.

Replying inline below on the general points, since I was coordinating 
with Chris on this work. I added LISP support to the Open vSwitch 
out-of-tree kernel module, which we would like to upstream when 
Jesse/Pravin think it's ready.

On 6/24/14, 1:02 AM, David Miller wrote:
> From: Christopher White <chris@logicalelegance.com>
> Date: Fri, 20 Jun 2014 08:26:12 -0700
>
>> This is a static tunnel implementation of LISP as described in RFC 6830:
>>    http://tools.ietf.org/html/rfc6830
>>
>> This driver provides point-to-point LISP dataplane
>> encapsulation/decapsulation for statically configured endpoints. It provides
>> support for IPv4 in IPv4 and IPv6 in IPv4. IPv6 outer headers are not
>> supported yet. Instance ID is supported on a per device basis.
>>
>> This implementation has been tested against LISPMob.
>>
>> Changes from V2: Move some functions to common headers. Remove unecessary skb
>> ownership change. Minor cleanup.
>> Changes from V3: Revert some generic function consolidation for later patches.
>> Changes from V4: Indentation (Note V4 was erroneously marked V3)
>> Changes from V5: Remove extraneous export
>>
>> Signed-off-by: Chris White <chris@logicalelegance.com>
> I'm not so sure if this is how we should start supporting LISP at this
> time.
>
> The whole point is to be able to dynamically map EIDs to RLOCs on demand,
> and this static tunnel neither provides that functionality, nor provides
> generic enough infrastructure to add such a facility easily.

We started this work after LISP was accepted into the out-of-tree Open 
vSwitch (OVS) kernel module, because all tunneling protocols were moved 
out to standalone kernel implementations, and OVS was just hooking into 
those. That’s why we only implemented static tunneling (for now), 
because we only need the encapsulation to be done in the kernel module. 
The dynamic part is intended to be provided by OVS, by means of flow rules.

>
> Furthermore, LISP fundamentally seems quite DOS'able.  What is to keep one
> from having to service a full Map-Request --> Map-Reply cycle for every
> packet received?  Just keep spamming packet after packet through the ITR,
> specifying a unique and different EID in the destination address each time.

Map-Requests can and should be rate limited. Also, if there is no 
mapping for a packet in the map-cache (while we're waiting for a reply), 
it is sent to a Proxy-ETR, a dedicated LISP infrastructure box part of 
the LISP architecture, and gets delivered to the destination.

>
> That's exactly the same kind of problem we had internally with the
> ipv4 routing cache and that's why we totally removed it.

If I understand correctly, the route cache was a hash table with 
multiple keys. We intend to have a trie based look-up table for LISP. 
Additionally, IPv4 routing was and still is a required component for 
every networked host, while LISP will be an optional feature.

Beucause of this, and the reasons in the previous paragraph the 
potential impact of the DoS is quite low IMHO.
>
> Also I wonder if whatever a "properly functioning" (whatever that
> means, given the DOS'ability of it in dynamic configurations) LISP gives
> us is worth the MTU we lose with the encapsulation.

The MTU issue is not unique to LISP. If you want, I can get into details 
of what a “properly functioning” LISP can provide (granted, on the 
control plane side) that other tunneling protocols don’t in a follow-up 
email.

>
> Sorry, I'm not too thrilled about LISP and this patch in particular,
> from several different angles.  And therefore I'm going to mark this
> patch deferred and not apply it at this time.

Let us know what we should improve, and we’ll work on it.

-Lori

  reply	other threads:[~2014-06-27  6:29 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-06-20 15:26 [PATCH V6 net-next] LISP: Locator/Identifier Separation Protocol Christopher White
2014-06-23 22:02 ` David Miller
2014-06-27  6:19   ` Lori Jakab [this message]
2014-06-27  7:13     ` David Miller
2014-06-27  7:31       ` Lori Jakab
2014-06-27 19:28         ` David Miller

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=53AD0D06.6070109@cisco.com \
    --to=lojakab@cisco.com \
    --cc=chris@logicalelegance.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=vermagan@cisco.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).