Internet DRAFT - draft-lemon-vxlan-lisp-gpe-gbp
draft-lemon-vxlan-lisp-gpe-gbp
Internet Engineering Task Force J. Lemon, Ed.
Internet-Draft Broadcom
Intended status: Informational F. Maino
Expires: November 1, 2019 M. Smith
Cisco
A. Isaac
Juniper
April 30, 2019
Group Policy Encoding with VXLAN-GPE and LISP-GPE
draft-lemon-vxlan-lisp-gpe-gbp-02
Abstract
This document defines shim headers for the Generic Protocol Extension
for Virtual eXtensible Local Area Network (VXLAN-GPE) and for the
Locator/ID Separation Protocol (LISP) Generic Protocol Extension
(LISP-GPE) that are used to carry a Group Policy Identifier for the
purposes of policy enforcement.
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 https://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 November 1, 2019.
Copyright Notice
Copyright (c) 2019 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
(https://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
Lemon, et al. Expires November 1, 2019 [Page 1]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
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 . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1. Conventions . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Abbreviations used in this document . . . . . . . . . . . 3
2. Treatment By Intermediate Nodes . . . . . . . . . . . . . . . 3
3. Group Based Policy shim header . . . . . . . . . . . . . . . 3
3.1. Common GBP shim header Format . . . . . . . . . . . . . . 3
4. Use Of Multiple GBP shim headers . . . . . . . . . . . . . . 7
5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7
5.1. VXLAN-GPE Next Protocol Value . . . . . . . . . . . . . . 7
5.2. LISP-GPE Next Protocol Value . . . . . . . . . . . . . . 7
5.3. GBP Type Values . . . . . . . . . . . . . . . . . . . . . 8
6. Security Considerations . . . . . . . . . . . . . . . . . . . 8
7. Normative References . . . . . . . . . . . . . . . . . . . . 8
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 9
1. Introduction
This document defines the group-based policy (GBP) shim header for
VXLAN-GPE [I-D.ietf-nvo3-vxlan-gpe] and the GBP shim header for LISP-
GPE [I-D.ietf-lisp-gpe]. The GBP shim header carries a group policy
ID that is semantically equivalent to the group policy ID defined in
[I-D.smith-vxlan-group-policy].
Group-based policy provides a more scalable alternative to access
control lists (ACLs) by allowing separation of source marking and
destination enforcement. This allows a decrease in the amount of
information needed at each entry node, rather than a cross product of
every possible source and every possible destination. It also allows
assigning source marking based many different possibilities, not just
the source address. It also allows not having to know where the
packet will end up since whatever the destination is can enforce the
policy specific to the destination service.
1.1. Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
Lemon, et al. Expires November 1, 2019 [Page 2]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
1.2. Abbreviations used in this document
GBP: Group-Based Policy
LISP-GPE: Locator/ID Separation Protocol Generic Protocol Extension
[I-D.ietf-lisp-gpe]
VXLAN-GPE: Virtual eXtensible Local Area Network, Generic Protocol
Extension [I-D.ietf-nvo3-vxlan-gpe]
2. Treatment By Intermediate Nodes
Any receiving device may use the group policy information contained
in the Group-Based Policy (GBP) shim header. If an intermediate
device applies policy based upon the GBP shim header, then it must
set the Policy Applied Bit, described below.
Because the group policy information is associated with the payload
(rather than the tunnel or other means by which it is conveyed), if
an intermediate device terminates the VXLAN-GPE or LISP-GPE tunnel
and reencapsulates the data in a new tunnel with the ability to
convey the group policy information, it SHOULD propagate the group
policy information and the Policy Applied bit into the new tunnel,
unless there is an explicit policy not to do so. If an intermediate
device can propagate only some of the group policy IDs, it SHOULD
propagate as many as it can, and it MUST select which ones to
propagate by the sequence that the GBP IDs are placed in the VXLAN-
GPE or LISP-GPE header.
3. Group Based Policy shim header
In the case of VXLAN-GPE, the Group-Based Policy (GBP) shim header
follows the VXLAN-GPE header, or a previous VXLAN-GPE shim header.
Similarly, in the case of LISP-GPE, the Group-Based Policy (GBP) shim
header follows the LISP-GPE header, or a previous LISP-GPE shim
header.
3.1. Common GBP shim header Format
The format of the GBP shim header in either a VXLAN-GPE header or a
LISP-GPE header is shown in Figure 1.
Lemon, et al. Expires November 1, 2019 [Page 3]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Hdr Len | Reserved | Next Protocol |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A| Rsvd |Ver| Reserved | Group Policy ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: Narrow Group Based Policy as a GPE Option Shim
o Type: 8-bit unsigned integer defining the GBP ID type. The
following values are defined:
0x00: GBP_Source_ID. A value of 0 indicates that this shim header
carries the Group Policy ID associated with the source of the
packet.
0x01: GBP_Destination_ID. A value of 1 indicates that this shim
header carries the Group Policy ID associated with the end
destination of the packet.
0x02 to 0x7F: Unassigned. For assignment by IANA, as described in
Section 5.
0x80 to 0xFF: Locally Assigned. For local assignment.
o If a packet carries a GBP_Destination_ID, it SHOULD also carry a
GBP_Source_ID.
o Hdr Len: 8-bit identifier that indicates the length of this GBP
shim header in 4-octet units excluding the option header. The
value of this field is 1 for this version.
o Reserved: The 8-bit field MUST be set to zero on transmission and
ignored on receipt.
o Next Protocol: The 8-bit field indicates the protocol header
immediately following this shim header. Next Protocol types are
encoded as specified in [I-D.ietf-nvo3-vxlan-gpe] and
[I-D.ietf-lisp-gpe].
o Policy Applied bit (A bit): The A bit MUST be set on a specific
GBP shim header if a frame is returned to a forwarding instance
that it has already visited after having been redirected at a
forwarding instance along the native forwarding path to its
destination by a redirection policy that matched on the value in
that specific GBP shim header. If a GBP option type has the A bit
Lemon, et al. Expires November 1, 2019 [Page 4]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
set, a redirection policy that matches on this GBP option type
MUST not be applied. Redirection policies MAY continue to be
applied so long as they only match on GBP option types that do not
have the A bit set. This procedure is necessary to prevent
forwarding loops. The method that ensures that on returned frames
the A bit is applied only to GBP option types involved in the
match at the original redirection policy is outside the scope of
this draft. Once an A bit is set on a GBP shim header, it MUST
remain set. Additionally, once a GBP ID is set for a GBP option
type it SHOULD not be changed to avoid redirection related loops.
o Reserved (Rsvd): The 5-bit field MUST be set to zero on
transmission and ignored on receipt.
o Version (Ver): The 2-bit field indicates the Version of the Group
Policy shim header. The initial version is 0.
o Reserved: These 8 bits are reserved for future use and MUST be set
to zero on transmission and ignored on receipt.
o Group Policy ID: 16-bit identifier that indicates the Group Policy
ID being encapsulated by this GBP shim header. The Default GBP ID
value is special and indicates that the GBP option was not set.
Packet filters SHOULD be able to match on the Default GBP ID value
as a way to match packets that do not have the GBP option set.
The default Default GBP ID is 0, but MAY be configured to be a
value other than 0. The allocation of Group Policy ID values is
outside the scope of this document.
An example frame format using VXLAN-GPE encapsulation is as shown
below:
Lemon, et al. Expires November 1, 2019 [Page 5]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer Ethernet Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer IP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer UDP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|Ver|I|P|R|O| Reserved | NP = GBP | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ VXLAN
| Virtual Network Identifier (VNI) | Reserved | -GPE
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Hdr Len | Reserved | Next Protocol | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ GBP
|A| Rsvd |Ver| Reserved | Group Policy ID | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Next Protocol :
| |
+---------------------------------------------------------------+
An example frame format using LISP-GPE encapsulation is as shown
below:
Lemon, et al. Expires November 1, 2019 [Page 6]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer Ethernet Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer IP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Outer UDP Header |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|N|L|E|V|I|P|K|K| Nonce/Map-Version | NP = GBP | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ LISP
| Instance ID/Locator-Status-Bits | -GPE
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Hdr Len | Reserved | Next Protocol | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ GBP
|A| Rsvd |Ver| Reserved | Group Policy ID | |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
: Next Protocol :
| |
+---------------------------------------------------------------+
4. Use Of Multiple GBP shim headers
A tunnel header MAY carry multiple GBP shim headers where each GBP
shim header carries a unique GBP type. There MUST be only one shim
header of a specific GBP type per tunneled packet.
5. IANA Considerations
5.1. VXLAN-GPE Next Protocol Value
IANA is requested to allocate a VXLAN-GPE "Next Protocol" number for
GBP, which is defined in [I-D.ietf-nvo3-vxlan-gpe].
+---------------+-------------+---------------+
| Next Protocol | Description | Reference |
+---------------+-------------+---------------+
| 0x80 | GBP_ID | This document |
+---------------+-------------+---------------+
5.2. LISP-GPE Next Protocol Value
IANA is requested to allocate a LISP-GPE "Next Protocol" number for
GBP, which is defined in [I-D.ietf-lisp-gpe].
Lemon, et al. Expires November 1, 2019 [Page 7]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
+---------------+-------------+---------------+
| Next Protocol | Description | Reference |
+---------------+-------------+---------------+
| 0x80 | GBP_ID | This document |
+---------------+-------------+---------------+
5.3. GBP Type Values
IANA is requested to set up a registry of "GBP Type". These are
8-bit values. GBP Type values in the table below are defined in this
draft. New values in the range of 0x02 through 0x7F are assigned via
Standards Action [RFC5226].
+----------------+--------------------+---------------+
| GBP Type Value | Description | Reference |
+----------------+--------------------+---------------+
| 0x00 | GBP_Source_ID | This document |
+----------------+--------------------+---------------+
| 0x01 | GBP_Destination_ID | This document |
+----------------+--------------------+---------------+
| 0x02 - 0x7F | Unassigned | |
+----------------+--------------------+---------------+
| 0x80 - 0xFF | Local assignment | |
+----------------+--------------------+---------------+
6. Security Considerations
The same security considerations applied to
[I-D.ietf-nvo3-vxlan-gpe], [I-D.ietf-lisp-gpe], and to
[I-D.smith-vxlan-group-policy] apply to this document.
Additionally, the security policy value carried in the GBP shim
header impacts security directly. There is a risk that this
identifier could be altered. Accordingly, the network should be
designed such that this shim header can be inserted only by trusted
entities, and can not be altered before reaching the destination.
This can be mitigated through physical security of the network and/or
by encryption or validation of the entire packet, including the GBP.
7. Normative References
[I-D.ietf-lisp-gpe]
Maino, F., Lemon, J., Agarwal, P., Lewis, D., and M.
Smith, "LISP Generic Protocol Extension", draft-ietf-lisp-
gpe-06 (work in progress), September 2018.
Lemon, et al. Expires November 1, 2019 [Page 8]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
[I-D.ietf-nvo3-vxlan-gpe]
Maino, F., Kreeger, L., and U. Elzur, "Generic Protocol
Extension for VXLAN", draft-ietf-nvo3-vxlan-gpe-07 (work
in progress), April 2019.
[I-D.smith-vxlan-group-policy]
Smith, M. and L. Kreeger, "VXLAN Group Policy Option",
draft-smith-vxlan-group-policy-05 (work in progress),
October 2018.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", RFC 5226,
DOI 10.17487/RFC5226, May 2008,
<https://www.rfc-editor.org/info/rfc5226>.
Authors' Addresses
John Lemon (editor)
Broadcom Inc.
270 Innovation Drive
San Jose, CA 95134
USA
Email: john.lemon@broadcom.com
Fabio Maino
Cisco Systems
Email: fmaino@cisco.com
Michael Smith
Cisco Systems
Email: michsmit@cisco.com
Lemon, et al. Expires November 1, 2019 [Page 9]
Internet-Draft GBP with VXLAN-GPE and LISP-GPE April 2019
Aldrin Isaac
Juniper Networks
1133 Innovation Way
Sunnyvale, CA 94089
USA
Email: aldrin.isaac@gmail.com
Lemon, et al. Expires November 1, 2019 [Page 10]