draft-ietf-grow-mrt-add-paths-02.txt   draft-ietf-grow-mrt-add-paths-03.txt 
Global Routing Operations C. Petrie Global Routing Operations C. Petrie
Internet-Draft RIPE NCC Internet-Draft RIPE NCC
Intended status: Standards Track T. King Intended status: Standards Track T. King
Expires: July 12, 2017 DE-CIX Expires: July 18, 2017 DE-CIX
January 8, 2017 January 14, 2017
Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format Multi-Threaded Routing Toolkit (MRT) Routing Information Export Format
with BGP Additional Paths Extensions with BGP Additional Paths Extensions
draft-ietf-grow-mrt-add-paths-02 draft-ietf-grow-mrt-add-paths-03
Abstract Abstract
This document updates the Multi-threaded Routing Toolkit (MRT) export This document updates the Multi-threaded Routing Toolkit (MRT) export
format for Border Gateway Protocol (BGP) routing information by format for Border Gateway Protocol (BGP) routing information by
extending it to support the Advertisement of Multiple Paths in BGP extending it to support the Advertisement of Multiple Paths in BGP
extensions. extensions.
Status of This Memo Status of This Memo
skipping to change at page 1, line 35 skipping to change at page 1, line 35
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at http://datatracker.ietf.org/drafts/current/. Drafts is at http://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on July 12, 2017. This Internet-Draft will expire on July 18, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License. described in the Simplified BSD License.
Table of Contents Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2
2. Requirements Language . . . . . . . . . . . . . . . . . . . . 2 2. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3. Rationale . . . . . . . . . . . . . . . . . . . . . . . . . . 3 3. MRT Subtypes for Types BGP4MP/BGP4MP_ET . . . . . . . . . . . 3
4. MRT Subtypes for Types BGP4MP/BGP4MP_ET . . . . . . . . . . . 3 4. MRT Subtypes for Type TABLE_DUMP_V2 . . . . . . . . . . . . . 3
5. MRT Subtypes for Type TABLE_DUMP_V2 . . . . . . . . . . . . . 3 4.1. AFI/SAFI specific RIB Subtypes . . . . . . . . . . . . . 3
5.1. AFI/SAFI specific RIB Subtypes . . . . . . . . . . . . . 4 4.2. RIB_GENERIC_ADDPATH Subtype . . . . . . . . . . . . . . . 4
5.2. RIB_GENERIC_ADDPATH Subtype . . . . . . . . . . . . . . . 4 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 4
6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 5 5.1. BGP4MP/BGP4MP_ET Subtype codes: . . . . . . . . . . . . . 4
6.1. BGP4MP/BGP4MP_ET Subtype codes: . . . . . . . . . . . . . 5 5.2. TABLE_DUMP_V2 Subtype codes: . . . . . . . . . . . . . . 5
6.2. TABLE_DUMP_V2 Subtype codes: . . . . . . . . . . . . . . 5 6. Security Considerations . . . . . . . . . . . . . . . . . . . 5
7. Security Considerations . . . . . . . . . . . . . . . . . . . 5 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 5
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 6 7.1. Normative References . . . . . . . . . . . . . . . . . . 5
8.1. Normative References . . . . . . . . . . . . . . . . . . 6 7.2. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 6
8.2. Informative References . . . . . . . . . . . . . . . . . 6 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 6
8.3. URIs . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 7
1. Introduction 1. Introduction
The MRT record format [RFC6396] was developed to provide researchers The MRT record format [RFC6396] was developed to provide researchers
and engineers a means to encapsulate, export, and archive routing and engineers a means to encapsulate, export, and archive routing
protocol transactions and routing information base snapshots. protocol transactions and routing information base snapshots.
The Advertisement of Multiple Paths in BGP [I-D.ietf-idr-add-paths] The Advertisement of Multiple Paths in BGP [RFC7911] defines a BGP
defines a BGP extension to allow the advertisement of multiple paths extension to allow the advertisement of multiple paths for the same
for the same address prefix without the new paths implicitly address prefix without the new paths implicitly replacing any
replacing any previous ones. previous ones.
This document contains an optional extension to the MRT format This document contains an optional extension to the MRT format
[RFC6396] and introduces additional definitions of MRT subtype fields [RFC6396] and introduces additional definitions of MRT subtype fields
to permit representation of multiple path advertisements to permit representation of multiple path advertisements [RFC7911].
[I-D.ietf-idr-add-paths].
2. Requirements Language
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].
3. Rationale 2. Rationale
MRT parsers are usually stateless. In order to parse BGP messages MRT parsers are usually stateless. In order to parse BGP messages
which contain data structures that depend on the capabilities which contain data structures that depend on the capabilities
negotiated during the BGP session setup, the so-called MRT subtypes negotiated during the BGP session setup, the so-called MRT subtypes
are utilized. The Advertisement of Multiple Path are utilized. The Advertisement of Multiple Path [RFC7911] extension
[I-D.ietf-idr-add-paths] extension for BGP alters the encoding of the for BGP alters the encoding of the BGP NLRI format for withdraws and
BGP NLRI format for withdraws and announcements. Therefore new announcements. Therefore new BGP4MP/BGP4MP_ET subtypes as defined in
BGP4MP/BGP4MP_ET subtypes as defined in [RFC6396] are required to [RFC6396] are required to signal to a MRT parser how to parse the
signal to a MRT parser how to parse the NLRI. NLRI.
In section 4.3 [RFC6396] of the MRT specification RIB subtypes are In section 4.3 [RFC6396] of the MRT specification RIB subtypes are
specified. Prefix length and prefix fields are encoded in the same specified. Prefix length and prefix fields are encoded in the same
manner as the BGP NLRI encoding. In order to support path identifier manner as the BGP NLRI encoding. In order to support path identifier
information as defined in [I-D.ietf-idr-add-paths] new subtypes need information as defined in [RFC7911] new subtypes need to be added.
to be added.
The following two sections define the required subtypes. The following two sections define the required subtypes.
4. MRT Subtypes for Types BGP4MP/BGP4MP_ET 3. MRT Subtypes for Types BGP4MP/BGP4MP_ET
This document defines the following new Subtypes: This document defines the following new Subtypes:
o BGP4MP_MESSAGE_ADDPATH o BGP4MP_MESSAGE_ADDPATH
o BGP4MP_MESSAGE_AS4_ADDPATH o BGP4MP_MESSAGE_AS4_ADDPATH
o BGP4MP_MESSAGE_LOCAL_ADDPATH o BGP4MP_MESSAGE_LOCAL_ADDPATH
o BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH o BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH
The fields of these message types are identical to the equivalent The fields of these message types are identical to the equivalent
non-additional-path versions specified in section 4.4 [RFC6396]. non-additional-path versions specified in section 4.4 [RFC6396].
These enhancements continues to encapsulate the entire BGP message in These enhancements continues to encapsulate the entire BGP message in
the BGP message field. the BGP message field.
5. MRT Subtypes for Type TABLE_DUMP_V2 4. MRT Subtypes for Type TABLE_DUMP_V2
This document defines the following new Subtypes: This document defines the following new Subtypes:
o RIB_IPV4_UNICAST_ADDPATH o RIB_IPV4_UNICAST_ADDPATH
o RIB_IPV4_MULTICAST_ADDPATH o RIB_IPV4_MULTICAST_ADDPATH
o RIB_IPV6_UNICAST_ADDPATH o RIB_IPV6_UNICAST_ADDPATH
o RIB_IPV6_MULTICAST_ADDPATH o RIB_IPV6_MULTICAST_ADDPATH
skipping to change at page 4, line 4 skipping to change at page 3, line 37
This document defines the following new Subtypes: This document defines the following new Subtypes:
o RIB_IPV4_UNICAST_ADDPATH o RIB_IPV4_UNICAST_ADDPATH
o RIB_IPV4_MULTICAST_ADDPATH o RIB_IPV4_MULTICAST_ADDPATH
o RIB_IPV6_UNICAST_ADDPATH o RIB_IPV6_UNICAST_ADDPATH
o RIB_IPV6_MULTICAST_ADDPATH o RIB_IPV6_MULTICAST_ADDPATH
o RIB_GENERIC_ADDPATH o RIB_GENERIC_ADDPATH
The fields of these message types are identical to the equivalent The fields of these message types are identical to the equivalent
non-additional-path versions specified in section 4.3 [RFC6396]. non-additional-path versions specified in section 4.3 [RFC6396].
However, for the specific case of the 4 AFI/SAFI specific RIB However, for the specific case of the 4 AFI/SAFI specific RIB
subtypes, the existing RIB Entries field is re-defined as detailed in subtypes, the existing RIB Entries field is re-defined as detailed in
the sections below. the sections below.
5.1. AFI/SAFI specific RIB Subtypes 4.1. AFI/SAFI specific RIB Subtypes
In order to preserve the record compaction achieved by using the most In order to preserve the record compaction achieved by using the most
common subtypes, and allowing multiple RIB Entries to be stored in a common subtypes, and allowing multiple RIB Entries to be stored in a
single TABLE_DUMP_V2 record, the existing RIB Entries field is single TABLE_DUMP_V2 record, the existing RIB Entries field is
redefined for use within the new AFI/SAFI specific RIB Subtypes redefined for use within the new AFI/SAFI specific RIB Subtypes
defined by this document as follows: defined by this document as follows:
0 1 2 3 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 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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
skipping to change at page 4, line 42 skipping to change at page 4, line 29
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: RIB Entries for AFI/SAFI-specific RIB Subtypes with Figure 1: RIB Entries for AFI/SAFI-specific RIB Subtypes with
additional-paths support additional-paths support
This adds a field to the RIB Entries record, to store the path This adds a field to the RIB Entries record, to store the path
identifier, when used with the RIB_IPV4_UNICAST_ADDPATH, identifier, when used with the RIB_IPV4_UNICAST_ADDPATH,
RIB_IPV4_MULTICAST_ADDPATH, RIB_IPV6_UNICAST_ADDPATH and RIB_IPV4_MULTICAST_ADDPATH, RIB_IPV6_UNICAST_ADDPATH and
RIB_IPV6_MULTICAST_ADDPATH subtypes. RIB_IPV6_MULTICAST_ADDPATH subtypes.
5.2. RIB_GENERIC_ADDPATH Subtype 4.2. RIB_GENERIC_ADDPATH Subtype
The fields of this subtype are identical to the equivalent non- The fields of this subtype are identical to the equivalent non-
additional-path versions specified in section 4.3.3 [RFC6396]. These additional-path versions specified in section 4.3.3 [RFC6396]. These
fields continue to encapsulate the raw and additional-path enabled fields continue to encapsulate the raw and additional-path enabled
AFI/SAFI/NLRI in the record, and the raw attributes in the RIB AFI/SAFI/NLRI in the record, and the raw attributes in the RIB
Entries. Entries.
For clarity, the RIB Entries in this subtype are not redefined. For clarity, the RIB Entries in this subtype are not redefined.
6. IANA Considerations 5. IANA Considerations
This document requests that IANA assign the following subtype codes This document requests that IANA assign the following subtype codes
to the MRT name space [1]: to the MRT name space [1]:
6.1. BGP4MP/BGP4MP_ET Subtype codes: 5.1. BGP4MP/BGP4MP_ET Subtype codes:
BGP4MP_MESSAGE_ADDPATH = 8 (Section 4)
BGP4MP_MESSAGE_AS4_ADDPATH = 9 (Section 4) BGP4MP_MESSAGE_ADDPATH = 8 (Section 3)
BGP4MP_MESSAGE_LOCAL_ADDPATH = 10 (Section 4) BGP4MP_MESSAGE_AS4_ADDPATH = 9 (Section 3)
BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH = 11 (Section 4) BGP4MP_MESSAGE_LOCAL_ADDPATH = 10 (Section 3)
BGP4MP_MESSAGE_AS4_LOCAL_ADDPATH = 11 (Section 3)
The values provided above are suggested as they are used in The values provided above are suggested as they are used in
implementations. implementations.
6.2. TABLE_DUMP_V2 Subtype codes: 5.2. TABLE_DUMP_V2 Subtype codes:
RIB_IPV4_UNICAST_ADDPATH = 8 (Section 5.1) RIB_IPV4_UNICAST_ADDPATH = 8 (Section 4.1)
RIB_IPV4_MULTICAST_ADDPATH = 9 (Section 5.1) RIB_IPV4_MULTICAST_ADDPATH = 9 (Section 4.1)
RIB_IPV6_UNICAST_ADDPATH = 10 (Section 5.1) RIB_IPV6_UNICAST_ADDPATH = 10 (Section 4.1)
RIB_IPV6_MULTICAST_ADDPATH = 11 (Section 5.1) RIB_IPV6_MULTICAST_ADDPATH = 11 (Section 4.1)
RIB_GENERIC_ADDPATH = 12 (Section 5.2) RIB_GENERIC_ADDPATH = 12 (Section 4.2)
The values provided above are suggested as they are used in The values provided above are suggested as they are used in
implementations. implementations.
7. Security Considerations 6. Security Considerations
It is not believed that this document adds any additional security It is not believed that this document adds any additional security
considerations. considerations.
However, the security considerations of [RFC6396] are equally However, the security considerations of [RFC6396] are equally
applicable to this document, and this document permits the export of applicable to this document, and this document permits the export of
more detailed routing data. more detailed routing data.
An organization that uses the MRT format to store their BGP routing An organization that uses the MRT format to store their BGP routing
information should be aware that supporting these extensions permits information should be aware that supporting these extensions permits
more detailed network path information to be stored, and should more detailed network path information to be stored, and should
consider the implications of this within their environment. consider the implications of this within their environment.
An organization that peers with public BGP collectors, and enables An organization that peers with public BGP collectors, and enables
the additional-paths capability on a peering session, should be aware the additional-paths capability on a peering session, should be aware
that it is exporting not only its best paths, but potentially other that it is exporting not only its best paths, but potentially other
paths within its networks. The BGP peer should consider any and all paths within its networks. The BGP peer should consider any and all
implications of exposing this additional data. implications of exposing this additional data.
8. References 7. References
8.1. Normative References
[I-D.ietf-idr-add-paths]
Walton, D., Retana, A., Chen, E., and J. Scudder,
"Advertisement of Multiple Paths in BGP", draft-ietf-idr-
add-paths-15 (work in progress), May 2016.
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 7.1. Normative References
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC6396] Blunk, L., Karir, M., and C. Labovitz, "Multi-Threaded [RFC6396] Blunk, L., Karir, M., and C. Labovitz, "Multi-Threaded
Routing Toolkit (MRT) Routing Information Export Format", Routing Toolkit (MRT) Routing Information Export Format",
RFC 6396, DOI 10.17487/RFC6396, October 2011, RFC 6396, DOI 10.17487/RFC6396, October 2011,
<http://www.rfc-editor.org/info/rfc6396>. <http://www.rfc-editor.org/info/rfc6396>.
8.2. Informative References [RFC7911] Walton, D., Retana, A., Chen, E., and J. Scudder,
"Advertisement of Multiple Paths in BGP", RFC 7911,
[RFC2629] Rose, M., "Writing I-Ds and RFCs using XML", RFC 2629, DOI 10.17487/RFC7911, July 2016,
DOI 10.17487/RFC2629, June 1999, <http://www.rfc-editor.org/info/rfc7911>.
<http://www.rfc-editor.org/info/rfc2629>.
[RFC3552] Rescorla, E. and B. Korver, "Guidelines for Writing RFC
Text on Security Considerations", BCP 72, RFC 3552,
DOI 10.17487/RFC3552, July 2003,
<http://www.rfc-editor.org/info/rfc3552>.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
DOI 10.17487/RFC5226, May 2008,
<http://www.rfc-editor.org/info/rfc5226>.
8.3. URIs 7.2. URIs
[1] https://www.iana.org/assignments/mrt/mrt.xhtml [1] https://www.iana.org/assignments/mrt/mrt.xhtml
Authors' Addresses Authors' Addresses
Colin Petrie Colin Petrie
RIPE NCC RIPE NCC
Stationsplein 11 Stationsplein 11
Amsterdam 1012 AB Amsterdam 1012 AB
NL NL
 End of changes. 30 change blocks. 
85 lines changed or deleted 54 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/