Model for managing aggregated (aka bundle, LAG) interfaces.
Version: 2017-07-14
module openconfig-if-aggregate { yang-version 1; namespace "http://openconfig.net/yang/interfaces/aggregate"; prefix oc-lag; import openconfig-interfaces { prefix oc-if; } import openconfig-if-ethernet { prefix oc-eth; } import iana-if-type { prefix ift; } import openconfig-extensions { prefix oc-ext; } organization "OpenConfig working group"; contact "OpenConfig working group netopenconfig@googlegroups.com"; description "Model for managing aggregated (aka bundle, LAG) interfaces."; revision "2017-07-14" { description "Added Ethernet/IP state data; Add dhcp-client; migrate to OpenConfig types modules; Removed or renamed opstate values"; reference "2.0.0"; } revision "2016-12-22" { description "Fixes to Ethernet interfaces model"; reference "1.1.0"; } oc-ext:openconfig-version "2.0.0"; typedef aggregation-type { type enumeration { enum "LACP" { value 0; description "LAG managed by LACP"; } enum "STATIC" { value 1; description "Statically configured bundle / LAG"; } } description "Type to define the lag-type, i.e., how the LAG is defined and managed"; } grouping aggregation-logical-config { description "Configuration data for aggregate interfaces"; leaf lag-type { type aggregation-type; description "Sets the type of LAG, i.e., how it is configured / maintained"; } leaf min-links { type uint16; description "Specifies the mininum number of member interfaces that must be active for the aggregate interface to be available"; } } // grouping aggregation-logical-config grouping aggregation-logical-state { description "Operational state data for aggregate interfaces"; leaf lag-speed { type uint32; units "megabps"; description "Reports effective speed of the aggregate interface, based on speed of active member interfaces"; } leaf-list member { when "oc-lag:lag-type = 'STATIC'" { description "The simple list of member interfaces is active when the aggregate is statically configured"; } type oc-if:base-interface-ref; description "List of current member interfaces for the aggregate, expressed as references to existing interfaces"; } } // grouping aggregation-logical-state grouping aggregation-logical-top { description "Top-level data definitions for LAGs"; container aggregation { description "Options for logical interfaces representing aggregates"; container config { description "Configuration variables for logical aggregate / LAG interfaces"; uses aggregation-logical-config; } // container config container state { config false; description "Operational state variables for logical aggregate / LAG interfaces"; uses aggregation-logical-config; uses aggregation-logical-state; } // container state } // container aggregation } // grouping aggregation-logical-top grouping ethernet-if-aggregation-config { description "Adds configuration items for Ethernet interfaces belonging to a logical aggregate / LAG"; leaf aggregate-id { type leafref { path "/oc-if:interfaces/oc-if:interface/oc-if:name"; } description "Specify the logical aggregate interface to which this interface belongs"; } } // grouping ethernet-if-aggregation-config augment /oc-if:interfaces/oc-if:interface { when "oc-if:type = 'ift:ieee8023adLag'" { description "active when the interface is set to type LAG"; } description "Adds LAG configuration to the interface module"; uses aggregation-logical-top; } augment /oc-if:interfaces/oc-if:interface/oc-eth:ethernet/oc-eth:config { when "oc-if:type = 'ift:ethernetCsmacd'" { description "active when the interface is Ethernet"; } description "Adds LAG settings to individual Ethernet interfaces"; uses ethernet-if-aggregation-config; } augment /oc-if:interfaces/oc-if:interface/oc-eth:ethernet/oc-eth:state { when "oc-if:type = 'ift:ethernetCsmacd'" { description "active when the interface is Ethernet"; } description "Adds LAG settings to individual Ethernet interfaces"; uses ethernet-if-aggregation-config; } } // module openconfig-if-aggregate
© 2023 YumaWorks, Inc. All rights reserved.