summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc9296.txt
blob: 898cda76d41331043e2e4e94730624112eae9f01 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
Independent Submission                                            D. Liu
Request for Comments: 9296                                    J. Halpern
Category: Informational                                         C. Zhang
ISSN: 2070-1721                                                 Ericsson
                                                             August 2022


  ifStackTable for the Point-to-Point (P2P) Interface over a LAN Type:
                        Definition and Examples

Abstract

   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.

   This document provides advice about the ifStack for the P2P interface
   over a LAN Type to facilitate operational control, maintenance, and
   statistics.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   This is a contribution to the RFC Series, independently of any other
   RFC stream.  The RFC Editor has chosen to publish this document at
   its 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.

   Information about the current status of this document, any errata,
   and how to provide feedback on it may be obtained 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) 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.

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

   [RFC5309] defines the Point-to-Point (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.

   To simplify configuration and operational control, it is helpful to
   represent the fact that an interface is to be considered a P2P
   interface over a 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 (i.e., there is no need to explicitly configure the P2P
   interface in routing protocols).

   It is 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 make use of
   ifStackTables, the P2P interface over a LAN type is intended to be
   used solely as a means to signal that the upper-layer interface of
   link-data layer is a P2P interface.  Thus, the upper and lower layers
   of P2P over a LAN type are expected to apply appropriate semantics.
   In general, 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 assignment of 303 as the value for the p2pOverLan ifType was made
   by Expert Review (see [Assignment] and [RFC8126]).  The purpose of
   this document is to serve as a reference for ifType 303 by suggesting
   how the ifStackTable for the P2P interface over a LAN type is to be
   used and providing 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.

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].  Therefore, 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 network layer "ipForward" to enable IP routing, and 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 (defined in
   the iana-if-type YANG module [IANA-ifTYPE]).

   The P2P interface over the LAN type ifStackTable can be defined along
   the lines of the following example, which complies with [RFC8343] and
   [RFC6991].  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.

   <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>

                                  Figure 1

3.2.  P2P Interface Statistics

   Because multiple IP interfaces can be bound to one physical port, the
   statistics on the physical port SHOULD be a complete set that
   includes statistics of all upper-layer interfaces.  Therefore, 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.

4.  Security Considerations

   The writable attribute "admin-status" of the p2povervlan ifType is
   inherited from [RFC8343].  Other objects associated with the
   p2povervlan ifType are read-only.  With this in mind, the
   considerations discussed in Section 7 of [RFC8343] otherwise apply to
   the p2povervlan ifType.

5.  IANA Considerations

   In the "Interface Types (ifType)" registry, value 303 is assigned to
   p2pOverLan [Assignment].  As this document explains how the
   p2pOverLan (303) ifType is to be used, IANA has amended the reference
   for p2pOverLan (303) to point to this document (instead of [RFC5309])
   and made a similar amendment 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

   If the underlying interface is a 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>

                                  Figure 2

   If the underlying interface is Link Aggregation Group (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>

                                  Figure 3

   If the 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>

                                  Figure 4

   If the 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>

                                  Figure 5

   If the 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>

                                  Figure 6

   If the P2P interface is administratively up but the underlying
   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>up</admin-status>
                <oper-status>down</oper-status>
             </interface>
   <CODE ENDS>

                                  Figure 7

Acknowledgements

   The authors would like to thank Rob Wilton for his reviews and
   valuable comments and suggestions.

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