BGP Prefix ORF: Address-Prefix-Based Outbound Route Filter for BGP-4
A BGP filter type that lets a router ask its neighbor to send only routes whose address prefixes match a list.
Chen, E. and S. Sangli, "Address-Prefix-Based Outbound Route Filter for BGP-4", RFC 5292, DOI 10.17487/RFC5292, August 2008, <https://www.rfc-editor.org/info/rfc5292>.
@misc{rfc5292,
series = {Request for Comments},
number = 5292,
howpublished = {RFC 5292},
publisher = {RFC Editor},
doi = {10.17487/RFC5292},
url = {https://www.rfc-editor.org/info/rfc5292},
author = {E. Chen and S. Sangli},
title = {{Address-Prefix-Based Outbound Route Filter for BGP-4}},
pagetotal = 6,
year = 2008,
month = aug,
} RFC text
Contents
Network Working Group E. Chen
Request for Comments: 5292 S. Sangli
Category: Standards Track Cisco Systems
August 2008
Address-Prefix-Based Outbound Route Filter for BGP-4
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Abstract
This document defines a new Outbound Router Filter (ORF) type for
BGP, termed "Address Prefix Outbound Route Filter", that can be used
to perform address-prefix-based route filtering. This ORF-type
supports prefix-length- or range-based matching, wild-card-based
address prefix matching, as well as the exact address prefix matching
for address families.
1. Introduction
The Outbound Route Filtering Capability defined in [BGP-ORF] provides
a mechanism for a BGP speaker to send to its BGP peer a set of
Outbound Route Filters (ORFs) that can be used by its peer to filter
its outbound routing updates to the speaker.
This documents defines a new ORF-type for BGP, termed "Address Prefix
Outbound Route Filter (Address Prefix ORF)", that can be used to
perform address-prefix-based route filtering. The Address Prefix ORF
supports prefix-length- or range-based matching, wild-card-based
address prefix matching, as well as the exact address prefix matching
for address families [BGP-MP].
2. Address Prefix ORF-Type
The Address Prefix ORF-Type allows one to express ORFs in terms of
address prefixes. That is, it provides address-prefix-based route
filtering, including prefix-length- or range-based matching, as well
as wild-card address prefix matching.
Conceptually, an Address Prefix ORF entry consists of the fields
<Sequence, Match, Length, Prefix, Minlen, Maxlen>.
The "Sequence" field specifies the relative ordering of the entry
among all the Address Prefix ORF entries.
The "Match" field specifies whether this entry is "PERMIT" (value 0)
or "DENY" (value 1).
The "Length" field indicates the length (in bits) of the address
prefix. A length of zero indicates a prefix that matches all (as
specified by the address family) addresses (with the prefix itself of
zero octets).
The "Prefix" field contains an address prefix of an address family.
The "Minlen" field indicates the minimum prefix length (in bits) that
is required for "matching". The field is considered unspecified with
a value of 0.
The "Maxlen" field indicates the maximum prefix length (in bits) that
is required for "matching". The field is considered unspecified with
a value of 0.
The fields "Sequence", "Length", "Minlen", and "Maxlen" are all
unsigned integers.
This document imposes the following requirement on the values of
these fields:
0 <= Length < Minlen <= Maxlen
However, tests related to the "Minlen" or "Maxlen" value should be
omitted when the "Minlen" or "Maxlen" field (respectively) is
unspecified.
In addition, the "Maxlen" value must be no more than the maximum
length (in bits) of a host address for a given address family
[BGP-MP].
3. Address Prefix ORF Encoding
The value of the ORF-Type for the Address Prefix ORF-Type is 64.
An Address Prefix ORF entry is encoded as follows. The "Match" field
of the entry is encoded in the "Match" field of the common part
[BGP-ORF], and the remaining fields of the entry are encoded in the
"Type specific part", as shown in Figure 1.
+--------------------------------+
| Sequence (4 octets) |
+--------------------------------+
| Minlen (1 octet) |
+--------------------------------+
| Maxlen (1 octet) |
+--------------------------------+
| Length (1 octet) |
+--------------------------------+
| Prefix (variable length) |
+--------------------------------+
Figure 1: Address Prefix ORF Encoding
Note that the "Prefix" field contains the address prefix followed by
enough trailing bits to make the end of the field fall on an octet
boundary. The value of the trailing bits is irrelevant.
4. Address Prefix ORF Matching
In addition to the general matching rules defined in [BGP-ORF],
several Address-Prefix-ORF-specific matching rules are defined as
follows.
Consider an Address Prefix ORF entry, and a route maintained by a BGP
speaker with Network Layer Reachability Information (NLRI) in the
form of <Prefix, Length>.
The route is considered as "no match" to the ORF entry if the NLRI is
neither more specific than, nor equal to, the <Prefix, Length> fields
of the ORF entry.
When the NLRI is either more specific than, or equal to, the <Prefix,
Length> fields of the ORF entry, the route is considered as a match
to the ORF entry only if the NLRI match condition as listed in Table
1 is satisfied.
ORF Entry NLRI
Minlen Maxlen Match Condition
+------------------------------------------------------+
| un-spec. un-spec. NLRI.length == ORF.length |
+------------------------------------------------------+
| specified un-spec. NLRI.length >= ORF.Minlen |
+------------------------------------------------------+
| un-spec. specified NLRI.length <= ORF.Maxlen |
+------------------------------------------------------+
| specified specified NLRI.length >= ORF.Minlen |
| AND NLRI.length <= ORF.Maxlen |
+------------------------------------------------------+
Table 1: Address Prefix ORF Matching
When more than one Address Prefix ORF entry matches the NLRI of the
route, the "first-match" rule applies. That is, the ORF entry with
the smallest sequence number (among all the matching ORF entries) is
considered as the sole match, and it would determine whether the
route should be advertised.
The assignment of the sequence numbers is a local matter for the BGP
speaker that sends the Address Prefix ORF entries.
5. IANA Considerations
This document specifies a new Outbound Route Filtering (ORF) type,
Address Prefix ORF. The value of the ORF-type is 64.
6. Security Considerations
This extension to BGP does not change the underlying security issues
in [BGP-4].
7. Normative References
[BGP-4] Rekhter, Y., Ed., Li, T., Ed., and S. Hares, Ed., "A Border
Gateway Protocol 4 (BGP-4)", RFC 4271, January 2006.
[BGP-MP] Bates, T., Chandra, R., Katz, D., and Y. Rekhter,
"Multiprotocol Extensions for BGP-4", RFC 4760, January
2007.
[BGP-ORF] Chen, E., and Y. Rekhter, "Outbound Route Filtering
Capability for BGP-4", RFC 5291, August 2008.
Authors' Addresses
Enke Chen
Cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
EMail: enkechen@cisco.com
Srihari R. Sangli
Cisco Systems, Inc.
170 W. Tasman Dr.
San Jose, CA 95134
EMail: rsrihari@cisco.com
Full Copyright Statement
Copyright (C) The IETF Trust (2008).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY, THE IETF TRUST AND
THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS
OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF
THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
AI ELI5
On this page
§1Introduction
The Outbound Route Filtering capability of RFC 5291 lets a BGP speaker send its peer a set of Outbound Route Filters (ORFs). The peer uses them to filter the routing updates it sends back. RFC 5292 adds a new ORF type, the Address Prefix ORF, which filters on address prefixes.
It supports matching by prefix length or length range, wild-card matching, and exact prefix matching, for the address families of Multiprotocol BGP (RFC 4760).
One router hands its neighbor a list of the kinds of addresses it wants to hear about. The neighbor then stays quiet about the rest.
§2The Address Prefix ORF Entry
An entry has six conceptual fields: Sequence, Match, Length, Prefix, Minlen and Maxlen.
Sequenceorders this entry among all the Address Prefix ORF entries.MatchisPERMIT(0) orDENY(1).Lengthis the prefix length in bits. Zero means a prefix that matches all addresses of the family.Prefixis the address prefix.MinlenandMaxlenare the smallest and largest prefix lengths, in bits, that count as a match. A value of 0 means unspecified.
The values are required to satisfy 0 <= Length < Minlen <= Maxlen, but a test is skipped when its field is unspecified. Maxlen must be no more than the length in bits of a host address for the address family.
Each line of the wish list says yes or no, which addresses it is about, and optionally how long or short the address pattern may be.
§3Encoding
The ORF-type value for the Address Prefix ORF is 64. The Match field goes in the common part defined by RFC 5291. The other fields go in the type-specific part, in this order: Sequence (4 octets), Minlen (1 octet), Maxlen (1 octet), Length (1 octet), then Prefix with variable length.
The prefix is followed by enough trailing bits to end on an octet boundary, and the value of those trailing bits is irrelevant.
Each wish-list line is written in a fixed order of boxes, and the last box is padded so it fills whole bytes.
- 4 octetsSequence — Relative order of the entry.
- 1 octetMinlen — Minimum matching prefix length.
- 1 octetMaxlen — Maximum matching prefix length.
- 1 octetLength — Length of the prefix in bits.
- variablePrefix — Address prefix, padded to an octet boundary.
§4Matching Rules
These rules add to the general matching rules of RFC 5291. A route has NLRI in the form <Prefix, Length>. If the NLRI is neither more specific than nor equal to the entry's <Prefix, Length>, it is not a match. Otherwise the length rule in the table applies.
When several entries match, the first-match rule applies. The entry with the smallest sequence number is the sole match and decides whether the route is advertised. How the sender assigns sequence numbers is a local matter.
The neighbor reads the list from the top. The first line that fits an address decides if it is sent.
| Minlen | Maxlen | NLRI match condition |
|---|---|---|
| unspecified | unspecified | NLRI.length == ORF.length |
| specified | unspecified | NLRI.length >= ORF.Minlen |
| unspecified | specified | NLRI.length <= ORF.Maxlen |
| specified | specified | NLRI.length >= ORF.Minlen AND NLRI.length <= ORF.Maxlen |
§5IANA Considerations
The document specifies a new ORF type, the Address Prefix ORF, with ORF-type value 64.
On the security side, the RFC states that the extension does not change the underlying security issues of BGP-4 (RFC 4271).
The number 64 is reserved for this kind of list, and it adds no new safety worries.