This model implements all the interface/port attributes and/or RPCs common to many other models. Copyright (c) 2015-2019 by Del...
Version: 2019-03-06
module dell-base-interface-common { yang-version 1; namespace "http://www.dellemc.com/networking/os10/dell-base-interface-common"; prefix base-if; import iana-if-type { prefix ianaift; } import dell-base-common { prefix base-cmn; } import ietf-yang-types { prefix yang; } organization "Dell EMC"; contact "http://www.dell.com/support"; description "This model implements all the interface/port attributes and/or RPCs common to many other models. Copyright (c) 2015-2019 by Dell EMC, All rights reserved."; revision "2019-03-06" { description "Add MAC learning mode HW disable only."; reference "Network Platform Abstraction"; } revision "2018-12-10" { description "Added 80GIGE speed for new double density media which use dual 40G banks"; reference "Network Platform Abstraction"; } revision "2018-09-12" { description "Adding Virtual Network identity."; reference "Network Platform Abstraction"; } revision "2018-08-10" { description "Fixing pyang IETF errors and adding documentation to the model."; reference "Network Platform Abstraction"; } revision "2018-07-03" { description "Adding unicast, multicast and broadcast flooding enabled attribute to remote endpoint to have fine grain control over the type of flooding to be enabled on remote endpoint."; reference "Network Platform Abstraction"; } revision "2018-05-03" { description "Adding support to configure MAC learning mode for remote endpoint for VxLAN."; reference "Network Platform Abstraction"; } revision "2018-04-09" { description "Adding supported-profiles grouping for hybrid-group"; reference "Network Platform Abstraction"; } revision "2018-03-12" { description "Add statistics grouping for remote endpoint."; reference "Network Platform Abstraction"; } revision "2017-10-10" { description "Add vxlan and vlanSubInterface identity. Add typedef for bridge mode. Add grouping for vn-remote-endpoints for VxLAN"; reference "Network Platform Abstraction"; } revision "2017-10-05" { description "Add an enumeration for VLAN type INTERNAL."; reference "Network Platform Abstraction"; } revision "2017-10-04" { description "Add MAC learn mode types."; reference "Network Platform Abstraction"; } revision "2017-09-27" { description "Add an enumeration for supported auto-negotiation values."; reference "Network Platform Abstraction"; } revision "2015-01-29" { description "Initial revision."; reference "Network Platform Abstraction"; } identity null { base ianaift:iana-interface-type; description "Null interface type"; } identity management { base ianaift:iana-interface-type; description "Management interface type"; } identity cpu { base ianaift:iana-interface-type; description "CPU interface type"; } identity vlanSubInterface { base ianaift:iana-interface-type; description "VLAN sub interface type"; } identity vxlan { base ianaift:iana-interface-type; description "VXLAN interface type"; } identity macvlan { base ianaift:iana-interface-type; description "Macvlan interface type"; } identity virtualNetwork { base ianaift:iana-interface-type; description "Virtual Network interface type"; } typedef supported-autoneg { type enumeration { enum "NOT_SUPPORTED" { value 1; description "autoneg not supported."; } enum "ON_SUPPORTED" { value 2; description "autoneg on supported only."; } enum "OFF_SUPPORTED" { value 3; description "autoneg off supported only."; } enum "BOTH_SUPPORTED" { value 4; description "autoneg on and off supported."; } } description "Enumeration of supported auto-negotiation values."; } typedef bridge-mode { type enumeration { enum "1D" { value 1; description "Bridge is VLAN unaware."; } enum "1Q" { value 2; description "Bridge is VLAN aware."; } } description "Enumeration of bridge mode"; } typedef speed { type enumeration { enum "0MBPS" { value 0; description "0Mbps data rate."; } enum "10MBPS" { value 1; description "10Mbps data rate."; } enum "100MBPS" { value 2; description "100Mbps data rate."; } enum "1GIGE" { value 3; description "1G data rate."; } enum "10GIGE" { value 4; description "10G data rate."; } enum "25GIGE" { value 5; description "25G data rate."; } enum "40GIGE" { value 6; description "40G data rate."; } enum "100GIGE" { value 7; description "100G data rate."; } enum "AUTO" { value 8; description "The speed is dependent on the media type."; } enum "20GIGE" { value 9; description "20G data rate."; } enum "50GIGE" { value 10; description "50G data rate."; } enum "200GIGE" { value 11; description "200G data rate."; } enum "400GIGE" { value 12; description "400G data rate."; } enum "4GFC" { value 13; description "4G FC data rate."; } enum "8GFC" { value 14; description "8G FC data rate."; } enum "16GFC" { value 15; description "16G FC data rate."; } enum "32GFC" { value 16; description "32G FC data rate."; } enum "2GFC" { value 17; description "2G FC data rate."; } enum "64GFC" { value 18; description "64G FC data rate."; } enum "128GFC" { value 19; description "128G FC data rate."; } enum "4GIGE" { value 20; description "4G Ethernet data rate."; } enum "1GFC" { value 21; description "1G FC data rate."; } enum "80GIGE" { value 22; description "80G Ethernet data rate."; } } description "Enumeration of port speed."; } typedef mode { type enumeration { enum "MODE_NONE" { value 1; description ""; } enum "MODE_L2" { value 2; description "The port only supports L2."; } enum "MODE_L2HYBRID" { value 3; description "The port supports L2 hybrid."; } enum "MODE_L3" { value 4; description "The port only supports L3."; } enum "MODE_L2DISABLED" { value 5; description "This port is not in L2 Mode"; } } description "Enumeration of physical interface mode"; } typedef lag-mode-type { type enumeration { enum "STATIC" { value 1; description ""; } enum "DYNAMIC" { value 2; description ""; } } description "LAG Mode"; } typedef lacp-mode-type { type enumeration { enum "ACTIVE" { value 1; description ""; } enum "PASSIVE" { value 2; description ""; } } description "LACP MODE"; } typedef vlan-type { type enumeration { enum "DATA" { value 1; } enum "MANAGEMENT" { value 2; } enum "INTERNAL" { value 3; description "Applications can use this VLAN type to create VLAN used for internal purpose."; } } description "VLAN-type type definition"; } grouping physical-port-address { description "Physical Location(Slot-Unit) of the port"; leaf unit-id { type uint32; description "The unit containing the front panel port"; } leaf slot-id { type uint32; description "the slot id of the physical port."; } uses npu-port; } // grouping physical-port-address grouping npu-port { description "NAS npu port information."; leaf npu-id { type base-cmn:npu-id; description "This denotes the npu Id containing the physical port"; } leaf port-id { type base-cmn:npu-port-id; description "This denotes the port Id in the npu"; } } // grouping npu-port grouping common { description "This is the generic port definition. Can be reused by any generic interface object."; leaf switch-id { type base-cmn:logical-switch-id; description "Logical Switch ID"; } uses npu-port; } // grouping common grouping mac-learn-limit { description "Group of Mac Learn Limit configuration attributes"; leaf learn-limit { type uint32; description "Maximum number of MACs allowed to be learned on an interface"; } leaf dynamic { type boolean; default "false"; description "Flag indicating whether the entry created is subject to aging."; } leaf station-move { type boolean; default "false"; description "Flag indicating whether the station-move is allowed or not"; } leaf mac-sticky { type boolean; default "false"; description "If True then all dynamically learnt addresses will be converted into static MAC address and it will not be learnt/moved on other ports. Any newly learnt MAC is also converted into sticky MAC address. mac-sticky flag takes precedence over dynamic flag"; } leaf mll-violation-actions { type enumeration { enum "LOG" { value 1; description "Send the Mac-learn-limit violation notification to syslog"; } enum "SHUTDOWN" { value 2; description "Shutdown the Interface"; } } description "Configurable mac learn limit (mll) actions when mac learn limit is violated"; } leaf msm-violation { type enumeration { enum "LOG" { value 1; description "Send the Mac-station-move-violation notification to syslog"; } enum "OFFENDING_SHUTDOWN" { value 2; description "Shutdown the offending interface"; } enum "ORIGINAL_SHUTDOWN" { value 3; description "Shutdown the original interface"; } enum "BOTH_SHUTDOWN" { value 4; description "Disable both the interfaces"; } } description "MAC station move (msm) violation actions."; } } // grouping mac-learn-limit typedef phy-mode-type { type enumeration { enum "ETHERNET" { value 1; } enum "FC" { value 2; } } description "Enumeration of possible PHY modes of a physical interface"; } typedef mac-learn-mode { type enumeration { enum "DROP" { value 1; description "Drop packets with unkown source MAC address in both OS and HW. Do not learn, Do not forward"; } enum "DISABLE" { value 2; description "Do not learn new source MAC address in both OS and HW. Forward Based on destination MAC"; } enum "HW" { value 3; description "OS and Hardware Learning. Learn source MAC address. Forward based on destination"; } enum "CPU_TRAP" { value 4; description "Trap packets with unknown source MAC address to CPU from HW. Do not learn. Do not forward"; } enum "CPU_LOG" { value 5; description "Trap packets with unknown source MAC address to CPU from HW. Do not learn. Forward based on destination MAC"; } enum "HW_DISABLE_ONLY" { value 6; description "Do not learn new source MAC address only in the HW."; } } description "Enumeration of all possible MAC-learning modes that can be configured on the interface."; } grouping supported-profiles { description "Group of lists describing the profiles supported on the interface."; list supported-profiles { key "profile-name"; description "Profile modes supported on hybrid group. Profile mode is a set of breakout mode and speed to be applied on port. Each profile is uniquely identified by the key 'profile-name'."; leaf profile-name { type string; description "Name of the profile to be supported on hybrid-group"; } leaf profile-description { type string; description "Description of the profile to be supported on hybrid-group"; } } // list supported-profiles } // grouping supported-profiles grouping breakout-capabilities { description "Group of Breakout properties"; list br-cap { key "phy-mode breakout-mode port-speed"; description "List of breakout capabilities with max port speeds."; leaf phy-mode { type phy-mode-type; description " Physical layer mode (FC or Ethernet)"; } leaf breakout-mode { type base-cmn:breakout-type; description "Breakout mode capability."; } leaf port-speed { type speed; description "Configured speed."; } leaf skip-ports { type uint32; description "Skip ports between two active port for the breakout mode"; } } // list br-cap } // grouping breakout-capabilities grouping stats { description "Group of counters related to packet flow"; leaf in-pkts { type yang:counter64; description "Total number of incoming packets"; } leaf out-pkts { type yang:counter64; description "Total number of outgoing packets"; } leaf in-octets { type yang:counter64; description "Total number of incoming bytes"; } leaf out-octets { type yang:counter64; description "Total number of outgoing bytes"; } } // grouping stats grouping vn-remote-endpoints { description "Group of VTEP Remote Endpoint Properties"; list remote-endpoint { key "addr-family addr"; description "List of remote VTEP endpoints, identified by the key-pair 'addr-family addr', which are part of this VXLAN."; uses base-cmn:ip; leaf tunnel-id { type base-cmn:base-obj-id-type; config false; description "Tunnel Id of the corresponding remote endpoint."; } leaf flooding-enabled { type boolean; config false; status deprecated; description "The remote endpoint address is part of flooding domain if this flag is set. This attribute is deprecated; instead individual flooding attribute for unicast, multicast and broadcast are used."; } leaf unicast-flooding-enabled { type boolean; default "true"; description "The remote endpoint address is part of unicast flooding domain if this flag is set to true."; } leaf multicast-flooding-enabled { type boolean; default "true"; description "The remote endpoint address is part of multicast flooding domain if this flag is set to true."; } leaf broadcast-flooding-enabled { type boolean; default "true"; description "The remote endpoint address is part of broadcast flooding domain if this flag is set to true."; } leaf mac-learning-mode { type mac-learn-mode; description "MAC-learning mode for the remote endpoint."; } } // list remote-endpoint } // grouping vn-remote-endpoints } // module dell-base-interface-common
© 2023 YumaWorks, Inc. All rights reserved.