draft-ietf-netmod-intf-ext-yang-00.txt | draft-ietf-netmod-intf-ext-yang-01.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 Cisco Systems | Intended status: Standards Track T. Singh | |||
Expires: October 23, 2016 T. Singh | Expires: January 8, 2017 Cisco Systems | |||
S. Sivaraj | S. Sivaraj | |||
Juniper Networks | Juniper Networks | |||
April 21, 2016 | July 7, 2016 | |||
Common Interface Extension YANG Data Models | Common Interface Extension YANG Data Models | |||
draft-ietf-netmod-intf-ext-yang-00 | draft-ietf-netmod-intf-ext-yang-01 | |||
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. | |||
These properties are common to many types of interfaces on network | These properties are common to many types of interfaces on network | |||
routers and switches and are implemented by multiple network | routers and switches and are implemented by multiple network | |||
equipment vendors with similar semantics, even though some of the | equipment vendors with similar semantics, even though some of the | |||
skipping to change at page 1, line 40 ¶ | skipping to change at page 1, line 40 ¶ | |||
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 http://datatracker.ietf.org/drafts/current/. | Drafts is at http://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 October 23, 2016. | This Internet-Draft will expire on January 8, 2017. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2016 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 | |||
(http://trustee.ietf.org/license-info) in effect on the date of | (http://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 | |||
skipping to change at page 2, line 33 ¶ | skipping to change at page 2, line 33 ¶ | |||
3.3.3. Reuse Threshold . . . . . . . . . . . . . . . . . . . 8 | 3.3.3. Reuse Threshold . . . . . . . . . . . . . . . . . . . 8 | |||
3.3.4. Maximum Suppress Time . . . . . . . . . . . . . . . . 8 | 3.3.4. Maximum Suppress Time . . . . . . . . . . . . . . . . 8 | |||
3.4. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 8 | 3.4. Encapsulation . . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.5. Loopback . . . . . . . . . . . . . . . . . . . . . . . . 8 | 3.5. Loopback . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.6. MTU . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 3.6. MTU . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | |||
3.7. Sub-interface . . . . . . . . . . . . . . . . . . . . . . 9 | 3.7. Sub-interface . . . . . . . . . . . . . . . . . . . . . . 9 | |||
3.8. Transport Layer . . . . . . . . . . . . . . . . . . . . . 10 | 3.8. Transport Layer . . . . . . . . . . . . . . . . . . . . . 10 | |||
4. Interfaces Ethernet-Like Module . . . . . . . . . . . . . . . 10 | 4. Interfaces Ethernet-Like Module . . . . . . . . . . . . . . . 10 | |||
5. Interfaces Common YANG Module . . . . . . . . . . . . . . . . 10 | 5. Interfaces Common YANG Module . . . . . . . . . . . . . . . . 10 | |||
6. Interfaces Ethernet-Like YANG Module . . . . . . . . . . . . 19 | 6. Interfaces Ethernet-Like YANG Module . . . . . . . . . . . . 19 | |||
7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 21 | 7. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 22 | |||
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 21 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 22 | |||
9. Security Considerations . . . . . . . . . . . . . . . . . . . 22 | 9. Security Considerations . . . . . . . . . . . . . . . . . . . 23 | |||
9.1. interfaces-common.yang . . . . . . . . . . . . . . . . . 22 | 9.1. interfaces-common.yang . . . . . . . . . . . . . . . . . 23 | |||
9.2. interfaces-ethernet-like.yang . . . . . . . . . . . . . . 23 | 9.2. interfaces-ethernet-like.yang . . . . . . . . . . . . . . 24 | |||
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 23 | 10. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 | |||
10.1. Normative References . . . . . . . . . . . . . . . . . . 24 | 10.1. Normative References . . . . . . . . . . . . . . . . . . 25 | |||
10.2. Informative References . . . . . . . . . . . . . . . . . 24 | 10.2. Informative References . . . . . . . . . . . . . . . . . 25 | |||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 24 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 | |||
1. Introduction | 1. Introduction | |||
This document defines two YANG RFC 6020 [RFC6020] modules for the | This document defines two YANG RFC 6020 [RFC6020] modules for the | |||
management of network interfaces. It defines various augmentations | management of network interfaces. It defines various augmentations | |||
to the generic interfaces data model defined in RFC 7223 [RFC7223] to | to the generic interfaces data model defined in RFC 7223 [RFC7223] to | |||
support configuration of lower layer interface properties that are | support configuration of lower layer interface properties that are | |||
common across many types of network interface. | common across many types of network interface. | |||
One of the aims of this draft is to provide a standard namespace and | One of the aims of this draft is to provide a standard namespace and | |||
skipping to change at page 5, line 19 ¶ | skipping to change at page 5, line 19 ¶ | |||
interfaces. | interfaces. | |||
o A transport layer leaf to indicate whether the interface handles | o A transport layer leaf to indicate whether the interface handles | |||
traffic at L1, L2 or L3. | traffic at L1, L2 or L3. | |||
o A parent interface leaf useable for all types of sub-interface | o A parent interface leaf useable for all types of sub-interface | |||
that are children of parent interfaces. | that are children of parent interfaces. | |||
The "interface-extensions" YANG module has the following structure: | The "interface-extensions" YANG module has the following structure: | |||
module: interfaces-common | module: ietf-interfaces-common | |||
augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
+--rw bandwidth? uint64 | +--rw bandwidth? uint64 | |||
augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
+--rw carrier-delay | +--rw carrier-delay | |||
+--rw down? uint32 | +--rw down? uint32 | |||
+--rw up? uint32 | +--rw up? uint32 | |||
augment /if:interfaces/if:interface: | augment /if:interfaces/if:interface: | |||
+--rw dampening! | +--rw dampening! | |||
+--rw half-life? uint32 | +--rw half-life? uint32 | |||
+--rw reuse? uint32 | +--rw reuse? uint32 | |||
skipping to change at page 9, line 4 ¶ | skipping to change at page 9, line 4 ¶ | |||
3.6. MTU | 3.6. MTU | |||
Two MTU configuration leaves are provided to program the layer 2 | Two MTU configuration leaves are provided to program the layer 2 | |||
interface in two different ways. Different mechanisms are provided | interface in two different ways. Different mechanisms are provided | |||
to reflect the fact that devices handle their MTU configuration in | to reflect the fact that devices handle their MTU configuration in | |||
different ways. A given device would only normally be expected to | different ways. A given device would only normally be expected to | |||
support MTU configuration using one of these mechanisms. | support MTU configuration using one of these mechanisms. | |||
The preferable way to configure MTU is using the l2-mtu leaf that | The preferable way to configure MTU is using the l2-mtu leaf that | |||
specifies the maximum size of a layer 2 frame including header and | specifies the maximum size of a layer 2 frame including header and | |||
payload, but excluding any frame checksum (FCS) bytes. The payload | payload, but excluding any frame check sequence (FCS) bytes. The | |||
MTU available to higher layer protocols is calculated from the l2-mtu | payload MTU available to higher layer protocols is calculated from | |||
after taking the layer 2 header size into account. | the l2-mtu after taking the layer 2 header size into account. | |||
For Ethernet interfaces carrying 802.1Q VLAN tagged frames, the | For Ethernet interfaces carrying 802.1Q VLAN tagged frames, the | |||
l2-mtu excludes the 4-8 byte overhead of any known (e.g. explicitly | l2-mtu excludes the 4-8 byte overhead of any known (e.g. explicitly | |||
matched by a child sub-interface) 801.1Q VLAN tags. | matched by a child sub-interface) 801.1Q VLAN tags. | |||
The alternative way to configure MTU is using the l3-mtu leaf that | The alternative way to configure MTU is using the l3-mtu leaf that | |||
specifies the maximum size of payload carried by a layer 2 frame. | specifies the maximum size of payload carried by a layer 2 frame. | |||
The maximum size of the layer 2 frame can then be derived by adding | The maximum size of the layer 2 frame can then be derived by adding | |||
on the size of the layer 2 header overheads. | on the size of the layer 2 header overheads. | |||
skipping to change at page 10, line 34 ¶ | skipping to change at page 10, line 34 ¶ | |||
interface types that use Ethernet framing as their datalink layer | interface types that use Ethernet framing as their datalink layer | |||
encapsulation. | encapsulation. | |||
This module currently contains leaves for the configuration and | This module currently contains leaves for the configuration and | |||
reporting of the operational MAC address and the burnt-in MAC address | reporting of the operational MAC address and the burnt-in MAC address | |||
(BIA) associated with any interface using Ethernet framing. | (BIA) associated with any interface using Ethernet framing. | |||
The "interfaces-ethernet-like" YANG module has the following | The "interfaces-ethernet-like" YANG module has the following | |||
structure: | structure: | |||
module: interfaces-ethernet-like | module: ietf-interfaces-ethernet-like | |||
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 | |||
augment /if:interfaces-state/if:interface: | augment /if:interfaces-state/if:interface: | |||
+--ro ethernet-like | +--ro ethernet-like | |||
+--ro mac-address? yang:mac-address | +--ro mac-address? yang:mac-address | |||
+--ro bia-mac-address? yang:mac-address | +--ro bia-mac-address? yang:mac-address | |||
5. Interfaces Common YANG Module | 5. Interfaces Common YANG Module | |||
This YANG module augments the interface container defined in RFC 7223 | This YANG module augments the interface container defined in RFC 7223 | |||
[RFC7223]. | [RFC7223]. | |||
<CODE BEGINS> file "interfaces-common@2015-10-19.yang" | <CODE BEGINS> file "ietf-interfaces-common@2016-07-07.yang" | |||
module interfaces-common { | module ietf-interfaces-common { | |||
yang-version 1.1; | yang-version 1.1; | |||
namespace "urn:ietf:params:xml:ns:yang:interfaces-common"; | namespace "urn:ietf:params:xml:ns:yang:ietf-interfaces-common"; | |||
prefix if-cmn; | prefix if-cmn; | |||
import ietf-interfaces { | import ietf-interfaces { | |||
prefix if; | prefix if; | |||
} | } | |||
import iana-if-type { | import iana-if-type { | |||
prefix ianaift; | prefix ianaift; | |||
} | } | |||
organization | organization | |||
"Cisco Systems, Inc. | "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | |||
Customer Service | ||||
Postal: 170 W Tasman Drive | contact | |||
San Jose, CA 95134 | "WG Web: <http://tools.ietf.org/wg/netmod/> | |||
WG List: <mailto:netmod@ietf.org> | ||||
Tel: +1 1800 553-NETS | WG Chair: Lou Berger | |||
<mailto:lberger@labn.net> | ||||
E-mail: cs-yang@cisco.com"; | WG Chair: Kent Watsen | |||
<mailto:kwatsen@juniper.net> | ||||
contact | Editor: Robert Wilton | |||
"Robert Wilton - rwilton@cisco.com"; | <mailto:rwilton@cisco.com>"; | |||
description | description | |||
"This module contains common definitions for extending the IETF | "This module contains common definitions for extending the IETF | |||
interface YANG model (RFC 7223) with common configurable layer 2 | interface YANG model (RFC 7223) with common configurable layer 2 | |||
properties."; | properties. | |||
Copyright (c) 2016 IETF Trust and the persons identified as | ||||
authors of the code. All rights reserved. | ||||
Redistribution and use in source and binary forms, with or | ||||
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 | ||||
(http://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of XXX; see the RFC | ||||
itself for full legal notices."; | ||||
revision 2016-07-07 { | ||||
description | ||||
"Update module title and description text to IETF standard | ||||
text"; | ||||
reference "Internet draft: draft-ietf-netmod-intf-ext-yang-01"; | ||||
} | ||||
revision 2015-10-19 { | revision 2015-10-19 { | |||
description | description | |||
"Add support for various common interface configuration | "Add support for various common interface configuration | |||
parameters that are likely to be widely implemented by various | parameters that are likely to be widely implemented by various | |||
network device vendors."; | network device vendors."; | |||
reference "Internet draft: draft-wilton-netmod-intf-ext-yang-01"; | reference "Internet draft: draft-wilton-netmod-intf-ext-yang-01"; | |||
} | } | |||
skipping to change at page 18, line 16 ¶ | skipping to change at page 18, line 39 ¶ | |||
} | } | |||
} | } | |||
/* | /* | |||
* 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" { | |||
when "derived-from(if:type, | when "derived-from(if:type, 'sub-interface') or | |||
'ietf-if-cmn', | ||||
'sub-interface') or | ||||
if:type = 'ianaift:atmSubInterface' or | if:type = 'ianaift:atmSubInterface' or | |||
if:type = 'ianaift:frameRelay'" { | if:type = 'ianaift:frameRelay'" { | |||
description | description | |||
"Any ianaift:types that explicitly represent sub-interfaces | "Any ianaift:types that explicitly represent sub-interfaces | |||
or any types that derive from the sub-interface identity"; | or any types that derive from the sub-interface identity"; | |||
} | } | |||
if-feature "sub-interfaces"; | if-feature "sub-interfaces"; | |||
description "Add a parent interface field to interfaces that | description "Add a parent interface field to interfaces that | |||
model sub-interfaces"; | model sub-interfaces"; | |||
leaf parent-interface { | leaf parent-interface { | |||
skipping to change at page 19, line 30 ¶ | skipping to change at page 19, line 51 ¶ | |||
} | } | |||
<CODE ENDS> | <CODE ENDS> | |||
6. Interfaces Ethernet-Like YANG Module | 6. Interfaces Ethernet-Like YANG Module | |||
This YANG module augments the interface container defined in RFC 7223 | This YANG module augments the interface container defined in RFC 7223 | |||
[RFC7223] for Etherlike interfaces. This includes Ethernet | [RFC7223] for Etherlike interfaces. This includes Ethernet | |||
interfaces, 802.3 LAG (802.1AX) interfaces, VLAN sub-interfaces, | interfaces, 802.3 LAG (802.1AX) interfaces, VLAN sub-interfaces, | |||
Switch Virtual interfaces, and Pseudo-Wire Head-End interfaces. | Switch Virtual interfaces, and Pseudo-Wire Head-End interfaces. | |||
<CODE BEGINS> file "interfaces-ethernet-like@2015-06-26.yang" | <CODE BEGINS> file "ietf-interfaces-ethernet-like@2016-07-07.yang" | |||
module interfaces-ethernet-like { | module ietf-interfaces-ethernet-like { | |||
namespace "urn:ietf:params:xml:ns:yang:interfaces-ethernet-like"; | namespace | |||
"urn:ietf:params:xml:ns:yang:ietf-interfaces-ethernet-like"; | ||||
prefix ethlike; | prefix ethlike; | |||
import ietf-interfaces { | import ietf-interfaces { | |||
prefix if; | prefix if; | |||
} | } | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
} | } | |||
import iana-if-type { | import iana-if-type { | |||
prefix ianaift; | prefix ianaift; | |||
} | } | |||
organization | organization | |||
"Cisco Systems, Inc. | "IETF NETMOD (NETCONF Data Modeling Language) Working Group"; | |||
Customer Service | ||||
Postal: 170 W Tasman Drive | contact | |||
San Jose, CA 95134 | "WG Web: <http://tools.ietf.org/wg/netmod/> | |||
WG List: <mailto:netmod@ietf.org> | ||||
Tel: +1 1800 553-NETS | WG Chair: Lou Berger | |||
<mailto:lberger@labn.net> | ||||
E-mail: cs-yang@cisco.com"; | WG Chair: Kent Watsen | |||
<mailto:kwatsen@juniper.net> | ||||
contact | Editor: Robert Wilton | |||
"Robert Wilton - rwilton@cisco.com"; | <mailto:rwilton@cisco.com>"; | |||
description | description | |||
"This module contains YANG definitions for configuration for | "This module contains YANG definitions for configuration for | |||
'Ethernet-like' interfaces. It is applicable to all interface | 'Ethernet-like' interfaces. It is applicable to all interface | |||
types that use Ethernet framing and expose an Ethernet MAC | types that use Ethernet framing and expose an Ethernet MAC | |||
layer, and includes such interfaces as physical Ethernet | layer, and includes such interfaces as physical Ethernet | |||
interfaces, Ethernet LAG interfaces and VLAN sub-interfaces."; | interfaces, Ethernet LAG interfaces and VLAN sub-interfaces. | |||
Copyright (c) 2016 IETF Trust and the persons identified as | ||||
authors of the code. All rights reserved. | ||||
Redistribution and use in source and binary forms, with or | ||||
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 | ||||
(http://trustee.ietf.org/license-info). | ||||
This version of this YANG module is part of XXX; see the RFC | ||||
itself for full legal notices."; | ||||
revision 2016-07-07 { | ||||
description | ||||
"Update module title and description text to IETF standard | ||||
text"; | ||||
reference "Internet draft: draft-ietf-netmod-intf-ext-yang-01"; | ||||
} | ||||
revision 2015-06-26 { | revision 2015-06-26 { | |||
description "Updated reference to new internet draft name."; | description "Updated reference to new internet draft name."; | |||
reference | reference | |||
"Internet draft: draft-wilton-netmod-intf-ext-yang-00"; | "Internet draft: draft-wilton-netmod-intf-ext-yang-00"; | |||
} | } | |||
/* | /* | |||
* Configuration parameters for Etherlike interfaces. | * Configuration parameters for Etherlike interfaces. | |||
skipping to change at page 25, line 5 ¶ | skipping to change at page 26, line 5 ¶ | |||
Robert Wilton (editor) | Robert Wilton (editor) | |||
Cisco Systems | Cisco Systems | |||
Email: rwilton@cisco.com | Email: rwilton@cisco.com | |||
David Ball | David Ball | |||
Cisco Systems | Cisco Systems | |||
Email: daviball@cisco.com | Email: daviball@cisco.com | |||
Tapraj Singh | Tapraj Singh | |||
Juniper Networks | Cisco Systems | |||
Email: tsingh@juniper.net | Email: tapsingh@juniper.net | |||
Selvakumar Sivaraj | Selvakumar Sivaraj | |||
Juniper Networks | Juniper Networks | |||
Email: ssivaraj@juniper.net | Email: ssivaraj@juniper.net | |||
End of changes. 26 change blocks. | ||||
48 lines changed or deleted | 95 lines changed or added | |||
This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |