Configure the operation, administration and maintenance (OAM) association function.
Version: 2020-09-18
module huawei-oammgr { yang-version 1; namespace "urn:huawei:yang:huawei-oammgr"; prefix oammgr; import huawei-extension { prefix ext; } organization "Huawei Technologies Co., Ltd."; contact "Huawei Industrial Base Bantian, Longgang Shenzhen 518129 People's Republic of China Website: http://www.huawei.com Email: support@huawei.com"; description "Configure the operation, administration and maintenance (OAM) association function."; revision "2020-09-18" { description "Initial revision."; reference "Huawei private."; } ext:task-name "oammgr"; container oammgr { presence "Enable OAMMGR"; description "Configure the operation, administration and maintenance (OAM) association function."; container bfd-bind-interfaces { description "List of associations between BFD and an interface."; list bfd-bind-interface { key "if-name"; description "Configure an instance of an association between BFD and an interface."; leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Configure the name of interface."; } leaf reboot-impact { type boolean; default "false"; description "Enable/disable a BFD session to associate the interface status after device reboot."; } choice name-or-id { mandatory true; description "List of BFD session configurations."; case name { description "List of name of BFD session."; leaf bfd-sess-name { type leafref { path "/bfd:bfd/bfd:sessions/bfd:session/bfd:name"; } description "Configure the name of a BFD session."; } } // case name case id { description "List of local discriminator of BFD session."; leaf bfd-session-id { type uint32 { range "1..16384"; } description "Configure the local discriminator of a BFD session."; } } // case id } // choice name-or-id } // list bfd-bind-interface } // container bfd-bind-interfaces container cfm-bind-efms { description "List of associations between CFM and EFM."; list cfm-bind-efm { key "md-name ma-name if-name bind-type"; unique "md-name ma-name bind-type"; unique "if-name bind-type"; description "Configure an instance of an association between CFM and EFM."; leaf md-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md/y1731:name"; } description "Configure a MD name."; } leaf ma-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md[y1731:name=current()/../md-name]/y1731:mas/y1731:ma/y1731:name"; } description "Configure a MA name."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } must "/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()]/efm:efm/efm:session/efm:state='enable'"; description "Configure the name of interface which the EFM instance bound."; } leaf bind-type { type cfm-bind-efm-type; description "Configure a binding type."; } } // list cfm-bind-efm } // container cfm-bind-efms container cfm-bind-evpns { description "List of associations between CFM and EVPN DF."; list cfm-bind-evpn { key "md-name ma-name if-name bind-type"; unique "md-name ma-name bind-type"; unique "if-name bind-type"; description "Configure an instance of an association between CFM and EVPN DF."; leaf md-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md/y1731:name"; } description "Configure a MD name."; } leaf ma-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md[y1731:name=current()/../md-name]/y1731:mas/y1731:ma/y1731:name"; } description "Configure a MA name."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Configure the name of interface which has EVPN DF result."; } leaf bind-type { type cfm-bind-evpn-type; description "Configure a binding type."; } } // list cfm-bind-evpn } // container cfm-bind-evpns container efm-bind-bfds { description "List of associations between EFM and BFD."; list efm-bind-bfd { key "if-name bfd-session-id bind-type"; unique "if-name bind-type"; unique "bfd-session-id bind-type"; description "Configure an instance of an association between EFM and BFD."; leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } must "/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()]/efm:efm/efm:session/efm:state='enable'"; description "Configure the name of interface which the EFM instance bound."; } leaf bfd-session-id { type uint32 { range "1..16384"; } must "/bfd:bfd/bfd:sessions/bfd:session[bfd:local-discriminator-multicast-ipv4=current()] or /bfd:bfd/bfd:sessions/bfd:session[bfd:local-discriminator=current()] or /bfd:bfd/bfd:sessions/bfd:session[bfd:local-discriminator-static-ldp-lsp=current()] or /bfd:bfd/bfd:sessions/bfd:session[bfd-static-mpls-te:local-discriminator-static-te-lsp=current()] or /bfd:bfd/bfd:sessions/bfd:session[bfd-static-mpls-te:local-discriminator-static-te-tunnel=current()] or /bfd:bfd/bfd:sessions/bfd:session[bfd-static-vpws:local-discriminator-static-vll-pw=current()]"; description "Configure the local discriminator of a BFD session."; } leaf bind-type { type efm-bind-bfd-type; description "Configure a binding type."; } } // list efm-bind-bfd } // container efm-bind-bfds container cfm-bind-vrrps { description "List of associations between CFM and VRRP."; list cfm-bind-vrrp { key "md-name ma-name vrrp-id if-name bind-type"; unique "md-name ma-name bind-type"; unique "vrrp-id if-name bind-type"; description "Configure an instance of an association between CFM and VRRP."; leaf md-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md/y1731:name"; } description "Configure a MD name."; } leaf ma-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md[y1731:name=current()/../md-name]/y1731:mas/y1731:ma/y1731:name"; } description "Configure a MA name."; } leaf vrrp-id { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface[ifm:name=current()/../if-name]/ip:ipv4/vrrp:vrrp/vrrp:groups/vrrp:group/vrrp:id"; } description "Configure a VRRP ID."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Configure the name of interface to which a VRRP instance is bound."; } leaf bind-type { type cfm-bind-vrrp-type; description "Configure a binding type."; } } // list cfm-bind-vrrp } // container cfm-bind-vrrps container cfm-bind-interfaces { description "List of associations between CFM and interface."; list cfm-bind-interface { key "md-name ma-name if-name bind-type"; unique "md-name ma-name bind-type"; unique "if-name bind-type"; description "Configure an instance of an association between CFM and interface."; leaf md-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md/y1731:name"; } description "Configure a MD name."; } leaf ma-name { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md[y1731:name=current()/../md-name]/y1731:mas/y1731:ma/y1731:name"; } description "Configure a MA name."; } leaf if-name { type leafref { path "/ifm:ifm/ifm:interfaces/ifm:interface/ifm:name"; } description "Configure the name of interface."; } leaf bind-type { type cfm-bind-interface-type; description "Configure a binding type."; } } // list cfm-bind-interface } // container cfm-bind-interfaces container cfm-bind-cfms { description "List of associations between CFM and CFM."; list cfm-bind-cfm { must "not((md-name1=md-name2) and (ma-name1=ma-name2))"; key "md-name1 ma-name1 md-name2 ma-name2 bind-type"; unique "md-name1 ma-name1 bind-type"; unique "md-name2 ma-name2 bind-type"; description "Configure an instance of an association between CFM and CFM."; leaf md-name1 { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md/y1731:name"; } description "Configure the name of the first MD."; } leaf ma-name1 { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md[y1731:name=current()/../md-name1]/y1731:mas/y1731:ma/y1731:name"; } description "Configure the name of the first MA."; } leaf md-name2 { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md/y1731:name"; } description "Configure the name of the second MD."; } leaf ma-name2 { type leafref { path "/y1731:y1731/y1731:global-enable/y1731:mds/y1731:md[y1731:name=current()/../md-name2]/y1731:mas/y1731:ma/y1731:name"; } description "Configure the name of the second MA."; } leaf bind-type { type cfm-bind-cfm-type; description "Configure a binding type."; } } // list cfm-bind-cfm } // container cfm-bind-cfms } // container oammgr } // module huawei-oammgr
© 2023 YumaWorks, Inc. All rights reserved.