draft-ietf-idr-rfc5575bis-15.txt   draft-ietf-idr-rfc5575bis-16.txt 
IDR Working Group C. Loibl IDR Working Group C. Loibl
Internet-Draft Next Layer Communications Internet-Draft Next Layer Communications
Obsoletes: 5575,7674 (if approved) S. Hares Obsoletes: 5575,7674 (if approved) S. Hares
Intended status: Standards Track Huawei Intended status: Standards Track Huawei
Expires: November 30, 2019 R. Raszuk Expires: December 2, 2019 R. Raszuk
Bloomberg LP Bloomberg LP
D. McPherson D. McPherson
Verisign Verisign
M. Bacher M. Bacher
T-Mobile Austria T-Mobile Austria
May 29, 2019 May 31, 2019
Dissemination of Flow Specification Rules Dissemination of Flow Specification Rules
draft-ietf-idr-rfc5575bis-15 draft-ietf-idr-rfc5575bis-16
Abstract Abstract
This document defines a Border Gateway Protocol Network Layer This document defines a Border Gateway Protocol Network Layer
Reachability Information (BGP NLRI) encoding format that can be used Reachability Information (BGP NLRI) encoding format that can be used
to distribute traffic Flow Specifications. This allows the routing to distribute traffic Flow Specifications. This allows the routing
system to propagate information regarding more specific components of system to propagate information regarding more specific components of
the traffic aggregate defined by an IP destination prefix. the traffic aggregate defined by an IP destination prefix.
It specifies IPv4 traffic Flow Specifications via a BGP NLRI which It specifies IPv4 traffic Flow Specifications via a BGP NLRI which
skipping to change at page 2, line 20 skipping to change at page 2, line 20
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 https://datatracker.ietf.org/drafts/current/. Drafts is at https://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 November 30, 2019. This Internet-Draft will expire on December 2, 2019.
Copyright Notice Copyright Notice
Copyright (c) 2019 IETF Trust and the persons identified as the Copyright (c) 2019 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
(https://trustee.ietf.org/license-info) in effect on the date of (https://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
skipping to change at page 9, line 24 skipping to change at page 9, line 24
e - end-of-list bit. Set in the last {op, value} pair in the e - end-of-list bit. Set in the last {op, value} pair in the
list. list.
a - AND bit. If unset, the previous term is logically ORed with a - AND bit. If unset, the previous term is logically ORed with
the current one. If set, the operation is a logical AND. In the the current one. If set, the operation is a logical AND. In the
first operator byte of a sequence it SHOULD be encoded as unset first operator byte of a sequence it SHOULD be encoded as unset
and and MUST be treated as always unset on decoding. The AND and and MUST be treated as always unset on decoding. The AND
operator has higher priority than OR for the purposes of operator has higher priority than OR for the purposes of
evaluating logical expressions. evaluating logical expressions.
len - length of the value field for this operand given as (1 << len - length of the value field for this operator given as (1 <<
len). This encodes 1 (00) - 8 (11) bytes. Type 3 flow component len). This encodes 1 (00) - 8 (11) bytes. Type 3 flow component
values SHOULD be encoded as single byte (len = 00). values SHOULD be encoded as single byte (len = 00).
0 - SHOULD be set to 0 on NLRI encoding, and MUST be ignored 0 - SHOULD be set to 0 on NLRI encoding, and MUST be ignored
during decoding during decoding
lt - less than comparison between data and value. lt - less than comparison between data and value.
gt - greater than comparison between data and value. gt - greater than comparison between data and value.
skipping to change at page 11, line 44 skipping to change at page 11, line 44
Bitmask values can be encoded as a 1- or 2-byte bitmask. When a Bitmask values can be encoded as a 1- or 2-byte bitmask. When a
single byte is specified, it matches byte 13 of the TCP header single byte is specified, it matches byte 13 of the TCP header
[RFC0793], which contains bits 8 though 15 of the 4th 32-bit word. [RFC0793], which contains bits 8 though 15 of the 4th 32-bit word.
When a 2-byte encoding is used, it matches bytes 12 and 13 of the When a 2-byte encoding is used, it matches bytes 12 and 13 of the
TCP header with the data offset field having a "don't care" value. TCP header with the data offset field having a "don't care" value.
This component evaluates to FALSE for packets that are not TCP This component evaluates to FALSE for packets that are not TCP
packets. packets.
This type uses the bitmask operand format, which differs from the This type uses the bitmask operator format, which differs from the
numeric operator format in the lower nibble. numeric operator format in the lower nibble.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+
| e | a | len | 0 | 0 |not| m | | e | a | len | 0 | 0 |not| m |
+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+
Bitmask format Bitmask operator
e, a, len - Most significant nibble: (end-of-list bit, AND bit, and e, a, len - Most significant nibble: (end-of-list bit, AND bit, and
length field), as defined for in the numeric operator format in length field), as defined for in the numeric operator format in
Section 4.2.3. Section 4.2.3.
not - NOT bit. If set, logical negation of operation. not - NOT bit. If set, logical negation of operation.
m - Match bit. If set, this is a bitwise match operation defined m - Match bit. If set, this is a bitwise match operation defined
as "(data AND value) == value"; if unset, (data AND value) as "(data AND value) == value"; if unset, (data AND value)
evaluates to TRUE if any of the bits in the value mask are set in evaluates to TRUE if any of the bits in the value mask are set in
the data the data
0 - all 0 bits SHOULD be set to 0 on NLRI encoding, and MUST be 0 - all 0 bits SHOULD be set to 0 on NLRI encoding, and MUST be
ignored during decoding ignored during decoding
4.2.10. Type 10 - Packet length 4.2.10. Type 10 - Packet length
Encoding:<type (1 octet), [op, bitmask]+> Encoding:<type (1 octet), [op, value]+>
Defines a list of {operator, value} pairs used to match on the Defines a list of {operator, value} pairs used to match on the
total IP packet length (excluding Layer 2 but including IP total IP packet length (excluding Layer 2 but including IP
header). This list is encoded using the numeric operator format header). This list is encoded using the numeric operator format
defined in Section 4.2.3. Values SHOULD be encoded using 1- or defined in Section 4.2.3. Values SHOULD be encoded using 1- or
2-byte quantities. 2-byte quantities.
4.2.11. Type 11 - DSCP (Diffserv Code Point) 4.2.11. Type 11 - DSCP (Diffserv Code Point)
Encoding:<type (1 octet), [op, value]+> Encoding:<type (1 octet), [op, value]+>
skipping to change at page 12, line 51 skipping to change at page 12, line 51
DSCP field [RFC2474]. This list is encoded using the numeric DSCP field [RFC2474]. This list is encoded using the numeric
operator format defined in Section 4.2.3. Values SHOULD be operator format defined in Section 4.2.3. Values SHOULD be
encoded using a single byte. The six least significant bits encoded using a single byte. The six least significant bits
contain the DSCP value. All other bits SHOULD be encoded as zero contain the DSCP value. All other bits SHOULD be encoded as zero
and ignored on decoding. and ignored on decoding.
4.2.12. Type 12 - Fragment 4.2.12. Type 12 - Fragment
Encoding:<type (1 octet), [op, bitmask]+> Encoding:<type (1 octet), [op, bitmask]+>
Uses bitmask operand format defined in Section 4.2.9. Uses bitmask operator format defined in Section 4.2.9.
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+
| 0 | 0 | 0 | 0 |LF |FF |IsF|DF | | 0 | 0 | 0 | 0 |LF |FF |IsF|DF |
+---+---+---+---+---+---+---+---+ +---+---+---+---+---+---+---+---+
Bitmask values: Bitmask values:
Bit 7 - Don't fragment (DF) Bit 7 - Don't fragment (DF)
 End of changes. 9 change blocks. 
9 lines changed or deleted 9 lines changed or added

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