[lisp] Capabilities Type LCAF - a proposal

Dino Farinacci <farinacci@gmail.com> Thu, 12 September 2013 18:29 UTC

Return-Path: <farinacci@gmail.com>
X-Original-To: lisp@ietfa.amsl.com
Delivered-To: lisp@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1D3CD11E81B3 for <lisp@ietfa.amsl.com>; Thu, 12 Sep 2013 11:29:31 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.763
X-Spam-Level:
X-Spam-Status: No, score=-1.763 tagged_above=-999 required=5 tests=[AWL=0.836, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id LawYMq4KA6K1 for <lisp@ietfa.amsl.com>; Thu, 12 Sep 2013 11:29:30 -0700 (PDT)
Received: from mail-pa0-x22c.google.com (mail-pa0-x22c.google.com [IPv6:2607:f8b0:400e:c03::22c]) by ietfa.amsl.com (Postfix) with ESMTP id 97C8C21F9D68 for <lisp@ietf.org>; Thu, 12 Sep 2013 11:29:30 -0700 (PDT)
Received: by mail-pa0-f44.google.com with SMTP id fz6so1473135pac.31 for <lisp@ietf.org>; Thu, 12 Sep 2013 11:29:30 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:content-type:content-transfer-encoding:subject:date:message-id :cc:to:mime-version; bh=i6HiqqIfdO3aouuDIyRhFdyPBatvwbkWV359bHum98U=; b=IxJI8SbaiVm9Mvo7XWefMKVejzQgsRWvzR26XjBIqLyfEIMuq5hCnX79c5VPct8Yxi Jb/To/ZXrfpKgpOBc15rll+kBmmol7gDfQh97jEmAM9niuyQ/Vh6CK+jepeSfRfHFPEM eEav66iRDiVBo0uqJ9IkpYAv0cUOfuI9xbnV6ytLGWv4eICSnP2ZYrA/zw91/VLwt2KJ J+KvzUMZMNpsdCo8OCImdCbT8P19qVFYrIU4XUANtGmdeuOjXe+Cni6XP35Ie3WhgRXR hFESTzLH1wI2qyLl2Ots4RZvot7xGeOd+QonmuA5vZqMdGIYMKGJrkUdt/00a5N2iwnJ iRJw==
X-Received: by 10.68.134.133 with SMTP id pk5mr9083646pbb.89.1379010570331; Thu, 12 Sep 2013 11:29:30 -0700 (PDT)
Received: from [192.168.1.10] (173-8-188-29-SFBA.hfc.comcastbusiness.net. [173.8.188.29]) by mx.google.com with ESMTPSA id f2sm6342539pbg.44.1969.12.31.16.00.00 (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Thu, 12 Sep 2013 11:29:29 -0700 (PDT)
From: Dino Farinacci <farinacci@gmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Date: Thu, 12 Sep 2013 11:29:26 -0700
Message-Id: <5FB6E5C2-AF6A-415A-8DE4-5958961A6661@gmail.com>
To: "lisp@ietf.org list" <lisp@ietf.org>
Mime-Version: 1.0 (Mac OS X Mail 6.5 \(1508\))
X-Mailer: Apple Mail (2.1508)
Subject: [lisp] Capabilities Type LCAF - a proposal
X-BeenThere: lisp@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: List for the discussion of the Locator/ID Separation Protocol <lisp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/lisp>, <mailto:lisp-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/lisp>
List-Post: <mailto:lisp@ietf.org>
List-Help: <mailto:lisp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/lisp>, <mailto:lisp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 12 Sep 2013 18:29:31 -0000

So wouldn't be useful if an ITR which sends a Map-Request to the mapping system, could say "I know Mr. ETR that you have registered a bunch of stuff to the mapping system, but can you return just the stuff I care about and more importantly the stuff I support in my implementation?".

So I was thinking (and talking to several others about this), if we could have a Capabilities Type LCAF that is encoded in an address field of the Map-Request. I would like to propose that it get encoded in the ITR-RLOCs field of a Map-Request. This way, each ITR in the ITR-RLOCs list could tell a Map-Replier what they support.

I would propose that the Capabilities Type LCAF be encoded as a bit-string. Where each bit position indicates the LCAF Type value. We would have 2 fields, an EID field and a RLOC field so it can be conveyed which Types are supported for EID encoded fields or RLOC encoded fields in any LISP control message.

It would be required of every implementation to support the Capabilities Type LCAF if nothing else would be supported. That would get the implementations to do the general parsing work so they could skip over LCAFs they don't understand and get to the ones they do understand while conveying what they support.

Also I find that this may be useful for this world of multiple encapsulations. Rather than register UDP port numbers, a decapsulator could convey what encapsulations it supports (i.e. L3-LISP, L2-LISP, VXLAN, NVGRE, IPsec, GRE, whatever-new-thing-nv03-comes-up-with).

The Capabilities Type LCAF could also be used by the mapping system. So when an ETR sends an Info-Request, an Info-Reply from the map-server could tell the registering system what LCAFs it supported. Ditto, for asking map-resolvers what types of EID encodings they could support (maybe the mapping system can support more LCAF encodings then the map-resolvers, so you can choose a different map-resolver if you wanted more).

And arguably, the Capabilities Type LCAF could be put in RLOC-probes. It could go anywhere with the address you wanted to encode as a 2-tuple.

Comments?

If people are interested I can draft up the details for the -03 version. Or if you think we should post the -03 version just with the current changes, I can do that. And also comment if you think we should go with the JSON Data Model Type for -03 or put it into -04 with perhaps this Capabilities LCAF.

Thanks,
Dino