Internet-Draft bitmask-route-target April 2021
Zhang, et al. Expires 23 October 2021 [Page]
Workgroup:
idr
Internet-Draft:
draft-zzhang-idr-bitmask-route-target-01
Published:
Intended Status:
Standards Track
Expires:
Authors:
Z. Zhang
Juniper Networks
S. Sangli
Juniper Networks
J. Haas
Juniper Networks

Bitmask Route Target

Abstract

This document specifies a new type of Route Target called Bitmask Route Target as a BGP Community Container. The key element of a Bitmask Route Target is a Bitmask. Two Bitmask Route Targets are considered equivalent for the purpose of controlling route propagation (via Route Target Constraints) and importation if the result of logical "AND" operation of the Bitmask of the two is non-zero.

Requirements Language

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

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 23 October 2021.

Table of Contents

1. Introduction

The importation and propagation of BGP routes can be controlled using Route Targets [RFC4364] and Constrained Route Target Distribution (RT-C) [RFC4684]. RT-C relies on matching a Route Target prefix. The typical matching use case is the full 8-octet encoding of the Route Target Extended Community.

For some applications, it's desirable to have a Route Target with the semantic of a bit-string. For such situations and it may be desirable to match such bit-string Route Targets that have specific bits set. This document defines a new type of Route Target for that purpose.

An example use case of this Bitmask Route Target is documented in [I-D.zzhang-teas-network-slicing-with-flex-te].

The use of Bitmask Route Target with Constrained Route Target Distribution is specified separately in [I-D.zzhang-idr-bgp-rt-constrains-extension].

2. Specification

The Bitmask Route Target is a Transitive BGP Community Container of type TBD1 [I-D.ietf-idr-wide-bgp-communities].

The semantics of Global Administrator and Local Administor are identical to those in [RFC4360].

The container's contents is a series of Bitmask Route Targets. Each Bitmask Route Target includes a 1-octet Global Administrator (GA) Type, a 1-octet GA Sub-Type, 1-octet GA Length, a variable length GA, a 4-octet Local Administrator (LA), a 1-octet Bitmask Length in number of octets, and a variable length Bitmask.


      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
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  GA Type        |  GA Sub-Type  |  GA Length    |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Global Administrator (variable length)                       ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Local Administrator                                          |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     |  Bitmask Length |
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
     ~                   Bitmask (variable length)                   ~
     +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

The following GA Types and corresponding lengths are defined in this document:

The follow GA Sub-Types are defined in this document:

2.1. Matching Semantics

A Bitmask Route Target, A, is considered to match Bitmask Route Target, B, for the purpose of controlling propagation and importation of a route with an attached Bitmask Route Target B if the following conditions are met:

  • The GA Type, GA Sub-Type, GA Length, GA, and LA fields in A and B match.
  • Either:

    • The Bitmask Length of A is 0. In other words, "match all".
    • The result of the logical "AND" operation of the Bitmask field in A and B is not 0. When A and B have different Bitmask Lengths, the shorter Route Target's Bitmask is considered to be padded with zeroes for match purposes vs. the longer one.

3. Error Handling

A Bitmask Route Target MUST NOT be originated with a RESERVED GA Type. Implementations receiving BGP Routes with a RESERVED Bitmask Route Target MUST check its syntactic correctness and MAY silently discard it.

A Bitmask Route Target SHOULD NOT be originated with a Bitmask Length of 0.

A Bitmask Route Target is considered malformed if:

BGP Updates containing malformed Bitmask Route Targets should use the Treat-as-withdraw behavior for the routes in the Update according to [RFC7606].

4. Security Considerations

This document does not change security aspects as discussed in [RFC4364] and [I-D.ietf-idr-wide-bgp-communities].

5. IANA Considerations

This document requests IANA to assign a BGP Community Container Type for the Bitmask Route Target from the "BGP Community Container Types" registry for TBD1.

This document requests IANA to setup a "Bitmask Route Target Global Administrator Type Registry". The initial allocation and policy for this registry is:

Table 1: Bitmask Route Target GA-Type Registry
GA Type GA Type Name GA Type Length (octets) Reference
0 RESERVED UNSPECIFIED This document
1 AS Number 4 This document
2 IPv4 Address 4 This document
3 IPv6 Address 16 This document
4..127 Available, Specification Required TBD -
128..254 Available, First Come, First Served TBD -
255 RESERVED UNSPECIFIED This document

This document requests IANA to setup a "Bitmask Route Target Global Administrator Sub-Type Registry". The initial allocation and policy for this registry is:

Table 2: Bitmask Route Target GA-Sub-Type Registry
GA Sub-Type GA Sub-Type Name Reference
0 RESERVED This document
1 Available, Specification Required -
2 Route-Target This document
3..127 Available, Specification Required -
128..254 Available, First Come, First Served -
255 RESERVED This document

6. Acknowledgements

The authors thank John Scudder for his comments and suggestions.

7. References

7.1. Normative References

[I-D.ietf-idr-wide-bgp-communities]
Raszuk, R., Haas, J., Lange, A., Decraene, B., Amante, S., and P. Jakma, "BGP Community Container Attribute", Work in Progress, Internet-Draft, draft-ietf-idr-wide-bgp-communities-05, , <http://www.ietf.org/internet-drafts/draft-ietf-idr-wide-bgp-communities-05.txt>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC7606]
Chen, E., Ed., Scudder, J., Ed., Mohapatra, P., and K. Patel, "Revised Error Handling for BGP UPDATE Messages", RFC 7606, DOI 10.17487/RFC7606, , <https://www.rfc-editor.org/info/rfc7606>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.

7.2. Informative References

[I-D.zzhang-idr-bgp-rt-constrains-extension]
Zhang, Z. and J. Haas, "Generic Route Constraint Distribution Mechanism for BGP", Work in Progress, Internet-Draft, draft-zzhang-idr-bgp-rt-constrains-extension-01, , <http://www.ietf.org/internet-drafts/draft-zzhang-idr-bgp-rt-constrains-extension-01.txt>.
[I-D.zzhang-teas-network-slicing-with-flex-te]
Zhang, Z., Hegde, S., and A. Gulko, "Network Slicing with Flexible Traffic Engineering", Work in Progress, Internet-Draft, draft-zzhang-teas-network-slicing-with-flex-te-00, , <http://www.ietf.org/internet-drafts/draft-zzhang-teas-network-slicing-with-flex-te-00.txt>.
[RFC4360]
Sangli, S., Tappan, D., and Y. Rekhter, "BGP Extended Communities Attribute", RFC 4360, DOI 10.17487/RFC4360, , <https://www.rfc-editor.org/info/rfc4360>.
[RFC4364]
Rosen, E. and Y. Rekhter, "BGP/MPLS IP Virtual Private Networks (VPNs)", RFC 4364, DOI 10.17487/RFC4364, , <https://www.rfc-editor.org/info/rfc4364>.
[RFC4684]
Marques, P., Bonica, R., Fang, L., Martini, L., Raszuk, R., Patel, K., and J. Guichard, "Constrained Route Distribution for Border Gateway Protocol/MultiProtocol Label Switching (BGP/MPLS) Internet Protocol (IP) Virtual Private Networks (VPNs)", RFC 4684, DOI 10.17487/RFC4684, , <https://www.rfc-editor.org/info/rfc4684>.

Authors' Addresses

Zhaohui Zhang
Juniper Networks
Srihari Sangli
Juniper Networks
Jeffrey Haas
Juniper Networks