draft-ietf-netmod-intf-ext-yang-08.txt | draft-ietf-netmod-intf-ext-yang-09.txt | |||
---|---|---|---|---|
Internet Engineering Task Force R. Wilton, Ed. | Internet Engineering Task Force R. Wilton, Ed. | |||
Internet-Draft D. Ball | Internet-Draft D. Ball | |||
Intended status: Standards Track T. Singh | Intended status: Standards Track T. Singh | |||
Expires: May 7, 2020 Cisco Systems | Expires: January 14, 2021 Cisco Systems | |||
S. Sivaraj | S. Sivaraj | |||
Juniper Networks | Juniper Networks | |||
November 4, 2019 | July 13, 2020 | |||
Common Interface Extension YANG Data Models | Common Interface Extension YANG Data Models | |||
draft-ietf-netmod-intf-ext-yang-08 | draft-ietf-netmod-intf-ext-yang-09 | |||
Abstract | Abstract | |||
This document defines two YANG modules that augment the Interfaces | This document defines two YANG modules that augment the Interfaces | |||
data model defined in the "YANG Data Model for Interface Management" | data model defined in the "YANG Data Model for Interface Management" | |||
with additional configuration and operational data nodes to support | with additional configuration and operational data nodes to support | |||
common lower layer interface properties, such as interface MTU. | common lower layer interface properties, such as interface MTU. | |||
The YANG modules in this document conform to the Network Management | The YANG modules in this document conform to the Network Management | |||
Datastore Architecture (NMDA) defined in RFC 8342. | Datastore Architecture (NMDA) defined in RFC 8342. | |||
skipping to change at page 1, line 39 ¶ | skipping to change at page 1, line 39 ¶ | |||
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 May 7, 2020. | This Internet-Draft will expire on January 14, 2021. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2019 IETF Trust and the persons identified as the | Copyright (c) 2020 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 | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 | 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 | 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 4 | |||
2. Interface Extensions Module . . . . . . . . . . . . . . . . . 4 | 2. Interface Extensions Module . . . . . . . . . . . . . . . . . 4 | |||
2.1. Carrier Delay . . . . . . . . . . . . . . . . . . . . . . 5 | 2.1. Carrier Delay . . . . . . . . . . . . . . . . . . . . . . 5 | |||
2.2. Dampening . . . . . . . . . . . . . . . . . . . . . . . . 6 | 2.2. Dampening . . . . . . . . . . . . . . . . . . . . . . . . 6 | |||
2.2.1. Suppress Threshold . . . . . . . . . . . . . . . . . 7 | 2.2.1. Suppress Threshold . . . . . . . . . . . . . . . . . 7 | |||
2.2.2. Half-Life Period . . . . . . . . . . . . . . . . . . 7 | 2.2.2. Half-Life Period . . . . . . . . . . . . . . . . . . 7 | |||
2.2.3. Reuse Threshold . . . . . . . . . . . . . . . . . . . 7 | 2.2.3. Reuse Threshold . . . . . . . . . . . . . . . . . . . 7 | |||
2.2.4. Maximum Suppress Time . . . . . . . . . . . . . . . . 7 | 2.2.4. Maximum Suppress Time . . . . . . . . . . . . . . . . 7 | |||
2.3. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 7 | 2.3. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 7 | |||
2.4. Loopback . . . . . . . . . . . . . . . . . . . . . . . . 8 | 2.4. Loopback . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
2.5. Maximum frame size . . . . . . . . . . . . . . . . . . . 8 | 2.5. Maximum frame size . . . . . . . . . . . . . . . . . . . 8 | |||
2.6. Sub-interface . . . . . . . . . . . . . . . . . . . . . . 8 | 2.6. Sub-interface . . . . . . . . . . . . . . . . . . . . . . 8 | |||
2.7. Forwarding Mode . . . . . . . . . . . . . . . . . . . . . 9 | 2.7. Forwarding Mode . . . . . . . . . . . . . . . . . . . . . 9 | |||
3. Interfaces Ethernet-Like Module . . . . . . . . . . . . . . . 9 | 3. Interfaces Ethernet-Like Module . . . . . . . . . . . . . . . 9 | |||
4. Interface Extensions YANG Module . . . . . . . . . . . . . . 10 | 4. Interface Extensions YANG Module . . . . . . . . . . . . . . 10 | |||
5. Interfaces Ethernet-Like YANG Module . . . . . . . . . . . . 20 | 5. Interfaces Ethernet-Like YANG Module . . . . . . . . . . . . 21 | |||
6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 24 | 6. Examples . . . . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
6.1. Carrier delay configuration . . . . . . . . . . . . . . . 24 | 6.1. Carrier delay configuration . . . . . . . . . . . . . . . 25 | |||
6.2. Dampening configuration . . . . . . . . . . . . . . . . . 25 | 6.2. Dampening configuration . . . . . . . . . . . . . . . . . 26 | |||
6.3. MAC address configuration . . . . . . . . . . . . . . . . 26 | 6.3. MAC address configuration . . . . . . . . . . . . . . . . 27 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 28 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8. ChangeLog . . . . . . . . . . . . . . . . . . . . . . . . . . 28 | 8. ChangeLog . . . . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8.1. Version -08 . . . . . . . . . . . . . . . . . . . . . . . 28 | 8.1. Version -09 . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8.2. Version -07 . . . . . . . . . . . . . . . . . . . . . . . 28 | 8.2. Version -08 . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8.3. Version -06 . . . . . . . . . . . . . . . . . . . . . . . 28 | 8.3. Version -07 . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8.4. Version -05 . . . . . . . . . . . . . . . . . . . . . . . 28 | 8.4. Version -06 . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8.5. Version -04 . . . . . . . . . . . . . . . . . . . . . . . 28 | 8.5. Version -05 . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8.6. Version -03 . . . . . . . . . . . . . . . . . . . . . . . 28 | 8.6. Version -04 . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
8.7. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 28 | 8.7. Version -03 . . . . . . . . . . . . . . . . . . . . . . . 29 | |||
9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 | 8.8. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
10. Security Considerations . . . . . . . . . . . . . . . . . . . 29 | 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 30 | |||
10.1. ietf-if-extensions.yang . . . . . . . . . . . . . . . . 29 | 9.1. YANG Module Registrations . . . . . . . . . . . . . . . . 30 | |||
10.2. ietf-if-ethernet-like.yang . . . . . . . . . . . . . . . 30 | 10. Security Considerations . . . . . . . . . . . . . . . . . . . 31 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 | 10.1. ietf-if-extensions.yang . . . . . . . . . . . . . . . . 31 | |||
11.1. Normative References . . . . . . . . . . . . . . . . . . 30 | 10.2. ietf-if-ethernet-like.yang . . . . . . . . . . . . . . . 32 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 31 | 11. References . . . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 32 | 11.1. Normative References . . . . . . . . . . . . . . . . . . 32 | |||
11.2. Informative References . . . . . . . . . . . . . . . . . 33 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 34 | ||||
1. Introduction | 1. Introduction | |||
This document defines two NMDA compatible [RFC8342] YANG 1.1 | This document defines two NMDA compatible [RFC8342] YANG 1.1 | |||
[RFC7950] modules for the management of network interfaces. It | [RFC7950] modules for the management of network interfaces. It | |||
defines various augmentations to the generic interfaces data model | defines various augmentations to the generic interfaces data model | |||
[RFC8343] to support configuration of lower layer interface | [RFC8343] to support configuration of lower layer interface | |||
properties that are common across many types of network interface. | properties that are common across many types of network interface. | |||
One of the aims of this document is to provide a standard definition | One of the aims of this document is to provide a standard definition | |||
skipping to change at page 10, line 18 ¶ | skipping to change at page 10, line 18 ¶ | |||
augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
+--rw ethernet-like | +--rw ethernet-like | |||
+--rw mac-address? yang:mac-address | +--rw mac-address? yang:mac-address | |||
| {configurable-mac-address}? | | {configurable-mac-address}? | |||
+--ro bia-mac-address? yang:mac-address | +--ro bia-mac-address? yang:mac-address | |||
augment /if:interfaces/if:interface/if:statistics: | augment /if:interfaces/if:interface/if:statistics: | |||
+--ro in-drop-unknown-dest-mac-pkts? yang:counter64 | +--ro in-drop-unknown-dest-mac-pkts? yang:counter64 | |||
4. Interface Extensions YANG Module | 4. Interface Extensions YANG Module | |||
This YANG module augments the interface container defined in RFC 8343 | This YANG module augments the interface container defined in | |||
[RFC8343]. | [RFC8343]. It also contains references to [RFC6991] and [RFC7224]. | |||
<CODE BEGINS> file "ietf-if-extensions@2019-11-04.yang" | <CODE BEGINS> file "ietf-if-extensions@2019-11-04.yang" | |||
module ietf-if-extensions { | module ietf-if-extensions { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-if-extensions"; | namespace "urn:ietf:params:xml:ns:yang:ietf-if-extensions"; | |||
prefix if-ext; | prefix if-ext; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
skipping to change at page 11, line 39 ¶ | skipping to change at page 11, line 39 ¶ | |||
NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | NOT', 'SHOULD', 'SHOULD NOT', 'RECOMMENDED', 'NOT RECOMMENDED', | |||
'MAY', and 'OPTIONAL' in this document are to be interpreted as | 'MAY', and 'OPTIONAL' in this document are to be interpreted as | |||
described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | described in BCP 14 (RFC 2119) (RFC 8174) when, and only when, | |||
they appear in all capitals, as shown here."; | they appear in all capitals, as shown here."; | |||
revision 2019-11-04 { | revision 2019-11-04 { | |||
description | description | |||
"Initial revision."; | "Initial revision."; | |||
reference | reference | |||
"RFC XXX, Common Interface Extension YANG Data Models"; | "RFC XXXX, Common Interface Extension YANG Data Models"; | |||
} | } | |||
feature carrier-delay { | feature carrier-delay { | |||
description | description | |||
"This feature indicates that configurable interface | "This feature indicates that configurable interface carrier | |||
carrier delay is supported, which is a feature is used to | delay is supported, which is a feature is used to limit the | |||
limit the propagation of very short interface link state | propagation of very short interface link state flaps."; | |||
flaps."; | reference "RFC XXXX, Section 2.1 Carrier Delay"; | |||
reference "RFC XXX, Section 2.1 Carrier Delay"; | ||||
} | } | |||
feature dampening { | feature dampening { | |||
description | description | |||
"This feature indicates that the device supports interface | "This feature indicates that the device supports interface | |||
dampening, which is a feature that is used to limit the | dampening, which is a feature that is used to limit the | |||
propagation of interface link state flaps over longer | propagation of interface link state flaps over longer | |||
periods."; | periods."; | |||
reference "RFC XXX, Section 2.2 Dampening"; | reference "RFC XXXX, Section 2.2 Dampening"; | |||
} | } | |||
feature loopback { | feature loopback { | |||
description | description | |||
"This feature indicates that configurable interface loopback | "This feature indicates that configurable interface loopback is | |||
is supported."; | supported."; | |||
reference "RFC XXX, Section 2.4 Loopback"; | reference "RFC XXXX, Section 2.4 Loopback"; | |||
} | } | |||
feature max-frame-size { | feature max-frame-size { | |||
description | description | |||
"This feature indicates that the device supports configuring | "This feature indicates that the device supports configuring or | |||
or reporting the maximum frame size on interfaces."; | reporting the maximum frame size on interfaces."; | |||
reference "RFC XXX, Section 2.5 Maximum Frame Size"; | reference "RFC XXXX, Section 2.5 Maximum Frame Size"; | |||
} | } | |||
feature sub-interfaces { | feature sub-interfaces { | |||
description | description | |||
"This feature indicates that the device supports the | "This feature indicates that the device supports the | |||
instantiation of sub-interfaces. Sub-interfaces are defined | instantiation of sub-interfaces. Sub-interfaces are defined | |||
as logical child interfaces that allow features and forwarding | as logical child interfaces that allow features and forwarding | |||
decisions to be applied to a subset of the traffic processed | decisions to be applied to a subset of the traffic processed | |||
on the specified parent interface."; | on the specified parent interface."; | |||
reference "RFC XXX, Section 2.6 Sub-interface"; | reference "RFC XXXX, Section 2.6 Sub-interface"; | |||
} | } | |||
/* | /* | |||
* Define common identities to help allow interface types to be | * Define common identities to help allow interface types to be | |||
* assigned properties. | * assigned properties. | |||
*/ | */ | |||
identity sub-interface { | identity sub-interface { | |||
description | description | |||
"Base type for generic sub-interfaces. | "Base type for generic sub-interfaces. | |||
New or custom interface types can derive from this type to | New or custom interface types can derive from this type to | |||
inherit generic sub-interface configuration."; | inherit generic sub-interface configuration."; | |||
reference "RFC XXX, Section 2.6 Sub-interface"; | reference "RFC XXXX, Section 2.6 Sub-interface"; | |||
} | } | |||
identity ethSubInterface{ | identity ethSubInterface{ | |||
base ianaift:l2vlan; | base ianaift:l2vlan; | |||
base sub-interface; | base sub-interface; | |||
description | description | |||
"This identity represents the child sub-interface of any | "This identity represents the child sub-interface of any | |||
interface types that uses Ethernet framing (with or without | interface types that uses Ethernet framing (with or without | |||
802.1Q tagging)."; | 802.1Q tagging)."; | |||
} | } | |||
identity loopback { | identity loopback { | |||
description "Base identity for interface loopback options"; | description "Base identity for interface loopback options"; | |||
reference "RFC XXX, Section 2.4"; | reference "RFC XXXX, Section 2.4"; | |||
} | } | |||
identity internal { | identity internal { | |||
base loopback; | base loopback; | |||
description | description | |||
"All egress traffic on the interface is internally looped back | "All egress traffic on the interface is internally looped back | |||
within the interface to be received on the ingress path."; | within the interface to be received on the ingress path."; | |||
reference "RFC XXX, Section 2.4"; | reference "RFC XXXX, Section 2.4"; | |||
} | } | |||
identity line { | identity line { | |||
base loopback; | base loopback; | |||
description | description | |||
"All ingress traffic received on the interface is internally | "All ingress traffic received on the interface is internally | |||
looped back within the interface to the egress path."; | looped back within the interface to the egress path."; | |||
reference "RFC XXX, Section 2.4"; | reference "RFC XXXX, Section 2.4"; | |||
} | } | |||
identity connector { | identity connector { | |||
base loopback; | base loopback; | |||
description | description | |||
"The interface has a physical loopback connector attached that | "The interface has a physical loopback connector attached that | |||
loops all egress traffic back into the interface's ingress | loops all egress traffic back into the interface's ingress | |||
path, with equivalent semantics to loopback internal."; | path, with equivalent semantics to loopback internal."; | |||
reference "RFC XXX, Section 2.4"; | reference "RFC XXXX, Section 2.4"; | |||
} | } | |||
identity forwarding-mode { | identity forwarding-mode { | |||
description "Base identity for forwarding-mode options."; | description "Base identity for forwarding-mode options."; | |||
reference "RFC XXX, Section 2.7"; | reference "RFC XXXX, Section 2.7"; | |||
} | } | |||
identity physical { | identity physical { | |||
base forwarding-mode; | base forwarding-mode; | |||
description | description | |||
"Physical layer forwarding. This includes DWDM or OTN based | "Physical layer forwarding. This includes DWDM or OTN based | |||
optical switching."; | optical switching."; | |||
reference "RFC XXX, Section 2.7"; | reference "RFC XXXX, Section 2.7"; | |||
} | } | |||
identity data-link { | identity data-link { | |||
base forwarding-mode; | base forwarding-mode; | |||
description | description | |||
"Layer 2 based forwarding, such as Ethernet/VLAN based | "Layer 2 based forwarding, such as Ethernet/VLAN based | |||
switching, or L2VPN services."; | switching, or L2VPN services."; | |||
reference "RFC XXX, Section 2.7"; | reference "RFC XXXX, Section 2.7"; | |||
} | } | |||
identity network { | identity network { | |||
base forwarding-mode; | base forwarding-mode; | |||
description | description | |||
"Network layer based forwarding, such as IP, MPLS, or L3VPNs."; | "Network layer based forwarding, such as IP, MPLS, or L3VPNs."; | |||
reference "RFC XXX, Section 2.7"; | reference "RFC XXXX, Section 2.7"; | |||
} | } | |||
/* | /* | |||
* Augments the IETF interfaces model with leaves to configure | * Augments the IETF interfaces model with leaves to configure | |||
* and monitor carrier-delay on an interface. | * and monitor carrier-delay on an interface. | |||
*/ | */ | |||
augment "/if:interfaces/if:interface" { | augment "/if:interfaces/if:interface" { | |||
description | description | |||
"Augments the IETF interface model with optional common | "Augments the IETF interface model with optional common | |||
interface level commands that are not formally covered by any | interface level commands that are not formally covered by any | |||
skipping to change at page 15, line 49 ¶ | skipping to change at page 15, line 49 ¶ | |||
actually down."; | actually down."; | |||
} | } | |||
} | } | |||
config false; | config false; | |||
description | description | |||
"Reports whether a carrier delay timer is actively running, | "Reports whether a carrier delay timer is actively running, | |||
in which case the interface state does not match the | in which case the interface state does not match the | |||
underlying carrier state."; | underlying carrier state."; | |||
} | } | |||
reference "RFC XXX, Section 2.1 Carrier Delay"; | reference "RFC XXXX, Section 2.1 Carrier Delay"; | |||
} | } | |||
/* | /* | |||
* Augments the IETF interfaces model with a container to hold | * Augments the IETF interfaces model with a container to hold | |||
* generic interface dampening | * generic interface dampening | |||
*/ | */ | |||
container dampening { | container dampening { | |||
if-feature "dampening"; | if-feature "dampening"; | |||
presence | presence | |||
"Enable interface link flap dampening with default settings | "Enable interface link flap dampening with default settings | |||
(that are vendor/device specific)."; | (that are vendor/device specific)."; | |||
description | description | |||
"Interface dampening limits the propagation of interface link | "Interface dampening limits the propagation of interface link | |||
state flaps over longer periods."; | state flaps over longer periods."; | |||
reference "RFC XXX, Section 2.2 Dampening"; | reference "RFC XXXX, Section 2.2 Dampening"; | |||
leaf half-life { | leaf half-life { | |||
type uint32; | type uint32; | |||
units seconds; | units seconds; | |||
description | description | |||
"The time (in seconds) after which a penalty would be half | "The time (in seconds) after which a penalty would be half | |||
its original value. Once the interface has been assigned | its original value. Once the interface has been assigned | |||
a penalty, the penalty is decreased at a decay rate | a penalty, the penalty is decreased at a decay rate | |||
equivalent to the half-life. For some devices, the | equivalent to the half-life. For some devices, the | |||
allowed values may be restricted to particular multiples | allowed values may be restricted to particular multiples | |||
of seconds. The default value is vendor/device | of seconds. The default value is vendor/device | |||
specific."; | specific."; | |||
reference "RFC XXX, Section 2.3.2 Half-Life Period"; | reference "RFC XXXX, Section 2.3.2 Half-Life Period"; | |||
} | } | |||
leaf reuse { | leaf reuse { | |||
type uint32; | type uint32; | |||
description | description | |||
"Penalty value below which a stable interface is | "Penalty value below which a stable interface is | |||
unsuppressed (i.e. brought up) (no units). The default | unsuppressed (i.e. brought up) (no units). The default | |||
value is vendor/device specific. The penalty value for a | value is vendor/device specific. The penalty value for a | |||
link up->down state change is 1000 units."; | link up->down state change is 1000 units."; | |||
reference "RFC XXX, Section 2.2.3 Reuse Threshold"; | reference "RFC XXXX, Section 2.2.3 Reuse Threshold"; | |||
} | } | |||
leaf suppress { | leaf suppress { | |||
type uint32; | type uint32; | |||
description | description | |||
"Limit at which an interface is suppressed (i.e. held down) | "Limit at which an interface is suppressed (i.e. held down) | |||
when its penalty exceeds that limit (no units). The value | when its penalty exceeds that limit (no units). The value | |||
must be greater than the reuse threshold. The default | must be greater than the reuse threshold. The default | |||
value is vendor/device specific. The penalty value for a | value is vendor/device specific. The penalty value for a | |||
link up->down state change is 1000 units."; | link up->down state change is 1000 units."; | |||
reference "RFC XXX, Section 2.2.1 Suppress Threshold"; | reference "RFC XXXX, Section 2.2.1 Suppress Threshold"; | |||
} | } | |||
leaf max-suppress-time { | leaf max-suppress-time { | |||
type uint32; | type uint32; | |||
units seconds; | units seconds; | |||
description | description | |||
"Maximum time (in seconds) that an interface can be | "Maximum time (in seconds) that an interface can be | |||
suppressed before being unsuppressed if no further link | suppressed before being unsuppressed if no further link | |||
up->down state change penalties have been applied. This | up->down state change penalties have been applied. This | |||
value effectively acts as a ceiling that the penalty value | value effectively acts as a ceiling that the penalty value | |||
cannot exceed. The default value is vendor/device | cannot exceed. The default value is vendor/device | |||
specific."; | specific."; | |||
reference "RFC XXX, Section 2.2.4 Maximum Suppress Time"; | reference "RFC XXXX, Section 2.2.4 Maximum Suppress Time"; | |||
} | } | |||
leaf penalty { | leaf penalty { | |||
type uint32; | type uint32; | |||
config false; | config false; | |||
description | description | |||
"The current penalty value for this interface. When the | "The current penalty value for this interface. When the | |||
penalty value exceeds the 'suppress' leaf then the | penalty value exceeds the 'suppress' leaf then the | |||
interface is suppressed (i.e. held down)."; | interface is suppressed (i.e. held down)."; | |||
reference "RFC XXX, Section 2.2 Dampening"; | reference "RFC XXXX, Section 2.2 Dampening"; | |||
} | } | |||
leaf suppressed { | leaf suppressed { | |||
type boolean; | type boolean; | |||
config false; | config false; | |||
description | description | |||
"Represents whether the interface is suppressed (i.e. held | "Represents whether the interface is suppressed (i.e. held | |||
down) because the 'penalty' leaf value exceeds the | down) because the 'penalty' leaf value exceeds the | |||
'suppress' leaf."; | 'suppress' leaf."; | |||
reference "RFC XXX, Section 2.2 Dampening"; | reference "RFC XXXX, Section 2.2 Dampening"; | |||
} | } | |||
leaf time-remaining { | leaf time-remaining { | |||
when '../suppressed = "true"' { | when '../suppressed = "true"' { | |||
description | description | |||
"Only suppressed interfaces have a time remaining."; | "Only suppressed interfaces have a time remaining."; | |||
} | } | |||
type uint32; | type uint32; | |||
units seconds; | units seconds; | |||
config false; | config false; | |||
description | description | |||
"For a suppressed interface, this leaf represents how long | "For a suppressed interface, this leaf represents how long | |||
(in seconds) that the interface will remain suppressed | (in seconds) that the interface will remain suppressed | |||
before it is allowed to go back up again."; | before it is allowed to go back up again."; | |||
reference "RFC XXX, Section 2.2 Dampening"; | reference "RFC XXXX, Section 2.2 Dampening"; | |||
} | } | |||
} | } | |||
/* | /* | |||
* Various types of interfaces support a configurable layer 2 | * Various types of interfaces support a configurable layer 2 | |||
* encapsulation, any that are supported by YANG should be | * encapsulation, any that are supported by YANG should be | |||
* listed here. | * listed here. | |||
* | * | |||
* Different encapsulations can hook into the common encaps-type | * Different encapsulations can hook into the common encaps-type | |||
* choice statement. | * choice statement. | |||
*/ | */ | |||
skipping to change at page 18, line 34 ¶ | skipping to change at page 18, line 34 ¶ | |||
"All interface types that can have a configurable L2 | "All interface types that can have a configurable L2 | |||
encapsulation."; | encapsulation."; | |||
} | } | |||
description | description | |||
"Holds the OSI layer 2 encapsulation associated with an | "Holds the OSI layer 2 encapsulation associated with an | |||
interface."; | interface."; | |||
choice encaps-type { | choice encaps-type { | |||
description | description | |||
"Extensible choice of layer 2 encapsulations"; | "Extensible choice of layer 2 encapsulations"; | |||
reference "RFC XXX, Section 2.3 Encapsulation"; | reference "RFC XXXX, Section 2.3 Encapsulation"; | |||
} | } | |||
} | } | |||
/* | /* | |||
* Various types of interfaces support loopback configuration, | * Various types of interfaces support loopback configuration, | |||
* any that are supported by YANG should be listed here. | * any that are supported by YANG should be listed here. | |||
*/ | */ | |||
leaf loopback { | leaf loopback { | |||
when "derived-from-or-self(../if:type, | when "derived-from-or-self(../if:type, | |||
'ianaift:ethernetCsmacd') or | 'ianaift:ethernetCsmacd') or | |||
skipping to change at page 19, line 8 ¶ | skipping to change at page 19, line 8 ¶ | |||
derived-from-or-self(../if:type, 'ianaift:atm') or | derived-from-or-self(../if:type, 'ianaift:atm') or | |||
derived-from-or-self(../if:type, 'ianaift:otnOtu')" { | derived-from-or-self(../if:type, 'ianaift:otnOtu')" { | |||
description | description | |||
"All interface types that support loopback configuration."; | "All interface types that support loopback configuration."; | |||
} | } | |||
if-feature "loopback"; | if-feature "loopback"; | |||
type identityref { | type identityref { | |||
base loopback; | base loopback; | |||
} | } | |||
description "Enables traffic loopback."; | description "Enables traffic loopback."; | |||
reference "RFC XXX, Section 2.4 Loopback"; | reference "RFC XXXX, Section 2.4 Loopback"; | |||
} | } | |||
/* | /* | |||
* Allows the maximum frame size to be configured or reported. | * Allows the maximum frame size to be configured or reported. | |||
*/ | */ | |||
leaf max-frame-size { | leaf max-frame-size { | |||
if-feature "max-frame-size"; | if-feature "max-frame-size"; | |||
type uint32 { | type uint32 { | |||
range "64 .. max"; | range "64 .. max"; | |||
} | } | |||
skipping to change at page 19, line 30 ¶ | skipping to change at page 19, line 30 ¶ | |||
"The maximum size of layer 2 frames that may be transmitted | "The maximum size of layer 2 frames that may be transmitted | |||
or received on the interface (including any frame header, | or received on the interface (including any frame header, | |||
maximum frame payload size, and frame checksum sequence). | maximum frame payload size, and frame checksum sequence). | |||
If configured, the max-frame-size also limits the maximum | If configured, the max-frame-size also limits the maximum | |||
frame size of any child sub-interfaces. The MTU available | frame size of any child sub-interfaces. The MTU available | |||
to higher layer protocols is restricted to the maximum frame | to higher layer protocols is restricted to the maximum frame | |||
payload size, and MAY be further restricted by explicit | payload size, and MAY be further restricted by explicit | |||
layer 3 or protocol specific MTU configuration."; | layer 3 or protocol specific MTU configuration."; | |||
reference "RFC XXX, Section 2.5 Maximum Frame Size"; | reference "RFC XXXX, Section 2.5 Maximum Frame Size"; | |||
} | } | |||
/* | /* | |||
* Augments the IETF interfaces model with a leaf that indicates | * Augments the IETF interfaces model with a leaf that indicates | |||
* which mode, or layer, is being used to forward the traffic. | * which mode, or layer, is being used to forward the traffic. | |||
*/ | */ | |||
leaf forwarding-mode { | leaf forwarding-mode { | |||
type identityref { | type identityref { | |||
base forwarding-mode; | base forwarding-mode; | |||
} | } | |||
config false; | config false; | |||
description | description | |||
"The forwarding mode that the interface is operating in."; | "The forwarding mode that the interface is operating in."; | |||
reference "RFC XXX, Section 2.7 Forwarding Mode"; | reference "RFC XXXX, Section 2.7 Forwarding Mode"; | |||
} | } | |||
} | } | |||
/* | /* | |||
* Add generic support for sub-interfaces. | * Add generic support for sub-interfaces. | |||
* | * | |||
* This should be extended to cover all interface types that are | * This should be extended to cover all interface types that are | |||
* child interfaces of other interfaces. | * child interfaces of other interfaces. | |||
*/ | */ | |||
augment "/if:interfaces/if:interface" { | augment "/if:interfaces/if:interface" { | |||
skipping to change at page 20, line 28 ¶ | skipping to change at page 20, line 28 ¶ | |||
"Adds a parent interface field to interfaces that model | "Adds a parent interface field to interfaces that model | |||
sub-interfaces."; | sub-interfaces."; | |||
leaf parent-interface { | leaf parent-interface { | |||
type if:interface-ref; | type if:interface-ref; | |||
mandatory true; | mandatory true; | |||
description | description | |||
"This is the reference to the parent interface of this | "This is the reference to the parent interface of this | |||
sub-interface."; | sub-interface."; | |||
reference "RFC XXX, Section 2.6 Sub-interface"; | reference "RFC XXXX, Section 2.6 Sub-interface"; | |||
} | ||||
} | ||||
/* | ||||
* Add discard counter for unknown sub-interface encapsulation | ||||
*/ | ||||
augment "/if:interfaces/if:interface/if:statistics" { | ||||
when "derived-from-or-self(../if:type, | ||||
'ianaift:ethernetCsmacd') or | ||||
derived-from-or-self(../if:type, | ||||
'ianaift:ieee8023adLag') or | ||||
derived-from-or-self(../if:type, 'ianaift:ifPwType')" { | ||||
description | ||||
"Applies to interfaces that can demux to sub-interfaces"; | ||||
} | ||||
if-feature "sub-interfaces"; | ||||
description | ||||
"Augment the interface model statistics with a sub-interface | ||||
demux discard counter."; | ||||
leaf in-discard-unknown-encaps { | ||||
type yang:counter64; | ||||
units frames; | ||||
description | ||||
"A count of the number of frames that were well formed, but | ||||
otherwise discarded because their encapsulation does not | ||||
classify to the interface or any child sub-interface. E.g., | ||||
a packet might be discarded because the it has an unknown | ||||
VLAN Id, or does not have a VLAN Id when one is expected. | ||||
For consistency, frames counted against this counter are | ||||
also counted against the IETF interfaces statistics. In | ||||
particular, they are included in in-octets and in-discards, | ||||
but are not included in in-unicast-pkts, in-multicast-pkts | ||||
or in-broadcast-pkts, because they are not delivered to a | ||||
higher layer. | ||||
Discontinuities in the values of this counter can occur at | ||||
re-initialization of the management system, and at other | ||||
times as indicated by the value of the 'discontinuity-time' | ||||
leaf defined in the ietf-interfaces YANG module | ||||
(RFC 8343)."; | ||||
} | } | |||
} | } | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
5. Interfaces Ethernet-Like YANG Module | 5. Interfaces Ethernet-Like YANG Module | |||
This YANG module augments the interface container defined in RFC 8343 | This YANG module augments the interface container defined in RFC 8343 | |||
[RFC8343] for Ethernet-like interfaces. This includes Ethernet | [RFC8343] for Ethernet-like interfaces. This includes Ethernet | |||
interfaces, 802.3 LAG (802.1AX) interfaces, VLAN sub-interfaces, | interfaces, 802.3 LAG (802.1AX) interfaces, Switch Virtual | |||
Switch Virtual interfaces, and Pseudo-Wire Head-End interfaces. | interfaces, and Pseudo-Wire Head-End interfaces. It also contains | |||
references to [RFC6991], [RFC7224], and [IEEE802.3.2-2019]. | ||||
<CODE BEGINS> file "ietf-if-ethernet-like@2019-11-04.yang" | <CODE BEGINS> file "ietf-if-ethernet-like@2019-11-04.yang" | |||
module ietf-if-ethernet-like { | module ietf-if-ethernet-like { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace | namespace | |||
"urn:ietf:params:xml:ns:yang:ietf-if-ethernet-like"; | "urn:ietf:params:xml:ns:yang:ietf-if-ethernet-like"; | |||
prefix ethlike; | prefix ethlike; | |||
import ietf-interfaces { | ||||
prefix if; | ||||
reference | ||||
"RFC 8343: A YANG Data Model For Interface Management"; | ||||
} | ||||
import ietf-yang-types { | import ietf-interfaces { | |||
prefix yang; | prefix if; | |||
reference "RFC 6991: Common YANG Data Types"; | reference | |||
} | "RFC 8343: A YANG Data Model For Interface Management"; | |||
import iana-if-type { | } | |||
prefix ianaift; | ||||
reference "RFC 7224: IANA Interface Type YANG Module"; | ||||
} | ||||
organization | import ietf-yang-types { | |||
"IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | prefix yang; | |||
reference "RFC 6991: Common YANG Data Types"; | ||||
} | ||||
contact | import iana-if-type { | |||
"WG Web: <http://tools.ietf.org/wg/netmod/> | prefix ianaift; | |||
WG List: <mailto:netmod@ietf.org> | reference "RFC 7224: IANA Interface Type YANG Module"; | |||
} | ||||
Editor: Robert Wilton | organization | |||
<mailto:rwilton@cisco.com>"; | "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | |||
description | contact | |||
"This module contains YANG definitions for configuration for | "WG Web: <http://tools.ietf.org/wg/netmod/> | |||
'Ethernet-like' interfaces. It is applicable to all interface | WG List: <mailto:netmod@ietf.org> | |||
types that use Ethernet framing and expose an Ethernet MAC | ||||
layer, and includes such interfaces as physical Ethernet | ||||
interfaces, Ethernet LAG interfaces and VLAN sub-interfaces. | ||||
Additional interface configuration and counters for physical | Editor: Robert Wilton | |||
Ethernet interfaces are defined in | <mailto:rwilton@cisco.com>"; | |||
ieee802-ethernet-interface.yang, as part of IEEE Std | ||||
802.3.2-2019. | ||||
Copyright (c) 2019 IETF Trust and the persons identified as | description | |||
authors of the code. All rights reserved. | "This module contains YANG definitions for configuration for | |||
'Ethernet-like' interfaces. It is applicable to all interface | ||||
types that use Ethernet framing and expose an Ethernet MAC | ||||
layer, and includes such interfaces as physical Ethernet | ||||
interfaces, Ethernet LAG interfaces and VLAN sub-interfaces. | ||||
Redistribution and use in source and binary forms, with or | Additional interface configuration and counters for physical | |||
without modification, is permitted pursuant to, and subject to | Ethernet interfaces are defined in | |||
the license terms contained in, the Simplified BSD License set | ieee802-ethernet-interface.yang, as part of IEEE Std | |||
forth in Section 4.c of the IETF Trust's Legal Provisions | 802.3.2-2019. | |||
Relating to IETF Documents | ||||
(https://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of RFC XXXX | Copyright (c) 2019 IETF Trust and the persons identified as | |||
(https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | authors of the code. All rights reserved. | |||
for full legal notices."; | ||||
revision 2019-11-04 { | Redistribution and use in source and binary forms, with or | |||
description "Initial revision."; | without modification, is permitted pursuant to, and subject to | |||
the license terms contained in, the Simplified BSD License set | ||||
forth in Section 4.c of the IETF Trust's Legal Provisions | ||||
Relating to IETF Documents | ||||
(https://trustee.ietf.org/license-info). | ||||
reference | This version of this YANG module is part of RFC XXXX | |||
"RFC XXX, Common Interface Extension YANG Data Models"; | (https://www.rfc-editor.org/info/rfcXXXX); see the RFC itself | |||
} | for full legal notices."; | |||
feature configurable-mac-address { | revision 2019-11-04 { | |||
description | description "Initial revision."; | |||
"This feature indicates that MAC addresses on Ethernet-like | ||||
interfaces can be configured."; | ||||
reference "RFC XXX, Section 3 Interfaces Ethernet-Like Module"; | ||||
} | ||||
/* | reference | |||
* Configuration parameters for Ethernet-like interfaces. | "RFC XXXX, Common Interface Extension YANG Data Models"; | |||
*/ | } | |||
augment "/if:interfaces/if:interface" { | ||||
when "derived-from-or-self(if:type, 'ianaift:ethernetCsmacd') or | ||||
derived-from-or-self(if:type, 'ianaift:ieee8023adLag') or | ||||
derived-from-or-self(if:type, 'ianaift:ifPwType')" { | ||||
description "Applies to all Ethernet-like interfaces"; | ||||
} | ||||
description | ||||
"Augment the interface model with parameters for all | ||||
Ethernet-like interfaces."; | ||||
container ethernet-like { | feature configurable-mac-address { | |||
description | description | |||
"Contains parameters for interfaces that use Ethernet framing | "This feature indicates that MAC addresses on Ethernet-like | |||
and expose an Ethernet MAC layer."; | interfaces can be configured."; | |||
reference | ||||
"RFC XXXX, Section 3, Interfaces Ethernet-Like Module"; | ||||
} | ||||
leaf mac-address { | /* | |||
if-feature "configurable-mac-address"; | * Configuration parameters for Ethernet-like interfaces. | |||
type yang:mac-address; | */ | |||
description | augment "/if:interfaces/if:interface" { | |||
"The MAC address of the interface. The operational value | when "derived-from-or-self(if:type, 'ianaift:ethernetCsmacd') or | |||
matches the /if:interfaces/if:interface/if:phys-address | derived-from-or-self(if:type, 'ianaift:ieee8023adLag') or | |||
leaf defined in ietf-interface.yang."; | derived-from-or-self(if:type, 'ianaift:ifPwType')" { | |||
} | description "Applies to all Ethernet-like interfaces"; | |||
} | ||||
description | ||||
"Augment the interface model with parameters for all | ||||
Ethernet-like interfaces."; | ||||
leaf bia-mac-address { | container ethernet-like { | |||
type yang:mac-address; | description | |||
config false; | "Contains parameters for interfaces that use Ethernet framing | |||
description | and expose an Ethernet MAC layer."; | |||
"The 'burnt-in' MAC address. I.e the default MAC address | ||||
assigned to the interface if no MAC address has been | ||||
explicitly configured on it."; | ||||
} | ||||
} | ||||
} | ||||
/* | leaf mac-address { | |||
* Configuration parameters for Ethernet-like interfaces. | if-feature "configurable-mac-address"; | |||
*/ | type yang:mac-address; | |||
augment "/if:interfaces/if:interface/if:statistics" { | description | |||
when "derived-from-or-self(../if:type, | "The MAC address of the interface. The operational value | |||
'ianaift:ethernetCsmacd') or | matches the /if:interfaces/if:interface/if:phys-address | |||
derived-from-or-self(../if:type, | leaf defined in ietf-interface.yang."; | |||
'ianaift:ieee8023adLag') or | } | |||
derived-from-or-self(../if:type, 'ianaift:ifPwType')" { | ||||
description "Applies to all Ethernet-like interfaces"; | ||||
} | ||||
description | ||||
"Augment the interface model statistics with additional | ||||
counters related to Ethernet-like interfaces."; | ||||
leaf in-drop-unknown-dest-mac-pkts { | leaf bia-mac-address { | |||
type yang:counter64; | type yang:mac-address; | |||
units frames; | config false; | |||
description | description | |||
"A count of the number of frames that were well formed, but | "The 'burnt-in' MAC address. I.e the default MAC address | |||
otherwise dropped because the destination MAC address did | assigned to the interface if no MAC address has been | |||
not pass any ingress destination MAC address filter. | explicitly configured on it."; | |||
} | ||||
} | ||||
} | ||||
For consistency, frames counted against this drop counters | /* | |||
are also counted against the IETF interfaces statistics. In | * Configuration parameters for Ethernet-like interfaces. | |||
particular, they are included in in-octets and in-discards, | */ | |||
but are not included in in-unicast-pkts, in-multicast-pkts | augment "/if:interfaces/if:interface/if:statistics" { | |||
or in-broadcast-pkts, because they are not delivered to a | when "derived-from-or-self(../if:type, | |||
higher layer. | 'ianaift:ethernetCsmacd') or | |||
derived-from-or-self(../if:type, | ||||
'ianaift:ieee8023adLag') or | ||||
derived-from-or-self(../if:type, 'ianaift:ifPwType')" { | ||||
description "Applies to all Ethernet-like interfaces"; | ||||
} | ||||
description | ||||
"Augment the interface model statistics with additional | ||||
counters related to Ethernet-like interfaces."; | ||||
Discontinuities in the values of this counter can occur at | leaf in-discard-unknown-dest-mac-pkts { | |||
re-initialization of the management system, and at other | type yang:counter64; | |||
times as indicated by the value of the 'discontinuity-time' | units frames; | |||
leaf defined in the ietf-interfaces YANG module (RFC 8343)."; | description | |||
} | "A count of the number of frames that were well formed, but | |||
} | otherwise discarded because the destination MAC address did | |||
} | not pass any ingress destination MAC address filter. | |||
<CODE ENDS> | ||||
For consistency, frames counted against this counter are | ||||
also counted against the IETF interfaces statistics. In | ||||
particular, they are included in in-octets and in-discards, | ||||
but are not included in in-unicast-pkts, in-multicast-pkts | ||||
or in-broadcast-pkts, because they are not delivered to a | ||||
higher layer. | ||||
Discontinuities in the values of this counter can occur at | ||||
re-initialization of the management system, and at other | ||||
times as indicated by the value of the 'discontinuity-time' | ||||
leaf defined in the ietf-interfaces YANG module | ||||
(RFC 8343)."; | ||||
} | ||||
} | ||||
} | ||||
<CODE ENDS> | ||||
6. Examples | 6. Examples | |||
The following sections give some examples of how different parts of | The following sections give some examples of how different parts of | |||
the YANG modules could be used. Examples are not given for the more | the YANG modules could be used. Examples are not given for the more | |||
trivial configuration, or for sub-interfaces, for which examples are | trivial configuration, or for sub-interfaces, for which examples are | |||
contained in [I-D.ietf-netmod-sub-intf-vlan-model]. | contained in [I-D.ietf-netmod-sub-intf-vlan-model]. | |||
6.1. Carrier delay configuration | 6.1. Carrier delay configuration | |||
skipping to change at page 28, line 17 ¶ | skipping to change at page 29, line 17 ¶ | |||
The authors wish to thank Eric Gray, Ing-Wher Chen, Jon Culver, | The authors wish to thank Eric Gray, Ing-Wher Chen, Jon Culver, | |||
Juergen Schoenwaelder, Ladislav Lhotka, Lou Berger, Mahesh | Juergen Schoenwaelder, Ladislav Lhotka, Lou Berger, Mahesh | |||
Jethanandani, Martin Bjorklund, Michael Zitao, Neil Ketley, Qin Wu, | Jethanandani, Martin Bjorklund, Michael Zitao, Neil Ketley, Qin Wu, | |||
William Lupton, Xufeng Liu, Andy Bierman, and Vladimir Vassilev for | William Lupton, Xufeng Liu, Andy Bierman, and Vladimir Vassilev for | |||
their helpful comments contributing to this document. | their helpful comments contributing to this document. | |||
8. ChangeLog | 8. ChangeLog | |||
XXX, RFC Editor, please delete this change log before publication. | XXX, RFC Editor, please delete this change log before publication. | |||
8.1. Version -08 | 8.1. Version -09 | |||
o Fixed IANA section. | ||||
8.2. Version -08 | ||||
o Initial updates after WG LC comments. | o Initial updates after WG LC comments. | |||
8.2. Version -07 | 8.3. Version -07 | |||
o Minor editorial updates | o Minor editorial updates | |||
8.3. Version -06 | 8.4. Version -06 | |||
o Remove reservable-bandwidth, based on Acee's suggestion | o Remove reservable-bandwidth, based on Acee's suggestion | |||
o Add examples | o Add examples | |||
o Add additional state parameters for carrier-delay and dampening | o Add additional state parameters for carrier-delay and dampening | |||
8.4. Version -05 | 8.5. Version -05 | |||
o Incorporate feedback from Andy Bierman | o Incorporate feedback from Andy Bierman | |||
8.5. Version -04 | 8.6. Version -04 | |||
o Incorporate feedback from Lada, some comments left as open issues. | o Incorporate feedback from Lada, some comments left as open issues. | |||
8.6. Version -03 | 8.7. Version -03 | |||
o Fixed incorrect module name references, and updated tree output | o Fixed incorrect module name references, and updated tree output | |||
8.7. Version -02 | 8.8. Version -02 | |||
o Minor changes only: Fix errors in when statements, use derived- | o Minor changes only: Fix errors in when statements, use derived- | |||
from-or-self() for future proofing. | from-or-self() for future proofing. | |||
9. IANA Considerations | 9. IANA Considerations | |||
This document defines several new YANG module and the authors | 9.1. YANG Module Registrations | |||
politely request that IANA assigns unique names to the two YANG | ||||
module files contained within this document, and also appropriate | The following YANG modules are requested to be registred in the IANA | |||
URIs in the "IETF XML Registry". | "YANG Module Names" [RFC6020] registry: | |||
The ietf-if-extensions module: | ||||
Name: ietf-if-extensions | ||||
XML Namespace: urn:ietf:params:xml:ns:yang:ietf-if-extensions | ||||
Prefix: if-ext | ||||
Reference: [RFCXXXX] | ||||
The ietf-if-ethernet-like module: | ||||
Name: ietf-if-ethernet-like | ||||
XML Namespace: urn:ietf:params:xml:ns:yang:ietf-if-ethernet-like | ||||
Prefix: ethlike | ||||
Reference: [RFCXXXX] | ||||
This document registers two URIs in the "IETF XML Registry" | ||||
[RFC3688]. Following the format in RFC 3688, the following | ||||
registrations have been made. | ||||
URI: urn:ietf:params:xml:ns:yang:ietf-if-extensions | ||||
Registrant Contact: The IESG. | ||||
XML: N/A, the requested URI is an XML namespace. | ||||
URI: urn:ietf:params:xml:ns:yang:ietf-if-ethernet-like | ||||
Registrant Contact: The IESG. | ||||
XML: N/A, the requested URI is an XML namespace. | ||||
10. Security Considerations | 10. Security Considerations | |||
The YANG module defined in this memo is designed to be accessed via | The YANG module defined in this memo is designed to be accessed via | |||
the NETCONF protocol RFC 6241 [RFC6241]. The lowest NETCONF layer is | the NETCONF protocol RFC 6241 [RFC6241]. The lowest NETCONF layer is | |||
the secure transport layer and the mandatory to implement secure | the secure transport layer and the mandatory to implement secure | |||
transport is SSH RFC 6242 [RFC6242]. The NETCONF access control | transport is SSH RFC 6242 [RFC6242]. The NETCONF access control | |||
model RFC 6536 [RFC6536] provides the means to restrict access for | model RFC 6536 [RFC6536] provides the means to restrict access for | |||
particular NETCONF users to a pre-configured subset of all available | particular NETCONF users to a pre-configured subset of all available | |||
NETCONF protocol operations and content. | NETCONF protocol operations and content. | |||
skipping to change at page 31, line 5 ¶ | skipping to change at page 32, line 42 ¶ | |||
11. References | 11. References | |||
11.1. Normative References | 11.1. Normative References | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | ||||
DOI 10.17487/RFC3688, January 2004, | ||||
<https://www.rfc-editor.org/info/rfc3688>. | ||||
[RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | ||||
the Network Configuration Protocol (NETCONF)", RFC 6020, | ||||
DOI 10.17487/RFC6020, October 2010, | ||||
<https://www.rfc-editor.org/info/rfc6020>. | ||||
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
<https://www.rfc-editor.org/info/rfc7950>. | <https://www.rfc-editor.org/info/rfc7950>. | |||
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., | |||
and R. Wilton, "Network Management Datastore Architecture | and R. Wilton, "Network Management Datastore Architecture | |||
skipping to change at page 31, line 27 ¶ | skipping to change at page 33, line 27 ¶ | |||
[RFC8343] Bjorklund, M., "A YANG Data Model for Interface | [RFC8343] Bjorklund, M., "A YANG Data Model for Interface | |||
Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, | Management", RFC 8343, DOI 10.17487/RFC8343, March 2018, | |||
<https://www.rfc-editor.org/info/rfc8343>. | <https://www.rfc-editor.org/info/rfc8343>. | |||
11.2. Informative References | 11.2. Informative References | |||
[I-D.ietf-netmod-sub-intf-vlan-model] | [I-D.ietf-netmod-sub-intf-vlan-model] | |||
Wilton, R., Ball, D., tapsingh@cisco.com, t., and S. | Wilton, R., Ball, D., tapsingh@cisco.com, t., and S. | |||
Sivaraj, "Sub-interface VLAN YANG Data Models", draft- | Sivaraj, "Sub-interface VLAN YANG Data Models", draft- | |||
ietf-netmod-sub-intf-vlan-model-05 (work in progress), | ietf-netmod-sub-intf-vlan-model-06 (work in progress), | |||
March 2019. | November 2019. | |||
[IEEE802.3.2] | [IEEE802.3.2-2019] | |||
IEEE WG802.3 - Ethernet Working Group, "IEEE | IEEE WG802.3 - Ethernet Working Group, "IEEE | |||
802.3.2-2019", 2019. | 802.3.2-2019", 2019. | |||
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
<https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
[RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure | |||
Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, | |||
End of changes. 73 change blocks. | ||||
210 lines changed or deleted | 309 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/ |