Network Working Group                                           D. Lewis
Internet-Draft                                                L. Kreeger
Intended status: Informational                                  F. Maino
Expires: February 28, 2014                                      P. Quinn
                                                     Cisco Systems, Inc.
                                                                M. Smith
                                                                N. Yadav
                                                        Insieme Networks
                                                         August 27, 2013


                    LISP Generic Protocol Extension
                      draft-lewis-lisp-gpe-00.txt

Abstract

   This draft describes a mechanism for adding generalized multi-
   protocol support to the Locator/ID Separation Protocol (LISP)
   [RFC6830].  Protocol identification is carried in the LISP header and
   is used to describe the encapsulated payload.

Status of this Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on February 28, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect



Lewis, et al.           Expires February 28, 2014               [Page 1]


Internet-Draft       LISP Generic Protocol Extension         August 2013


   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2.  LISP Header  . . . . . . . . . . . . . . . . . . . . . . . . .  4
   3.  Generic Protocol Extension for LISP (LISP-gpe) . . . . . . . .  5
     3.1.  LISP-gpe Header  . . . . . . . . . . . . . . . . . . . . .  5
   4.  Backward Compatibility . . . . . . . . . . . . . . . . . . . .  6
     4.1.  LISP-gpe Routers to (legacy) LISP Routers  . . . . . . . .  6
     4.2.  (legacy) LISP Routers to LISP-gpe Routers  . . . . . . . .  6
     4.3.  Type of Service  . . . . . . . . . . . . . . . . . . . . .  6
     4.4.  VLAN Identifier (VID)  . . . . . . . . . . . . . . . . . .  6
   5.  LISP-gpe Examples  . . . . . . . . . . . . . . . . . . . . . .  7
   6.  Security Considerations  . . . . . . . . . . . . . . . . . . .  9
   7.  Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 10
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 11
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 12
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 12
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 12
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 13


























Lewis, et al.           Expires February 28, 2014               [Page 2]


Internet-Draft       LISP Generic Protocol Extension         August 2013


1.  Introduction

   LISP [RFC6830] defines an encapsulation format that carries IPv4 or
   IPv6 (henceforth referred to as IP) packets in a LISP header and
   outer UDP/IP transport.  The LISP header does not specify the
   protocol being encapsulated and therefore is currently limited to
   encapsulating only IP packet payloads.  Other protocols, most notably
   VXLAN [VXLAN] (which defines a similar header format to LISP), are
   used to encapsulate L2 protocols such as Ethernet.  LISP [RFC6830]
   can be extended to indicate the inner protocol, enabling the
   encapsulation of Ethernet, IP or any other desired protocol all the
   while ensuring compatibility with existing LISP [RFC6830]
   deployments.

   This document describes extending LISP ([RFC6830]) to support
   additional payload types beyond IP packets.  To support this
   capability, two elements of the existing LISP header are modified.

   1.  A flag bit is allocated, and set in the LISP header.

   2.  A 16 bit Protocol Type field is present in the LISP header.

   These changes allow for the LISP header to support many different
   types of payloads.  Backward compatibility with existing LISP tunnel
   routers is discussed in section 4.


























Lewis, et al.           Expires February 28, 2014               [Page 3]


Internet-Draft       LISP Generic Protocol Extension         August 2013


2.  LISP Header

   As described in the introduction, the LISP header has no protocol
   identifier that indicates the type of payload being carried by LISP.
   Because of this, LISP is limited to an IP payload.

   The LISP header contains flags (some defined, some reserved), a
   Nonce/Map-version field and an instance ID/Locator-status-bit field.
   The flags provide flexibility to define how the reserved bits can be
   used to change the definition of the LISP header.


   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |N|L|E|V|I|flags|            Nonce/Map-Version                  |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Instance ID/Locator-Status-Bits               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


                           Figure 1: LISP Header































Lewis, et al.           Expires February 28, 2014               [Page 4]


Internet-Draft       LISP Generic Protocol Extension         August 2013


3.  Generic Protocol Extension for LISP (LISP-gpe)

3.1.  LISP-gpe Header

   This draft defines two changes to the LISP header in order to support
   multi-protocol encapsulation.

   P Bit:  Flag bit 5 is defined as the P bit.  The P bit MUST be set to
      1 to indicate the presence of the 16 bit protocol type field in
      the lower 16 bits of the first word.

      P = 0 indicates that the payload MUST conform to LISP as defined
      in [RFC6830].

      Flag bit 5 was chosen as the P bit because this flag bit is
      currently unallocated in LISP [RFC6830].

   Protocol Type Field:  The lower 16 bits of the first word are used to
      carry a protocol type.  This protocol type field contains the
      protocol, as defined in in [RFC1700] and in [ETYPES], of the
      encapsulated payload packet.

      LISP [RFC6830] uses the lower 16 bits of the first word for either
      a nonce, an echo-nonce ([RFC6830]) or to support map-versioning
      ([RFC6834]).  These are all optional capabilities that are
      indicated by setting the N, E, and the V bit respectively.

      To maintain the desired data plane compatibility, when the P bit
      is set, the N, E, and V bits MUST be set to zero.




    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |       Source Port = xxxx      |       Dest Port = 4341        |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |           UDP Length          |        UDP Checksum           |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |N|L|E|V|I|P|R|R| Reserved      |Nonce/Map-Version/Protocol-Type|
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Instance ID/Locator-Status-Bits               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                         Figure 2: UDP + LISP-gpe



Lewis, et al.           Expires February 28, 2014               [Page 5]


Internet-Draft       LISP Generic Protocol Extension         August 2013


4.  Backward Compatibility

   An undefined (in RFC6830) flag bit, 5, was selected to ensure
   compatibility with existing LISP [RFC6830] deployments.

   Similarly, using P = 0 to indicate that the format of the header and
   payload conforms to [RFC6830] ensures compatibility with existing
   LISP hardware forwarding platforms.

4.1.  LISP-gpe Routers to (legacy) LISP Routers

   A LISP-gpe router MUST not encapsulate non-IP packets to a LISP
   router.  A method for determining the capabilities of a LISP router
   (gpe or "legacy") is out of the scope of this draft.

   When encapsulating IP packets to a LISP router the P bit SHOULD be
   set to 1 and the UDP port MUST be set to 4341.  The Protocol Type
   field SHOULD be 0x800 or 0x86DD.  The (legacy) LISP router will
   ignore the P bit and the protocol type field.  The (legacy) LISP
   router will treat the packet as a LISP packet and inspect the first
   nibble of the payload to determine the IP version.

   When the P bit is set, the N, E, and V bits MUST be set to zero.  The
   receiving (legacy) LISP router will ignore N, E and V bits, when the
   P bit is set.

4.2.  (legacy) LISP Routers to LISP-gpe Routers

   When a LISP-gpe router receives a packet from a (legacy) LISP router,
   the P bit MUST not be set and the UDP port MUST be 4341.  The payload
   MUST be IP, and the LISP-gpe router will inspect the first nibble of
   the payload to determine IP version.

4.3.  Type of Service

   When a LISP-gpe router performs Ethernet encapsulation, the inner
   802.1Q [IEEE8021Q] priority code point (PCP) field MAY be mapped from
   the encapsulated frame to the Type of Service field in the outer IPv4
   header, or in the case of IPv6 the 'Traffic Class' field.

4.4.  VLAN Identifier (VID)

   When a LISP-gpe router performs Ethernet encapsulation, the inner
   header 802.1Q [IEEE8021Q] VLAN Identifier (VID) MAY be mapped to, or
   used to determine the LISP Instance ID field.






Lewis, et al.           Expires February 28, 2014               [Page 6]


Internet-Draft       LISP Generic Protocol Extension         August 2013


5.  LISP-gpe Examples

   This section provides two examples of IP protocols, and one example
   of Ethernet encapsulated LISP-gpe using the generic extension
   described in this document.



    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |N|L|E|V|I|1|R|R| Reserved      |         0x800                 |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Instance ID/Locator-Status-Bits               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Original IPv4 Packet                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                        Figure 3: IPv4 and LISP-gpe




    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |N|L|E|V|I|1|R|R| Reserved      |         0x86DD                |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Instance ID/Locator-Status-Bits               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Original IPv6 Packet                            |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                        Figure 4: IPv6 and LISP-gpe













Lewis, et al.           Expires February 28, 2014               [Page 7]


Internet-Draft       LISP Generic Protocol Extension         August 2013


    0                   1                   2                   3
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |N|L|E|V|I|1|R|R| Reserved      |            0x6558             |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |                 Instance ID/Locator-Status-Bits               |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |               Original Ethernet Frame                         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+



                      Figure 5: Ethernet and LISP-gpe






































Lewis, et al.           Expires February 28, 2014               [Page 8]


Internet-Draft       LISP Generic Protocol Extension         August 2013


6.  Security Considerations

   LISP-gpe security considerations are similar to the LISP security
   considerations documented at length in LISP [RFC6830].  With LISP-
   gpe, issues such as dataplane spoofing, flooding, and traffic
   redirection are dependent on the particular protocol payload
   encapsulated.












































Lewis, et al.           Expires February 28, 2014               [Page 9]


Internet-Draft       LISP Generic Protocol Extension         August 2013


7.  Acknowledgments

   A special thank you goes to Dino Farinacci for his guidance and
   detailed review.















































Lewis, et al.           Expires February 28, 2014              [Page 10]


Internet-Draft       LISP Generic Protocol Extension         August 2013


8.  IANA Considerations

   This document creates no new requirements on IANA namespaces
   [RFC5226].















































Lewis, et al.           Expires February 28, 2014              [Page 11]


Internet-Draft       LISP Generic Protocol Extension         August 2013


9.  References

9.1.  Normative References

   [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
              August 1980.

   [RFC0791]  Postel, J., "Internet Protocol", STD 5, RFC 791,
              September 1981.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC5226]  Narten, T. and H. Alvestrand, "Guidelines for Writing an
              IANA Considerations Section in RFCs", BCP 26, RFC 5226,
              May 2008.

9.2.  Informative References

   [ETYPES]   The IEEE Registration Authority, "IEEE 802 Numbers", 2012,
              <http://www.iana.org/assignments/ieee-802-numbers/
              ieee-802-numbers.xml>.

   [IEEE8021Q]
              The IEEE Computer Society, "Media Access Control (MAC)
              Bridges and Virtual Bridge Local Area Networks", August
              2012, <http://standards.ieee.org/getieee802/download/
              802.1Q-2011.pdf>.

   [RFC1700]  Reynolds, J. and J. Postel, "Assigned Numbers", RFC 1700,
              October 1994.

   [RFC6830]  Farinacci, D., Fuller, V., Meyer, D., and D. Lewis, "The
              Locator/ID Separation Protocol (LISP)", RFC 6830,
              January 2013.

   [RFC6834]  Iannone, L., Saucez, D., and O. Bonaventure, "Locator/ID
              Separation Protocol (LISP) Map-Versioning", RFC 6834,
              January 2013.

   [VXLAN]    Dutt, D., Mahalingam, M., Duda, K., Agarwal, P., Kreeger,
              L., Sridhar, T., Bursell, M., and C. Wright, "VXLAN: A
              Framework for Overlaying Virtualized Layer 2 Networks over
              Layer 3 Networks", 2013.







Lewis, et al.           Expires February 28, 2014              [Page 12]


Internet-Draft       LISP Generic Protocol Extension         August 2013


Authors' Addresses

   Darrel Lewis
   Cisco Systems, Inc.

   Email: darlewis@cisco.com


   Larry Kreeger
   Cisco Systems, Inc.

   Email: kreeger@cisco.com


   Fabio Maino
   Cisco Systems, Inc.

   Email: kreeger@cisco.com


   Paul Quinn
   Cisco Systems, Inc.

   Email: paulq@cisco.com


   Michael Smith
   Insieme Networks

   Email: michsmit@insiemenetworks.com


   Navindra Yadav
   Insieme Networks

   Email: nyadav@insiemenetworks.com















Lewis, et al.           Expires February 28, 2014              [Page 13]