Internet-Draft | IfStackTable for P2poverLAN interface | May 2022 |
Liu, et al. | Expires 8 November 2022 | [Page] |
RFC 5309 defines the Point-to-Point (P2P) circuit type, one of the two circuit types used in the link state routing protocols, and highlights that it is important to identify the correct circuit type when forming adjacencies, flooding link state database packets, and monitoring the link state.¶
The P2P interface over LAN ifType value 303, has been assigned by IANA Expert Review, and this document requests IANA to add this document as a reference to ifType 303. This document provides advice about the ifStack for the P2P interface over LAN ifType to facilitate operational control, maintenance and statistics.¶
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.¶
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.¶
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."¶
This Internet-Draft will expire on 8 November 2022.¶
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) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.¶
[RFC5309] defines the P2P circuit type and highlights that it is important to identify the correct circuit type when forming adjacencies, flooding link state database packets, and monitoring the link state.¶
The assignment of 303, as the value for p2pOverLan ifType was made by Expert Review [Assignment]. This document requests IANA to add this document as a reference to ifType 303.¶
To simplify configuration and operational control, it is helpful to represent the fact that an interface is to be considered a P2P interface over LAN type explicitly in the interface stack. This enables, for example, routing protocols to automatically inherit the correct operating mode from the interface stack without further configuration (No need to explicitly configure the P2P interface in routing protocols).¶
It is helpful to map the P2P interface over LAN type in the interface management stack table. And if no entry specifies the P2P interface lower layer, the management suffers loses the ability to get to the lower layer specific management properties via many tools.¶
The P2P interface over LAN type is intended to be used solely as a means to signal in standard network management protocols that make use of ifStackTables that the upper layer interface is P2P interface, and thus the upper and lower layers of P2P over LAN type will be expected to apply appropriate semantics: In general, P2P over LAN type higher layer SHOULD always be "ipForward" (Value 142, [Assignment]), and the P2P over LAN type lower layer SHOULD be any appropriate link data layer of "ipForward".¶
The purpose of this document is to suggest how to use ifStackTable for the P2P interface over LAN type, and provide examples.¶
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 [RFC2119] [RFC8174].¶
If a device implements the IF-MIB [RFC2863], each entry in the "/interfaces/interface" list (in "Interface Management YANG") in the operational state is typically mapped to one ifEntry as required in [RFC8343], therefore the P2P interface over LAN type should also be fully mapped to one ifEntry by defining the "ifStackTable" ("higher-layer-if" and "lower-layer-if").¶
In ifStackTable the P2P interface over LAN type higher layer SHOULD be network layer "ipForward" to run routing protocol, and the P2P interface over LAN type lower layer SHOULD be any link data layer that can be bound to "ipForward" including "ethernetCsmacd", "ieee8023adLag", "l2vlan", and so on (defined in IANA).¶
The P2P interface over LAN type ifStackTable can be defined along the lines of following example (In the example, "lower-layer-if" takes "ethernetCsmacd" but in fact, "lower-layer-if" can be any other available link data layer. See Appendix A for more examples) which complies with [RFC8343] [RFC6991]:¶
<CODE BEGINS> <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> <CODE ENDS>
Because multiple IP interfaces can be bound to one physical port, the statistics on the physical port SHOULD be a complete set which includes statistics of all upper layer interfaces. Therefore, exactly same as upper layer interface type of P2P interface - "ipForward", the P2P interface ifStackTable only collects and displays the traffic entering this P2P interface.¶
P2P interface can be shutdown independently of the underlying interface, as same as "ipForward".¶
If P2P interface is administratively up and underlying interface is administratively up, then the "oper-status" of the P2P interface ifStackTable SHOULD just mirror the underlying interface; If either the P2P interface is administratively down or underlying interface administratively down, the "oper-status" of the P2P interface ifStackTable SHOULD be down. Details refer to Appendix A.¶
The interface stack table specified in this document is read-only. Read operation to this table should not have a negative effect on network operations.¶
In the Interface Types registry, IANA has assigned a value of 303 for p2pOverLan [Assignment] with a reference of [RFC5309]. IANA is requested to amend the reference for that code point to be to this document and to make a similar amendment in the YANG iana-if-type module (originally specified in [RFC7224]) which currently points to [RFC8561], as this document explains how the ifType is to be used.¶
The authors would like to thank Rob Wilton and Eliot Lear for their reviews and valuable comments and suggestions.¶
In the case of underlying interface is VLAN sub-interface, the ifStackTable should be defined as:¶
<CODE BEGINS> <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> <CODE ENDS>
In the case of underlying interface is LAG, the ifStackTable should be defined as:¶
<CODE BEGINS> <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> <CODE ENDS>
In the case of P2P interface and underlying interface are both administratively up, and the underlying interface operational status is up:¶
<CODE BEGINS> <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> <CODE ENDS>
In the case of P2P interface and underlying interface are administratively up, but the underlying interface operational status is down:¶
<CODE BEGINS> <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> <CODE ENDS>
In the case of P2P interface is administratively down:¶
<CODE BEGINS> <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> <CODE ENDS>
In the case of P2P interface is administratively up but underlying is administratively down:¶
<CODE BEGINS> <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> <CODE ENDS>