Network working group                                             X. Xu
Internet Draft                                                   Huawei
Category: Standard Track                                         K. Lee
                                                          China Telecom
Expires: January 2013                                     July 16, 2012


       BGP Tunnel Address Prefix Attribute and Tunnel Address Prefix
                            Extended Community

                   draft-xu-idr-tunnel-address-prefix-01

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), its areas, and its working groups. Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   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."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on January 16, 2013.

Copyright Notice

   Copyright (c) 2009 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 to this document.





Xu                    Expires January 16, 2013                [Page 1]


Internet-Draft       Tunnel Address Prefix Attribute          July 2012



Abstract

   This document describes a new BGP attribute referred to as Tunnel
   Address Prefix Attribute and a new BGP address specific extended
   community referred to as Tunnel Address Prefix Extended Community,
   both of which are intended for facilitating the load-balancing of
   IP/GRE tunneled traffic (e.g., L3VPN-over-GRE traffic) in the core
   of IP-enabled Packet Switch Networks (PSN).

Conventions used in this document

   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].

Table of Contents


   1. Introduction ................................................ 3
   2. Terminology ................................................. 4
   3. Tunnel Address Prefix Attribute ............................. 4
   4. Tunnel Address Prefix Extended Community .................... 5
   5. Functionality Description ................................... 6
      5.1. Egress Routers ......................................... 6
      5.2. Ingress Routers......................................... 6
      5.3. Intermediate Routers ................................... 6
   6. Applicability ............................................... 6
   7. Security Considerations ..................................... 7
   8. IANA Considerations ......................................... 7
   9. Acknowledgements ............................................ 7
   10. References ................................................. 7
      10.1. Normative References .................................. 7
      10.2. Informative References ................................ 7
   Authors' Addresses ............................................. 8













Xu                    Expires January 16, 2013                [Page 2]


Internet-Draft       Tunnel Address Prefix Attribute          July 2012


1. Introduction

   Equal Cost Multi-Path (ECMP) and Link Aggregation Group (LAG) are
   widely used in the core of IP-enabled Packet Switch Networks (PSN)
   for load-balancing purposes. Most core routers in the IP-enabled PSN
   are capable of load-balancing IP traffic flows across ECMP paths
   and/or LAG based on the hash of the five-tuple of UDP/TCP packets
   (i.e., source IP address, destination IP address, source port,
   destination port, and protocol) or some fields in the IP header of
   non-UDP/TCP packets (e.g., source IP address, destination IP
   address). However, in the L3VPN [RFC4364], L2VPN and Softwire mesh
   [RFC5565] scenarios, distinct customer traffic flows between a given
   tunnel endpoint pair (e.g., the PE pair in the L3VPN context) would
   be encapsulated with the same IP/GRE tunnel header prior to
   traversing the core of IP PSN. In addition, since the IP/GRE
   encapsulated traffic is neither TCP nor UDP, core routers therefore
   could only perform hash calculation on the fields in the IP header
   of IP/GRE tunnels. As a result, core routers could not achieve an
   effective load-balancing for these IP/GRE tunneled traffic flows in
   the core network due to the lack of adequate entropy information.

   [RFC5640] describes a method for improving the load-balancing in
   Softwire mesh networks [RFC5565]. However, this method requires core
   routers to be able to perform hash calculation on the fields
   including the specific "load-balancing" field contained in the
   L2TPv3 or GRE tunnel header. [Entropy-Label] proposes to use the
   "entropy labels" for achieving a better load-balancing for MPLS
   traffic flows in the core of MPLS-enabled PSN. Although the entropy
   label could be inserted in the "Key" field of the GRE header by
   ingress PE routers in the case where the PSN is IP enabled rather
   than MPLS enabled, it still requires core routers to be capable of
   performing hash calculation on the "entropy label" contained in the
   GRE tunnel header. Any of the above two load-balancing methods
   requires a change to the date plane of core routers.

   This document describes an alternative load-balancing method
   suitable for the above scenarios, which is backwards compatible to
   those already-deployed core routers that could only perform hash
   calculation on the fields in the IP header in the case of IP/GRE
   tunneled traffic flows. The basic idea of this method is: a given
   (tunnel) egress router signals to (tunnel) ingress routers a special
   prefix called "tunnel address prefix" via BGP and any addresses
   beginning with that prefix would be used by those ingress routers as
   tunnel destination addresses when tunneling traffic towards that
   egress router. Therefore distinct traffic flows between that tunnel
   endpoint pair could be encapsulated with as many different tunnel



Xu                    Expires January 16, 2013                [Page 3]


Internet-Draft       Tunnel Address Prefix Attribute          July 2012

   destination addresses as possible. In this way, core routers could
   achieve a better load-balancing for those IP/GRE tunneled traffic
   through performing hash calculation just on the fields in the IP
   header.

2. Terminology

   This memo makes use of the terms defined in [RFC4364] and [RFC5565].

3. Tunnel Address Prefix Attribute

   For a given BGP router to tell remote BGP routers what tunnel
   destination addresses could be used when tunneling traffic flows to
   it, a new BGP attribute contained in the Encapsulation SAFI
   [RFC5512], referred to as "Tunnel Address Prefix Attribute", could
   be used to indicate the available tunnel destination addresses to be
   used.

   The Tunnel Address Prefix attribute is an optional transitive
   attribute. The TLV is structured as follows:

      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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |  Tunnel Address Prefix Type   |             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      |                             Value                             |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

       - Tunnel Address Prefix Type (2 octets): indicates the Value
       field of such TLV contains the tunnel address prefix information
       in the form of IP address and subnet mask pair.

       - Length (2 octets): indicates the total number of octets of the
       value field. If the AFI of the Encapsulation SAFI is IPv4, the
       length value is set to 64; otherwise if the AFI is IPv6, the
       length value is set to 256.

       - Value (variable): contains the tunnel address prefix
       information in the form of IP address and subnet mask pair.








Xu                    Expires January 16, 2013                [Page 4]


Internet-Draft       Tunnel Address Prefix Attribute          July 2012

4. Tunnel Address Prefix Extended Community

   Here, we also define an address specific extended community referred
   to as Tunnel Address Prefix extended community that can be attached
   to BGP UPDATE messages to indicate the available tunnel destination
   addresses to be used when tunneling traffic flows from an ingress
   router to an egress router. This extended community is useful in the
   case where the Encapsulation SAFI capability is not supported
   between BGP routers or one really wants to specify different tunnel
   destination address prefixes for distinct sets of traffic flows. For
   example, one wants to assign two different tunnel address prefixes
   for traffic flows destined for prefix X and Y respectively.

   IPv4 Tunnel Address Prefix extended community is as follows:

       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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |       0x01    |   Sub-Type    |     Global Administrator      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Global Administrator (cont.)  |     Local Administrator       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

       The value of the high-order octet of the extended type field is
       0x01, which indicates it is transitive across ASes. The value of
       the low-order octet of the extended type field is to be defined.
       The Global Administrator sub-field contains an IPv4 unicast
       address while the Local Administrator sub-field contains the
       corresponding Prefix Length.

   IPv6 Tunnel Address Prefix extended community is as follows:

       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
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     0x00      |    Sub-Type   |    Global Administrator       |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Global Administrator (cont.)                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Global Administrator (cont.)                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |          Global Administrator (cont.)                         |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       | Global Administrator (cont.)  |    Local Administrator        |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+





Xu                    Expires January 16, 2013                [Page 5]


Internet-Draft       Tunnel Address Prefix Attribute          July 2012

       The value of the high-order octet of the extended type field is
       0x00, which indicates it is transitive across ASes. The value of
       the low-order octet of the extended type field is to be defined.
       The Global Administrator sub-field contains an IPv6 unicast
       address while the Local Administrator sub-field contains the
       corresponding Prefix Length.

5. Functionality Description

   5.1. Egress Routers

   An egress router could attach the above BGP Tunnel Address Prefix
   attribute or extended community to BGP UPDATE messages in order to
   indicate the available tunnel destination addresses to be used by
   any ingress routers when tunneling traffic flows to it. In addition,
   it SHOULD create the corresponding loopback interface for each IP
   address within that prefix and accordingly advertise a route for
   that prefix via IGP. As such, it could receive and process those
   IP/GRE tunneled traffic flows destined for any of those addresses
   beginning with that prefix.

   5.2. Ingress Routers

   For an ingress router receiving the above BGP Tunnel Address Prefix
   attribute or extended community announced by a given egress router,
   it could use any addresses beginning with the tunnel address prefix,
   in addition to the BGP next-hop address contained in the
   MP_REACH_NLRI attribute, as tunnel destination addresses when
   tunneling traffic flows towards that egress router.

   5.3. Intermediate Routers

   There is no special requirement on Intermediate Routers (i.e., core
   routers). In other words, they could perform load-balancing of the
   IP/GRE tunneled traffic on basis of the hash of the fields in the IP
   headers as normal.

6. Applicability

   The load-balancing approach described in this document is suitable
   for many scenarios including but not limited to L3VPN [RFC4364], 6PE
   [RFC4798], Softwire mesh [RFC5565], BGP free core and L2VPN
   including VPLS [RFC4761, RFC4762] and E-VPN [E-VPN]. In the existing
   VPLS case where BGP is used for auto-discovery, the above BGP Tunnel
   Address Prefix attribute or extended community would be attached to
   the BGP update messages as well. Once a customer MAC address is
   learnt against a given BGP next-hop address, any addresses beginning



Xu                    Expires January 16, 2013                [Page 6]


Internet-Draft       Tunnel Address Prefix Attribute          July 2012

   with the Tunnel Address Prefix which is associated with that BGP
   next-hop address could be used as tunnel destination addresses when
   tunneling MAC frames destined for that MAC address.

7. Security Considerations

   TBD.

8. IANA Considerations

   The type code of the Tunnel Address Prefix Attribute needs to be
   allocated by IANA. Meanwhile, a new Sub-Type of the Address Specific
   BGP Extended Communities of IPv4 and IPv6 respectively SHOULD also
   be assigned by IANA.

9. Acknowledgements

   Thanks to Robert Raszuk for his valuable comments on this document.

10. References

   10.1. Normative References

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

   10.2. Informative References

   [RFC5640] Filsfils, C., Mohapatra, P and C. Pignataro, "Load-
             Balancing for Mesh Softwires", RFC 5640, August 2009.

   [RFC4360] Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended
             Communities Attribute", RFC 4360, February 2006.

   [RFC5701] Rekhter, Y., "IPv6 Address Specific BGP Extended
             Communities Attribute", RFC5701, November 2009.

   [RFC5512] Mohapatra, P. and E. Rosen, "The BGP Encapsulation
             Subsequent Address Family Identifier (SAFI) and the
             BGP Tunnel Encapsulation Attribute", RFC 5512, April
             2009.

   [RFC5565] Wu, J., Cui, Y., Metz, C., and E. Rosen, "Softwire Mesh
             Framework", RFC 5565, June 2009.

   [RFC4364] "BGP/MPLS IP VPNs", Rosen, Rekhter, et. al., February 2006




Xu                    Expires January 16, 2013                [Page 7]

Internet-Draft       Tunnel Address Prefix Attribute          July 2012

   [Entropy-Label] Kompella, K., Drake, J., Amante, S., Henderickx, W.,
             and L. Yong, "The Use of Entropy Labels in MPLS
             Forwarding", draft-ietf-mpls-entropy-label-01, work in
             progress, October, 2011.

   [RFC4761] Kompella, K. and Y. Rekhter, "Virtual Private LAN Service
             (VPLS) Using BGP for Auto-Discovery and Signaling", RFC
             4761, January 2007.

   [RFC4762] Lasserre, M. and V. Kompella, "Virtual Private LAN Service
             (VPLS) Using Label Distribution Protocol (LDP) Signaling",
             RFC 4762, January 2007.

   [E-VPN] Aggarwal et al., "BGP MPLS Based Ethernet VPN", draft-ietf-
              l2vpn-evpn-00.txt, work in progress, February, 2012.


Authors' Addresses

  Xiaohu Xu
  Huawei Technologies,
  Beijing, China

  Phone: +86-10-60610041
  Email: xuxiaohu@huawei.com

  Kai Lee
  China Telecom,
  Beijing, China.

  Email: Leekai@ctbri.com.cn