RFC 9296
ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples
ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type: Definition and Examples π¦
RFC 9296 π Independent Submission, Category: Informational, ISSN 2070-1721 Authors: D. Liu, J. Halpern, C. Zhang (all from Ericsson) π Date: August 2022 π This RFC doesn't list anything it obsoletes or updates, so it stands on its own β¨
Abstract πΈ
okay so [RFC5309] defines the Point-to-Point (P2P) circuit type, which is one of the two circuit types used in the link-state routing protocols. It's giving "pay attention," because it says identifying the correct circuit type is super important when you're forming adjacencies, flooding link-state database packets, and monitoring the link state π
This doc gives advice about the ifStack for the P2P interface over a LAN Type, so ops folks can keep control, maintenance, and statistics organized π
Status of This Memo π§
This document is not an Internet Standards Track specification. It's published for informational purposes, so chill π«Ά
It's a contribution to the RFC Series, independent of any other RFC stream. The RFC Editor picked to publish it at their discretion and makes no statement about its value for implementation or deployment. Documents approved for publication by the RFC Editor are not candidates for any level of Internet Standard. See Section 2 of RFC 7841 for that π
Info about the current status of this document, any errata, and how to send feedback lives at https://www.rfc-editor.org/info/rfc9296 π₯
Copyright Notice π
Copyright (c) 2022 IETF Trust and the persons identified as the document authors. All rights reserved β¨
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) as they're in effect on the publication date. Please read these carefully, because they spell out your rights and restrictions for this document π
Table of Contents π
1. Introduction
2. Requirements Language
3. Interface Stack Table for P2P Interface Type
3.1. P2P Interface: higher-layer-if and lower-layer-if
3.2. P2P Interface Statistics
3.3. P2P Interface Administrative State
4. Security Considerations
5. IANA Considerations
6. References
6.1. Normative References
6.2. Informative References
Appendix A. Examples
Acknowledgements
Authors' Addresses
1. Introduction π§ββοΈ
Bestie, [RFC5309] defines the Point-to-Point (P2P) circuit type and highlights that it's important to identify the correct circuit type when forming adjacencies, flooding link-state database packets, and monitoring the link state π
To make configuration and operational control easier, it helps to show explicitly in the interface stack that an interface should be treated as a P2P interface over a LAN type π This lets routing protocols automatically inherit the correct operating mode from the interface stack, so you don't have to configure the P2P interface in routing protocols separately (no cap, that's a whole lot less config) β¨
It's also helpful to map the P2P interface over a LAN type in the interface management stack table. If no entry specifies the lower layer of the P2P interface, then management tools lose the ability to retrieve and measure properties specific to lower layers π
In standard network management protocols that use ifStackTables, the P2P interface over a LAN type is meant to be used only as a way to signal that the upper-layer interface of the link-data layer is a P2P interface π¦ So the upper and lower layers of P2P over a LAN type are expected to apply appropriate semantics. Generally, the higher layer of a P2P over a LAN type SHOULD be "ipForward" (value 142 in [Assignment]), and the lower layer of P2P over a LAN type SHOULD be any appropriate link-data layer of "ipForward" π
The value 303 for the p2pOverLan ifType was assigned by Expert Review (see [Assignment] and [RFC8126]). This document is the reference for ifType 303. It explains how the ifStackTable for the P2P interface over a LAN type should be used and gives examples π
It should be noted that this document reflects the operating model used on some routers. Other routers that use different models may not represent a P2P as a separate interface π
2. 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 π₯ Anything in lowercase is just regular English, so don't overthink it π
3. Interface Stack Table for P2P Interface Type π
3.1. P2P Interface: higher-layer-if and lower-layer-if π
If a device implements the IF-MIB [RFC2863], then each entry in the /interfaces/interface list (see "A YANG Data Model for Interface Management" [RFC8343]) in the operational state is typically mapped to one ifEntry, as required in [RFC8343]. So the P2P interface over a LAN type should also be fully mapped to one ifEntry by defining the ifStackTable (higher-layer-if and lower-layer-if, defined in [RFC8343]) β¨
In the ifStackTable, the higher layer of the P2P interface over a LAN type SHALL be the network layer "ipForward" to enable IP routing. The lower layer of the P2P interface over a LAN type SHOULD be any link-data layer that can be bound to "ipForward", including "ethernetCsmacd", "ieee8023adLag", "l2vlan", and so on (all defined in the iana-if-type YANG module [IANA-ifTYPE]) π§
The P2P interface over the LAN type ifStackTable can be set up along the lines of the example below, which complies with [RFC8343] and [RFC6991] π In the example, lower-layer-if takes "ethernetCsmacd", but honestly, lower-layer-if can be any other available link-data layer. See Appendix A for more examples π
<interface>
<name>isis_int</name>
<type>ianaift:ipForward</type>
</interface>
<interface>
<name>eth1</name>
<type>ianaift:ethernetCsmacd</type>
</interface>
<interface>
<name>p2p</name>
<type>ianaift:p2pOverLan</type>
<higher-layer-if>isis_int</higher-layer-if>
<lower-layer-if>eth1</lower-layer-if>
<enabled>false</enabled>
<admin-status>down</admin-status>
<oper-status>down</oper-status>
<statistics>
<discontinuity-time>
2021-04-01T03:00:00+00:00
</discontinuity-time>
<!-- counters now shown here -->
</statistics>
</interface>
Figure 1 π¦
3.2. P2P Interface Statistics πΈ
Multiple IP interfaces can be bound to one physical port, so the statistics on the physical port SHOULD be a complete set that includes statistics of all upper-layer interfaces. That's why each P2P interface collects and displays traffic that has been sent to it via higher layers or received from it via lower layers πβ¨
3.3. P2P Interface Administrative State π
The P2P interface can be shut down independently of the underlying interface π
If the P2P interface is administratively up, then the oper-status (defined in [RFC8343]) of that interface SHALL fully reflect the state of the underlying interface. If the P2P interface is administratively down, then the oper-status of that interface SHALL be down. Examples can be found in Appendix A π«Ά
β οΈ This part matters: the SHALL rules here are strict, so don't skip them when you implement π
4. Security Considerations π
Okay, this section is serious, so listen up π The writable attribute admin-status of the p2povervlan ifType is inherited from [RFC8343]. Every other object associated with the p2povervlan ifType is read-only. With that in mind, the considerations discussed in Section 7 of [RFC8343] otherwise apply to the p2povervlan ifType too π₯
5. IANA Considerations π
In the "Interface Types (ifType)" registry, value 303 is assigned to p2pOverLan [Assignment] π Since this document explains how the p2pOverLan (303) ifType is to be used, IANA updated the reference for p2pOverLan (303) to point here (instead of [RFC5309]). IANA also made a similar change in the YANG iana-if-type module [IANA-ifTYPE] (originally specified in [RFC7224]) π§
6. References π
6.1. Normative References π
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group
MIB", RFC 2863, DOI 10.17487/RFC2863, June 2000,
<https://www.rfc-editor.org/info/rfc2863>.
[RFC5309] Shen, N., Ed. and A. Zinin, Ed., "Point-to-Point Operation
over LAN in Link State Routing Protocols", RFC 5309,
DOI 10.17487/RFC5309, October 2008,
<https://www.rfc-editor.org/info/rfc5309>.
[RFC7224] Bjorklund, M., "IANA Interface Type YANG Module",
RFC 7224, DOI 10.17487/RFC7224, May 2014,
<https://www.rfc-editor.org/info/rfc7224>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
[RFC8343] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 8343, DOI 10.17487/RFC8343, March 2018,
<https://www.rfc-editor.org/info/rfc8343>.
6.2. Informative References πΈ
[Assignment]
IANA, "Interface Types (ifType)",
<https://www.iana.org/assignments/smi-numbers>.
[IANA-ifTYPE]
IANA, "YANG Module Names",
<https://www.iana.org/assignments/yang-parameters>.
[RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types",
RFC 6991, DOI 10.17487/RFC6991, July 2013,
<https://www.rfc-editor.org/info/rfc6991>.
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for
Writing an IANA Considerations Section in RFCs", BCP 26,
RFC 8126, DOI 10.17487/RFC8126, June 2017,
<https://www.rfc-editor.org/info/rfc8126>.
Appendix A. Examples β¨
okay so bestie, this appendix is basically a pile of ready-to-copy examples π
they show what the ifStackTable should look like in different setups. the big idea is that a P2P interface sits on top of an underlying interface, and the examples walk through how the whole stack lines up. it's giving very practical vibes π
If the underlying interface is a VLAN sub-interface, the ifStackTable should be defined as:
<interface>
<name>isis_int</name>
<type>ianaift:ipForward</type>
</interface>
<interface>
<name>eth1_valn1</name>
<type>ianaift:l2vlan</type>
</interface>
<interface>
<name>p2p</name>
<type>ianaift:p2pOverLan</type>
<higher-layer-if>isis_int</higher-layer-if>
<lower-layer-if>eth1_valn1</lower-layer-if>
<enabled>false</enabled>
<admin-status>down</admin-status>
<oper-status>down</oper-status>
<statistics>
<discontinuity-time>
2021-04-01T03:00:00+00:00
</discontinuity-time>
<!-- counters now shown here -->
</statistics>
</interface>
Figure 2 π¦
If the underlying interface is Link Aggregation Group (LAG), the ifStackTable should be defined as:
<interface>
<name>isis_int</name>
<type>ianaift:ipForward</type>
</interface>
<interface>
<name>eth1_lag1</name>
<type>ianaift:ieee8023adLag</type>
</interface>
<interface>
<name>p2p</name>
<type>ianaift:p2pOverLan</type>
<higher-layer-if>isis_int</higher-layer-if>
<lower-layer-if>eth1_lag1</lower-layer-if>
<enabled>false</enabled>
<admin-status>down</admin-status>
<oper-status>down</oper-status>
<statistics>
<discontinuity-time>
2021-04-01T03:00:00+00:00
</discontinuity-time>
<!-- counters now shown here -->
</statistics>
</interface>
Figure 3 π¦
If the P2P interface and underlying interface are both administratively up and the underlying interface operational status is up:
<interface>
<name>p2p</name>
<type>ianaift:p2pOverLan</type>
<higher-layer-if>isis_int</higher-layer-if>
<lower-layer-if>eth1</lower-layer-if>
<admin-status>up</admin-status>
<oper-status>up</oper-status>
</interface>
Figure 4 π¦
If the P2P interface and underlying interface are administratively up but the underlying interface operational status is down:
<interface>
<name>p2p</name>
<type>ianaift:p2pOverLan</type>
<higher-layer-if>isis_int</higher-layer-if>
<lower-layer-if>eth1</lower-layer-if>
<admin-status>up</admin-status>
<oper-status>down</oper-status>
</interface>
Figure 5 π¦
If the P2P interface is administratively down:
<interface>
<name>p2p</name>
<type>ianaift:p2pOverLan</type>
<higher-layer-if>isis_int</higher-layer-if>
<lower-layer-if>eth1</lower-layer-if>
<admin-status>down</admin-status>
<oper-status>down</oper-status>
</interface>
Figure 6 π¦
If the P2P interface is administratively up but the underlying interface is administratively down:
<interface>
<name>p2p</name>
<type>ianaift:p2pOverLan</type>
<higher-layer-if>isis_int</higher-layer-if>
<lower-layer-if>eth1</lower-layer-if>
<admin-status>up</admin-status>
<oper-status>down</oper-status>
</interface>
Figure 7 π¦
Acknowledgements π«Ά
okay bestie, the authors want to give a huge shoutout to Rob Wilton π for his reviews and valuable comments and suggestions. he's literally the reason this is so polished β¨
Authors' Addresses π
Daiying Liu Ericsson No.5 Lize East Street Beijing 100102 China Email: harold.liu@ericsson.com
Joel Halpern Ericsson Email: joel.halpern@ericsson.com
Congjie Zhang Ericsson Email: congjie.zhang@ericsson.com
That's the whole doc, babe! ππ
π¦ where this page comes from
- ietf: rfc9296 2022-08
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms