This module is used to add dhcp client status in base yang. Copyright (c) 2016 Fujitsu Ltd. All rights reserved.
Version: 2016-04-05
module dhcpv6-client-ext { yang-version 1; namespace "urn:fujitsu:params:xml:ns:dhcpv6-client-ext"; prefix dhcpv6-ext; import ietf-inet-types { prefix inet; } import dhcpv6-client { prefix dhcpv6; } import ietf-interfaces { prefix if; } import ietf-ip { prefix ip; } import tailf-common { prefix tailf; } import fujitsu-system { prefix sys; } import ietf-yang-types { prefix yang; revision-date "2013-07-15"; } organization "Fujitsu Ltd."; contact "Fujitsu Ltd. Address: 2801 Telecom Parkway Richardson, Texas 75082 Tel: +1-800-USE-FTAC (1-800-873-3822) Email: ftac@fnc.fujitsu.com Web: www.fujitsu.com/us/services/telecom"; description "This module is used to add dhcp client status in base yang. Copyright (c) 2016 Fujitsu Ltd. All rights reserved. "; revision "2016-04-05"; typedef duidtype { type string { pattern '(([0-9a-fA-F]{2}){6,10})'; } description "the type defined for duid"; } augment /dhcpv6:clientv6 { container dhcpv6ClientStatus { list client-if { tailf:callpoint "dhcpv6-client-if"; key "if-name"; config false; leaf if-name { type string; mandatory true; description "interface name"; } container identity-associations { config false; description "IA is a construct through which a server and a client can identify, group, and manage a set of related IPv6 addresses. The key of the list is a 4-byte number IAID defined in [RFC3315]."; list identity-association { tailf:callpoint "dhcpv6-id-association"; key "iaid"; description "IA"; leaf iaid { type uint32; mandatory true; description "IAID"; } leaf ia-type { type string; mandatory true; description "IA type"; } leaf-list ipv6-addr { type inet:ipv6-address; description "ipv6 address"; } leaf t1-time { type yang:timeticks; mandatory true; description "t1 time"; } leaf t2-time { type yang:timeticks; mandatory true; description "t2 time"; } leaf preferred-lifetime { type yang:timeticks; mandatory true; description "preferred lifetime"; } leaf valid-lifetime { type yang:timeticks; mandatory true; description "valid lifetime"; } } // list identity-association } // container identity-associations } // list client-if } // container dhcpv6ClientStatus } augment /dhcpv6:clientv6 { list client-if { key "if-name"; description "A client may have several interfaces, it is more reasonable to configure and manage parameters on the interface-level. The list defines specific client interfaces and their data. Different interfaces are distinguished by the key which is a configurable string value."; leaf if-name { type string; must "(((re-match(., 'ip-.*(LCN2)') = 'true') and (/sys:system/sys:neMgmtMode = 'Router')) or (re-match(., 'ip-.*(LCN|LCN1)') = 'true'))" { error-message "TYPE not supported (or) LCN2 is only allowed in Router mode."; } mandatory true; description "interface name"; } leaf duid { type duidtype; mandatory true; description "DHCP Unique Identifer"; } leaf enable { type boolean; must "(((current() = 'false') and (((count (/if:interfaces/if:interface[if:name=current()/../if-name]/ip:ipv6/ip:address) > 0) and (/if:interfaces/if:interface[if:name=current()/../if-name]/ip:ipv6/ip:enabled = 'true'))))or (current() = 'true'))" { error-message "No Static IPV6 address assigned/Enabled for this interface"; } mandatory true; description "whether the interface is enabled"; } leaf rapid-commit { type boolean; mandatory true; description "'1' indicates a client can initiate a Solicit-Reply message exchange by adding a Rapid Commit option in Solicit message. '0' means the client is not allowed to add a Rapid Commit option to request addresses in a two-message exchange pattern."; } } // list client-if } } // module dhcpv6-client-ext
© 2023 YumaWorks, Inc. All rights reserved.