| < draft-ietf-rtgwg-yang-vrrp-00.txt | draft-ietf-rtgwg-yang-vrrp-01.txt > | |||
|---|---|---|---|---|
| Network Working Group X. Liu, Editor | Network Working Group X. Liu, Editor | |||
| Internet-Draft A. Kyparlis | Internet-Draft A. Kyparlis | |||
| Intended status: Standards Track R. Parikh | Intended status: Standards Track Kuatro Technologies | |||
| Expires: December 27, 2016 Ericsson | Expires: June 1, 2017 R. Parikh | |||
| VMware | ||||
| A. Lindem | A. Lindem | |||
| Cisco Systems | Cisco Systems | |||
| M. Zhang | M. Zhang | |||
| Huawei Technologies | Huawei Technologies | |||
| June 27, 2016 | December 1, 2016 | |||
| A YANG Data Model for Virtual Router Redundancy Protocol (VRRP) | A YANG Data Model for Virtual Router Redundancy Protocol (VRRP) | |||
| draft-ietf-rtgwg-yang-vrrp-00.txt | draft-ietf-rtgwg-yang-vrrp-01 | |||
| Abstract | Abstract | |||
| This document describes a data model for Virtual Router Redundancy | This document describes a data model for Virtual Router Redundancy | |||
| Protocol (VRRP). Both version 2 and version 3 of VRRP are covered. | Protocol (VRRP). Both version 2 and version 3 of VRRP are covered. | |||
| 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. | |||
| skipping to change at page 1, line 41 ¶ | skipping to change at page 1, line 42 ¶ | |||
| 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." | |||
| The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
| http://www.ietf.org/ietf/1id-abstracts.txt | http://www.ietf.org/ietf/1id-abstracts.txt | |||
| The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
| http://www.ietf.org/shadow.html | http://www.ietf.org/shadow.html | |||
| This Internet-Draft will expire on December 27, 2016. | This Internet-Draft will expire on June 1, 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 21 ¶ | skipping to change at page 2, line 26 ¶ | |||
| 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...................................................2 | 1. Introduction...................................................2 | |||
| 1.1. Terminology...............................................2 | 1.1. Terminology...............................................2 | |||
| 2. VRRP YANG model overview.......................................3 | 2. VRRP YANG model overview.......................................3 | |||
| 3. VRRP YANG module...............................................7 | 3. VRRP YANG module...............................................7 | |||
| 4. Security Considerations.......................................28 | 4. IANA Considerations...........................................29 | |||
| 5. References....................................................28 | 5. Security Considerations.......................................29 | |||
| 5.1. Normative References.....................................28 | 6. References....................................................30 | |||
| 5.2. Informative References...................................29 | 6.1. Normative References.....................................30 | |||
| 6.2. Informative References...................................30 | ||||
| 1. Introduction | 1. Introduction | |||
| This document introduces a YANG [RFC6020] data model for Virtual | This document introduces a YANG [RFC6020] data model for Virtual | |||
| Router Redundancy Protocol (VRRP) [RFC3768][RFC5798]. VRRP provides | Router Redundancy Protocol (VRRP) [RFC3768][RFC5798]. VRRP provides | |||
| higher resiliency by specifying an election protocol that dynamically | higher resiliency by specifying an election protocol that dynamically | |||
| assigns responsibility for a virtual router to one of the VRRP | assigns responsibility for a virtual router to one of the VRRP | |||
| routers on a LAN. | routers on a LAN. | |||
| This YANG model supports both version 2 and version 3 of VRRP. VRRP | This YANG model supports both version 2 and version 3 of VRRP. VRRP | |||
| skipping to change at page 7, line 14 ¶ | skipping to change at page 7, line 21 ¶ | |||
| | +--ro protocol-error-reason? enumeration | | +--ro protocol-error-reason? enumeration | |||
| +---n vrrp-virtual-router-error-event | +---n vrrp-virtual-router-error-event | |||
| +--ro interface? if:interface-ref | +--ro interface? if:interface-ref | |||
| +--ro ip-version? enumeration | +--ro ip-version? enumeration | |||
| +--ro vrid-v4? leafref | +--ro vrid-v4? leafref | |||
| +--ro vrid-v6? leafref | +--ro vrid-v6? leafref | |||
| +--ro virtual-router-error-reason? enumeration | +--ro virtual-router-error-reason? enumeration | |||
| 3. VRRP YANG module | 3. VRRP YANG module | |||
| <CODE BEGINS> file "ietf-vrrp@2015-09-28.yang" | <CODE BEGINS> file "ietf-vrrp@2016-12-01.yang" | |||
| module ietf-vrrp { | module ietf-vrrp { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-vrrp"; | namespace "urn:ietf:params:xml:ns:yang:ietf-vrrp"; | |||
| // replace with IANA namespace when assigned | prefix "vrrp"; | |||
| prefix vrrp; | ||||
| import ietf-inet-types { | import ietf-inet-types { | |||
| prefix "inet"; | prefix "inet"; | |||
| } | } | |||
| import ietf-yang-types { | import ietf-yang-types { | |||
| prefix "yang"; | prefix "yang"; | |||
| } | } | |||
| import ietf-interfaces { | import ietf-interfaces { | |||
| prefix if; | prefix "if"; | |||
| } | } | |||
| import ietf-ip { | import ietf-ip { | |||
| prefix ip; | prefix "ip"; | |||
| } | } | |||
| organization "TBD"; | organization | |||
| contact "TBD"; | "IETF Routing Area Working Group (RTGWG)"; | |||
| contact | ||||
| "WG Web: <https://datatracker.ietf.org/wg/rtgwg/> | ||||
| WG List: <mailto:rtgwg@ietf.org> | ||||
| WG Chair: Jeff Tantsura | ||||
| <mailto:jefftant.ietf@gmail.com> | ||||
| WG Chair: Chris Bowers | ||||
| <mailto:cbowers@juniper.net> | ||||
| Editor: Xufeng Liu | ||||
| <mailto:xliu@kuatrotech.com> | ||||
| Editor: Athanasios Kyparlis | ||||
| <mailto:akyparlis@kuatrotech.com> | ||||
| Editor: Ravi Parikh | ||||
| <mailto:parikhr@vmware.com> | ||||
| Editor: Acee Lindem | ||||
| <mailto:acee@cisco.com> | ||||
| Editor: Mingui Zhang | ||||
| <mailto:zhangmingui@huawei.com>"; | ||||
| description | description | |||
| "This YANG module defines a model for managing Virtual Router | "This YANG module defines a model for managing Virtual Router | |||
| Redundancy Protocol (VRRP) version 2 and version 3."; | Redundancy Protocol (VRRP) version 2 and version 3."; | |||
| revision "2015-09-28" { | revision 2016-12-01 { | |||
| description "Initial revision"; | description "Initial revision"; | |||
| reference | reference | |||
| "RFC 2787: Definitions of Managed Objects for the Virtual | "RFC 2787: Definitions of Managed Objects for the Virtual | |||
| Router Redundancy Protocol. | Router Redundancy Protocol. | |||
| RFC 3768: Virtual Router Redundancy Protocol (VRRP). | RFC 3768: Virtual Router Redundancy Protocol (VRRP). | |||
| RFC 5798: Virtual Router Redundancy Protocol (VRRP) Version | RFC 5798: Virtual Router Redundancy Protocol (VRRP) Version 3. | |||
| 3. | ||||
| RFC 6527: Definitions of Managed Objects for the Virtual | RFC 6527: Definitions of Managed Objects for the Virtual | |||
| Router Redundancy Protocol Version 3 (VRRPv3)."; | Router Redundancy Protocol Version 3 (VRRPv3)."; | |||
| } | } | |||
| /* | /* | |||
| * Features | * Features | |||
| */ | */ | |||
| feature validate-interval-errors { | feature validate-interval-errors { | |||
| description | description | |||
| "This feature indicates that the system validates that | "This feature indicates that the system validates that | |||
| the advertisement interval from advertisement packets | the advertisement interval from advertisement packets | |||
| received is the same as the one configured for the local | received is the same as the one configured for the local | |||
| VRRP router."; | VRRP router."; | |||
| } | } | |||
| feature validate-address-list-errors { | feature validate-address-list-errors { | |||
| description | description | |||
| "This feature indicates that the system validates that | "This feature indicates that the system validates that | |||
| the address list from received packets matches the | the address list from received packets matches the | |||
| locally configured list for the VRRP router."; | locally configured list for the VRRP router."; | |||
| } | } | |||
| /* | /* | |||
| * Typedefs | * Typedefs | |||
| */ | */ | |||
| typedef new-master-reason-type { | typedef new-master-reason-type { | |||
| type enumeration { | type enumeration { | |||
| enum not-master { | enum not-master { | |||
| description | description | |||
| "The virtual router has never transitioned to master | "The virtual router has never transitioned to master | |||
| state,"; | state,"; | |||
| } | } | |||
| enum priority { | enum priority { | |||
| description "Priority was higher."; | description "Priority was higher."; | |||
| } | } | |||
| enum preempted { | enum preempted { | |||
| description "The master was preempted."; | description "The master was preempted."; | |||
| } | } | |||
| enum master-no-response { | enum master-no-response { | |||
| description "Previous master did not respond."; | description "Previous master did not respond."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "The reason for the virtual router to transition to master | "The reason for the virtual router to transition to master | |||
| state."; | state."; | |||
| } // new-master-reason-type | } // new-master-reason-type | |||
| /* | /* | |||
| * Identities | * Identities | |||
| */ | */ | |||
| identity vrrp-state-type { | identity vrrp-state-type { | |||
| description | description | |||
| "The type to indicate the state of a virtual router."; | "The type to indicate the state of a virtual router."; | |||
| } | } | |||
| identity initialize { | identity initialize { | |||
| base vrrp-state-type; | base vrrp-state-type; | |||
| description | description | |||
| "Indicates that the virtual router is waiting | "Indicates that the virtual router is waiting | |||
| for a startup event."; | for a startup event."; | |||
| } | } | |||
| identity backup { | identity backup { | |||
| base vrrp-state-type; | base vrrp-state-type; | |||
| description | description | |||
| "Indicates that the virtual router is monitoring the | "Indicates that the virtual router is monitoring the | |||
| availability of the master router."; | availability of the master router."; | |||
| } | } | |||
| identity master { | identity master { | |||
| base vrrp-state-type; | base vrrp-state-type; | |||
| description | description | |||
| "Indicates that the virtual router is forwarding | "Indicates that the virtual router is forwarding | |||
| packets for IP addresses that are associated with | packets for IP addresses that are associated with | |||
| this virtual router."; | this virtual router."; | |||
| } | } | |||
| /* | /* | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping vrrp-common-attributes { | grouping vrrp-common-attributes { | |||
| description | description | |||
| "Group of VRRP attributes common to version 2 and version 3"; | "Group of VRRP attributes common to version 2 and version 3"; | |||
| leaf vrid { | leaf vrid { | |||
| type uint8 { | type uint8 { | |||
| skipping to change at page 10, line 15 ¶ | skipping to change at page 11, line 4 ¶ | |||
| * Groupings | * Groupings | |||
| */ | */ | |||
| grouping vrrp-common-attributes { | grouping vrrp-common-attributes { | |||
| description | description | |||
| "Group of VRRP attributes common to version 2 and version 3"; | "Group of VRRP attributes common to version 2 and version 3"; | |||
| leaf vrid { | leaf vrid { | |||
| type uint8 { | type uint8 { | |||
| range 1..255; | range 1..255; | |||
| } | } | |||
| description "Virtual router ID."; | description "Virtual router ID."; | |||
| } | } | |||
| leaf version { | leaf version { | |||
| type enumeration { | type enumeration { | |||
| enum 2 { | enum 2 { | |||
| description "VRRP version 2."; | description "VRRP version 2."; | |||
| } | } | |||
| enum 3 { | enum 3 { | |||
| description "VRRP version 3."; | description "VRRP version 3."; | |||
| } | } | |||
| } | } | |||
| description "Version 2 or version 3 of VRRP."; | description "Version 2 or version 3 of VRRP."; | |||
| } | } | |||
| leaf log-state-change { | leaf log-state-change { | |||
| type boolean; | type boolean; | |||
| description | description | |||
| "Generates VRRP state change messages each time the VRRP | "Generates VRRP state change messages each time the VRRP | |||
| instance changes state (from up to down or down to up)."; | instance changes state (from up to down or down to up)."; | |||
| } | } | |||
| container preempt { | container preempt { | |||
| presence "Present if preempt is enabled."; | presence "Present if preempt is enabled."; | |||
| description | description | |||
| "Enables a higher priority Virtual Router Redundancy | "Enables a higher priority Virtual Router Redundancy | |||
| Protocol (VRRP) backup router to preempt a lower priority | Protocol (VRRP) backup router to preempt a lower priority | |||
| VRRP master."; | VRRP master."; | |||
| leaf hold-time { | leaf hold-time { | |||
| type uint16; | type uint16; | |||
| description | description | |||
| "Hold time, in seconds, for which a higher priority VRRP | "Hold time, in seconds, for which a higher priority VRRP | |||
| backup router must wait before preempting a lower priority | backup router must wait before preempting a lower priority | |||
| VRRP master."; | VRRP master."; | |||
| } | } | |||
| } | } | |||
| leaf priority { | leaf priority { | |||
| type uint8 { | type uint8 { | |||
| range 1..254; | range 1..254; | |||
| } | } | |||
| default 100; | default 100; | |||
| description | description | |||
| "Configures the Virtual Router Redundancy Protocol (VRRP) | "Configures the Virtual Router Redundancy Protocol (VRRP) | |||
| election priority for the backup virtual router."; | election priority for the backup virtual router."; | |||
| } | } | |||
| } // vrrp-common-attributes | } // vrrp-common-attributes | |||
| grouping vrrp-v3-attributes { | grouping vrrp-v3-attributes { | |||
| description | description | |||
| "Group of VRRP versin 3 attributes."; | "Group of VRRP version 3 attributes."; | |||
| leaf accept-mode { | leaf accept-mode { | |||
| type boolean; | type boolean; | |||
| default false; | default false; | |||
| description | description | |||
| "Controls whether a virtual router in Master state will | "Controls whether a virtual router in Master state will | |||
| accept packets addressed to the address owner's IPvX address | accept packets addressed to the address owner's IPvX address | |||
| as its own if it is not the IPvX address owner. The default | as its own if it is not the IPvX address owner. The default | |||
| is false. Deployments that rely on, for example, pinging the | is false. Deployments that rely on, for example, pinging the | |||
| address owner's IPvX address may wish to configure | address owner's IPvX address may wish to configure | |||
| accept-mode to true. | accept-mode to true. | |||
| Note: IPv6 Neighbor Solicitations and Neighbor Advertisements | Note: IPv6 Neighbor Solicitations and Neighbor | |||
| MUST NOT be dropped when accept-mode is false."; | Advertisements MUST NOT be dropped when accept-mode is | |||
| false."; | ||||
| } | } | |||
| } | } | |||
| grouping vrrp-ipv4-attributes { | grouping vrrp-ipv4-attributes { | |||
| description | description | |||
| "Group of VRRP attributes for IPv4."; | "Group of VRRP attributes for IPv4."; | |||
| uses vrrp-common-attributes; | uses vrrp-common-attributes; | |||
| uses vrrp-v3-attributes { | uses vrrp-v3-attributes { | |||
| skipping to change at page 12, line 13 ¶ | skipping to change at page 13, line 4 ¶ | |||
| description | description | |||
| "Group of VRRP attributes for IPv4."; | "Group of VRRP attributes for IPv4."; | |||
| uses vrrp-common-attributes; | uses vrrp-common-attributes; | |||
| uses vrrp-v3-attributes { | uses vrrp-v3-attributes { | |||
| when "version = 3" { | when "version = 3" { | |||
| description "Applicable only to version 3."; | description "Applicable only to version 3."; | |||
| } | } | |||
| } | } | |||
| choice advertise-interval-choice { | choice advertise-interval-choice { | |||
| description | description | |||
| "The options for the advertisement interval at which VRRPv2 | "The options for the advertisement interval at which VRRPv2 | |||
| or VRRPv3 advertisements are sent from the specified | or VRRPv3 advertisements are sent from the specified | |||
| interface."; | interface."; | |||
| case v2 { | case v2 { | |||
| when "version = 2" { | when "version = '2'" { | |||
| description "Applicable only to version 2."; | description "Applicable only to version 2."; | |||
| } | } | |||
| leaf advertise-interval-sec { | leaf advertise-interval-sec { | |||
| type uint8 { | type uint8 { | |||
| range 1..254; | range 1..254; | |||
| } | } | |||
| default 1; | default 1; | |||
| description | description | |||
| "Configures the interval that Virtual Router | "Configures the interval that Virtual Router | |||
| Redundancy Protocol Version 2 (VRRPv2) advertisements | Redundancy Protocol Version 2 (VRRPv2) advertisements | |||
| are sent from the specified interface."; | are sent from the specified interface."; | |||
| } | } | |||
| } | } | |||
| case v3 { | case v3 { | |||
| when "version = 3" { | when "version = '3'" { | |||
| description "Applicable only to version 3."; | description "Applicable only to version 3."; | |||
| } | } | |||
| leaf advertise-interval-centi-sec { | leaf advertise-interval-centi-sec { | |||
| type uint16 { | type uint16 { | |||
| range 1..4095; | range 1..4095; | |||
| } | } | |||
| units centiseconds; | units centiseconds; | |||
| default 100; | default 100; | |||
| description | description | |||
| "Configures the interval that Virtual Router | "Configures the interval that Virtual Router | |||
| Redundancy Protocol version 3 (VRRPv3) advertisements | Redundancy Protocol version 3 (VRRPv3) advertisements | |||
| are sent from the specified interface."; | are sent from the specified interface."; | |||
| } | } | |||
| } | } | |||
| } // advertise-interval-choice | } // advertise-interval-choice | |||
| container track { | container track { | |||
| description | description | |||
| "Enables the specified VRRP instance to track interfaces | "Enables the specified VRRP instance to track interfaces | |||
| or networks."; | or networks."; | |||
| container interfaces { | container interfaces { | |||
| description | description | |||
| "Enables the specified Virtual Router Redundancy Protocol | "Enables the specified Virtual Router Redundancy Protocol | |||
| version 2 (VRRP) or version 3 (VRRPv3) instance to track | version 2 (VRRP) or version 3 (VRRPv3) instance to track | |||
| an interface."; | an interface."; | |||
| list interface { | list interface { | |||
| key "interface"; | key "interface"; | |||
| description | description | |||
| "Interface to track."; | "Interface to track."; | |||
| leaf interface { | leaf interface { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| must "../../../../../../../ipv4" { | must "/if:interfaces/if:interface[if:name=.]/ip:ipv4" { | |||
| description "Interface is IPv4."; | description "Interface is IPv4."; | |||
| } | } | |||
| description | description | |||
| "Interface to track."; | "Interface to track."; | |||
| } | } | |||
| leaf priority-decrement { | leaf priority-decrement { | |||
| type uint8 { | type uint8 { | |||
| range 1..254; | range 1..254; | |||
| } | } | |||
| description | description | |||
| "Specifies how much to decrement the priority of the | "Specifies how much to decrement the priority of the | |||
| VRRP instance if the interface goes down."; | VRRP instance if the interface goes down."; | |||
| } | } | |||
| } // track-interface | } // track-interface | |||
| } // track-interfaces | } // track-interfaces | |||
| container networks { | container networks { | |||
| description | description | |||
| "Enables the backup Virtual Router Redundancy Protocol | "Enables the backup Virtual Router Redundancy Protocol | |||
| version 2 (VRRP) or version 3 (VRRPv3) router to track a | version 2 (VRRP) or version 3 (VRRPv3) router to track a | |||
| specified network through the IP network prefix of that | specified network through the IP network prefix of that | |||
| network."; | network."; | |||
| list network { | list network { | |||
| key "network"; | key "network"; | |||
| description | description | |||
| "Enables the specified Virtual Router Redundancy | "Enables the specified Virtual Router Redundancy | |||
| Protocol version 2 (VRRP) or version 3 (VRRPv3) | Protocol version 2 (VRRP) or version 3 (VRRPv3) | |||
| instance to track an interface."; | instance to track an interface."; | |||
| leaf network { | leaf network { | |||
| type inet:ipv4-prefix; | type inet:ipv4-prefix; | |||
| description | description | |||
| "Network to track."; | "Network to track."; | |||
| } | } | |||
| leaf priority-decrement { | leaf priority-decrement { | |||
| type uint8 { | type uint8 { | |||
| range 1..254; | range 1..254; | |||
| } | } | |||
| default 10; | default 10; | |||
| description | description | |||
| "Specifies how much to decrement the priority of the | "Specifies how much to decrement the priority of the | |||
| backup VRRP router if there is a failure in the IP | backup VRRP router if there is a failure in the IP | |||
| network."; | network."; | |||
| } | } | |||
| } // track-network | } // track-network | |||
| } // track-networks | } // track-networks | |||
| } // track | } // track | |||
| container virtual-ipv4-addresses { | container virtual-ipv4-addresses { | |||
| description | description | |||
| "Configures the virtual IP address for the Virtual Router | "Configures the virtual IP address for the Virtual Router | |||
| Redundancy Protocol (VRRP) interface."; | Redundancy Protocol (VRRP) interface."; | |||
| list virtual-ipv4-address { | list virtual-ipv4-address { | |||
| key "ipv4-address"; | key "ipv4-address"; | |||
| max-elements 16; | max-elements 16; | |||
| description | description | |||
| "Virtual IP addresses for a single VRRP instance. For a | "Virtual IP addresses for a single VRRP instance. For a | |||
| VRRP owner router, the virtual address must match one | VRRP owner router, the virtual address must match one | |||
| of the IP addresses configured on the interface | of the IP addresses configured on the interface | |||
| corresponding to the virtual router."; | corresponding to the virtual router."; | |||
| leaf ipv4-address { | leaf ipv4-address { | |||
| type inet:ipv4-address; | type inet:ipv4-address; | |||
| description | description | |||
| "Virtual IPv4 address."; | "Virtual IPv4 address."; | |||
| } | } | |||
| } // virtual-ipv4-address | } // virtual-ipv4-address | |||
| } // virtual-ipv4-addresses | } // virtual-ipv4-addresses | |||
| } // grouping vrrp-ipv4-attributes | } // grouping vrrp-ipv4-attributes | |||
| grouping vrrp-ipv6-attributes { | grouping vrrp-ipv6-attributes { | |||
| description | description | |||
| "Group of VRRP attributes for IPv6."; | "Group of VRRP attributes for IPv6."; | |||
| uses vrrp-common-attributes; | uses vrrp-common-attributes; | |||
| skipping to change at page 15, line 43 ¶ | skipping to change at page 16, line 32 ¶ | |||
| } // uses vrrp-v3-attributes | } // uses vrrp-v3-attributes | |||
| leaf advertise-interval-centi-sec { | leaf advertise-interval-centi-sec { | |||
| type uint16 { | type uint16 { | |||
| range 1..4095; | range 1..4095; | |||
| } | } | |||
| units centiseconds; | units centiseconds; | |||
| default 100; | default 100; | |||
| description | description | |||
| "Configures the interval that Virtual Router | "Configures the interval that Virtual Router | |||
| Redundancy Protocol version 3 (VRRPv3) advertisements | Redundancy Protocol version 3 (VRRPv3) advertisements | |||
| are sent from the specified interface."; | are sent from the specified interface."; | |||
| } | } | |||
| container track { | container track { | |||
| description | description | |||
| "Enables the specified VRRP instance to track interfaces | "Enables the specified VRRP instance to track interfaces | |||
| or networks."; | or networks."; | |||
| container interfaces { | container interfaces { | |||
| description | description | |||
| "Enables the specified Virtual Router Redundancy Protocol | "Enables the specified Virtual Router Redundancy Protocol | |||
| version 2 (VRRP) or version 3 (VRRPv3) instance to track | version 2 (VRRP) or version 3 (VRRPv3) instance to track | |||
| an interface."; | an interface."; | |||
| list interface { | list interface { | |||
| key "interface"; | key "interface"; | |||
| description | description | |||
| "Interface to track."; | "Interface to track."; | |||
| leaf interface { | leaf interface { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| must "../../../../../../../ipv6" { | must "/if:interfaces/if:interface[if:name=.]/ip:ipv6" { | |||
| description "Interface is IPv6."; | description "Interface is IPv6."; | |||
| } | } | |||
| description | description | |||
| "Interface to track."; | "Interface to track."; | |||
| } | } | |||
| leaf priority-decrement { | leaf priority-decrement { | |||
| type uint8 { | type uint8 { | |||
| range 1..254; | range 1..254; | |||
| } | } | |||
| description | description | |||
| "Specifies how much to decrement the priority of the | "Specifies how much to decrement the priority of the | |||
| VRRP instance if the interface goes down."; | VRRP instance if the interface goes down."; | |||
| } | } | |||
| } // track-interface | } // track-interface | |||
| } // track-interfaces | } // track-interfaces | |||
| container networks { | container networks { | |||
| description | description | |||
| "Enables the backup Virtual Router Redundancy Protocol | "Enables the backup Virtual Router Redundancy Protocol | |||
| version 2 (VRRP) or version 3 (VRRPv3) router to track a | version 2 (VRRP) or version 3 (VRRPv3) router to track a | |||
| specified network through the IP network prefix of that | specified network through the IP network prefix of that | |||
| network."; | network."; | |||
| list network { | list network { | |||
| key "network"; | key "network"; | |||
| description | description | |||
| "Enables the specified Virtual Router Redundancy | "Enables the specified Virtual Router Redundancy | |||
| Protocol version 2 (VRRP) or version 3 (VRRPv3) | Protocol version 2 (VRRP) or version 3 (VRRPv3) | |||
| instance to track an interface."; | instance to track an interface."; | |||
| leaf network { | leaf network { | |||
| type inet:ipv6-prefix; | type inet:ipv6-prefix; | |||
| description | description | |||
| "Network to track."; | "Network to track."; | |||
| } | } | |||
| leaf priority-decrement { | leaf priority-decrement { | |||
| type uint8 { | type uint8 { | |||
| range 1..254; | range 1..254; | |||
| } | } | |||
| default 10; | default 10; | |||
| description | description | |||
| "Specifies how much to decrement the priority of the | "Specifies how much to decrement the priority of the | |||
| backup VRRP router if there is a failure in the IP | backup VRRP router if there is a failure in the IP | |||
| network."; | network."; | |||
| } | } | |||
| } // track-network | } // track-network | |||
| } // track-networks | } // track-networks | |||
| } // track | } // track | |||
| container virtual-ipv6-addresses { | container virtual-ipv6-addresses { | |||
| description | description | |||
| "Configures the virtual IP address for the Virtual Router | "Configures the virtual IP address for the Virtual Router | |||
| Redundancy Protocol (VRRP) interface."; | Redundancy Protocol (VRRP) interface."; | |||
| list virtual-ipv6-address { | list virtual-ipv6-address { | |||
| key "ipv6-address"; | key "ipv6-address"; | |||
| max-elements 2; | max-elements 2; | |||
| description | description | |||
| "Two IPv6 addresses are allowed. The first one must be | "Two IPv6 addresses are allowed. The first one must be | |||
| a link-local address and the second one can be a | a link-local address and the second one can be a | |||
| link-local or global address."; | link-local or global address."; | |||
| leaf ipv6-address { | leaf ipv6-address { | |||
| type inet:ipv6-address; | type inet:ipv6-address; | |||
| description | description | |||
| "Virtual IPv6 address."; | "Virtual IPv6 address."; | |||
| } | } | |||
| } // virtual-ipv6-address | } // virtual-ipv6-address | |||
| } // virtual-ipv6-addresses | } // virtual-ipv6-addresses | |||
| } // grouping vrrp-ipv6-attributes | } // grouping vrrp-ipv6-attributes | |||
| skipping to change at page 18, line 39 ¶ | skipping to change at page 19, line 29 ¶ | |||
| leaf last-adv-source { | leaf last-adv-source { | |||
| type inet:ip-address; | type inet:ip-address; | |||
| description | description | |||
| "Last advertised IPv4/IPv6 source address"; | "Last advertised IPv4/IPv6 source address"; | |||
| } | } | |||
| leaf up-time { | leaf up-time { | |||
| type yang:date-and-time; | type yang:date-and-time; | |||
| description | description | |||
| "The time when this virtual router | "The time when this virtual router | |||
| transitioned out of init state."; | transitioned out of init state."; | |||
| } | } | |||
| leaf master-down-interval { | leaf master-down-interval { | |||
| type uint32; | type uint32; | |||
| units centiseconds; | units centiseconds; | |||
| description | description | |||
| "Time interval for backup virtual router to declare | "Time interval for backup virtual router to declare | |||
| Master down."; | Master down."; | |||
| } | } | |||
| leaf skew-time { | leaf skew-time { | |||
| type uint32; | type uint32; | |||
| units microseconds; | units microseconds; | |||
| description | description | |||
| "Calculated based on the priority and advertisement | "Calculated based on the priority and advertisement | |||
| interval configuration command parameters. See RFC 3768."; | interval configuration command parameters. See RFC 3768."; | |||
| } | } | |||
| leaf last-event { | leaf last-event { | |||
| type string; | type string; | |||
| description | description | |||
| "Last reported event."; | "Last reported event."; | |||
| } | } | |||
| leaf new-master-reason { | leaf new-master-reason { | |||
| type new-master-reason-type; | type new-master-reason-type; | |||
| description | description | |||
| "Indicates the reason for the virtual router to transition | "Indicates the reason for the virtual router to transition | |||
| to master state."; | to master state."; | |||
| } | } | |||
| container statistics { | container statistics { | |||
| description | description | |||
| "VRRP statistics."; | "VRRP statistics."; | |||
| leaf discontinuity-time { | leaf discontinuity-time { | |||
| type yang:date-and-time; | type yang:date-and-time; | |||
| description | description | |||
| "The time on the most recent occasion at which any one or | "The time on the most recent occasion at which any one or | |||
| more of the VRRP statistic counters suffered a | more of the VRRP statistic counters suffered a | |||
| discontinuity. If no such discontinuities have occurred | discontinuity. If no such discontinuities have occurred | |||
| since the last re-initialization of the local management | since the last re-initialization of the local management | |||
| subsystem, then this node contains the time that the | subsystem, then this node contains the time that the | |||
| local management subsystem re-initialized itself."; | local management subsystem re-initialized itself."; | |||
| } | } | |||
| leaf master-transitions { | leaf master-transitions { | |||
| type yang:counter32; | type yang:counter32; | |||
| description | description | |||
| "The total number of times that this virtual router's | "The total number of times that this virtual router's | |||
| state has transitioned to master"; | state has transitioned to master"; | |||
| } | } | |||
| leaf advertisement-recv { | leaf advertisement-recv { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP advertisements received by | "The total number of VRRP advertisements received by | |||
| this virtual router."; | this virtual router."; | |||
| } | } | |||
| leaf advertisement-sent { | leaf advertisement-sent { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP advertisements sent by | "The total number of VRRP advertisements sent by | |||
| this virtual router."; | this virtual router."; | |||
| } | } | |||
| leaf interval-errors { | leaf interval-errors { | |||
| if-feature validate-interval-errors; | if-feature validate-interval-errors; | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP advertisement packets | "The total number of VRRP advertisement packets | |||
| received with an advertisement interval | received with an advertisement interval | |||
| different than the one configured for the local | different than the one configured for the local | |||
| virtual router"; | virtual router"; | |||
| } | } | |||
| leaf priority-zero-pkts-rcvd { | leaf priority-zero-pkts-rcvd { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP packets received by the | "The total number of VRRP packets received by the | |||
| virtual router with a priority of 0."; | virtual router with a priority of 0."; | |||
| } | } | |||
| leaf priority-zero-pkts-sent { | leaf priority-zero-pkts-sent { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP packets sent by the | "The total number of VRRP packets sent by the | |||
| virtual router with a priority of 0."; | virtual router with a priority of 0."; | |||
| } | } | |||
| leaf invalid-type-pkts-rcvd { | leaf invalid-type-pkts-rcvd { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The number of VRRP packets received by the virtual | "The number of VRRP packets received by the virtual | |||
| router with an invalid value in the 'type' field."; | router with an invalid value in the 'type' field."; | |||
| } | } | |||
| leaf address-list-errors { | leaf address-list-errors { | |||
| if-feature validate-address-list-errors; | if-feature validate-address-list-errors; | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of packets received with an | "The total number of packets received with an | |||
| address list that does not match the locally | address list that does not match the locally | |||
| configured address list for the virtual router."; | configured address list for the virtual router."; | |||
| } | } | |||
| leaf packet-length-errors { | leaf packet-length-errors { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of packets received with a packet | "The total number of packets received with a packet | |||
| length less than the length of the VRRP header."; | length less than the length of the VRRP header."; | |||
| } | } | |||
| } // container statistics | } // container statistics | |||
| } // grouping vrrp-state-attributes | } // grouping vrrp-state-attributes | |||
| grouping vrrp-global-state-attributes { | grouping vrrp-global-state-attributes { | |||
| description | description | |||
| "Group of VRRP global state attributes."; | "Group of VRRP global state attributes."; | |||
| leaf virtual-routers { | leaf virtual-routers { | |||
| type uint32; | type uint32; | |||
| skipping to change at page 22, line 4 ¶ | skipping to change at page 22, line 34 ¶ | |||
| "Group of VRRP global state attributes."; | "Group of VRRP global state attributes."; | |||
| leaf virtual-routers { | leaf virtual-routers { | |||
| type uint32; | type uint32; | |||
| description "Number of configured virtual routers."; | description "Number of configured virtual routers."; | |||
| } | } | |||
| leaf interfaces { | leaf interfaces { | |||
| type uint32; | type uint32; | |||
| description "Number of interface with VRRP configured."; | description "Number of interface with VRRP configured."; | |||
| } | } | |||
| leaf checksum-errors { | leaf checksum-errors { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP packets received with an invalid | "The total number of VRRP packets received with an invalid | |||
| VRRP checksum value."; | VRRP checksum value."; | |||
| reference "RFC 5798, Section 5.2.8"; | reference "RFC 5798, Section 5.2.8"; | |||
| } | } | |||
| leaf version-errors { | leaf version-errors { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP packets received with an unknown | "The total number of VRRP packets received with an unknown | |||
| or unsupported version number."; | or unsupported version number."; | |||
| reference "RFC 5798, Section 5.2.1"; | reference "RFC 5798, Section 5.2.1"; | |||
| } | } | |||
| leaf vrid-errors { | leaf vrid-errors { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP packets received with a VRID that | "The total number of VRRP packets received with a VRID that | |||
| is not valid for any virtual router on this router."; | is not valid for any virtual router on this router."; | |||
| reference "RFC 5798, Section 5.2.3"; | reference "RFC 5798, Section 5.2.3"; | |||
| } | } | |||
| leaf ip-ttl-errors { | leaf ip-ttl-errors { | |||
| type yang:counter64; | type yang:counter64; | |||
| description | description | |||
| "The total number of VRRP packets received by the | "The total number of VRRP packets received by the | |||
| virtual router with IP TTL (Time-To-Live) not equal | virtual router with IP TTL (Time-To-Live) not equal | |||
| to 255."; | to 255."; | |||
| reference "RFC 5798, Sections 5.1.1.3 and 5.1.2.3."; | reference "RFC 5798, Sections 5.1.1.3 and 5.1.2.3."; | |||
| } | } | |||
| leaf global-statistics-discontinuity-time { | leaf global-statistics-discontinuity-time { | |||
| type yang:date-and-time; | type yang:date-and-time; | |||
| description | description | |||
| "The time on the most recent occasion at which one of | "The time on the most recent occasion at which one of | |||
| router-checksum-errors, router-version-errors, | router-checksum-errors, router-version-errors, | |||
| router-vrid-errors, and ip-ttl-errors suffered a | router-vrid-errors, and ip-ttl-errors suffered a | |||
| discontinuity. | discontinuity. | |||
| If no such discontinuities have occurred since the last | If no such discontinuities have occurred since the last | |||
| re-initialization of the local management subsystem, | re-initialization of the local management subsystem, | |||
| then this object will be 0."; | then this object will be 0."; | |||
| } | } | |||
| } // vrrp-global-state-attributes | } // vrrp-global-state-attributes | |||
| /* | /* | |||
| * Configuration data nodes | * Configuration data nodes | |||
| */ | */ | |||
| augment "/if:interfaces/if:interface/ip:ipv4" { | augment "/if:interfaces/if:interface/ip:ipv4" { | |||
| description "Augment IPv4 interface."; | description "Augment IPv4 interface."; | |||
| container vrrp { | container vrrp { | |||
| description | description | |||
| "Configures the Virtual Router Redundancy Protocol (VRRP) | "Configures the Virtual Router Redundancy Protocol (VRRP) | |||
| version 2 or version 3 for IPv4."; | version 2 or version 3 for IPv4."; | |||
| list vrrp-instance { | list vrrp-instance { | |||
| key vrid; | key vrid; | |||
| description | description | |||
| "Defines a virtual router, identified by a virtual router | "Defines a virtual router, identified by a virtual router | |||
| identifier (VRID), within IPv4 address space."; | identifier (VRID), within IPv4 address space."; | |||
| uses vrrp-ipv4-attributes; | uses vrrp-ipv4-attributes; | |||
| } | } | |||
| } | } | |||
| } // augment ipv4 | } // augment ipv4 | |||
| augment "/if:interfaces/if:interface/ip:ipv6" { | augment "/if:interfaces/if:interface/ip:ipv6" { | |||
| description "Augment IPv6 interface."; | description "Augment IPv6 interface."; | |||
| container vrrp { | container vrrp { | |||
| description | description | |||
| "Configures the Virtual Router Redundancy Protocol (VRRP) | "Configures the Virtual Router Redundancy Protocol (VRRP) | |||
| version 3 for IPv6."; | version 3 for IPv6."; | |||
| list vrrp-instance { | list vrrp-instance { | |||
| must "version = 3" { | must "version = '3'" { | |||
| description | description | |||
| "IPv6 is only supported by version 3."; | "IPv6 is only supported by version 3."; | |||
| } | } | |||
| key vrid; | key vrid; | |||
| description | description | |||
| "Defines a virtual router, identified by a virtual router | "Defines a virtual router, identified by a virtual router | |||
| identifier (VRID), within IPv6 address space."; | identifier (VRID), within IPv6 address space."; | |||
| uses vrrp-ipv6-attributes; | uses vrrp-ipv6-attributes; | |||
| } // list vrrp-instance | } // list vrrp-instance | |||
| } // container vrrp | } // container vrrp | |||
| } // augment ipv6 | } // augment ipv6 | |||
| /* | /* | |||
| * Operational state data nodes | * Operational state data nodes | |||
| */ | */ | |||
| augment "/if:interfaces-state/if:interface/ip:ipv4" { | augment "/if:interfaces-state/if:interface/ip:ipv4" { | |||
| description "Augment IPv4 interface state."; | description "Augment IPv4 interface state."; | |||
| container vrrp { | container vrrp { | |||
| description | description | |||
| "State information for Virtual Router Redundancy Protocol | "State information for Virtual Router Redundancy Protocol | |||
| (VRRP) version 2 for IPv4."; | (VRRP) version 2 for IPv4."; | |||
| list vrrp-instance { | list vrrp-instance { | |||
| key vrid; | key vrid; | |||
| description | description | |||
| "States of a virtual router, identified by a virtual router | "States of a virtual router, identified by a virtual router | |||
| identifier (VRID), within IPv4 address space."; | identifier (VRID), within IPv4 address space."; | |||
| uses vrrp-ipv4-attributes; | uses vrrp-ipv4-attributes; | |||
| uses vrrp-state-attributes; | uses vrrp-state-attributes; | |||
| } // list vrrp-instance | } // list vrrp-instance | |||
| } | } | |||
| } | } | |||
| augment "/if:interfaces-state/if:interface/ip:ipv6" { | augment "/if:interfaces-state/if:interface/ip:ipv6" { | |||
| description "Augment IPv6 interface state."; | description "Augment IPv6 interface state."; | |||
| container vrrp { | container vrrp { | |||
| description | description | |||
| "State information of the Virtual Router Redundancy Protocol | "State information of the Virtual Router Redundancy Protocol | |||
| (VRRP) version 2 or version 3 for IPv6."; | (VRRP) version 2 or version 3 for IPv6."; | |||
| list vrrp-instance { | list vrrp-instance { | |||
| key vrid; | key vrid; | |||
| description | description | |||
| "States of a virtual router, identified by a virtual router | "States of a virtual router, identified by a virtual router | |||
| identifier (VRID), within IPv6 address space."; | identifier (VRID), within IPv6 address space."; | |||
| uses vrrp-ipv6-attributes; | uses vrrp-ipv6-attributes; | |||
| uses vrrp-state-attributes; | uses vrrp-state-attributes; | |||
| } // list vrrp-instance | } // list vrrp-instance | |||
| } | } | |||
| } | } | |||
| augment "/if:interfaces-state" { | augment "/if:interfaces-state" { | |||
| description "Specify VRRP state data at the global level."; | description "Specify VRRP state data at the global level."; | |||
| container vrrp-global { | container vrrp-global { | |||
| description | description | |||
| "State information of the Virtual Router Redundancy Protocol | "State information of the Virtual Router Redundancy Protocol | |||
| (VRRP) at the global level"; | (VRRP) at the global level"; | |||
| uses vrrp-global-state-attributes; | uses vrrp-global-state-attributes; | |||
| } | } | |||
| } | } | |||
| /* | /* | |||
| * Notifications | * Notifications | |||
| */ | */ | |||
| notification vrrp-new-master-event { | notification vrrp-new-master-event { | |||
| skipping to change at page 26, line 7 ¶ | skipping to change at page 26, line 39 ¶ | |||
| "Notification event for a change of VRRP new master."; | "Notification event for a change of VRRP new master."; | |||
| leaf master-ipaddr { | leaf master-ipaddr { | |||
| type inet:ipv4-address; | type inet:ipv4-address; | |||
| description | description | |||
| "IPv4 or IPv6 address of the new master."; | "IPv4 or IPv6 address of the new master."; | |||
| } | } | |||
| leaf new-master-reason { | leaf new-master-reason { | |||
| type new-master-reason-type; | type new-master-reason-type; | |||
| description | description | |||
| "Indicates the reason for the virtual router to transition | "Indicates the reason for the virtual router to transition | |||
| to master state."; | to master state."; | |||
| } | } | |||
| } | } | |||
| notification vrrp-protocol-error-event { | notification vrrp-protocol-error-event { | |||
| description | description | |||
| "Notification event for a VRRP protocol error."; | "Notification event for a VRRP protocol error."; | |||
| leaf protocol-error-reason { | leaf protocol-error-reason { | |||
| type enumeration { | type enumeration { | |||
| enum checksum-error { | enum checksum-error { | |||
| description | description | |||
| "A packet has been received with an invalid VRRP checksum | "A packet has been received with an invalid VRRP checksum | |||
| value."; | value."; | |||
| } | } | |||
| enum version-error { | enum version-error { | |||
| description | description | |||
| "A packet has been received with an unknown or | "A packet has been received with an unknown or | |||
| unsupported version number."; | unsupported version number."; | |||
| } | } | |||
| enum vrid-error { | enum vrid-error { | |||
| description | description | |||
| "A packet has been received with a VRID that is not valid | "A packet has been received with a VRID that is not valid | |||
| for any virtual router on this router."; | for any virtual router on this router."; | |||
| } | } | |||
| enum ip-ttl-error { | enum ip-ttl-error { | |||
| description | description | |||
| "A packet has been received with IP TTL (Time-To-Live) | "A packet has been received with IP TTL (Time-To-Live) | |||
| not equal to 255."; | not equal to 255."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Indicates the reason for the protocol error."; | "Indicates the reason for the protocol error."; | |||
| } | } | |||
| } | } | |||
| notification vrrp-virtual-router-error-event { | notification vrrp-virtual-router-error-event { | |||
| description | description | |||
| "Notification event for a error happened on a virtual router."; | "Notification event for an error happened on a virtual | |||
| router."; | ||||
| leaf interface { | leaf interface { | |||
| type if:interface-ref; | type if:interface-ref; | |||
| description | description | |||
| "Indicates the interface for which statistics area | "Indicates the interface for which statistics area | |||
| to be cleared."; | to be cleared."; | |||
| } | } | |||
| leaf ip-version { | leaf ip-version { | |||
| type enumeration { | type enumeration { | |||
| enum 4 { | enum 4 { | |||
| description "IPv4"; | description "IPv4"; | |||
| } | } | |||
| enum 6 { | enum 6 { | |||
| description "IPv6"; | description "IPv6"; | |||
| } | } | |||
| } | } | |||
| description "Indicates the IP version."; | description "Indicates the IP version."; | |||
| } | } | |||
| leaf vrid-v4 { | leaf vrid-v4 { | |||
| type leafref { | type leafref { | |||
| path "/if:interfaces/if:interface" | path "/if:interfaces/if:interface" | |||
| + "[if:name = current()/../interface]/ip:ipv4/vrrp/" | + "[if:name = current()/../interface]/ip:ipv4/vrrp/" | |||
| + "vrrp-instance/vrid"; | + "vrrp-instance/vrid"; | |||
| } | } | |||
| description | description | |||
| "Indicates the virtual router on which the event has | "Indicates the virtual router on which the event has | |||
| occured."; | occurred."; | |||
| } | } | |||
| leaf vrid-v6 { | leaf vrid-v6 { | |||
| type leafref { | type leafref { | |||
| path "/if:interfaces/if:interface" | path "/if:interfaces/if:interface" | |||
| + "[if:name = current()/../interface]/ip:ipv6/vrrp/" | + "[if:name = current()/../interface]/ip:ipv6/vrrp/" | |||
| + "vrrp-instance/vrid"; | + "vrrp-instance/vrid"; | |||
| } | } | |||
| description | description | |||
| "Indicates the virtual router on which the event has | "Indicates the virtual router on which the event has | |||
| occured."; | occurred."; | |||
| } | } | |||
| leaf virtual-router-error-reason { | leaf virtual-router-error-reason { | |||
| type enumeration { | type enumeration { | |||
| enum interval-error { | enum interval-error { | |||
| description | description | |||
| "A packet has been received with an advertisement | "A packet has been received with an advertisement | |||
| interval different than the one configured for the local | interval different than the one configured for the local | |||
| virtual router"; | virtual router"; | |||
| } | } | |||
| enum address-list-error { | enum address-list-error { | |||
| description | description | |||
| "A packet has been received with an address list that | "A packet has been received with an address list that | |||
| does not match the locally configured address list for | does not match the locally configured address list for | |||
| the virtual router."; | the virtual router."; | |||
| } | } | |||
| enum packet-length-error { | enum packet-length-error { | |||
| description | description | |||
| "A packet has been received with a packet length less | "A packet has been received with a packet length less | |||
| than the length of the VRRP header."; | than the length of the VRRP header."; | |||
| } | } | |||
| } | } | |||
| description | description | |||
| "Indicates the reason for the virtual router error."; | "Indicates the reason for the virtual router error."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 4. Security Considerations | 4. IANA Considerations | |||
| RFC Ed.: In this section, replace all occurrences of 'XXXX' with the | ||||
| actual RFC number (and remove this note). | ||||
| This document registers the following namespace URIs in the IETF XML | ||||
| registry [RFC3688]: | ||||
| -------------------------------------------------------------------- | ||||
| URI: urn:ietf:params:xml:ns:yang:ietf-vrrp | ||||
| Registrant Contact: The IESG. | ||||
| XML: N/A, the requested URI is an XML namespace. | ||||
| -------------------------------------------------------------------- | ||||
| This document registers the following YANG modules in the YANG Module | ||||
| Names registry [RFC6020]: | ||||
| -------------------------------------------------------------------- | ||||
| name: ietf-vrrp | ||||
| namespace: urn:ietf:params:xml:ns:yang:ietf-vrrp | ||||
| prefix: vrrp | ||||
| reference: RFC XXXX | ||||
| -------------------------------------------------------------------- | ||||
| 5. Security Considerations | ||||
| The configuration, state, action and notification data defined in | The configuration, state, action and notification data defined in | |||
| this document are designed to be accessed via the NETCONF protocol | this document are designed to be accessed via the NETCONF protocol | |||
| [RFC6241]. The data-model by itself does not create any security | [RFC6241]. The data-model by itself does not create any security | |||
| implications. The security considerations for the NETCONF protocol | implications. The security considerations for the NETCONF protocol | |||
| are applicable. The NETCONF protocol used for sending the data | are applicable. The NETCONF protocol used for sending the data | |||
| supports authentication and encryption. | supports authentication and encryption. | |||
| 5. References | 6. References | |||
| 5.1. Normative References | 6.1. Normative References | |||
| [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the | |||
| Network Configuration Protocol (NETCONF)", RFC 6020, | Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| October 2010. | October 2010. | |||
| [RFC6021] Schoenwaelder, J., "Common YANG Data Types", RFC 6021, | [RFC6021] Schoenwaelder, J., "Common YANG Data Types", RFC 6021, | |||
| October 2010. | October 2010. | |||
| [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. Bierman, | [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. Bierman, | |||
| "Network Configuration Protocol (NETCONF)", RFC 6241, June | "Network Configuration Protocol (NETCONF)", RFC 6241, June | |||
| skipping to change at page 29, line 28 ¶ | skipping to change at page 30, line 42 ¶ | |||
| for the Virtual Router Redundancy Protocol", RFC 2787, | for the Virtual Router Redundancy Protocol", RFC 2787, | |||
| March 2000. | March 2000. | |||
| [RFC5798] Nadas, S., Ed., "Virtual Router Redundancy Protocol (VRRP) | [RFC5798] Nadas, S., Ed., "Virtual Router Redundancy Protocol (VRRP) | |||
| Version 3 for IPv4 and IPv6", RFC 5798, March 2010. | Version 3 for IPv4 and IPv6", RFC 5798, March 2010. | |||
| [RFC6527] Tata, K., Ed., "Definitions of Managed Objects for the | [RFC6527] Tata, K., Ed., "Definitions of Managed Objects for the | |||
| Virtual Router Redundancy Protocol Version 3 (VRRPv3)", RFC | Virtual Router Redundancy Protocol Version 3 (VRRPv3)", RFC | |||
| 6527, March 2012. | 6527, March 2012. | |||
| 5.2. Informative References | 6.2. Informative References | |||
| [RFC6087] Bierman, A., "Guidelines for Authors and Reviewers of YANG | [RFC6087] Bierman, A., "Guidelines for Authors and Reviewers of YANG | |||
| Data Model Documents", RFC 6087, January 2011. | Data Model Documents", RFC 6087, January 2011. | |||
| Authors' Addresses | Authors' Addresses | |||
| Xufeng Liu (Editor) | Xufeng Liu (Editor) | |||
| Ericsson | Kuatro Technologies | |||
| 1595 Spring Hill Road, Suite 500 | 8281 Greensboro Drive, Suite 200 | |||
| Vienna, VA 22182 | McLean, VA 22102 | |||
| USA | USA | |||
| Email: xliu@kuatrotech.com | Email: xliu@kuatrotech.com | |||
| Athanasios Kyparlis | Athanasios Kyparlis | |||
| Ericsson | Kuatro Technologies | |||
| 1595 Spring Hill Road, Suite 500 | 8281 Greensboro Drive, Suite 200 | |||
| Vienna, VA 22182 | McLean, VA 22102 | |||
| USA | USA | |||
| Email: akyparlis@kuatrotech.com | Email: akyparlis@kuatrotech.com | |||
| Ravi Parikh | Ravi Parikh | |||
| Ericsson | VMware | |||
| 300 Holger Way | 3425 Hillview Avenue | |||
| San Jose, CA 95134 | Palo Alto, CA 94304 | |||
| USA | USA | |||
| Email: ravi.parikh@ericsson.com | Email: parikhr@vmware.com | |||
| Acee Lindem | Acee Lindem | |||
| Cisco Systems | Cisco Systems | |||
| 301 Midenhall Way | 301 Midenhall Way | |||
| Cary, NC 27513 | Cary, NC 27513 | |||
| USA | USA | |||
| Email: acee@cisco.com | Email: acee@cisco.com | |||
| Mingui Zhang | Mingui Zhang | |||
| End of changes. 112 change blocks. | ||||
| 163 lines changed or deleted | 215 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/ | ||||