NVO3 L. Huang, Ed.
Internet-Draft S. Hu
Intended status: Standards Track China Mobile
Expires: January 17, 2018 M. Wang
Huawei
T. Ao
ZTE Corporation
July 16, 2017
VXLAN GPE Extension for Packets Exchange Between Control and User Plane
of vBNG
draft-huang-nvo3-vxlan-gpe-extension-for-vbng-00
Abstract
This document briefly describes the architecture of control plane and
user plane separated vBNG and define the extension of VXLAN-GPE for
PPPoE/IPoE dialup packets exchange between control plane and user
plane.
Status of This Memo
This Internet-Draft is submitted to IETF 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 January 17, 2018.
Copyright Notice
Copyright (c) 2017 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
Huang, et al. Expires January 17, 2018 [Page 1]

Internet-Draft vxlan-gpe-extension-for-vbng-00 July 2017
+----------------------------------+
| BNG-CP |
+--+--------------+--------------+-+
| | |
Service | Control | Management|
Interface | Interface | Interface |
| | | | | |
VXLAN-GPE | OpenFlow | NETCONF |
| | |
+--+--------------+--------------+-+
| BNG-UP |
+-----------------+----------------+
|
|
+--------+--------+
| Access Network |
+--------+--------+
|
+----+----+
| User |
+---------+
Figure 1: Architecture of C/U separated vBNG
In this architecture, CP is responsible for user access
authentication and setting forwarding entries of UP if authentication
is successful. UP need to relay PPPoE/IPoE dialup packets between
users and CP and forward PPPoE/IPoE data packets to Internet based on
the forwarding entries set by CP. CP should do some basic
configurations on UP, e.g. user profile configuration.
There are three interfaces between CP and UP. Management interface
is used by CP to carry out basic configurations of UP through
NETCONF. Control interface is used for seting forwarding entries on
UP through OpenFlow. Service interface is used to transmitting
PPPoE/IPoE dialup packets between user plane and control plane.
VXLAN-GPE is chosen for service interface since it's a relatively
mature technology and can carry L2 packets through L3 network. For
user access authentication, CP need to know which port of UP the user
is connected to for the authentication of access location because a
specfic user is only permitted to access on specific port/location.
The necessary information include: node ID, slot ID, subcard ID, port
ID and so on. The access port information should be carried in VXLAN
packets encapsulated by UP. The next section describes how to extend
VXLAN-GPE this requirement.
Huang, et al. Expires January 17, 2018 [Page 3]

Internet-Draft vxlan-gpe-extension-for-vbng-00 July 20174. Mechanism
In order to extend VXLAN-GPE for carrying user access port
information, a new next protocol value will be requested from IANA
based on Generic Protocol Extension for VXLAN
[I-D.ietf-nvo3-vxlan-gpe], see section IANA Considerations. The new
next protocol is called vBNG service header.
4.1. vBNG service header
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|R|F|R|R|Ver| Next Protocol | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Slot ID | Subcard ID | Port ID | Port Type |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 2: vBNG service header
Flag (8 bits): The first 8 bits are the flag field. "R" bits are
reserved bits which MUST be set to zero and ignored.
F (1 bit): The F bit is set to indicated the inner packet following
the vBNG service header SHOULD be forwarded based on the routing
table by UP instead of forwarded to users. F bit is set only in the
packets from CP to UP for some specific scenarios, e.g. DHCP relay,
L2TP.
Ver (2 bits): Version of vBNG service header. In this document the
version is 0.
Next protocol (8 bit): This field indicates the protocol immediatly
following the vBNG service header. This doocument defines two next
protocol value, 0x00 for PPPoE and 0x01 for IPoE.
Node ID (32 bit): This field indicates which UP node is processing
the user access. It COULD be one of the UP's IP addresses which MUST
be unique in all related UPs.
Slot ID (8 bit): This field indicates which slot of the indicated UP
is processing the user access. If there is no different slots on the
indicated UP this field MUST be set to 0x00.
Huang, et al. Expires January 17, 2018 [Page 4]

Internet-Draft vxlan-gpe-extension-for-vbng-00 July 2017
Subcard ID (8 bit): This field indicates which subcard of the
indicated slot is processing the user access. If there is no
different subcards on the indicated slot this field MUST be set to
0x00.
Port ID (8 bit): This field indicates which port of the indicated
subcard is processing the user access.
Port Type (8 bit): This field indicates the type of the user access
port. This document defines the following types:
+-------------------+----------+
| Port Type | Value |
+-------------------+----------+
| GE | 0x01 |
+-------------------+----------+
| 10GE | 0x02 |
+-------------------+----------+
| 40GE | 0x03 |
+-------------------+----------+
| 100GE | 0x04 |
+-------------------+----------+
| LAG | 0x05 |
+-------------------+----------+
| Virtual Interface | 0x06 |
+-------------------+----------+
Figure 3: User Access Port Types
4.2. Optional solution for vBNG service header
One optional solution is using ifIndex to indicate the port
information.
The ifIndex of the interface MAY be included. This is the 32-bit
ifIndex assigned to the interface by the device as specified by the
Interfaces Group MIB [RFC2863].
The ifIndex can be utilized within a management domain to map to an
actual interface, but it is also valuable in public applications.
The ifIndex can be used as an opaque token to discern which interface
of UP is processing the user access. And based on this index, the
information binding with the interface of UP, such as the Slot ID,
subcard ID, Port ID, etc, can be retrieved by the CP.
Huang, et al. Expires January 17, 2018 [Page 5]

Internet-Draft vxlan-gpe-extension-for-vbng-00 July 2017
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|R|R|R|F|R|R|Ver| Next Protocol | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Node ID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| IfIndex |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 4: Optional vBNG service header
IfIndex (32 bit): This field indicates which interface of UP is
processing the user access. And based on this index, the information
which binding with the interface of UP, such as the Slot ID, subcard
ID, Port ID, etc, can be retrieved by the CP.
Other fields have the same definition as the previous section.
4.3. Inner packets encapsulation and decapsulation
Following the vBNG service header it's the original PPPoE/IPoE dialup
packet which SHOULD includes MAC, C-VLAN, S-VLAN, PPPoE/IPoE header,
PPPoE/IPoE payload and so on. UP SHOULD NOT modify the original
PPPoE/IPoE dialup packets when encapsulating them into VXLAN-GPE
packets or decapsulating them from VXLAN-GPE packets.
4.4. User dialup process
When UP receives PPPoE/IPoE dialup packets from users, it
encapsulates the original dialup packets in VXLAN-GPE with the user
access port information and sends to CP. CP decapsulates VXLAN-GPE
packets and processes PPPoE/IPoE related things, including AAA
authentication and addresses allocation. CP encapsulates the PPPoE/
IPoE response packets in VXLAN-GPE and sends to UP. UP decapsulates
VXLAN-GPE packets and sends PPPoE/IPoE response packets to users.
The following diagram shows the PPPoE process by UP and CP.
Huang, et al. Expires January 17, 2018 [Page 6]