Export of Segment Routing IPv6 Information in
IP Flow Information Export (IPFIX)SwisscomBinzring 17Zurich8045Switzerlandthomas.graf@swisscom.comHuaweibenoit.claise@huawei.comThis document introduces new IP Flow Information Export (IPFIX)
information elements to identify the SRv6 Segment Routing Header
dimensions and SRv6 Control Plane Protocol that traffic is being
forwarded with.A new type of Routing Extension Header called Segment Routing Header
(SRH) is defined by which is used for applying
Segment Routing (SR) on the IPv6 data plane.Three routing protocol extensions, OSPFv3 Extensions,
IS-IS
Extensions, BGP Prefix
Segment Identifiers (Prefix-SIDs) and one Path Computation Element
Communication Protocol (PCEP) Extension have been defined to
propagate Segment Identifiers (SIDs) for the IPv6 data plane.This document defines eight new IPFIX Information Elements (IEs) and
two new subregistries within the "IPFIX Information Elements" registry
, respectively for the new SRH dimensions and
routing protocol and PCEP extensions.This section defines and describes the new IPFIX IEs. 8-bit flags
defined in the SRH. 16-bit tag field
defined in the SRH that marks a packet as part of a class or group
of packets sharing the same set of properties. 128-bit IPv6
address that represents an SRv6 segment.
Ordered basicList of zero or more 128-bit
IPv6 addresses in the SRH that represents the SRv6 segment list. The
Segment List is encoded starting from the active segment of the SR
Policy.
Exposes the SRH Segment List as defined in section 2 of as series of n octets. 8-bit
unsigned integer defining the number of route segments remaining to
reach the end of the segment list. Exposes the
SRH and its TLV's as defined in section 2 of as series of n octets. Name of
the routing protocol or PCEP extension from where the active SRv6
segment has been learned from.By using ipv6SRHSegmentBasicList(TBD4), ipv6SRHSegmentsLeft (TBD6),
ipv6SRHSegmentType(TBD8) and forwardingStatus(89) it is possible to
identifyhow many packets are forwarded or droppedif dropped, for which reasons,identify the control plane protocol which defined the active
segment,the SRv6 segment list andhow many SRv6 segments are left.This document requests IANA to create new IEs (see table1) and two
new subregistries called "IPFIX IPv6 SRH Flags" (table 2) and "IPFIX
IPv6 SRH Segment type" (table 3) under the "IPFIX Information Elements"
registry available at and assign the following code initial points.Note to the RFC-Editor:Please replace TBD1 - TBD12 with the values allocated by IANAPlease replace the [RFC-to-be] with the RFC number assigned to
this documentName: ipv6SRHFlags ElementID: TBD1 Description: This Information Element identifies the
8-bit flags defined in the SRH. Values for this Information Element
are listed in the "IPFIX IPv6 SRH Flags" registry, see [IANA-IPFIX].
Initial values in the registry are defined by the table below. New
assignments of values will be administered by IANA and are subject to
Expert Review . Experts need to check
definitions of new values for completeness, accuracy, and redundancy.
Abstract Data Type: unsigned8
Data Type Semantics: flags Reference: [RFC-to-be], RFC8754Name: ipv6SRHTag ElementID: TBD2 Description: This Information Element identifies the
16-bit tag field defined in the SRH that marks a packet as part of a
class or group of packets sharing the same set of properties. Abstract Data Type: unsigned16 Data Type Semantics: identifier Reference: [RFC-to-be], RFC8754Name: ipv6SRHSegment ElementID: TBD3
Description: This Information Element
identifies the 128-bit IPv6 address that represents an SRv6 segment.
Abstract Data Type: ipv6address Data Type Semantics: default
Reference: [RFC-to-be], RFC8754Name: ipv6SRHSegmentBasicList ElementID:
TBD4 Description: This Information Element
identifies the Ordered basicList [RFC6313] of zero or more 128-bit
IPv6 addresses in the SRH that represents the SRv6 segment list. The
Segment List is encoded starting from the active segment of the SR
Policy. Abstract Data Type: basicList Data Type Semantics: list
Reference: [RFC-to-be], RFC8754Name: ipv6SRHSegmentListSection ElementID:
TBD5 Description: Exposes the SRH Segment
List as defined in section 2 of as series of
n octets. Abstract Data Type: octetArray
Data Type Semantics: default Reference: [RFC-to-be], RFC8754Name: ipv6SRHSegmentsLeft ElementID: TBD6
Description: This Information Element
identifies the 8-bit unsigned integer defining the number of route
segments remaining to reach the end of the segment list. Abstract Data Type: unsigned8 Data Type Semantics: quantity Reference: [RFC-to-be], RFC8754Name: ipv6SRHSection ElementID: TBD7
Description: This Information Element exposes
the SRH and its TLV's as defined in s ection 2 of as series of n octets.
Abstract Data Type: octetArray Data Type
Semantics: default Reference: [RFC-to-be],
RFC8754Name: ipv6SRHSegmentType ElementID: TBD8
Description: This Information Element
identifies the name of the routing protocol or PCEP extension from
where the active SRv6 segment has been learned from. Values for this
Information Element are listed in the "IPFIX IPv6 SRH Segment type"
registry, see [IANA-IPFIX]. Initial values in the registry are defined
by the table below. New assignments of values will be administered by
IANA and are subject to Expert Review .
Experts need to check definitions of new values for completeness,
accuracy, and redundancy. Abstract Data Type: unsigned8
Data Type Semantics: identifier Reference: [RFC-to-be]The zero or more 128-bit IPv6 addresses in the SRH [RFC8754] can be
exported in two different ways, with two different IPFIX IEs:ipv6SRHSegmentBasicListipv6SRHSegmentListSectionThe ipv6SRHSegmentBasicList encodes the SID list of IPv6 addresses
with a basicList, specified in the IPFIX Structured Data . This encoding offers the advantage to the data
collection that the different IPv6 addresses are already structured as a
list, without the need of post processing. However, this method requires
some extra processing on the exporter, to realize the BasicList data
mapping.The ipv6SRHSegmentListSection, on the other hand, encodes the list of
IPv6 addresses as an octetArray. This doesn't impose any data flow
manipulation on the exporter, facilitating the immediate export.
However, the data collection must be able to decode the IPv6 addresses
according the SR specifications.It is not expected that an exporter would support both
ipv6SRHSegmentBasicList and ipv6SRHSegmentListSection at the same
time.There exists no significant extra security considerations regarding
the allocation of these new IPFIX IEs compared to .I would like to thank Pierre Francois, Yao Liu and Paolo Lucente for
their review and valuable comments.IANA, "IP Flow Information Export (IPFIX) Entities"In this section an example is provided to show the encoding format
for the newly introduced IEs.In this example, the Template ID is 256, which will be used in the
Data Record. The field length for ipv6SRHSegmentBasicList is 0xFFFF,
which means the length of this IE is variable, and the actual length
of this IE is indicated by the List Length field in the basicList
format as per .The data set is represented as follows: