| < draft-meng-savi-yang-00.txt | draft-meng-savi-yang-01.txt > | |||
|---|---|---|---|---|
| SAVI W. Meng | SAVI W. Meng | |||
| Internet-Draft C. Wang | Internet-Draft C. Wang | |||
| Intended status: Standards Track ZTE Corporation | Intended status: Standards Track ZTE Corporation | |||
| Expires: January 7, 2016 July 6, 2015 | Expires: June 26, 2016 December 24, 2015 | |||
| YANG Data Model for SAVI | YANG Data Model for SAVI | |||
| draft-meng-savi-yang-00 | draft-meng-savi-yang-01 | |||
| Abstract | Abstract | |||
| This document defines a YANG data model for SAVI. | This document defines a YANG data model for SAVI. | |||
| Status of this Memo | Status of this Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| 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 January 7, 2016. | This Internet-Draft will expire on June 26, 2016. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2015 IETF Trust and the persons identified as the | Copyright (c) 2015 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 5, line 7 ¶ | skipping to change at page 5, line 7 ¶ | |||
| manage the devices by using NETCONF. | manage the devices by using NETCONF. | |||
| 2. Convention and Terminology | 2. Convention and Terminology | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| 3. Design of the Data Model | 3. Design of the Data Model | |||
| +--savi configuration | module: ietf-savi | |||
| +--global | +--rw savi | |||
| | +--rw ip-version | +--rw global | |||
| | +--rw enable | | +--rw ip-version uint8 | |||
| | +--rw arrange-mode | | +--rw enable boolean | |||
| | +--rw max-dad-delay | | +--rw arrange-mode? uint8 | |||
| | +--rw max-dad-prepare-delay | | +--rw max-dad-delay? uint16 | |||
| | +--rw max-ns-delay | | +--rw max-dad-prepare-delay? uint16 | |||
| | +--rw dhcp-only | | +--rw max-ns-delay? uint16 | |||
| +--interface | | +--rw dhcp-only boolean | |||
| | +--interface* [interface-index] | +--rw interface | |||
| | | +--rw interface-index | | +--rw interface* [index] | |||
| | | +--rw interface-name[] | | +--rw index uint32 | |||
| | | +--rw enable | | +--rw interface-name string | |||
| | | +--rw validation-status | | +--rw enable boolean | |||
| | | +--rw trust-status | | +--rw validation-status uint8 | |||
| | | +--rw filting-number | | +--rw filting-number uint8 | |||
| +--binding | +--rw binding | |||
| | +--rw binding-info* [ip-addr] | | +--rw binding-info* [ip-addr] | |||
| | | +--rw ip-addr | | +--rw ip-addr inet:ipv6-address | |||
| | | +--rw interface-index | | +--rw interface-index uint32 | |||
| | | +--rw ip-addr-type | | +--rw ip-addr-type uint8 | |||
| | | +--rw type | | +--rw type uint8 | |||
| | | +--rw mac-addr | | +--rw mac-addr yang:mac-address | |||
| | | +--rw status | | +--rw status uint8 | |||
| | | +--rw lifetime | | +--rw lifetime uint32 | |||
| | | +--rw row-status | | +--rw row-status uint8 | |||
| +--filtering | +--rw filtering | |||
| | +--rw filtering-info* [interface-index] | +--rw filtering-info* [interface-index] | |||
| | | +--rw ip-addr[] | +--rw ip-addr? inet:ipv6-address | |||
| | | +--rw interface-index | +--rw interface-index uint32 | |||
| | | +--rw ip-addr-type | +--rw ip-addr-type uint8 | |||
| | | +--rw mac-addr | +--rw mac-addr yang:mac-address | |||
| +--global | ||||
| 4. SAVI YANG Model | 4. SAVI YANG Model | |||
| This module imports typedefs from [RFC6991]. | This module imports typedefs from [RFC6991]. | |||
| module ietf-savi { | <CODE BEGINS> file "ietf-savi@2015-12-24.yang" | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-savi"; | ||||
| prefix "savi"; | ||||
| organization | ||||
| "Internet Engineer Task Force"; | ||||
| contact | ||||
| Editor: Wei Meng | module ietf-savi { | |||
| <mailto:meng.wei2@zte.com.cn> | namespace "urn:ietf:params:xml:ns:yang:ietf-savi"; | |||
| Editor: Cui Wang | prefix "savi"; | |||
| <mailto:wang.cui1@zte.com.cn> | ||||
| description "TBD"; | import ietf-interfaces { | |||
| prefix "if"; | ||||
| } | ||||
| revision 2015-07-06 { | import ietf-inet-types { | |||
| description "Initial revision"; | prefix "inet"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix yang; | prefix yang; | |||
| } | } | |||
| import ietf-inet-types { | organization | |||
| prefix "inet"; | "IETF SAVI Working Group"; | |||
| } | contact | |||
| " | ||||
| Editor: Wei Meng | ||||
| <mailto:meng.wei2@zte.com.cn> | ||||
| Editor: Cui Wang | ||||
| <mailto:wang.cui1@zte.com.cn> | ||||
| "; | ||||
| description "The YANG module defines a generic configuration model for SAVI"; | ||||
| import ietf-interfaces { | revision 2015-12-24 { | |||
| prefix "if"; | description "01 revision."; | |||
| } | reference "draft-meng-savi-yang-01"; | |||
| } | ||||
| //data defs | revision 2015-07-06 { | |||
| container configuration { | description "Initial revision"; | |||
| description 'Configuration model info.' ; | reference "draft-meng-savi-yang-00"; | |||
| container savi { | } | |||
| description 'Configure SAVI parameters.' ; | ||||
| container global{ | /* Configuration Data */ | |||
| description 'Global configuration.' ; | ||||
| presence global-config ; | ||||
| leaf ip-version { | ||||
| description 'IP Version.' ; | ||||
| type uint8 ; | ||||
| mandatory true ; | ||||
| } | ||||
| leaf enable { | ||||
| description 'Enable.' ; | ||||
| type boolean ; | ||||
| mandatory true ; | ||||
| } | ||||
| leaf arrange-mode { | ||||
| description 'Arrange mode.' ; | ||||
| type uint8 ; | ||||
| } | ||||
| leaf max-dad-delay { | ||||
| description 'Max DAD delay time.' ; | ||||
| type uint16 { | ||||
| range 1..4094 { | ||||
| description 'The value of delay time,it must between 1 to 409' | ||||
| + '4.' | ||||
| ; | ||||
| } | ||||
| } | ||||
| } | ||||
| leaf max-dad-prepare-delay { | ||||
| description 'Max DAD prepare delay time.' ; | ||||
| type uint16 { | ||||
| range 1..4094 { | ||||
| description 'The value of delay time,it must between 1 to 409' | ||||
| + '4.' | ||||
| ; | ||||
| } | ||||
| } | ||||
| } | ||||
| leaf max-ns-delay { | container savi { | |||
| description 'Max NS delay time.' ; | description 'Configure SAVI parameters.' ; | |||
| type uint16 { | ||||
| range 1..4094 { | ||||
| description 'The value of delay time,it must between 1 to 409' | ||||
| + '4.' | ||||
| ; | ||||
| } | ||||
| } | ||||
| } | ||||
| leaf dhcp-only { | ||||
| description 'DHCP ONLY.' ; | ||||
| type boolean ; | ||||
| mandatory true ; | ||||
| } | ||||
| } | container global{ | |||
| leaf ip-version { | ||||
| type uint8 ; | ||||
| mandatory true ; | ||||
| description 'IP Version.' ; | ||||
| } | ||||
| leaf enable { | ||||
| type boolean ; | ||||
| mandatory true ; | ||||
| description 'Enable.' ; | ||||
| } | ||||
| leaf arrange-mode { | ||||
| type uint8 ; | ||||
| description 'Arrange mode.' ; | ||||
| } | ||||
| leaf max-dad-delay { | ||||
| type uint16 { | ||||
| range 1..4094 { | ||||
| description 'The value of delay time,it must between 1 to 409' | ||||
| + '4.' | ||||
| ; | ||||
| } | ||||
| } | ||||
| description 'Max DAD delay time.' ; | ||||
| } | ||||
| leaf max-dad-prepare-delay { | ||||
| type uint16 { | ||||
| range 1..4094 { | ||||
| description 'The value of delay time,it must between 1 to 409' | ||||
| + '4.' | ||||
| ; | ||||
| } | ||||
| } | ||||
| description 'Max DAD prepare delay time.' ; | ||||
| } | ||||
| leaf max-ns-delay { | ||||
| type uint16 { | ||||
| range 1..4094 { | ||||
| description 'The value of delay time,it must between 1 to 409' | ||||
| + '4.' | ||||
| ; | ||||
| } | ||||
| } | ||||
| description 'Max NS delay time.' ; | ||||
| } | ||||
| leaf dhcp-only { | ||||
| type boolean ; | ||||
| mandatory true ; | ||||
| description 'DHCP ONLY.' ; | ||||
| } | ||||
| description 'Global configuration.' ; | ||||
| } | ||||
| container interface { | container interface { | |||
| description 'Interface.' ; | list interface { | |||
| list interface { | key index ; | |||
| description 'Interface.' ; | leaf index { | |||
| key index ; | type uint32 { | |||
| leaf index { | range 1..16777215 { | |||
| description 'Interface index.' ; | description 'The value of index,it must between 1 to 16777215.' ; | |||
| type uint32 { | } | |||
| range 1..16777215 { | } | |||
| description 'The value of index,it must between 1 to 16777215.' ; | description 'Interface index.' ; | |||
| } | } | |||
| } | leaf interface-name { | |||
| } | type string; | |||
| leaf interface-name { | mandatory true; | |||
| mandatory true; | description 'Interface name.' ; | |||
| type string; | } | |||
| } | leaf enable { | |||
| leaf enable { | type boolean; | |||
| mandatory true; | mandatory true; | |||
| type boolean; | description 'Enable.' ; | |||
| } | } | |||
| leaf validation-status { | leaf validation-status { | |||
| mandatory true; | type uint8; | |||
| type uint8; | mandatory true; | |||
| } | description 'Validation status.' ; | |||
| leaf filting-number { | } | |||
| mandatory true; | leaf filting-number { | |||
| type uint8; | type uint8; | |||
| } | mandatory true; | |||
| } | description 'Filting number.' ; | |||
| } | } | |||
| description 'Interface.' ; | ||||
| } | ||||
| description 'Interface.' ; | ||||
| } | ||||
| container binding { | container binding { | |||
| description 'Binding information.' ; | list binding-info { | |||
| list binding-info { | key ip-addr ; | |||
| description 'Binding information.' ; | leaf ip-addr { | |||
| key ip-addr ; | type inet:ipv6-address; | |||
| leaf ip-addr { | description 'IP address.' ; | |||
| description 'IP address.' ; | } | |||
| type inet:ipv6-address; | leaf interface-index { | |||
| } | type uint32; | |||
| } | mandatory true; | |||
| } | description 'Interface index.' ; | |||
| leaf interface-index { | } | |||
| mandatory true; | leaf ip-addr-type { | |||
| type uint32; | type uint8; | |||
| mandatory true; | ||||
| description 'IP Address type.' ; | ||||
| } | ||||
| leaf type { | ||||
| type uint8; | ||||
| mandatory true; | ||||
| description 'Binding type.' ; | ||||
| } | ||||
| leaf mac-addr { | ||||
| type yang:mac-address; | ||||
| mandatory true; | ||||
| description 'Mac Address.' ; | ||||
| } | ||||
| leaf status { | ||||
| type uint8; | ||||
| mandatory true; | ||||
| description 'The status of binding information.' ; | ||||
| } | ||||
| leaf lifetime { | ||||
| type uint32; | ||||
| mandatory true; | ||||
| description 'The lifetime of binding information.' ; | ||||
| } | ||||
| leaf row-status { | ||||
| type uint8; | ||||
| mandatory true; | ||||
| description 'The row status of binding information.' ; | ||||
| } | ||||
| description 'Binding information.' ; | ||||
| } | ||||
| description 'Binding information.' ; | ||||
| } | ||||
| } | container filtering { | |||
| leaf ip-addr-type { | list filtering-info { | |||
| mandatory true; | key interface-index; | |||
| type uint8; | leaf ip-addr { | |||
| } | type inet:ipv6-address; | |||
| leaf type { | description 'IP address.' ; | |||
| mandatory true; | ||||
| type uint8; | ||||
| } | ||||
| leaf mac-addr { | ||||
| mandatory true; | ||||
| type yang:mac-address; | ||||
| } | ||||
| leaf status { | ||||
| mandatory true; | ||||
| type uint8; | ||||
| } | ||||
| leaf lifetime { | ||||
| mandatory true; | ||||
| type uint32; | ||||
| } | ||||
| leaf row-status { | ||||
| mandatory true; | ||||
| type uint8; | ||||
| } | ||||
| } | ||||
| } | ||||
| container filtering { | } | |||
| description 'Filtering information.' ; | leaf interface-index { | |||
| list filtering-info { | type uint32; | |||
| description 'Filtering information.' ; | mandatory true; | |||
| key interface-index; | description 'Interface index.' ; | |||
| leaf ip-addr { | } | |||
| description 'IP address.' ; | leaf ip-addr-type { | |||
| type inet:ipv6-address; | type uint8; | |||
| } | mandatory true; | |||
| } | description 'IP Address type.' ; | |||
| } | } | |||
| leaf interface-index { | leaf mac-addr { | |||
| mandatory true; | type yang:mac-address; | |||
| type uint32; | mandatory true; | |||
| } | description 'Mac address.' ; | |||
| leaf ip-addr-type { | } | |||
| mandatory true; | description 'Filtering information.' ; | |||
| type uint8; | } | |||
| } | description 'Filtering information.' ; | |||
| leaf mac-addr { | } | |||
| mandatory true; | ||||
| type yang:mac-address; | ||||
| } | ||||
| } | } | |||
| } | } | |||
| } | ||||
| } | <CODE ENDS> | |||
| } | ||||
| 5. Security Considerations | 5. Security Considerations | |||
| This document has no additional security considerations. | This document has no additional security considerations. | |||
| 6. Acknowledgements | 6. Acknowledgements | |||
| 7. Normative References | 7. 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, March 1997. | Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/ | |||
| RFC2119, March 1997, | ||||
| <http://www.rfc-editor.org/info/rfc2119>. | ||||
| [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| October 2010. | DOI 10.17487/RFC6020, October 2010, | |||
| <http://www.rfc-editor.org/info/rfc6020>. | ||||
| [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, | [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", | |||
| July 2013. | RFC 6991, DOI 10.17487/RFC6991, July 2013, | |||
| <http://www.rfc-editor.org/info/rfc6991>. | ||||
| Authors' Addresses | Authors' Addresses | |||
| Wei Meng | Wei Meng | |||
| ZTE Corporation | ZTE Corporation | |||
| No.50 Software Avenue, Yuhuatai District | No.50 Software Avenue, Yuhuatai District | |||
| Nanjing | Nanjing | |||
| China | China | |||
| Email: meng.wei2@zte.com.cn,vally.meng@gmail.com | Email: meng.wei2@zte.com.cn,vally.meng@gmail.com | |||
| End of changes. 23 change blocks. | ||||
| 223 lines changed or deleted | 243 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||