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
next prev parent 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).