module Cisco-NX-OS-device { yang-version 1; namespace "http://cisco.com/ns/yang/cisco-nx-os-device"; prefix top; organization "Cisco Systems, Inc."; contact " Cisco Systems, Inc., Customer Service, Postal: 170 W Tasman Drive, San Jose, CA 95134, Tel: +1 800 553-NETS, e-mail: cs-yang@cisco.com"; description "NXOS Device YANG Model"; reference "04586d6195a008ae29086826fbeacc8c5582ab38"; revision 2023-08-16 { description "Initial Revision Generated by mtx 1.0.1 Built on Sun Mar 5 08:16:02 PST 2023 by divvenka"; } typedef address_Ipv4 { type string { pattern ".*(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])(%[p\\{N\\}p\\{L\\}]+)?.*"; } description "global address Ipv4 base type"; } typedef address_Ipv6 { type string { pattern ".*((.*:|.*[0-9a-fA-F]{0,4}):)([0-9a-fA-F]{0,4}:){0,5}((([0-9a-fA-F]{0,4}:)?(:|[0-9a-fA-F]{0,4}))|(((25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9]?[0-9])))(%[p\\{N\\}p\\{L\\}]+)?.*"; pattern ".*(([^:]+:){6}(([^:]+:[^:]+).*|(.*\\..*).*)).*|.*((([^:]+:)*[^:]+)?::(([^:]+:)*[^:]+)?)(%.+)?.*"; } description "global address Ipv6 base type"; } typedef address_Ip { type union { type address_Ipv4; type address_Ipv6; } description "global address Ip base type"; } typedef address_Mac { type string { pattern "([0-9A-Fa-f]{2}[:-]){5}[0-9A-Fa-f]{2}"; } description "global address MAC base type"; } typedef mtx_array_ifindex { type string { pattern "[-/\\w\\d]+(,[-:/\\w\\d]+)*"; } description "global array base type"; } typedef mtx_array_uint8 { type string { pattern "([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])+(,([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5]))*"; } description "global array base type"; } typedef mtx_array_uint16 { type string { pattern "(6553[0-5]|655[0-2][0-9]\\d|65[0-4]\\d{2}|6[0-4]\\d{3}|[0-5]\\d{4}|[0-9]\\d{0,3})+(,(6553[0-5]|655[0-2][0-9]\\d|65[0-4]\\d{2}|6[0-4]\\d{3}|[0-5]\\d{4}|[0-9]\\d{0,3}))*"; } description "global array base type"; } typedef mtx_array_uint32 { type string { pattern "(429496729[0-6]|42949672[0-8]\\d|4294967[01]\\d{2}|429496[0-6]\\d{3}|42949[0-5]\\d{4}|4294[0-8]\\d{5}|429[0-3]\\d{6}|42[0-8]\\d{7}|4[01]\\d{8}|[1-3]\\d{9}|[1-9]\\d{8}|[1-9]\\d{7}|[1-9]\\d{6}|[1-9]\\d{5}|[1-9]\\d{4}|[1-9]\\d{3}|[1-9]\\d{2}|[1-9]\\d|\\d)+(,(429496729[0-6]|42949672[0-8]\\d|4294967[01]\\d{2}|429496[0-6]\\d{3}|42949[0-5]\\d{4}|4294[0-8]\\d{5}|429[0-3]\\d{6}|42[0-8]\\d{7}|4[01]\\d{8}|[1-3]\\d{9}|[1-9]\\d{8}|[1-9]\\d{7}|[1-9]\\d{6}|[1-9]\\d{5}|[1-9]\\d{4}|[1-9]\\d{3}|[1-9]\\d{2}|[1-9]\\d|\\d))*"; } description "global array base type"; } typedef mtx_array_uint64 { type string { pattern "\\d{0,20}(,\\d{0,20})*"; } description "global array base type"; } typedef mtx_array_bit { type string { pattern "([0-9]+(-[0-9]+)?(,[0-9]+(-[0-9]+)?)*)*"; } description "global array base type"; } typedef mtx_array_community { type string { pattern "((unknown|regular|extended|route-target|rd):((unknown:.*:(0*(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])))|(as2-nn2:(0*(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])):(0*(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])))|(as2-nn4:(0*(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])):(0*(429496729[0-5]|42949672[0-8][0-9]|4294967[01][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])))|(as4-nn2:(0*(429496729[0-5]|42949672[0-8][0-9]|4294967[01][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])):(0*(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])))|(as4-nn4:(0*(429496729[0-5]|42949672[0-8][0-9]|4294967[01][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])):(0*(429496729[0-5]|42949672[0-8][0-9]|4294967[01][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])))|(ipv4-nn2:(((1[0-9]?[0-9]|[1-9]?[0-9]|2[0-4][0-9]|25[0-5])\\.){3}(1[0-9]?[0-9]|[1-9]?[0-9]|2[0-4][0-9]|25[0-5])):(0*(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{1,3}|[0-9])))|(ipv4-nn4:(((1[0-9]?[0-9]|[1-9]?[0-9]|2[0-4][0-9]|25[0-5])\\.){3}(1[0-9]?[0-9]|[1-9]?[0-9]|2[0-4][0-9]|25[0-5])):(0*(429496729[0-5]|42949672[0-8][0-9]|4294967[01][0-9]{2}|429496[0-6][0-9]{3}|42949[0-5][0-9]{4}|4294[0-8][0-9]{5}|429[0-3][0-9]{6}|42[0-8][0-9]{7}|4[01][0-9]{8}|[1-3][0-9]{9}|[1-9][0-9]{1,8}|[0-9])))))"; } description "global array base type"; } typedef aaa_AccountStatus { type enumeration { enum active { value 0; description "Active"; } enum inactive { value 1; description "Inactive"; } } default "active"; } typedef aaa_AlphabetSequenceLength { type uint32 { range "0..10"; } default "0"; } typedef aaa_AuthMechanism { type enumeration { enum plain-text { value 1; description "Plain Text"; } enum gssapi-kerb5 { value 2; description "Gssapi Kerb5"; } enum gssapi-md5 { value 3; description "Gssapi Md5"; } } default "plain-text"; } typedef aaa_BannerMsg { type string; } typedef aaa_Boolean { type enumeration { enum no { value 0; description "No"; } enum yes { value 1; description "Yes"; } } default "yes"; } typedef aaa_Clear { type enumeration { enum no { value 0; description "No"; } enum yes { value 1; description "Yes"; } } default "no"; } typedef aaa_CmdType { type enumeration { enum config { value 0; description "Config"; } enum exec { value 1; description "Exec"; } } default "config"; } typedef aaa_CommandStatus { type enumeration { enum Success { value 0; description "Config success"; } enum Failure { value 1; description "Config failure"; } enum Redirect { value 2; description "Config redirect"; } enum Unknown { value 3; description "Configuration status unknown"; } } default "Success"; } typedef aaa_CommandType { type string { length "0..256"; } } typedef aaa_ConfigType { type enumeration { enum Start { value 0; description "Configuration type start"; } enum Stop { value 1; description "Configuration type stop"; } enum Update { value 2; description "Configuration type update"; } enum Unknown { value 3; description "Configuration type unknown"; } } default "Update"; } typedef aaa_Delimiter { type string; } typedef aaa_DtlsIdleTimeOutSec { type uint32 { range "60..600"; } default "600"; } typedef aaa_Email { type address_Email { pattern "|[a-zA-Z0-9\\._%\\+-]+@[a-zA-Z0-9\\.-]+"; } } typedef aaa_EncKey { type string { length "0..240"; pattern ".*"; } } typedef aaa_HistoryDepth { type uint8 { range "0..15"; } default "5"; } typedef aaa_IdleTimer { type uint16 { range "0..1440"; } } typedef aaa_KeyEnc { type enumeration { enum 0 { value 0; description "Clear Text"; } enum 6 { value 6; description "Type-6 Encrypted"; } enum 7 { value 7; description "Encrypted"; } } default "0"; } typedef aaa_KeyEncUserPass { type enumeration { enum unspecified { value 255; description "Unspecified"; } enum clear { value 0; description "Clear Text"; } enum Encrypt { value 5; description "Encrypted"; } enum Pbkdf2 { value 8; description "type 8 hashed"; } enum scrypt { value 9; description "type 9 hashed"; } } } typedef aaa_LdapAttribute { type string { length "0..63"; } } // NXOS supports maximum limits in the type definitions typedef aaa_LdapDn { type string { length "0..127"; } } typedef aaa_LdapFilter { type string { length "0..127"; } } // Ldap Logging Level typedef aaa_LdapLogLevel { type enumeration { enum emergency { value 0; description "Emergency"; } enum alert { value 1; description "Alert"; } enum critical { value 2; description "Critical"; } enum error { value 3; description "Error"; } enum warning { value 4; description "Warning"; } enum notification { value 5; description "Notification"; } enum informational { value 6; description "Informational"; } enum debug { value 7; description "Debug"; } } default "critical"; } typedef aaa_LdapPwdEnc { type enumeration { enum 0 { value 0; description "Clear Text"; } enum 7 { value 7; description "Encrypted"; } } default "7"; } typedef aaa_LdapSSLStrictnessLevel { type enumeration { enum strict { value 0; description "Strict"; } enum permissive { value 1; description "Permissive"; } } default "strict"; } typedef aaa_LoggingLevel { type enumeration { enum Emergency { value 0; description "Emergency"; } enum Alert { value 1; description "Alert"; } enum Critical { value 2; description "Critical"; } enum Error { value 3; description "Error"; } enum Warning { value 4; description "Warning"; } enum Notif { value 5; description "Notifications"; } enum Inform { value 6; description "Informational"; } enum Debug { value 7; description "Debug"; } } default "Error"; } typedef aaa_MonitoringPasswordType { type aaa_EncKey { length "1..32"; } default "wawy"; } typedef aaa_MonitoringUserType { type string { pattern ".*[a-zA-Z0-9][a-zA-Z0-9_\\.-]{0,63}.*"; } default "test"; } typedef aaa_NoRolePolicy { type enumeration { enum no-login { value 0; description "No Login"; } enum assign-default-role { value 1; description "Assign Default Role"; } } } typedef aaa_Order { type uint16 { range "0..16"; } } typedef aaa_Passwd { type string { length "1..127"; pattern ".*"; } } typedef aaa_PasswdHashType { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum pbkdf2 { value 8; description "Generate pbkdf2/Type 8 hash"; } enum scrypt { value 9; description "Generate scrypt/Type 9 hash"; } } } typedef aaa_Phone { type address_Phone; } typedef aaa_Port { type uint32 { range "1..65535"; } } typedef aaa_PrivLvlType { type uint32 { range "1..15"; } default "15"; } typedef aaa_ProviderGroupDeadtime { type uint32 { range "0..1440"; } default "0"; } // Limited by NXOS maximum size for server group typedef aaa_ProviderGroupName { type string { length "0..127"; } } typedef aaa_ProviderGroupProtocol { type enumeration { enum tacacs { value 0; description "TACACS"; } enum radius { value 1; description "RADIUS"; } enum ldap { value 2; description "LDAP"; } } } typedef aaa_ProviderGroupSnmpIndex { type uint32; } typedef aaa_ProviderSnmpIndex { type uint32; } typedef aaa_ProviderState { type enumeration { enum unknown { value 0; description "Unknown"; } enum operable { value 1; description "Operable"; } enum inoperable { value 2; description "Inoperable"; } } default "unknown"; } typedef aaa_PwdChangeCount { type uint8 { range "0..10"; } } typedef aaa_PwdChangeInterval { type uint16 { range "1..745"; } } typedef aaa_PwdExpWarnTime { type uint8 { range "0..30"; } } typedef aaa_PwdHistory { type string; } typedef aaa_PwdLifeTime { type uint32 { range "0..99999"; } } typedef aaa_PwdPolicy { type enumeration { enum enable { value 0; description "Enable"; } enum disable { value 1; description "Disable"; } } default "enable"; } typedef aaa_PwdUnique { type uint32 { range "0..10"; } default "0"; } typedef aaa_RadPort { type uint32 { range "0..65535"; } } typedef aaa_RadSrvUseType { type enumeration { enum Auth { value 0; description "Authentication"; } enum Author { value 1; description "Authorization"; } enum Acc { value 2; description "Accounting"; } enum All { value 3; description "All"; } } default "All"; } typedef aaa_Realm { type enumeration { enum local { value 0; description "Local"; } enum radius { value 1; description "RADIUS"; } enum tacacs { value 2; description "TACACS+"; } enum ldap { value 3; description "LDAP"; } } default "local"; } typedef aaa_Retries { type uint32 { range "0..5"; } default "1"; } typedef aaa_RuleAccessType { type enumeration { enum none { value 0; description "none"; } enum read { value 1; description "Read"; } enum read-write { value 2; description "Read Write"; } enum command { value 3; description "Command"; } } } typedef aaa_RuleCmdStrType { type string { length "0..128"; } } typedef aaa_RuleEntityType { type string { length "0..512"; } } typedef aaa_RuleNumberType { type uint32 { range "1..256"; } } typedef aaa_RulePermissionType { type enumeration { enum none { value 0; description "none"; } enum permit { value 1; description "Permit"; } enum deny { value 2; description "Deny"; } } } typedef aaa_RuleScopeType { type enumeration { enum none { value 0; description "none"; } enum feature { value 2; description "Feature"; } enum feature-group { value 3; description "Feature Group"; } enum oid { value 21; description "OID"; } } } typedef aaa_SearchMapEntryType { type enumeration { enum user-profile { value 1; description "User Profile"; } enum trusted-cert { value 2; description "Trusted Cert"; } enum crl-lookup { value 3; description "Crl Lookup"; } enum user-switch-bind { value 4; description "User Switch Bind"; } enum user-certdn-match { value 5; description "User Certdn Match"; } enum user-pubkey-match { value 6; description "User Pubkey Match"; } } default "user-profile"; } typedef aaa_SecretEncType { type enumeration { enum 0 { value 0; description "No Encryption"; } enum 5 { value 5; description "MD5 encrpytion"; } enum 8 { value 8; description "PBKDF2 encryption"; } enum 9 { value 9; description "SCRYPT encryption"; } } default "0"; } typedef aaa_SecureModeType { type enumeration { enum defaultTls { value 0; description "default value"; } enum tls { value 1; description "tls"; } enum dtls { value 2; description "dtls"; } } default "defaultTls"; } typedef aaa_SequenceKeyBoardLength { type uint32 { range "0..10"; } default "0"; } typedef aaa_SshData { type string { length "0..16384"; pattern ".*[a-zA-Z0-9=\\n\\r/\\+ _\\.@-]*.*"; } } typedef aaa_TimeMin { type uint32 { range "0..1440"; } default "0"; } typedef aaa_TimeSec { type uint32 { range "1..60"; } default "5"; } typedef aaa_TlsIdleTimeOutSec { type uint32 { range "60..600"; } default "600"; } typedef aaa_UnixUID { type uint16 { range "99..15999"; } } typedef aaa_UserCertDataType { type string; } // Was referenced by "aaa:User:name", "aaa:UserLogin:name" // but overridden method can no longer override the type typedef aaa_UserName { type string { pattern ".*[a-zA-Z_][a-zA-Z0-9_\\.-]{1,28}.*"; } } typedef aaa_UserRolePrivType { type enumeration { enum noDataPriv { value 0; description "No Privilege"; } enum readPriv { value 1; description "Read Privilege"; } enum writePriv { value 2; description "Write Privilege"; } } default "noDataPriv"; } typedef aaa_authenticationProtocol { type enumeration { enum pap { value 0; description "PAP"; } enum chap { value 1; description "CHAP"; } enum mschap { value 2; description "MS-CHAP"; } enum mschapv2 { value 3; description "MS-CHAPv2"; } enum ascii { value 4; description "ASCII"; } } } typedef aaa_loginShellType { type enumeration { enum shellvsh { value 1; description "vsh shell type"; } enum shellbash { value 2; description "bash shell type"; } } default "shellvsh"; } // Bank type typedef ac_BankT { type enumeration { enum even { value 1; description "Even"; } enum Odd { value 2; description "Odd"; } } default "even"; } typedef acl_ACEStats { type uint8; default "0"; } // Ip port name typedef acl_AclName { type string { length "0..64"; } } // ACE action type typedef acl_ActionType { type enumeration { enum invalid { value 0; description "Invalid ace action type"; } enum permit { value 1; description "Permit ace action type"; } enum deny { value 2; description "Deny ace action type"; } } default "invalid"; } // Capture Session typedef acl_CaptureSes { type uint16 { range "0..48"; } default "0"; } // config State typedef acl_ConfigState { type uint8; default "0"; } // Direction type typedef acl_Direction { type enumeration { enum in { value 0; description "Ingress Direction for packets"; } enum out { value 1; description "Egress Direction for packets"; } } default "in"; } // Fragment type typedef acl_Fragments { type enumeration { enum disabled { value 0; description "Disable fragment handling"; } enum deny-all { value 1; description "Drop all the fragments"; } enum permit-all { value 2; description "Allow all the fragments"; } } } // http option (http-method) value enum typedef acl_HttpOptionType { type enumeration { enum get { value 1; description "get http option type"; } enum put { value 2; description "put http option type"; } enum head { value 3; description "head http option type"; } enum post { value 4; description "post http option type"; } enum delete { value 5; description "delete http option type"; } enum trace { value 6; description "trace http option type"; } enum connect { value 7; description "connect http option type"; } enum invalid { value 0; description "invalid http option type"; } } default "invalid"; } // Name of interface, e.g. "Eth1/2" typedef acl_IfName { type nw_IfId; } // MPLS Label Mask Range typedef acl_LabelMaskRange { type uint32 { range "0..1048575"; } default "1048575"; } // MPLS Label Range typedef acl_LabelRange { type uint32 { range "0..1048575"; } } // MAC Protocol typedef acl_MACProtocol { type uint32 { range "0..65536"; } default "65536"; } // ACL name typedef acl_Name { type string { length "1..64"; } } // L4 port relationship operator typedef acl_Operator { type enumeration { enum none { value 0; description "none of the operator"; } enum lt { value 4; description "specifies less than operator"; } enum gt { value 5; description "specifies greater than operator"; } enum eq { value 6; description "specifies equal to operator"; } enum neq { value 7; description "specifies not equal to operator"; } enum range { value 8; description "specifies range operator"; } } default "none"; } // Packet Length typedef acl_PktLen { type uint16 { range "19..9210"; } default "19"; } // L4 port number typedef acl_PortNumber { type uint16; default "0"; } // ACL name typedef acl_RemarkStr { type string { length "1..100"; } } // ACE sequence number typedef acl_SequenceNumber { type uint32 { range "0..4294967295"; } } // TCP Flags Mask typedef acl_TcpFlagsMask { type uint8 { range "0..64"; } default "0"; } // TCP option length typedef acl_TcpOptionLengthType { type uint32 { range "0..41"; } default "41"; } // time-range name typedef acl_TimeRangeName { type string { length "0..64"; } } // UDF mask typedef acl_UdfMask { type uint16 { range "0..65535"; } } // UDF name typedef acl_UdfName { type string { length "1..16"; } } // UDF value typedef acl_UdfVal { type uint16 { range "0..65535"; } } // VLAN Acl action type typedef acl_VAclActionType { type enumeration { enum invalid { value 0; description "invalid vlan acl action type"; } enum forward { value 1; description "forward vlan acl action"; } enum drop { value 2; description "drop vlan acl action"; } enum redirect { value 3; description "redirect vlan acl action"; } } default "invalid"; } // VLAN Acl action log enable/disable typedef acl_VAclLog { type uint8; default "0"; } // VLAN Acl match acl type // Refer to CLI_ACL_IP/CLI_ACL_IPV6/CLI_ACL_MAC for values typedef acl_VAclMatchType { type uint16; default "0"; } // Vlan List String for VLAN Acl Policy typedef acl_VlanListStr { type string { length "0..512"; } } // VLAN typedef acl_VlanType { type uint32 { range "0..4095"; } default "4095"; } // nve vni ID typedef acl_VniType { type uint32 { range "0..16777216"; } default "16777216"; } // cos type typedef acl_cosType { type uint8 { range "0..8"; } default "8"; } // erspan DSCP typedef acl_erspanDscpType { type uint8 { range "0..64"; } default "64"; } // erspan gre protocol typedef acl_erspanGreType { type uint32 { range "0..65536"; } default "65536"; } // Ethertype id value typedef acl_etherType { type uint32 { range "0..65536"; } default "65536"; } // VLAN Acl policy operation apply/remove typedef acl_operation { type uint8; default "1"; } typedef action_Descr { type string; } typedef action_OperSt { type enumeration { enum scheduled { value 0; description "Scheduled"; } enum processing { value 1; description "Processing"; } enum completed { value 2; description "Completed"; } enum cancelled { value 3; description "Cancelled"; } enum failed { value 4; description "Failed"; } enum indeterminate { value 5; description "Indeterminate"; } enum suspended { value 6; description "Suspended"; } enum crashsuspect { value 7; description "Crash-Suspect"; } } default "scheduled"; } // Task status qualifier typedef action_Qual { type string; } // Result history retention size: how many records // to keep per rule typedef action_RetentionSize { type uint16 { range "1..1024"; } default "100"; } // Resuilt history retention time: how long records are // to be kept per rule typedef action_RetentionTime { type union { type string; type uint64; } } // Type of the task typedef action_Type { type enumeration { enum clear { value 1; description "Clear"; } enum reset { value 2; description "Reset"; } enum reload { value 3; description "Reload"; } enum locate { value 4; description "Locate"; } enum install { value 5; description "Install"; } enum test { value 6; description "Test"; } enum collect { value 7; description "Collect"; } enum interface-in-service { value 8; description "Set Interface In-Service"; } } default "clear"; } // Operational state of Rule typedef actrl_OperSt { type enumeration { enum enabled { value 1; description "enabled"; } enum disabled { value 2; description "disabled"; } } default "disabled"; } // Policy control tag typedef actrl_PcTag { type vz_GPCTag; } // Scope id (24-bit) typedef actrl_ScopeId { type uint32 { range "1..16777215"; } default "1"; } // Security Label (12-bit) typedef actrl_SecLbl { type uint16 { range "1..4095"; } } typedef address_Email { type string; } typedef address_HostNameOrDottedQuad { type string { length "1..256"; pattern ".*[A-Za-z]([A-Za-z0-9-]*[A-Za-z0-9])?(\\.[A-Za-z]([A-Za-z0-9-]*[A-Za-z0-9])?)*.*|.*(.*25[0-5]|.*2[0-4][0-9]|.*1[0-9][0-9]|.*[1-9][0-9]|.*[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5].*|2[0-4][0-9].*|1[0-9][0-9].*|[1-9][0-9].*|[0-9].*).*"; } } typedef address_Phone { type string; } // Socket Port Number typedef address_PortNumber { type uint16; } // Adjacency Flags typedef adjacency_AdjFlags { type string; } // Adjacency operational state typedef adjacency_AdjOperSt { type enumeration { enum unspecified { value 0; description "Unknown"; } enum incomplete { value 1; description "Incomplete"; } enum normal { value 2; description "Resolved"; } } } // Database type typedef adjacency_DbT { type enumeration { enum ip { value 1; description "IP database"; } enum ipv6 { value 2; description "IPv6 database"; } } default "ip"; } typedef aggregate_AdminState { type enumeration { enum unknown { value 0; description "Unknown"; } enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } } default "down"; } // Address Family Type typedef aggregate_AfT { type enumeration { enum ipv4-ucast { value 0; description "Ipv4 unicast address family"; } enum vpnv4-ucast { value 1; description "Vpnv4 unicast address family"; } enum ipv6-ucast { value 2; description "Ipv6 unicast address family"; } enum vpnv6-ucast { value 3; description "Vpnv6 unicast address family"; } enum l2-evpn { value 4; description "L2-Evpn unicast address family"; } } default "l2-evpn"; } typedef aggregate_BfdStatus { type enumeration { enum unknown { value 0; description "Unknown"; } enum admin_down { value 1; description "Admin Down"; } enum down { value 2; description "Oper Down"; } enum init { value 3; description "Intialization"; } enum up { value 4; description "Up"; } } default "admin_down"; } typedef aggregate_BooleanFlag { type enumeration { enum no { value 0; description "No"; } enum yes { value 1; description "Yes"; } } default "no"; } // // // // // // // // // // // // // Bandwidth metric of the SVI in kilobits per second. typedef aggregate_Bw { type uint32 { range "1..400000000"; } default "10000000"; } typedef aggregate_ConfTmplStatus { type enumeration { enum inactive { value 0; description "ConfigTmplInactive"; } enum active { value 1; description "ConfigTmplOperational"; } enum failed { value 2; description "ConfigTmplFailed"; } } default "inactive"; } typedef aggregate_ConfigSourceType { type enumeration { enum unknown { value 0; description "Unknown"; } enum cli { value 1; description "Cli"; } enum controller { value 2; description "Controller"; } } default "cli"; } typedef aggregate_ConfigStatus { type enumeration { enum unknown { value 0; description "Unknown"; } enum configReady { value 1; description "ConfigReady"; } enum configNotReady { value 2; description "ConfigNotReady"; } enum configPurgeInProgress { value 4; description "ConfigPurgeInProgress"; } } default "configNotReady"; } typedef aggregate_ControllerID { type uint32 { range "0..16"; } default "0"; } typedef aggregate_ControllerIdBitmap { type mtx_array_bit; } typedef aggregate_CpuType { type string; } typedef aggregate_CtrlrType { type enumeration { enum unknown { value 0; description "Unknown"; } enum l2-vxlan { value 1; description "L2Vxlan"; } enum vxlan { value 2; description "Vxlan"; } } default "l2-vxlan"; } typedef aggregate_EpType { type string; default "unicast"; } typedef aggregate_GroupAddr { type string; } typedef aggregate_HostReachabilityMode { type enumeration { enum unknown { value 0; description "Unknown"; } enum floodAndLearn { value 1; description "FloodAndLearn"; } enum controller { value 2; description "Controller"; } enum bgp { value 3; description "Bgp"; } } default "floodAndLearn"; } typedef aggregate_IngressRepProtocolType { type enumeration { enum unknown { value 0; description "Unknown"; } enum static { value 1; description "Static"; } enum bgp { value 2; description "Bgp"; } } default "unknown"; } typedef aggregate_IntfAssignMode { type enumeration { enum dedicated { value 0; description "Dedicated"; } enum shared { value 1; description "Shared"; } } } typedef aggregate_IntfTrunkVlans { type l2_VlanBitmap; default "1-4092"; } typedef aggregate_IntfType { type enumeration { enum unknown { value 0; description "Unknown"; } enum port { value 1; description "Port"; } enum port-channel { value 2; description "Port Channel"; } enum tunnel { value 3; description "Tunnel"; } enum loopback { value 4; description "Loopback"; } enum svi { value 5; description "SVI"; } } } typedef aggregate_MTU { type uint32 { range "1..9216"; } default "9216"; } // Mac type typedef aggregate_MacType { type enumeration { enum unknown { value 0; description "Unknown"; } enum unicast { value 1; description "Unicast"; } enum multicast { value 2; description "Multicast"; } } default "unicast"; } // Minimum rx interval (in ms) typedef aggregate_MinRxIntvl { type uint16 { range "0..999"; } default "50"; } // Minimum tx interval (in ms) typedef aggregate_MinTxIntvl { type uint16 { range "0..999"; } default "50"; } typedef aggregate_ModuleType { type string; } typedef aggregate_OperState { type enumeration { enum unknown { value 0; description "Unknown"; } enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } } default "down"; } typedef aggregate_ReplicationModeType { type enumeration { enum unknown { value 0; description "Unknown"; } enum replicationServer { value 1; description "ReplicationServer"; } enum ingressReplication { value 2; description "IngressReplication"; } enum ipMulticast { value 3; description "IpMulticast"; } } default "unknown"; } typedef aggregate_ResourceStatus { type enumeration { enum unknown { value 0; description "Unknown"; } enum vlanCreated { value 1; description "VlanCreated"; } enum vlanFailed { value 2; description "VlanFailed"; } enum vnidCreated { value 3; description "VnidCreated"; } enum vnidFailed { value 4; description "VnidFailed"; } enum vlansCarved { value 5; description "VlansCarved"; } enum vlansNotCarved { value 6; description "VlansNotCarved"; } enum vnidCreationReceived { value 7; description "VnidCreationReceived"; } enum myTEPIPPublished { value 101; description "MyTEPIPPublished"; } enum controllerIntfNotCarved { value 201; description "ControllerIntfNotCarved"; } enum controllerIntfCarved { value 202; description "ControllerIntfCarved"; } } default "unknown"; } // Route target policy type typedef aggregate_RttPType { type enumeration { enum import { value 1; description "Import"; } enum export { value 2; description "Export"; } } default "import"; } typedef aggregate_TunnelType { type enumeration { enum unknown { value 0; description "Unknown"; } enum vxlanipv4 { value 1; description "VxLanOverIPV4"; } enum vxlanipv6 { value 2; description "VxLanOverIPV6"; } enum nvgre { value 3; description "NVGRE"; } } } typedef aggregate_VpcKeepaliveStatus { type enumeration { enum VpcOobUnknown { value 0; description "VpcOobUnknown"; } enum VpcOobDisabled { value 1; description "VpcOobDisabled"; } enum VpcOobPeerAlive { value 2; description "VpcOobPeerAlive"; } enum VpcOobPeerNotAlive { value 3; description "VpcOobPeerNotAlive"; } enum VpcOobPeerAliveDomainMismatch { value 4; description "VpcOobPeerAliveDomainMismatch"; } enum VpcOobSuspended { value 5; description "VpcOobSuspended"; } enum VpcOobNotOperational { value 6; description "VpcOobNotOperational"; } enum VpcOobSuspendedVrf { value 7; description "VpcOobSuspendedVrf"; } enum VpcOobMisconfig { value 8; description "VpcOobMisconfig"; } } default "VpcOobUnknown"; } typedef aggregate_VpcPeerLinkStatus { type enumeration { enum VpcPeerNolink { value 0; description "VpcPeerNolink"; } enum VpcPeerLinkDown { value 1; description "VpcPeerLinkDown"; } enum VpcPeerOk { value 2; description "VpcPeerOk"; } enum VpcPeerNotfound { value 3; description "VpcPeerNotfound"; } } default "VpcPeerNolink"; } // Fabric Forwarding Mode typedef aggregate_fabFwdMode { type enumeration { enum standard { value 0; description "Standard"; } enum anycastgw { value 1; description "Anycast Gateway"; } enum proxygw { value 2; description "ProxyGw"; } } default "standard"; } typedef alarms_AlarmSeverity { type enumeration { enum Unknown { value 0; description "Alarms level unknown"; } enum Minor { value 1; description "Alarms level minor"; } enum Warning { value 2; description "Alarms level warning"; } enum Major { value 3; description "Alarms level major"; } enum Critical { value 4; description "Alarms level critical"; } } default "Unknown"; } typedef alarms_AlarmTypeId { type enumeration { enum Unknown { value 0; description "Alarms type unknown"; } enum AIS { value 1; description "Alarms type AIS"; } enum EQPT { value 2; description "Alarms type EQPT"; } enum LOS { value 3; description "Alarms type LOS"; } enum OTS { value 4; description "Alarms type OTS"; } } default "Unknown"; } // Burst interval shift typedef analytics_BurstIntvlShift { type uint8 { range "0..255"; } default "0"; } // Mode typedef analytics_CModeT { type enumeration { enum aci { value 0; description "ACI mode"; } enum standalone { value 1; description "Standalone mode"; } } default "aci"; } // Collector buket identifier typedef analytics_CollBucketId { type uint8 { range "1..255"; } } // Collect Interval typedef analytics_CollIntvl { type uint32 { range "100..64000"; } default "100"; } // Collector version typedef analytics_CollVersion { type enumeration { enum v5 { value 1; description "Version 5"; } enum v9 { value 2; description "Version 9"; } enum cisco-v1 { value 3; description "Cisco proprietary version 1"; } } default "cisco-v1"; } // Collect params typedef analytics_CollectParams { type string; default "src-intf"; } // The values for the Tunnel-Header collect bit config typedef analytics_CollectTunnelHeader { type boolean; default "false"; } // Collector identifier typedef analytics_CollectorId { type uint32 { range "0..4294967295"; } } // Default filtering policy type typedef analytics_DefPolicyT { type enumeration { enum permit { value 0; description "Permit"; } enum deny { value 1; description "Deny"; } } default "permit"; } // Direction type typedef analytics_DirectionT { type enumeration { enum in { value 1; description "Ingress"; } enum out { value 2; description "Egress"; } enum both { value 3; description "Both"; } } default "in"; } // The values for the Analytics-Submode collect bit config typedef analytics_EnableAnalyticsSubmode { type boolean; default "false"; } // Event Export Max typedef analytics_EventExportMax { type uint32 { range "0..32000"; } default "3"; } // Port typedef analytics_EventsPort { type uint16 { range "0..65535"; } default "5695"; } // Flow timeout typedef analytics_FlowTimeout { type uint32 { range "5..60"; } default "10"; } // IP filter type typedef analytics_FltType { type enumeration { enum ipv4 { value 1; description "Ipv4 type"; } enum ipv6 { value 2; description "Ipv6 type"; } enum ce { value 3; description "CE type"; } } default "ipv4"; } // Forwarding instance target identifier typedef analytics_FwdInstTargetId { type uint32 { range "0..16777215"; } } // The values for the geneve-disable bit config typedef analytics_GeneveEnable { type boolean; default "false"; } // Hash value typedef analytics_HashT { type uint32 { range "0..4294967295"; } default "0"; } // Hash width type typedef analytics_HashWidthT { type uint16 { range "1..255"; } default "12"; } // IP packet identifier shift typedef analytics_IpPktIdShift { type uint8 { range "0..255"; } default "0"; } // Layer4 port typedef analytics_L4Port { type uint32 { range "1..65535"; } } // Latency Unit typedef analytics_LatencyUnit { type enumeration { enum micro-sec { value 0; description "Micro Second"; } enum milli-sec { value 1; description "Milli Second"; } } default "micro-sec"; } // Latency Value typedef analytics_LatencyValue { type uint32 { range "0..65535"; } } // Match params typedef analytics_MatchParams { type string; } // Mode typedef analytics_ModeT { type enumeration { enum analytics { value 0; description "Analytics mode"; } enum netflow { value 1; description "Netflow mode"; } } default "netflow"; } // MTU typedef analytics_Mtu { type uint16 { range "576..9216"; } default "1500"; } // Oclass ID typedef analytics_OclassId { type uint16 { range "0..256"; } default "0"; } // Payload length identifier typedef analytics_PayloadLenIdT { type uint8 { range "0..10"; } } // Payload length typedef analytics_PayloadLenT { type uint32 { range "0..16383"; } default "0"; } // Receive window size identifier typedef analytics_RcvWindowSzIdT { type uint8 { range "0..4"; } } // Receive window size typedef analytics_RcvWindowSzT { type uint32 { range "0..65535"; } default "0"; } // TCP options header length identifier typedef analytics_TCPOptHdrLenIdT { type uint8 { range "0..6"; } } // TCP options header length typedef analytics_TCPOptHdrLenT { type uint32 { range "0..15"; } default "0"; } // TOS Value typedef analytics_TOSValue { type uint8 { range "0..255"; } default "255"; } // TTL Match Value typedef analytics_TTLMatchValue { type uint8 { range "0..255"; } default "255"; } // Sequence number guess threshold typedef analytics_ThresholdT { type uint32 { range "0..4294967295"; } default "0"; } // Vrfname typedef analytics_VrfName { type l3_VrfName; default "default"; } // Ability to configure latency resolution typedef analytics_configLatencyResFactorT { type enumeration { enum enable { value 1; description "enable"; } enum disable { value 0; description "disable"; } } default "disable"; } // Create Count typedef analytics_createCount { type uint32 { range "0..16777215"; } default "0"; } // Hit Count typedef analytics_hitCount { type uint32 { range "0..16777215"; } default "0"; } // Num tcam entries type typedef analytics_numTcamEntT { type uint32 { range "1..65535"; } default "1024"; } // Num tcam entries per V4 type typedef analytics_numTcamEntV4T { type uint16 { range "1..256"; } default "1"; } // Num tcam entries per V6 type typedef analytics_numTcamEntV6T { type uint16 { range "1..256"; } default "4"; } // Ability to expose oport/oclass information typedef analytics_oportSupportT { type enumeration { enum enable { value 1; description "enable"; } enum disable { value 0; description "disable"; } } default "disable"; } // general admin state of apphosting config properties typedef apphosting_AdminState { type enumeration { enum disabled { value 0; description "admin state to disable application conf"; } enum enabled { value 1; description "ddmin state to enable application conf"; } } default "enabled"; } // Application action types typedef apphosting_AppActionCont { type enumeration { enum init { value 0; description "Initial default install state"; } enum install { value 1; description "Install"; } enum uninstall { value 2; description "Uninstall"; } enum activate { value 3; description "Activate"; } enum deactivate { value 4; description "Deactivate"; } enum start { value 5; description "start"; } enum stop { value 6; description "stop"; } } default "init"; } typedef apphosting_AppCurrState { type enumeration { enum init { value 0; description "Initial default install state"; } enum installed { value 1; description "Install success"; } enum install_in_progress { value 2; description "Install in progress"; } enum install_failed { value 3; description "Install failed"; } enum uninstalled { value 4; description "Uninstall success"; } enum uninstall_in_progress { value 5; description "Uninstall in progress"; } enum uninstall_failed { value 6; description "Uninstall failed"; } enum activate { value 7; description "Activate success"; } enum activate_in_progress { value 8; description "Activate is progress"; } enum activate_failed { value 9; description "Activate failed"; } enum deactivated { value 10; description "Deactivate success"; } enum deactivate_in_progress { value 11; description "Deactivate in progress"; } enum deactivate_failed { value 12; description "Deactivate failed"; } enum started { value 13; description "start success"; } enum start_in_progress { value 14; description "start in progress"; } enum start_failed { value 15; description "start failed"; } enum stop { value 16; description "stop success"; } enum stop_in_progress { value 17; description "stop in progress"; } enum stop_failed { value 18; description "stop failed"; } } default "init"; } typedef apphosting_AppErrCode { type enumeration { enum err_none { value 0; description "No error"; } enum err_other { value 1; description "other error code"; } enum err_invalid_conf { value 2; description "invalid config input"; } enum err_backend_write { value 3; description "back end config write error"; } enum err_mem_alloc { value 4; description "memory allocation error"; } } default "err_none"; } typedef apphosting_AppName { type string { length "1..40"; } } typedef apphosting_BridgeId { type uint32 { range "1..8"; } default "1"; } // config operational status of apphosting config properties typedef apphosting_CfgOperState { type enumeration { enum unknown { value 0; description "unknown"; } enum disabled { value 1; description "disabled"; } enum enabled { value 2; description "enabled"; } } default "unknown"; } typedef apphosting_EventSeverity { type enumeration { enum ev_sev_critical { value 0; description "critical notification."; } enum ev_sev_major { value 1; description "major notification."; } enum ev_sev_minor { value 2; description "minor notification."; } } default "ev_sev_minor"; } typedef apphosting_EventState { type enumeration { enum ev_state_deployed { value 0; description "app deployed notification."; } enum ev_state_activated { value 1; description "app activated notification."; } enum ev_state_running { value 2; description "app running notification."; } enum ev_state_stopped { value 3; description "app stopped notification."; } enum ev_state_uninstalled { value 4; description "app uninstalled notification."; } } default "ev_state_uninstalled"; } typedef apphosting_EventStatus { type enumeration { enum ev_status_pass { value 0; description "pass status notification."; } enum ev_status_fail { value 1; description "fail status notification."; } } default "ev_status_pass"; } typedef apphosting_EventType { type enumeration { enum ev_type_caf_enable { value 0; description "caf enable notification."; } enum ev_type_app_install { value 1; description "app install notification."; } enum ev_type_app_uninstall { value 2; description "app uninstall notification."; } enum ev_type_app_start { value 3; description "app start notification."; } enum ev_type_app_no_start { value 4; description "app no start notification."; } enum ev_type_app_unsolicited { value 5; description "app unsolicited notification."; } enum ev_type_app_activate { value 6; description "app activate notification."; } enum ev_type_app_deactivate { value 7; description "app deactivate notification."; } } default "ev_type_app_uninstall"; } // Host interface name type constants typedef apphosting_HostIntfType { type enumeration { enum management { value 0; description "Management interface"; } enum bridge1 { value 1; description "bridge 1 inteface"; } enum bridge2 { value 2; description "bridge 2 inteface"; } enum bridge3 { value 3; description "bridge 3 inteface"; } enum bridge4 { value 4; description "bridge 4 inteface"; } enum bridge5 { value 5; description "bridge 5 inteface"; } enum bridge6 { value 6; description "bridge 6 inteface"; } enum bridge7 { value 7; description "bridge 7 inteface"; } enum bridge8 { value 8; description "bridge 8 inteface"; } } default "management"; } typedef apphosting_IntfIndex { type uint32 { range "0..3"; } default "0"; } // NameServer Tag constants typedef apphosting_NameSrvEntryTag { type enumeration { enum v4addr0 { value 0; description "v4 address 0"; } enum v4addr1 { value 1; description "v4 address 1"; } enum v6addr0 { value 2; description "v6 address 0"; } enum v6addr1 { value 3; description "v6 address 1"; } } default "v4addr0"; } typedef apphosting_PackName { type string { length "1..128"; } } typedef apphosting_ParamList { type string { length "1..2048"; } } // package run options enable state type typedef apphosting_PkgRunOptState { type enumeration { enum over-write { value 0; description "over write the docker package run options."; } enum append { value 1; description "append the run options with package run options."; } } default "over-write"; } typedef apphosting_RunOptIndex { type uint32 { range "1..30"; } default "1"; } typedef apphosting_RunOptValue { type string { length "1..235"; } } typedef apphosting_SignOption { type enumeration { enum disable { value 0; description "disable the sign verification"; } enum enable { value 1; description "enable the sign verification"; } } default "enable"; } typedef apphosting_StorageSize { type uint32 { range "0..2147483647"; } default "2048"; } // vrf name string type typedef apphosting_VrfName { type string { length "1..32"; } default "default"; } typedef apphosting_bridgeFault { type enumeration { enum bridge-conf-success { value 0; description "Succesfully configured bridge."; } enum bridge-conf-err { value 1; description "Failed to configure bridge."; } enum bridge-create-err { value 2; description "Failed to create bridge."; } enum bridge-invalid-ip-v4 { value 3; description "Invalid bridge IPv4."; } enum bridge-invalid-ip-v6 { value 4; description "Invalid bridge IPv6."; } enum bridge-v4-route-update-err { value 5; description "Failed to add v4 route to bridge.."; } enum bridge-v6-route-update-err { value 6; description "Failed to add v6 route to bridge."; } enum bridge-invalid-running-config { value 7; description "Invalid running config."; } } default "bridge-conf-success"; } // Adjacency Flags typedef arp_AdjFlags { type string; } // Adjacency operational state typedef arp_AdjOperSt { type enumeration { enum unspecified { value 0; description "Unknown"; } enum incomplete { value 1; description "Incomplete"; } enum normal { value 2; description "Resolved"; } } } typedef arp_AdjRouteDist { type uint32 { range "2..250"; } default "250"; } // ARP Cache Limit typedef arp_ArpCacheLimit { type uint32 { range "1..614400"; } default "196608"; } // ARP Cache Syslog Rate typedef arp_ArpCacheSyslogRate { type uint32 { range "1..1000"; } default "1"; } // Config Error typedef arp_ConfigErr { type string; } // Config Error Inst MO typedef arp_ConfigErrInst { type string; } // Database type typedef arp_DbT { type enumeration { enum ip { value 1; description "IP database"; } enum supcache { value 2; description "SupCache database"; } } default "ip"; } // Event History Size typedef arp_EventLogSize { type enumeration { enum disabled { value 0; description "Disable"; } enum small { value 1; description "Small"; } enum medium { value 2; description "Medium"; } enum large { value 3; description "Large"; } } default "small"; } // Event Log Type typedef arp_EventType { type enumeration { enum cli { value 0; description "CLI Events"; } enum client-events { value 1; description "Client Events"; } enum client-errors { value 2; description "Client Errors"; } enum control-events { value 3; description "Control Events"; } enum internal-events { value 4; description "Internal Events"; } enum internal-errors { value 5; description "Internal Errors"; } enum high-availability { value 6; description "High Availability Events"; } enum ip-sync { value 7; description "IP Sync Events"; } enum local-cache-events { value 8; description "ARP Local Cache Events"; } enum local-cache-errors { value 9; description "ARP Local Cache Errors"; } enum pkt-messages { value 10; description "Packet Messages Logs"; } enum snmp { value 11; description "SNMP Events"; } enum suppress-events { value 12; description "ARP Suppression Events"; } enum suppress-errors { value 13; description "ARP Suppression Errors"; } enum sync { value 14; description "Sync Event Logs"; } enum arp-controller-errors { value 15; description "Controller MAC-IP route error logs"; } enum arp-dme-event { value 16; description "DME debug event"; } enum arp-sm-trace { value 17; description "ARP State Machine Logs"; } enum arp-event-ext { value 18; description "ARP Internal event extension logs"; } enum sync-error { value 19; description "Sync Error Logs"; } enum adjacency-control { value 101; description "Adjacency Control Logs"; } enum adjacency-errors { value 102; description "Adjacency Error Logs"; } enum adjacency-ipc-events { value 103; description "Adjacency IPC Logs"; } enum adjacency-stats { value 104; description "Adjacency Stats Logs"; } enum adjacency-high-availability { value 105; description "Adjacency High Availability Logs"; } enum adjacency-cli { value 106; description "Adjacency CLI Logs"; } enum adjacency-sdb { value 107; description "Adjacency SDB Logs"; } enum adjacency-snmp { value 108; description "Adjacency SNMP Logs"; } enum adjacency-netbroker { value 109; description "Adjacency Net Broker Logs"; } enum am-dme-event { value 110; description "Adjacency DME event debugs"; } enum am-event { value 111; description "Adjacency event debugs"; } } } // ARP Evpn Refresh timeout typedef arp_EvpnTimeout { type uint16 { range "600..30000"; } default "600"; } // COS for ARP packet typedef arp_IpArpCos { type uint32 { range "0..7"; } default "6"; } // Logging Level typedef arp_LoggingLevel { type enumeration { enum emergency { value 0; description "Emergency"; } enum alert { value 1; description "Alert"; } enum critical { value 2; description "Critical"; } enum error { value 3; description "Error"; } enum warning { value 4; description "Warning"; } enum notification { value 5; description "Notification"; } enum informational { value 6; description "Informational"; } enum debug { value 7; description "Debug"; } } default "error"; } // MAC Delete adjaceny refresh timeout typedef arp_MacDelTimeout { type uint16; } // Max packet count typedef arp_MaxPacket { type uint32 { range "0..32767"; } default "1000"; } // ARP off list timeout typedef arp_OffListTimeout { type uint16 { range "180..1800"; } default "180"; } // RARP Fabric Forwarding Rate Limit typedef arp_RarpForwadingRate { type uint16 { range "200..400"; } default "200"; } // Static Adjacency operational state typedef arp_StAdjOperSt { type enumeration { enum down { value 0; description "Down"; } enum up { value 1; description "Incomplete"; } enum unspecified { value 10; description "Unspecified"; } } default "unspecified"; } // Static Adjacency operational state qualifier typedef arp_StAdjOperStQual { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum subnet-mismatch { value 1; description "Subnet mismatch"; } enum invalid-mac { value 2; description "Invalid MAC"; } enum invalid-ip { value 3; description "Invalid IP"; } enum invalid-vrf { value 4; description "Invalid VRF"; } enum own-mac { value 5; description "Own MAC"; } enum if-down { value 6; description "Interface down"; } enum up { value 7; description "Up"; } enum invalid-if { value 8; description "Invalid Interface"; } enum invalid-clidata { value 9; description "Invalid CLI Data"; } enum no-memory { value 10; description "No Memory"; } } default "unspecified"; } // Suppression Cache flag typedef arp_SupCacheFlag { type string; } // Suppression ARP Mode typedef arp_SuppressArpMode { type enumeration { enum disabled { value 0; description "Disabled"; } enum l2suppressarp { value 1; description "L2SuppressARP"; } enum l2l3suppressarp { value 2; description "L2L3SuppressARP"; } enum invalid { value 3; description "Invalid"; } } } // ARP suppress timeout typedef arp_SuppressionTimeout { type uint16 { range "0..28800"; } default "0"; } // Syslog threshold typedef arp_SyslogCnt { type uint32 { range "0..65535"; } default "10000"; } // throttle timeout typedef arp_ThrottleTimeout { type uint16 { range "300..1800"; } default "300"; } // ARP timeout typedef arp_Timeout { type uint16 { range "0..28800"; } default "0"; } typedef bd_AclName { type string { length "0..64"; } } // Default SVI autoState typedef bd_DefaultSVIAutoState { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "enable"; } typedef bd_Description { type string { length "0..64"; } } typedef bd_MonitorName { type string { length "0..64"; } } typedef bd_QueueId { type uint16 { range "0..7"; } } // Actual Values are from 64 // To be controlled in the BI logic typedef bd_SamplingMbPackets { type uint32 { range "0..1024"; } } // Actual Range is from 122 to 100 // To be controlled in the BI logic typedef bd_SamplingMbRate { type uint32 { range "0..100000"; } } // Actual Range is from 10 to 16777215 // To be controlled in the BI logic typedef bd_SamplingRate { type uint32 { range "0..16777215"; } } // Address family type typedef bfd_AfT { type enumeration { enum ipv4 { value 1; description "IPv4 address family"; } enum ipv6 { value 2; description "IPv6 address family"; } } default "ipv4"; } // Application private data typedef bfd_AppData { type mtx_array_uint8; } // Application session flags typedef bfd_AppFlags { type string; } // Application ID typedef bfd_AppId { type uint32; } // Authentication hex key typedef bfd_AuthHexKey { type mtx_array_uint8; } // Authentication hex key size typedef bfd_AuthHexKeySize { type uint8 { range "0..40"; } } // BFD AuthInterop Cfg typedef bfd_AuthInterop { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } // Authentication key typedef bfd_AuthKey { type string { length "1..20"; pattern ".*"; } } // Authentication key id typedef bfd_AuthKeyId { type uint8 { range "1..255"; } default "1"; } // Authentication Sequence Number typedef bfd_AuthSeqno { type uint32; } // Authentication type typedef bfd_AuthT { type enumeration { enum none { value 0; description "No authentication"; } enum sha1 { value 4; description "Keyed SHA1"; } enum met-sha1 { value 5; description "Met Keyed SHA1"; } } default "none"; } // Detection multiplier typedef bfd_DetectMult { type uint8 { range "1..50"; } default "3"; } // Diag Code typedef bfd_DiagCode { type enumeration { enum none { value 0; description "No Diagnostic"; } enum detect-timeout { value 1; description "Control Detection Time Expired"; } enum echo-fail { value 2; description "Echo Function Failed"; } enum nbr-signal-down { value 3; description "Neighbor Signaled Session Down"; } enum fwd-plane-reset { value 4; description "Forwarding Plane Reset"; } enum path-down { value 5; description "Path Down"; } enum concat-path-down { value 6; description "Concatenated Path Down"; } enum admin-down { value 7; description "Administratively Down"; } enum rev-concat-path-down { value 8; description "Reverse Concatenated Path Down"; } } } // Session discriminator typedef bfd_Discr { type uint32; } // echo rx interval (in ms) typedef bfd_EchoRxIntvl { type uint16 { range "0..999"; } default "50"; } // BFD session HwOffload Cfg typedef bfd_HwOffload { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "enable"; } typedef bfd_IfControl { type string; default "0"; } // Interface Detection multiplier typedef bfd_IfDetectMult { type uint8 { range "0..50"; } default "3"; } // Interface Minimum rx interval (in ms) typedef bfd_IfMinRxIntvl { type uint16 { range "0..999"; } default "50"; } // Interface Minimum tx interval (in ms) typedef bfd_IfMinTxIntvl { type uint16 { range "0..999"; } default "50"; } // Multihop Minimum rx interval (in ms) typedef bfd_MhMinRxIntvl { type uint16 { range "250..999"; } default "250"; } // Multihop Minimum tx interval (in ms) typedef bfd_MhMinTxIntvl { type uint16 { range "250..999"; } default "250"; } // Minimum rx interval (in ms) typedef bfd_MinRxIntvl { type uint16 { range "50..999"; } default "50"; } // Minimum tx interval (in ms) typedef bfd_MinTxIntvl { type uint16 { range "50..999"; } default "50"; } // Oper State typedef bfd_OperSt { type enumeration { enum admin-down { value 0; description "AdminDown"; } enum down { value 1; description "Down"; } enum init { value 2; description "Init"; } enum up { value 3; description "Up"; } } } // Packet flags typedef bfd_PktFlags { type string; } // Packet Interval (in ms) typedef bfd_PktInterval { type uint32; } // Application sap ID typedef bfd_SapId { type uint32; } // BFD Session Type typedef bfd_SessionType { type enumeration { enum single-hop { value 0; description "SingleHop"; } enum multi-hop { value 1; description "MultiHop"; } enum srte-echo { value 2; description "SRTE Echo"; } } } // Slow interval (in ms) typedef bfd_SlowIntvl { type uint16 { range "1000..30000"; } default "2000"; } // BFD Start timeout typedef bfd_StTm { type uint32; default "0"; } // Startup interval (in second) typedef bfd_StartupIntvl { type uint16 { range "0..60"; } default "5"; } // BFD Cfg State typedef bfd_TrkMbrLnk { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } // Additional Paths capability typedef bgp_AddlPathCapT { type string; } // Administrative state typedef bgp_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } // Advertisement Interval typedef bgp_AdvInterval { type uint16 { range "0..600"; } } // Advertise l2vpn evpn typedef bgp_AdvertL2vpnEvpn { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 0; description "Disabled"; } } default "disabled"; } typedef bgp_AdvtMapCondition { type enumeration { enum none { value 0; description "no options"; } enum exist { value 1; description "Exist Route Map"; } enum non-exist { value 2; description "Non-Exist Route Map"; } } default "none"; } // Address family type typedef bgp_AfT { type enumeration { enum ipv4-ucast { value 1; description "IPv4 unicast address family"; } enum ipv4-mcast { value 2; description "IPv4 multicast address family"; } enum vpnv4-ucast { value 3; description "Vpnv4 unicast address family"; } enum ipv6-ucast { value 5; description "IPv6 unicast address family"; } enum ipv6-mcast { value 6; description "IPv6 multicast address family"; } enum vpnv6-ucast { value 7; description "Vpnv6 unicast address family"; } enum l2vpn-evpn { value 9; description "L2Vpn EVpn address family"; } enum ipv4-lucast { value 10; description "IPv4 labeled unicast address family"; } enum ipv6-lucast { value 11; description "IPv6 labeled unicast address family"; } enum lnkstate { value 12; description "Link state address family"; } enum ipv4-mvpn { value 13; description "IPv4 mvpn address family"; } enum ipv6-mvpn { value 14; description "IPv6 mvpn address family"; } enum l2vpn-vpls { value 15; description "L2Vpn vpls address family"; } enum ipv4-mdt { value 16; description "IPv4 mdt address family"; } enum vpnv6-mcast { value 8; description "Vpnv6 multicast address family"; } } default "ipv4-ucast"; } // Activate the affinity group typedef bgp_AffGrpActv { type uint16 { range "0..65535"; } } // BGP SRv6 SID Allocation mode typedef bgp_AllocMod { type enumeration { enum none { value 0; description "Unspecified"; } enum per-vrf { value 1; description "Allocate SRv6 SID per VRF"; } } default "none"; } // AS path database size typedef bgp_AsPathDbSz { type uint32; } // AS segment type typedef bgp_AsSegT { type enumeration { enum sequence { value 1; description "Sequence"; } enum set { value 2; description "Set"; } } default "set"; } // AS Set typedef bgp_AsSet { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 0; description "Disabled"; } } default "disabled"; } // Asn number typedef bgp_AsnNum { type string; } // Customizes AS_PATH attribute for routes received from eBGP neighbor typedef bgp_AsnPropagation { type enumeration { enum none { value 0; description "no options"; } enum no-prepend { value 1; description "no-prepend"; } enum replace-as { value 2; description "no-prepend+replace-as"; } enum dual-as { value 3; description "noPrepend+replace-as+dual-as"; } } default "none"; } // Attribute Filtering control direction typedef bgp_AttrFltrDir { type enumeration { enum in { value 1; description "Perform path-attribute filtering on inbound updates"; } enum out { value 2; description "Perform path-attribute filtering on outbound updates"; } } default "in"; } // BGP Path Attribute Filtering Action Type typedef bgp_AttrFltrType { type enumeration { enum treataswithdraw { value 0; description "Treat the filtered BGP Update Message as withdrawn"; } enum discard { value 1; description "Discard the attribute in the filtered BGP Update Message"; } } } // BGP Attribute Types. typedef bgp_AttrTypes { type uint16; default "0"; } // Attribute database size typedef bgp_AttribDbSz { type uint32; } // multihop bfd authentication name typedef bgp_AuthNameT { type enumeration { enum none { value 0; description "Unspecified"; } enum key-sha1 { value 1; description "Keyed-SHA1"; } } } // BestPath Timeout Limit typedef bgp_BestPathIntvl { type uint16 { range "1..3600"; } default "300"; } // BFD session type typedef bgp_BfdSessionType { type enumeration { enum none { value 0; description "BFD session type none"; } enum singlehop { value 1; description "BFD single hop session"; } enum multihop { value 2; description "BFD multihop session"; } } default "none"; } typedef bgp_BgpDscp { type enumeration { enum 0 { value 0; description "0"; } enum 1 { value 1; description "1"; } enum 2 { value 2; description "2"; } enum 3 { value 3; description "3"; } enum 4 { value 4; description "4"; } enum 5 { value 5; description "5"; } enum 6 { value 6; description "6"; } enum 7 { value 7; description "7"; } enum cs1 { value 8; description "CS1(precedence 1) dscp (001000)"; } enum 9 { value 9; description "9"; } enum af11 { value 10; description "AF11 dscp (001010)"; } enum 11 { value 11; description "11"; } enum af12 { value 12; description "AF12 dscp (001100)"; } enum 13 { value 13; description "13"; } enum af13 { value 14; description "AF13 dscp (001110)"; } enum 15 { value 15; description "15"; } enum cs2 { value 16; description "CS2(precedence 2) dscp (010000)"; } enum 17 { value 17; description "17"; } enum af21 { value 18; description "AF21 dscp (010010)"; } enum 19 { value 19; description "19"; } enum af22 { value 20; description "AF22 dscp (010100)"; } enum 21 { value 21; description "21"; } enum af23 { value 22; description "AF23 dscp (010110)"; } enum 23 { value 23; description "23"; } enum cs3 { value 24; description "CS3(precedence 3) dscp (011000)"; } enum 25 { value 25; description "25"; } enum af31 { value 26; description "AF31 dscp (011010)"; } enum 27 { value 27; description "27"; } enum af32 { value 28; description "AF32 dscp (011100)"; } enum 29 { value 29; description "29"; } enum af33 { value 30; description "AF33 dscp (011110)"; } enum 31 { value 31; description "31"; } enum cs4 { value 32; description "CS4(precedence 4) dscp (100000)"; } enum 33 { value 33; description "33"; } enum af41 { value 34; description "AF41 dscp (100010)"; } enum 35 { value 35; description "35"; } enum af42 { value 36; description "AF42 dscp (100100)"; } enum 37 { value 37; description "37"; } enum af43 { value 38; description "AF43 dscp (100110)"; } enum 39 { value 39; description "39"; } enum cs5 { value 40; description "CS5(precedence 5) dscp (101000)"; } enum 41 { value 41; description "41"; } enum 42 { value 42; description "42"; } enum 43 { value 43; description "43"; } enum 44 { value 44; description "44"; } enum 45 { value 45; description "45"; } enum ef { value 46; description "EF dscp (101110)"; } enum 47 { value 47; description "47"; } enum cs6 { value 48; description "CS6(precedence 6) dscp (110000)"; } enum 49 { value 49; description "49"; } enum 50 { value 50; description "50"; } enum 51 { value 51; description "51"; } enum 52 { value 52; description "52"; } enum 53 { value 53; description "53"; } enum 54 { value 54; description "54"; } enum 55 { value 55; description "55"; } enum cs7 { value 56; description "CS7(precedence 7) dscp (111000)"; } enum 57 { value 57; description "57"; } enum 58 { value 58; description "58"; } enum 59 { value 59; description "59"; } enum 60 { value 60; description "60"; } enum 61 { value 61; description "61"; } enum 62 { value 62; description "62"; } enum 63 { value 63; description "63"; } } default "cs6"; } // BMP server state typedef bgp_BmpSt { type enumeration { enum enabled { value 0; description "Enabled"; } enum disabled { value 1; description "Disabled"; } } default "enabled"; } // Additional Paths capability in Neighbor Af typedef bgp_CapAddlPathCapT { type string; } // Capability type typedef bgp_CapT { type string; } // Cluster ID typedef bgp_ClusterId { type string; } // Connection Attempts typedef bgp_ConnAttempts { type uint32; default "0"; } // Connection info typedef bgp_ConnMode { type string; } // Discarded Attribute Length typedef bgp_DiscardedAttrLen { type uint32 { range "0..4294967295"; } } // BGP Distance typedef bgp_Distance { type uint16 { range "1..255"; } } // VRF Id typedef bgp_DomId { type uint32; } // Domain operational state typedef bgp_DomOperSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } } default "unknown"; } // Egress Peer Engineering EPE for neighbor status typedef bgp_EgressPeerEng { type enumeration { enum none { value 0; description "Disabled"; } enum enabled { value 1; description "Egress Peer Engineering Enabled"; } enum enabled-adj-sid { value 2; description "Advertise Adjacency-SIDs for multi-hop neighbor paths"; } } default "none"; } // Event History Buffer Type typedef bgp_EhType { type enumeration { enum none { value 0; } enum cli { value 1; description "Cli buffer"; } enum events { value 2; description "Events buffer"; } enum periodic { value 3; description "Periodic buffer"; } enum detail { value 4; description "Detailed buffer"; } enum errors { value 5; description "Errors buffer"; } enum objstore { value 6; description "Objstore buffer"; } enum socket { value 7; description "Socket buffer"; } enum nve { value 8; description "NVE buffer"; } enum prefixes { value 9; description "Prefixes buffer"; } enum peer { value 10; description "Peer buffer"; } enum urib { value 11; description "Urib buffer"; } enum l2rib { value 12; description "L2rib buffer"; } enum rpki { value 13; description "Rpki buffer"; } } default "none"; } // Enable state typedef bgp_EnableSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } // EVPN route-type typedef bgp_EvpnRtType { type enumeration { enum none { value 0; description "Unspecified"; } enum a-d { value 1; description "Ethernet Auto-Discovery route"; } enum mac-ip { value 2; description "MAC/IP Advertisement route"; } enum imet { value 3; description "Inclusive Multicast Ethernet Tag route"; } enum eth-seg { value 4; description "Ethernet Segment route"; } enum ip-pfx { value 5; description "IP Prefix route"; } enum fhs { value 12; description "FHS route"; } } default "none"; } // Filter State type for Path-Attribute Filtering typedef bgp_FltrSt { type nw_AdminSt; default "enabled"; } // Graceful restart controls typedef bgp_GrCtrl { type string; default "complete"; } // Graceful restart interval typedef bgp_GrIntvl { type uint16 { range "1..3600"; } default "120"; } // Graceful stale interval typedef bgp_GrStaleIntvl { type uint16 { range "1..3600"; } default "300"; } // Hex SHA secret typedef bgp_HkeyValT { type string { length "0..40"; } } // Hold Interval typedef bgp_HoldIntvl { type uint16 { range "3..3600"; } default "180"; } // Import route type typedef bgp_ImportRtT { type enumeration { enum vpn-unicast { value 0; description "Import routes of vpn unicast category"; } enum l2vpn-evpn { value 1; description "Import routes from l2vpn evpn category"; } } } // Inherit template peer control bits. This contains common fields of peer and peer-session templates (please refer to // MOs PeerCont and SessionCont). typedef bgp_InheritContPeerCtrlType { type string; } // Inherit template peer-policy control gigabits. (Please refer // to MO PolicyCont). typedef bgp_InheritContPeerPolicyCtrlType { type string; } // isolate controls isolate mode typedef bgp_IsolateMode { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } enum include-local { value 3; description "Remote and Local"; } enum custom { value 4; description "Custom"; } } default "disabled"; } // Keepalive Interval typedef bgp_KaIntvl { type uint16 { range "0..3600"; } default "60"; } // Key ID to use in BFD frames typedef bgp_KeyIdT { type uint16 { range "1..255"; } } // Binary SHA secret typedef bgp_KeyValT { type string { length "0..20"; } } // Last error len typedef bgp_LastErrLen { type uint8; } // Last error value typedef bgp_LastErrVal { type uint32; } // Label typedef bgp_Lbl { type uint32; default "0"; } // Link Attribute TLV flags for Link-state typedef bgp_LnkLsAttrFlags { type string; default "none"; } // Log Neighbor changes typedef bgp_LogNbrSt { type enumeration { enum none { value 0; description "none"; } enum enable { value 1; description "Enable"; } enum disable { value 2; description "Disable"; } } default "none"; } // Link-State status typedef bgp_LsAdminSt { type enumeration { enum inactive { value 0; description "Inactive"; } enum active { value 1; description "Active"; } } default "inactive"; } // Link-State attribute entry type typedef bgp_LsAttrEntryType { type enumeration { enum none { value 0; description "Unspecified"; } enum peer-node-sid { value 1101; description "Peer Node Segment Identifier"; } enum peer-adj-sid { value 1102; description "Peer Adjacency Segment Identifier"; } enum peer-set-sid { value 1103; description "Peer Set Segment Identifier"; } } default "none"; } // Link-State NLRI Type typedef bgp_LsNlriType { type enumeration { enum none { value 0; description "Unspecified"; } enum node { value 1; description "Node NLRI"; } enum link { value 2; description "Link NLRI"; } enum ipv4-topo { value 3; description "IPv4 Topology Prefix NLRI"; } enum ipv6-topo { value 4; description "IPv6 Topology Prefix NLRI"; } } default "none"; } // Link-State Protocol Identifier typedef bgp_LsProtoId { type enumeration { enum none { value 0; description "Unspecified"; } enum isis-l1 { value 1; description "IS-IS Level 1"; } enum isis-l2 { value 2; description "IS-IS Level 2"; } enum ospf-v2 { value 3; description "OSPFv2"; } enum direct { value 4; description "Direct"; } enum static { value 5; description "Static configuration"; } enum ospf-v3 { value 6; description "OSPFv3"; } enum epe { value 7; description "Egress Peer Engineering"; } } default "none"; } // Major notify error typedef bgp_MajNotifErr { type enumeration { enum none { value 0; description "None"; } enum hdr-err { value 1; description "Header Error"; } enum open-msg-err { value 2; description "Open Message Error"; } enum upd-msg-err { value 3; description "Update Message Error"; } enum hold-timer-exp { value 4; description "Holdtimer Expired"; } enum fsm-err { value 5; description "FSM Error"; } enum cease-err { value 6; description "Cease Error"; } enum cap-msg-err { value 7; description "Capability Message Error"; } enum process-restart-err { value 101; description "Process Restart Error"; } enum fd-read-err { value 102; description "FD Read Error"; } enum fd-ioctl-err { value 103; description "FD Ioctl Error"; } enum peer-close-sess-err { value 104; description "Peer Closed Session Error"; } enum rcvd-notif-err { value 105; description "Peer Received Notification Error"; } enum rcvd-dup-conn-req { value 106; description "Received Duplicate Connection Request"; } enum dyn-cap-no-buf { value 107; description "Dynamic Capability no Buffer"; } } } // Maximum AS Limit typedef bgp_MaxAsLimit { type uint16 { range "0..512"; } } // Maximum Ecmp typedef bgp_MaxEcmp { type uint8 { range "1..128"; } default "1"; } // Maximum Peers typedef bgp_MaxPeerCnt { type uint32 { range "0..1000"; } } // Maximum Prefix typedef bgp_MaxPfx { type uint32; } // Action when the prefixes crosses the maximum limit typedef bgp_MaxPfxAct { type enumeration { enum log { value 1; description "Log"; } enum shut { value 2; description "Shutdown"; } enum restart { value 3; description "Restart"; } } default "shut"; } // Duration before we restart the peer when the maximum // prefix limit is reached typedef bgp_MaxPfxDuration { type uint16 { range "0..65535"; } } // Threshold at which warning is issued when number of prefixes // crosses the threshold, units in percentage typedef bgp_MaxPfxThresh { type uint8 { range "0..100"; } } // MED dampening interval typedef bgp_MedIntvl { type uint32 { range "0..4294967295"; } } // Memory consumed (in bytes) typedef bgp_MemConsumed { type uint32; } // Metric typedef bgp_Metric { type uint32; } // multihop bfd Tx/Rx interval type typedef bgp_MhTxRxIntvlT { type uint16 { range "250..999"; } } // Minor notify error typedef bgp_MinNotifErr { type enumeration { enum none { value 0; description "None"; } enum unspecified-msg-hdr-err { value 1; description "Unspecified Msg Header Error"; } enum conn-not-synced { value 2; description "Connection not Synchronized"; } enum bad-msg-len { value 3; description "Bad Message Length"; } enum bad-msg-type { value 4; description "Bad Message Type"; } enum unknown-msg-hdr-err { value 5; description "Unknown Message Header Error"; } enum unspecified-open-err { value 6; description "Unspecified Open Error"; } enum unsupp-version { value 7; description "Unsupported Version"; } enum bad-peer-as { value 8; description "Bad Peer AS"; } enum bad-peer-rtrid { value 9; description "Bad Peer Router ID"; } enum unsupp-opt-param { value 10; description "Unsupported Optional Parameter"; } enum auth-err { value 11; description "Authentication Error"; } enum bad-holdtime { value 12; description "Unacceptable Holdtime"; } enum unsupp-cap { value 13; description "Unsupported Capability"; } enum unknown-open-hdr-err { value 14; description "Unknown Open Header Error"; } enum unspecified-update-err { value 15; description "Unspecified Update Error"; } enum malformed-attr-list { value 16; description "Malformed Attribute List"; } enum unrecognized-wellknown-attr { value 17; description "Unrecognized Wellknown Attr"; } enum missing-wellknown-attr { value 18; description "Missing Well-known Attribute"; } enum attr-flags-err { value 19; description "Attribute Flags Error"; } enum attr-len-err { value 20; description "Attribute Length Error"; } enum invalid-origin-attr { value 21; description "Invalid Origin Attribute"; } enum as-loop-err { value 22; description "Bgp AS Routing Loop Error"; } enum invalid-nh-attr { value 23; description "Invalid Next-hop Attribute"; } enum opt-attr-err { value 24; description "Optional Attribute Error"; } enum invalid-nw-field { value 25; description "Invalid Network Field"; } enum bad-as-path { value 26; description "Malformed AS Path"; } enum unknown-update-hdr-err { value 27; description "Unknown Update Header Error"; } enum unspecified-cease-err { value 28; description "Unspecified Cease Error"; } enum max-pfx-count-err { value 29; description "Maximum Prefix Count"; } enum admin-shut { value 30; description "Administratively Shutdown"; } enum peer-decfg { value 31; description "Peer Deconfigured"; } enum session-cleared { value 32; description "Session Cleared"; } enum conn-rej { value 33; description "Connection Rejected"; } enum other-cfg-chg { value 34; description "Other Configuration Change Error"; } enum conn-coll-resolution { value 35; description "Connection Collision Resolution"; } enum out-of-rsrc { value 36; description "Out of Resource"; } enum dyn-cap-cfg-chg { value 37; description "Dynamic Capability Configuration Change"; } enum ttl-cfg-chg { value 38; description "TTL Configuration Change"; } enum ttl-security-cfg-chg { value 39; description "TTL Security Configuration Change"; } enum passive-neighbor-cfg-chg { value 40; description "Passive Neighbor Configuration Change"; } enum af-cfg-chg { value 41; description "Address-family Configuration Change"; } enum rr-cfg-chg { value 42; description "Route-reflector Configuration Change"; } enum rtrid-cfg-chg { value 43; description "Router-id Configuration Change"; } enum confed-id-chg { value 44; description "Confederation Id Change"; } enum confed-membership-change { value 45; description "Confederation Membership Change"; } enum gr-cfg-chg { value 46; description "Graceful-restart Configuration Change"; } enum soft-recfg-chg { value 47; description "Soft-reconfiguration Change"; } enum updatesrc-if-chg { value 48; description "Update-source Interface Change"; } enum localas-chg { value 49; description "Local-as Change"; } enum unknown-cease-err { value 50; description "Unknown Cease Error"; } enum unspecified-cap-msg-err { value 51; description "Unspecified Cappability Message Error"; } enum unknown-seq-num { value 52; description "Unknown Sequence Number"; } enum invalid-cap-len { value 53; description "Invalid Capability Length"; } enum bad-cap-val { value 54; description "Malformed Capability Value"; } enum unsupp-cap-code { value 55; description "Unsupported Capability Code"; } enum unknown-cap-err { value 56; description "Unknown Capability Error"; } } } // Mode typedef bgp_Mode { type enumeration { enum fabric { value 1; description "Fabric"; } enum external { value 2; description "External"; } enum proxy { value 3; description "Proxy"; } } default "fabric"; } // multihop bfd multiplier typedef bgp_MultiplierT { type uint16 { range "1..50"; } } // MCAST-VPN NLRI route-type typedef bgp_MvpnRtType { type enumeration { enum none { value 0; description "Unspecified"; } enum interas-ipmsi-ad { value 1; description "Multicast Inter-AS PMSI Auto Discovery route"; } enum intraas-ipmsi-ad { value 2; description "Multicast Intra-AS PMSI Auto Discovery route"; } enum spmsi-ad { value 3; description "Multicast S-PMSI Auto Discovery route"; } enum leaf-ad { value 4; description "Multicast Leaf Auto Discovery route"; } enum sa-ad { value 5; description "Multicast Source-Active Auto Discovery route"; } enum shared-c-mcast { value 6; description "Shared C-Multicast route"; } enum source-c-mcast { value 7; description "Source C-Multicast route"; } } default "none"; } // Number of paths typedef bgp_NumPaths { type uint32; } // Number of Peers typedef bgp_NumPeers { type uint32; } // Order (for AS path segments and AS path items) typedef bgp_Order { type uint16; } // Origin typedef bgp_Origin { type enumeration { enum igp { value 1; description "Learned Via IGP"; } enum egp { value 2; description "Learned Via EGP"; } enum incomplete { value 3; description "Learned by some other Means"; } } default "igp"; } // RPKI Origin-AS validity type typedef bgp_OriginAsValidityType { type enumeration { enum na { value 0; description "Not applicable"; } enum valid { value 1; description "Origin-AS Valid"; } enum not-found { value 2; description "Origin-AS not-found"; } enum invalid { value 3; description "Origin-AS invalid"; } } default "na"; } // Authentication status typedef bgp_PasswdSet { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 0; } } default "disabled"; } // Path flags typedef bgp_PathFlags { type string; } // Path id typedef bgp_PathId { type uint32; } // Path status typedef bgp_PathSt { type enumeration { enum deleted { value 0; description "Deleted"; } enum staled { value 1; description "Staled"; } enum valid { value 2; description "Valid"; } enum invalid { value 3; description "InValid"; } enum history { value 4; description "history"; } enum suppressed { value 5; description "suppressed"; } enum dampened { value 6; description "dampened"; } } } // Path type typedef bgp_PathT { type enumeration { enum internal { value 1; description "Internal"; } enum external { value 2; description "External"; } enum confederation { value 3; description "Confederation"; } enum local { value 4; description "Local"; } enum aggregate { value 5; description "Aggregate"; } enum redistribute { value 6; description "Redistribute"; } enum injected { value 7; description "Injected"; } } default "internal"; } // Peer Address Family Control typedef bgp_PeerAfControl { type string; } // Peer AF flags typedef bgp_PeerAfFlags { type string; } // Peer ASN type typedef bgp_PeerAsnType { type enumeration { enum none { value 0; description "Peer ASN type none"; } enum external { value 1; description "ASN type for EBGP peer"; } enum internal { value 2; description "ASN type for IBGP peer"; } } default "none"; } // Peer Control typedef bgp_PeerControl { type string; } // TODO: Change this to nw:Cnt64 Count of BGP Messages typedef bgp_PeerCount { type uint64; } // Peer Fabric Type typedef bgp_PeerFabType { type enumeration { enum fabric-internal { value 0; description "Fabric internal"; } enum fabric-external { value 1; description "Fabric external"; } enum fabric-border-leaf { value 2; description "Fabric Border Leaf"; } } default "fabric-internal"; } // Peer flags typedef bgp_PeerFlags { type string; } // Graceful restart interval typedef bgp_PeerGrIntvl { type uint16 { range "0..4095"; } } // Peer graceful restart state typedef bgp_PeerGrSt { type enumeration { enum na { value 1; description "Not applicable"; } enum reset { value 2; description "Reset"; } enum up { value 3; description "Up"; } } default "na"; } // Peer Index typedef bgp_PeerIdx { type uint16; } // Peer operational state typedef bgp_PeerOperSt { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum illegal { value 1; description "Illegal"; } enum shut { value 2; description "Shut"; } enum idle { value 3; description "Idle"; } enum connect { value 4; description "Connect"; } enum active { value 5; description "Active"; } enum open-sent { value 6; description "Open sent"; } enum open-confirm { value 7; description "Open confirm"; } enum established { value 8; description "Established"; } enum closing { value 9; description "Closing"; } enum error { value 10; description "Error"; } enum unknown { value 11; description "Unknown"; } } default "unspecified"; } // Peer Type typedef bgp_PeerType { type enumeration { enum ibgp { value 1; description "ibgp"; } enum ebgp { value 2; description "ebgp"; } } default "ibgp"; } // Pfx Flushed typedef bgp_PfxFlushed { type uint64; } // TODO: Change this to nw:Cnt64 Counts for Prefix Peers typedef bgp_PfxPeerCounts { type uint64; } // Prefix Peer Timeout typedef bgp_PfxPeerTimeout { type uint16 { range "0..1200"; } } // Prefix Peer Wait typedef bgp_PfxPeerWaitTime { type uint16 { range "0..1200"; } } // TODO: Change this to nw:Cnt64 Pfx Saved typedef bgp_PfxSaved { type uint64; } // Pfx Sent typedef bgp_PfxSent { type uint64; } // Prefix-Sid attribute entry type typedef bgp_PfxSidAttrEntryType { type enumeration { enum none { value 0; description "Unspecified"; } enum label-index { value 1; description "Label Index"; } enum ipv6-sid { value 2; description "IPv6-SID"; } enum origin-srgb { value 3; description "Originator SRGB"; } enum srv6-L3-sid { value 5; description "SRv6-Service-L3-SID"; } } default "none"; } // PMSI Tunnel Type typedef bgp_PmsiTunType { type enumeration { enum none { value 0; description "Unspecified"; } enum ingress-repl { value 1; description "Ingress Replication"; } } default "none"; } // Prefix Priority level typedef bgp_PrfxPriorityLevelT { type enumeration { enum none { value 0; description "Unspecified"; } enum high { value 1; description "Set priority to high"; } } } // private-as Control typedef bgp_PrivateASControl { type enumeration { enum none { value 0; } enum remove-exclusive { value 1; description "Remove private AS"; } enum remove-all { value 2; description "Remove all private AS"; } enum replace-as { value 3; description "Replace private AS with local AS"; } } default "none"; } // Password Type typedef bgp_PwdType { type enumeration { enum 0 { value 0; description "Specifies an UNENCRYPTED neighbor password"; } enum 3 { value 3; description "Specifies an 3DES ENCRYPTED neighbor password"; } enum 6 { value 6; description "Specifies a type 6 (AES) ENCRYPTED neighbor password"; } enum 7 { value 7; description "Specifies a Cisco type 7 ENCRYPTED neighbor password"; } enum LINE { value 5; description "UNENCRYPTED (cleartext) neighbor password convert to MD5 ENCRYPTED password"; } } default "LINE"; } // Reconnect Interval Value typedef bgp_ReConnectIntvl { type uint16 { range "1..60"; } default "60"; } // RPKI cache operational state typedef bgp_RpkiCacheOperSt { type enumeration { enum idle { value 0; description "Idle"; } enum shutdown { value 1; description "Shutdown"; } enum connecting { value 2; description "Connecting"; } enum established { value 3; description "Established"; } } default "idle"; } // RPKI Path operational state typedef bgp_RpkiPathOperSt { type enumeration { enum none { value 0; description "none"; } enum stale { value 1; description "Stale"; } } default "none"; } // Route control direction typedef bgp_RtCtrlDir { type enumeration { enum in { value 1; description "Incoming"; } enum out { value 2; description "Outgoing"; } } default "in"; } // Route control operational state typedef bgp_RtCtrlOperSt { type enumeration { enum unresolved { value 1; description "Unresolved"; } enum resolved { value 2; description "Resolved"; } } default "unresolved"; } // Route flags typedef bgp_RtFlags { type string; } // Labeled address-family route flags typedef bgp_RtLblAfFlags { type string; } // Route version typedef bgp_RtVer { type uint32; } // Segment Routing Global Block typedef bgp_SRGBRange { type uint32 { range "0..471804"; } default "0"; } // BGP SR option support in Segment-Routing typedef bgp_SgmntRtg { type enumeration { enum none { value 0; description "Unspecified"; } enum srv6 { value 1; description "Support SRv6 option in Segment-Routing"; } } default "none"; } // Peer shut state qualifier typedef bgp_ShutStQual { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum admin { value 1; description "Administratively down"; } enum no-mem { value 2; description "No memory"; } enum exceeded-pfxlimit { value 3; description "Exceeded prefix limit"; } enum admin-up { value 4; description "Administratively up"; } enum no-affinity { value 5; description "No Affinity"; } } default "unspecified"; } // Event History Buffer Size typedef bgp_Size { type uint32 { range "0..4 | 8192..1048576"; } default "0"; } // FD to connect to the peer typedef bgp_SockFD { type uint32; } // Soft Reconfiguration typedef bgp_SoftReconfigBackup { type enumeration { enum none { value 0; description "No reason defined"; } enum inbound { value 1; description "Allow inbound soft reconfiguration"; } enum inbound-always { value 2; description "Always perform inbound soft reconfiguration"; } } } // BMP Server ID typedef bgp_SrvId { type uint8 { range "1..2"; } } // Peer Idle State Reason typedef bgp_StReason { type enumeration { enum none { value 0; } enum no-mem { value 1; description "NoMem"; } } default "none"; } // Aggregate Address Summary-Only typedef bgp_SummaryOnly { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 0; description "Disabled"; } } default "disabled"; } // Table state typedef bgp_TblSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } } } // Table version typedef bgp_TblVer { type uint32; } // SNMP BGP trap type for All 3 state changes typedef bgp_TrapType { type enumeration { enum none { value 0; description "Default none for snmp trap for all state changes"; } enum disabled { value 1; description "Disable snmp trap for all state changes"; } enum enabled { value 2; description "Enable snmp trap for all state changes"; } } default "none"; } // eBGP Multihop TTL value typedef bgp_TtlVal { type uint16 { range "0..255"; } } // Unknown Attribute Length typedef bgp_UnknownAttrLen { type uint32 { range "0..4294967295"; } } // VNID typedef bgp_Vnid { type uint32 { range "0..16777215"; } default "0"; } // Dampen Igp Metric typedef bgp_igpMetric { type uint16 { range "0..3600"; } default "600"; } typedef bl_AclName { type string { length "0..64"; } } typedef bl_Description { type string { length "0..64"; } } typedef bl_Name { type string { length "0..64"; } } typedef bl_QueueId { type uint16 { range "0..7"; } } // Actual Values are from 64 // To be controlled in the BI logic typedef bl_SamplingMbPackets { type uint32 { range "0..1024"; } } // Actual Range is from 122 to 100 // To be controlled in the BI logic typedef bl_SamplingMbRate { type uint32 { range "0..100000"; } } // Actual Range is from 10 to 16777215 // To be controlled in the BI logic typedef bl_SamplingRate { type uint32 { range "0..16777215"; } } // Actual Range is from 100 to 16000000 // To be controlled in the BI logic typedef bl_ThresholdValue { type uint32 { range "0..16777215"; } } typedef bloggerd_Boolean { type enumeration { enum enabled { value 1; } enum disabled { value 0; } } } // Autocopy State typedef boot_AutoCopy { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "enable"; } typedef boot_BootOrderReverse { type enumeration { enum yes { value 1; description "Yes"; } enum no { value 0; description "No"; } } default "no"; } // Docker Cluster Mode DHCP Option typedef boot_Dhcp { type uint32 { range "0..2147483647"; } default "250"; } // Boot ExcludeCfg Types typedef boot_ExcludeCfg { type enumeration { enum enable { value 1; description "Enable Boot ExcludeCfg"; } enum disable { value 0; description "Disable boot ExcludeCfg"; } } default "disable"; } // ImageVerify Cfg State typedef boot_ImageVerify { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "enable"; } // Boot Mode Types typedef boot_Mode { type enumeration { enum none { value 0; description "Native Boot Mode"; } enum lxc { value 1; description "LXC Boot Mode"; } enum dockerCluster { value 3; description "Docker Cluster Boot Mode"; } enum ucs { value 4; description "UCS Boot Mode"; } enum convergedTOR { value 5; description "Converged-TOR Boot Mode"; } } default "none"; } // Boot order Cfg State typedef boot_Order { type enumeration { enum bootflash { value 0; description "bootflash"; } enum pxe { value 1; description "pxe"; } enum pxe2bootflash { value 2; description "pxe2bootflash"; } enum bootflash2pxe { value 3; description "bootflash2pxe"; } } default "bootflash"; } // Poap Cfg State typedef boot_Poap { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } typedef callhome_AlertGroupName { type enumeration { enum configuration { value 0; description "Events Related To Configuration"; } enum diagnostic { value 1; description "Events Related To Diagnostic"; } enum environmental { value 2; description "Power,Fan,Temperature Related Events"; } enum inventory { value 3; description "Inventory Status Events"; } enum license { value 4; description "Events Related To Licensing"; } enum linecard { value 5; description "Linecard Related Events"; } enum supervisor { value 6; description "Supervisor Related Events"; } enum syslogport { value 7; description "Events Related To Syslog Messages Filed By Port Manager"; } enum system { value 8; description "Software Related Events"; } enum test { value 9; description "User Generated Test Events"; } } } typedef callhome_Boolean { type enumeration { enum enabled { value 1; } enum disabled { value 0; } } } typedef callhome_Email { type address_Email { pattern "|[a-zA-Z0-9\\._%\\+-]+@[a-zA-Z0-9\\.-]+"; } } typedef callhome_EncryptType { type enumeration { enum cleartext { value 0; } enum encrypted { value 1; } } } typedef callhome_Format { type enumeration { enum xml { value 1; description "XML message format"; } enum full-txt { value 2; description "Plain Text Message Format"; } enum short-txt { value 3; description "Short Text Message Format"; } } default "xml"; } typedef callhome_PeriodicSystemInventoryIntervalDays { type uint32 { range "1..30"; } default "7"; } typedef callhome_PeriodicSystemInventoryTimeOfDayHour { type uint32 { range "0..23"; } default "0"; } typedef callhome_PeriodicSystemInventoryTimeOfDayMinute { type uint32 { range "0..59"; } default "0"; } typedef callhome_Phone { type address_Phone; } typedef callhome_PredefProfileName { type enumeration { enum predef_tac_prof { value 0; description "Configure Destination Profile For XML Message"; } enum full_txt { value 1; description "Configure Destination Profile For Plain Txt Message"; } enum short_txt { value 2; description "Configure Destination Profile For Short Txt Message"; } } } typedef callhome_ServerType { type string { length "0..255"; pattern ".*[A-Za-z]([A-Za-z0-9-]*[A-Za-z0-9])?(\\.[A-Za-z]([A-Za-z0-9-]*[A-Za-z0-9])?)*.*|.*(.*25[0-5]|.*2[0-4][0-9]|.*1[0-9][0-9]|.*[1-9][0-9]|.*[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5].*|2[0-4][0-9].*|1[0-9][0-9].*|[1-9][0-9].*|[0-9].*).*"; } } typedef callhome_StringRange { type string { length "0..255"; } } typedef cap_Counter { type uint32; } // Logging level type typedef cap_LoggingLevel { type uint16 { range "0..7"; } default "2"; } // Logging Level typedef cap_LoggingType { type enumeration { enum Emergencies { value 0; description "Emergencies"; } enum Alerts { value 1; description "Alerts"; } enum Critical { value 2; description "Critical"; } enum Errors { value 3; description "Errors"; } enum Warnings { value 4; description "Warnings"; } enum Notification { value 5; description "Notification"; } enum Information { value 6; description "Information"; } enum Debugging { value 7; description "Debugging"; } } default "Critical"; } // Quantitative typedef cap_Quant { type uint16 { range "0..65535"; } default "0"; } typedef cap_RuleT { type enumeration { enum limit { value 1; } } default "limit"; } typedef cap_StorageHint { type uint8; } typedef cap_Version { type string; } // Capability type typedef cdp_CapT { type string; } // Neighbor device id typedef cdp_DevId { type string; } // Device identifier type typedef cdp_DevIdT { type enumeration { enum none { value 0; description "Not configured"; } enum mac { value 1; description "MAC address"; } enum serialNum { value 2; description "Serial number"; } enum sysName { value 3; description "System name"; } } default "sysName"; } // Neighbor device index typedef cdp_DevIndex { type uint32; } // Duplex typedef cdp_Duplex { type enumeration { enum unknown { value 0; description "Unknown"; } enum half { value 1; description "Half duplex"; } enum full { value 2; description "Full duplex"; } } } // Hold interval typedef cdp_HoldIntvl { type uint16 { range "10..255"; } default "180"; } // MTU typedef cdp_MTU { type uint32; } // Neighbor version typedef cdp_NbrVer { type string; } // Operational state typedef cdp_OperSt { type enumeration { enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } } default "down"; } // Operational state qualifier typedef cdp_OperStQual { type enumeration { enum up { value 1; description "Up"; } enum admin-down { value 2; description "Administratively down"; } enum if-down { value 3; description "Interface down"; } enum unsupported { value 4; description "Unsupported"; } } default "unsupported"; } // Neighbor platform id typedef cdp_PlatId { type string; } // Neighbor port id typedef cdp_PortId { type string; } // System Location typedef cdp_SysLoc { type string; } // System name typedef cdp_SysName { type string; } // Transmission frequency typedef cdp_TxFreq { type uint16 { range "5..254"; } default "60"; } // Version typedef cdp_Ver { type enumeration { enum v1 { value 1; description "Version 1"; } enum v2 { value 2; description "Version 2"; } } default "v2"; } // Vlan id typedef cdp_VlanId { type uint16; default "0"; } // Administrative state typedef cfs_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // Region ID typedef cfs_RegId { type uint32 { range "1..200"; } } typedef comm_AdminState { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } typedef comm_Port { type uint32 { range "1..65535"; } } typedef comm_Protocol { type enumeration { enum none { value 0; description "None"; } enum tcp { value 1; description "tcp"; } enum udp { value 2; description "udp"; } enum all { value 3; description "All"; } } default "none"; } typedef comm_RekeyDataType { type string { length "0..7"; pattern ".*[a-zA-Z0-9].*"; } } typedef comm_SshKeyType { type enumeration { enum rsa { value 1; description "rsa"; } enum dsa { value 2; description "dsa"; } enum ecdsa { value 3; description "ecdsa"; } } default "rsa"; } typedef comm_SshPortfaultBitmapT { type enumeration { enum noerror { value 0; description "Unknown"; } enum SshPortUnavailable { value 1; description "Failed to configure ssh port."; } } } typedef comp_DelimitedString { type string; } typedef comp_HostState { type enumeration { enum maintenance { value 0; description "Maintenance Mode"; } enum connected { value 1; description "Connected"; } enum noresponse { value 2; description "Not Responding"; } enum disconnected { value 3; description "Disconnected"; } enum poweredOn { value 4; description "Powered On"; } enum poweredOff { value 5; description "Powered Off"; } enum standBy { value 6; description "StandBy"; } enum suspended { value 7; description "Suspended"; } enum unknown { value 8; description "Unknown"; } } default "disconnected"; } typedef comp_InstType { type enumeration { enum unknown { value 0; description "Unknown"; } enum phys { value 1; description "Baremetal Host"; } enum virt { value 2; description "Virtual Machine"; } enum hv { value 3; description "Hypervisor Host"; } } default "unknown"; } typedef comp_NicInstType { type comp_InstType; } typedef comp_NicState { type enumeration { enum down { value 0; description "Down"; } enum up { value 1; description "Up"; } } default "down"; } // Operation type typedef conftmpl_OperationType { type enumeration { enum create { value 1; description "Create"; } enum delete { value 2; description "Delete"; } } default "create"; } // Template type typedef conftmpl_TemplateType { type enumeration { enum unknown { value 0; description "Unknown"; } enum vrf { value 1; description "Vrf"; } enum vlan { value 2; description "Vlan"; } enum intf { value 3; description "Intf"; } } default "unknown"; } // Affix type typedef copp_Affix { type enumeration { enum unknown { value 0; description "Unknown"; } enum prefix { value 1; description "Prefix"; } enum suffix { value 2; description "Suffix"; } } default "unknown"; } // Burst unit typedef copp_BurstUnit { type enumeration { enum Unknown { value 0; description "Unknown"; } enum bytes { value 1; description "Bytes"; } enum kbytes { value 2; description "KiloBytes"; } enum mbytes { value 3; description "MegaBytes"; } enum packets { value 4; description "Packets"; } enum us { value 5; description "Micro sec"; } enum ms { value 6; description "Milli sec"; } } default "Unknown"; } // Burst value typedef copp_BurstVal { type uint32; } // Confrom Action typedef copp_ConformAction { type enumeration { enum Undefined { value 0; description "Undefined"; } enum transmit { value 1; description "Transmit"; } enum drop { value 2; description "Drop"; } } default "Undefined"; } // Cos value typedef copp_CosVal { type uint16; } // Dscp value typedef copp_DscpVal { type uint16 { range "0..63"; } default "0"; } // Exceed action typedef copp_ExceedAction { type enumeration { enum Undefined { value 0; description "Undefined"; } enum transmit { value 1; description "Transmit"; } enum drop { value 2; description "Drop"; } } default "Undefined"; } // Exception options typedef copp_Excep { type enumeration { enum Undefined { value 0; description "Undefined"; } enum glean { value 1; description "Glean"; } enum mtu-failure { value 2; description "Mtu-failure"; } enum ttl-failure { value 3; description "TTL-failure"; } enum nat-flow { value 4; description "Nat-flow"; } enum sflow { value 5; description "Sflow"; } enum mvpn { value 6; description "MVPN"; } enum span { value 7; description "Span"; } enum vxlan-stp { value 8; description "Vxlan-stp"; } } default "Undefined"; } // MPLs exp value typedef copp_ExpVal { type uint32 { range "0..7"; } } typedef copp_Fcoe { type boolean; } // Icmp options typedef copp_Icmp { type enumeration { enum Undefined { value 0; description "Undefined"; } enum redirect { value 1; description "icmp redirect"; } enum unreachable { value 2; description "icmp unreachable"; } } default "Undefined"; } // Information Rate unit typedef copp_IrUnit { type enumeration { enum Unknown { value 0; description "Unknown"; } enum bps { value 1; description "Bits/sec"; } enum pps { value 2; description "Packets/sec"; } enum kbps { value 3; description "Kilo Bits/sec"; } enum mbps { value 4; description "Mega Bits/sec"; } enum gbps { value 5; description "Giga Bits/sec"; } } default "Unknown"; } // Information rate value typedef copp_IrVal { type uint64; } // Level typedef copp_LevelRange { type uint16 { range "1..7"; } default "1"; } // Match Option typedef copp_MatchOption { type enumeration { enum Unknown { value 0; description "Unknown"; } enum MatchAny { value 1; description "Match Any"; } enum MatchAll { value 2; description "Match All"; } } default "Unknown"; } // Match criteria typedef copp_MatchT { type enumeration { enum Undefined { value 0; description "Undefined"; } enum access-group { value 1; description "match access-group"; } enum redirect { value 2; description "match redirect"; } enum exception { value 3; description "match exception"; } enum protocol { value 4; description "match protocol"; } } default "Undefined"; } // Multicast options typedef copp_Mcast { type enumeration { enum Undefined { value 0; description "Undefined"; } enum dest-miss { value 1; description "multicast dest-miss"; } enum rpf-failure { value 2; description "multicast rpf-failure"; } enum sg-rpf-failure { value 3; description "multicast sg-rpf-failure"; } enum ipv6-dest-miss { value 4; description "multicast ipv6-dest-miss"; } enum ipv6-rpf-failure { value 5; description "multicast ipv6-rpf-failure"; } enum ipv6-sg-rpf-failure { value 6; description "multicast ipv6-sg-rpf-failure"; } } default "Undefined"; } // CoPP Profile Type typedef copp_ProfT { type enumeration { enum unknown { value 0; description "Unknown"; } enum strict { value 1; description "Strict"; } enum moderate { value 2; description "Moderate"; } enum dense { value 4; description "Dense"; } enum lenient { value 3; description "Lenient"; } } default "unknown"; } // Protocol typedef copp_Proto { type string; } typedef copp_Ralert { type boolean; } // Redirect options typedef copp_Rdrct { type enumeration { enum Undefined { value 0; description "Undefined"; } enum arp-inspect { value 1; description "redirect arp-inspect"; } enum dhcp-snoop { value 2; description "rediret dhcp-snoop"; } } default "Undefined"; } // Violate action typedef copp_ViolateAction { type enumeration { enum Undefined { value 0; description "Undefined"; } enum transmit { value 1; description "Transmit"; } enum drop { value 2; description "Drop"; } } default "Undefined"; } typedef datetime_AdminState { type enumeration { enum enabled { value 1; } enum disabled { value 2; } } default "disabled"; } typedef datetime_AuthKeyId { type uint16 { range "1..65535"; } default "1"; } typedef datetime_ClockFormat { type enumeration { enum 24hours { value 0; description "24 Hours"; } enum 12hours { value 1; description "12 Hours"; } } default "24hours"; } typedef datetime_ClockProtocol { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum ptp { value 1; description "Ptp"; } enum ntp { value 2; description "Ntp"; } enum none { value 3; description "None"; } enum gnss { value 4; description "Gnss"; } } default "ntp"; } typedef datetime_Date { type uint16 { range "1..31"; } } // IsEncrpt type typedef datetime_Encrypt { type boolean; default "false"; } typedef datetime_HourOffset { type int16 { range "-12..14"; } } typedef datetime_Key { type string; } typedef datetime_KeyId { type uint16; } // Logging Level typedef datetime_LoggingLevel { type enumeration { enum emergency { value 0; description "Emergency"; } enum alert { value 1; description "Alert"; } enum critical { value 2; description "Critical"; } enum error { value 3; description "Error"; } enum warning { value 4; description "Warning"; } enum notif { value 5; description "Notifications"; } enum inform { value 6; description "Informational"; } enum debug { value 7; description "Debug"; } } default "critical"; } typedef datetime_MinuteOffsetSt { type uint16 { range "1..1440"; } } typedef datetime_MinuteOffsetTz { type uint16 { range "0..59"; } } typedef datetime_Month { type enumeration { enum january { value 0; description "January"; } enum february { value 1; description "February"; } enum march { value 2; description "March"; } enum april { value 3; description "April"; } enum may { value 4; description "May"; } enum june { value 5; description "June"; } enum july { value 6; description "July"; } enum august { value 7; description "August"; } enum september { value 8; description "September"; } enum october { value 9; description "October"; } enum november { value 10; description "November"; } enum december { value 11; description "December"; } } } typedef datetime_NTPAssocIdentifier { type uint32 { range "0..2147483647"; } } // NTP Auth Type typedef datetime_NTPAuthType { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum md5 { value 7; description "MD5"; } enum aes128cmac { value 6; description "AES128CMAC"; } } } // NTP Encrypt Type typedef datetime_NTPEncryptType { type enumeration { enum type0 { value 0; description "Type0"; } enum type6 { value 6; description "Type6"; } enum type7 { value 7; description "Type7"; } } } typedef datetime_NTPLeapIndicator { type uint8; } // NTP Peer Mode typedef datetime_NTPPeerMode { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum symmetricActive { value 1; description "Symmetric Active"; } enum symmetricPassive { value 2; description "Symmetric Passive"; } enum client { value 3; description "Client"; } enum server { value 4; description "Server"; } enum broadcast { value 5; description "Broadcast"; } enum reservedControl { value 6; description "Reserved Control"; } enum reservedPrivate { value 7; description "Reserved Private"; } } } typedef datetime_NTPPollInterval { type int32 { range "-20..20"; } } typedef datetime_NTPRefId { type address_Ipv4; } typedef datetime_NTPSignedTimeValue { type int32; } typedef datetime_NTPStratum { type uint8; } typedef datetime_NTPUnsignedTimeValue { type uint32; } // NTP Server Status typedef datetime_NtpSrvStatus { type enumeration { enum unknown { value 1; description "Unknown"; } enum not_running { value 2; description "Not Running"; } enum not_synchronized { value 3; description "Not Synchronized"; } enum synced_local_clock { value 4; description "Synced to Local Clock"; } enum synced_local_hw_refclk { value 5; description "Synced to Local RefClock"; } enum synced_remote_server { value 6; description "Synced to Remote NTP Server"; } } default "unknown"; } // NTP Peer Status flags typedef datetime_PeerStatusFlags { type string; } typedef datetime_Poll { type uint8 { range "4..16"; } } typedef datetime_ProvT { type enumeration { enum peer { value 0; description "NTP peer"; } enum server { value 1; description "NTP server"; } enum invalid { value 2; description "invalid"; } } default "invalid"; } typedef datetime_Stratum { type uint8 { range "1..15"; } default "8"; } // System Status flags typedef datetime_SysStatusFlags { type string; } typedef datetime_VdcId { type uint16 { range "1"; } default "1"; } typedef datetime_WeekNum { type uint16 { range "1..5"; } } typedef datetime_Year { type uint16 { range "2000..2030"; } } typedef datetime_allowCtrlRateLimit { type uint32 { range "1..65535"; } default "3"; } // Client interface operational state typedef dhcp_ClIfOperSt { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum init { value 1; description "Initializing"; } enum discover { value 2; description "Discover"; } enum requesting { value 3; description "Requesting"; } enum addr-rcvd { value 4; description "Address received"; } enum failed { value 5; description "Failed"; } enum request-timedout { value 6; description "Request timedout"; } enum down { value 7; description "Operationally down"; } } } // DAI Logging options typedef dhcp_DAILogType { type enumeration { enum deny { value 1; description "Logging for denied DHCP bindings"; } enum permit { value 2; description "Log for Permitted DHCP Bindings"; } enum all { value 3; description "Log for All DHCP bindings"; } enum inone { value 5; description "No Logging for any DHCP bindings"; } } default "deny"; } typedef dhcp_IpFwdProtoPortType { type uint16 { range "1..65535"; } default "37"; } typedef dhcp_NumLogBuffers { type uint16 { range "1..1024"; } default "32"; } // DHCP options typedef dhcp_Options { type string; default "none"; } typedef dhcp_udpRelayObjGrpIPSyntax { type enumeration { enum HOSTADDR { value 0; description "hostaddr syntax - addr - and prefix is always 32 here"; } enum NETADDR { value 1; description "Prefix syntax - addr/prefix"; } enum IPPREFIX { value 2; description "Addr-Mask syntax - addr mask"; } } default "IPPREFIX"; } // Auth Status, platform apic typedef dot1x_AuthStatus { type enumeration { enum auth-success { value 1; description "Authentication Success"; } enum auth-failure { value 0; description "Authentication Failure"; } enum auth-unauthorized { value 2; description "Unauthorized"; } } default "auth-success"; } // Dot1x Max Auth Request typedef dot1x_Dot1xAuthOrder { type enumeration { enum default { value 0; description "Dot1x default authentication order"; } enum mab { value 1; description "Dot1x mab authentication order"; } } default "default"; } // Dot1x Host Mode typedef dot1x_HostMode { type enumeration { enum single-host { value 1; description "Dot1x single host mode"; } enum multi-host { value 2; description "Dot1x multi host mode"; } enum multi-auth { value 3; description "Dot1x multi auth mode"; } enum multi-domain { value 4; description "Multi Domain"; } } default "single-host"; } // Dot1x Inactivity Period, platform= nxos typedef dot1x_InactivityPeriod { type uint32 { range "0..2147483"; } default "0"; } // Mac Auth Bypass, keeping nxos version Dot1x Mac Auth Bypass typedef dot1x_MacAuthBypass { type enumeration { enum none { value 0; description "Dot1x mac auth bypass disabled"; } enum eap { value 1; description "Dot1x mac auth bypass with EAP"; } enum bypass { value 2; description "Dot1x mac auth bypass"; } } default "none"; } // Dot1x Mac Move, platform = nxos typedef dot1x_MacMove { type enumeration { enum deny { value 0; description "Dot1x mac move disable"; } enum permit { value 1; description "Dot1x mac move enable"; } } default "permit"; } // Dot1x Max Reauth Request typedef dot1x_MaxReauthReq { type uint8 { range "1..10"; } default "2"; } // Dot1x Max Auth Request AMB: Keeping range value same as nxos typedef dot1x_MaxReq { type uint8 { range "1..10"; } default "2"; } // - Method TLS, platform nxos typedef dot1x_MethodTls { type enumeration { enum default { value 0; description "Default Method"; } enum tls { value 1; description "Method Tls"; } } default "default"; } // Dot1x Pae Type,platform nxos typedef dot1x_PaeType { type enumeration { enum authenticator { value 1; description "Dot1x authenticator role"; } enum supplicant { value 2; description "Dot1x supplicant role"; } enum both { value 3; description "Dot1x both role"; } } default "authenticator"; } // Dot1x Port Control typedef dot1x_PortCtrl { type enumeration { enum force-unauthorized { value 1; description "Dot1x force unauthorized mode"; } enum auto { value 2; description "Dot1x port control auto mode"; } enum force-authorized { value 3; description "Dot1x force authorized mode"; } } default "force-authorized"; } // Dot1x Quiet Period typedef dot1x_QuietPeriod { type uint16 { range "1..65535"; } default "60"; } // Dot1x Rate Limit Period typedef dot1x_RateLimitPeriod { type uint16 { range "0..65535"; } default "0"; } // Dot1x Re-auth Period typedef dot1x_ReAuthPeriod { type uint32 { range "1..2147483"; } default "3600"; } // Dot1x Server Timeout typedef dot1x_ServerTimeout { type uint16 { range "1..65535"; } default "30"; } // Dot1x Supp Timeout typedef dot1x_SuppTimeout { type uint16 { range "1..65535"; } default "30"; } // Dot1x Tx Period typedef dot1x_TxPeriod { type uint16 { range "1..65535"; } default "30"; } // Vlan Type, platform apic typedef dot1x_VlanType { type enumeration { enum access { value 1; description "Access Vlan"; } } } // Active interval typedef eigrp_ActIntvl { type uint16 { range "1..65535"; } default "3"; } // Address family type typedef eigrp_AfT { type enumeration { enum ipv4-ucast { value 1; description "IPv4 unicast address family"; } enum ipv6-ucast { value 2; description "IPv6 unicast address family"; } } default "ipv4-ucast"; } // Authentication mode typedef eigrp_AuthMode { type enumeration { enum none { value 1; description "No Authentication"; } enum md5 { value 2; description "MD5 Authentication mode"; } } default "none"; } // Unit for Configured EIGRP interface delay typedef eigrp_DelayUnit { type enumeration { enum tens-of-micro { value 1; description "tens of microseconds"; } enum pico { value 2; description "picoseconds"; } } default "tens-of-micro"; } // Administrative Distance internal typedef eigrp_Dist { type uint8 { range "1..255"; } } // Autonomous-system typedef eigrp_EigrpAsn { type uint16 { range "1..65535"; } } // Nsf Converge time typedef eigrp_GrConvIntvl { type uint16 { range "60..180"; } default "120"; } // Nsf Route Hold time typedef eigrp_GrRtHoldIntvl { type uint16 { range "20..300"; } default "240"; } // Nsf Signal time typedef eigrp_GrSignalIntvl { type uint16 { range "10..360"; } default "20"; } // Hello interval typedef eigrp_HelloIntvl { type uint16 { range "1..65535"; } default "5"; } // Hold interval typedef eigrp_HoldIntvl { type uint16 { range "1..65535"; } default "15"; } // EIGRP interface Bandwidth typedef eigrp_IntfBw { type uint32 { range "0..2560000000"; } default "0"; } // EIGRP interface Bandwidth percent typedef eigrp_IntfBwPercent { type uint8 { range "1..100"; } default "50"; } // EIGRP interface delay typedef eigrp_IntfDelay { type uint32 { range "0..16777215"; } default "0"; } // EIGRP interface Mtu typedef eigrp_IntfMtu { type uint32 { range "209..16384"; } default "209"; } // Metric Maximum Hops typedef eigrp_MaxHops { type uint8 { range "1..255"; } default "100"; } // Maximum ECMP Paths typedef eigrp_MaxPaths { type uint8 { range "1..32"; } default "8"; } // Default Metric Bandwidth typedef eigrp_MetricBw { type uint32 { range "1..16777215"; } default "100000"; } // Default Metric DelayUnit typedef eigrp_MetricDelay { type uint32 { range "0..16777215"; } default "100"; } // Default Metric MTU typedef eigrp_MetricMtu { type uint16 { range "128..9216"; } default "1492"; } // Value to be added to the route's metric, to alter it typedef eigrp_MetricOffset { type uint32 { range "0..2147483647"; } default "0"; } // Metric Style used for metric calculation typedef eigrp_MetricStyle { type enumeration { enum narrow { value 1; description "narrow metric"; } enum wide { value 2; description "wide metric"; } } default "narrow"; } // Neighbor Warning Interval typedef eigrp_NbrWarningIntvl { type uint16 { range "1..65535"; } default "10"; } // Metric Ribscale typedef eigrp_RibScale { type uint8 { range "1..255"; } default "128"; } // State wrapper for using in EIGRP typedef eigrp_State { type nw_AdminSt; } // Tri state type typedef eigrp_TriState { type enumeration { enum inherit { value 0; description "Inherit from DomAf"; } enum enabled { value 1; description "Enable"; } enum disabled { value 2; description "Disable"; } } default "inherit"; } // Metric weights coeff Type of Service typedef eigrp_TypeofService { type uint8 { range "0..8"; } default "0"; } typedef epbr_AclNameType { type string { length "0..50"; } } typedef epbr_ConnType { type enumeration { enum full-duplex { value 0; description "Service links are full-duplex"; } enum half-duplex { value 1; description "Service links are half-duplex"; } } default "full-duplex"; } typedef epbr_DefaultTrafficActionType { type enumeration { enum redirect { value 0; description "Redirect traffic"; } enum redirect-all { value 1; description "Redirect all data and supervisor-bound control traffic"; } } default "redirect"; } typedef epbr_EpbrType { type enumeration { enum l3 { value 0; description "L3 Service"; } enum l2 { value 1; description "L2 Service"; } } default "l3"; } typedef epbr_FailactionType { type enumeration { enum nofailaction { value 0; description "no failaction"; } enum bypass { value 1; description "failaction bypass "; } enum forward { value 2; description "failaction forward"; } enum drop { value 3; description "failaction drop"; } } default "nofailaction"; } typedef epbr_IpType { type enumeration { enum ipv4 { value 0; description "IPv4"; } enum ipv6 { value 1; description "IPv6"; } enum l2 { value 2; description "l2"; } } default "ipv4"; } typedef epbr_ReverseType { type enumeration { enum no-reverse { value 0; description "disable reverse"; } enum reverse { value 1; description "enable reverse"; } } default "no-reverse"; } typedef epbr_TrafficActionType { type enumeration { enum redirect { value 0; description "Redirect traffic"; } enum drop { value 1; description "Drop traffic"; } enum exclude { value 2; description "Exclude from service chaining"; } } default "redirect"; } // Database type typedef epm_DbT { type enumeration { enum ep { value 1; description "Endpoint database"; } } default "ep"; } // Ep flags typedef epm_EpFlags { type string; } // Ep operational state typedef epm_EpOperSt { type enumeration { enum down { value 0; description "Down"; } enum up { value 1; description "Up"; } } } // Memory access typedef eqpt_Acc { type enumeration { enum read-only { value 0; description "Read only"; } enum read-write { value 1; description "Write only"; } } } // Administrative state of equipment related mo typedef eqpt_AdSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // air flow direction typedef eqpt_AirDir { type enumeration { enum unknown { value 0; description "Unknown"; } enum front2back { value 1; description "front2back"; } enum back2front { value 2; description "back2front"; } } default "unknown"; } // air filter typedef eqpt_AirFilter { type enumeration { enum absent { value 0; description "absent"; } enum present { value 1; description "front2back"; } enum notsupported { value 2; description "notsupported"; } } default "notsupported"; } // Amps typedef eqpt_Amps { type decimal64 { fraction-digits 6; } } // Capability type typedef eqpt_AsicCapability { type string; } typedef eqpt_AsicNumSlices { type uint8 { range "0..6"; } default "0"; } // Type of the asic typedef eqpt_AsicT { type enumeration { enum northstar { value 1; description "Northstar"; } enum alpine { value 2; description "Alpine"; } enum bcm { value 3; description "Broadcom"; } enum davos { value 4; description "Davos"; } enum sugarbowl { value 5; description "Sugarbowl"; } enum homewood { value 6; description "Homewood"; } } default "northstar"; } typedef eqpt_AutoShutdown { type enumeration { enum disabled { value 0; description "Disable"; } enum enabled { value 1; description "Enable"; } } default "enabled"; } // baud rate type typedef eqpt_BaudRate { type enumeration { enum 300 { value 1; description "300 Baud Rate"; } enum 1200 { value 2; description "1200 Baud Rate"; } enum 2400 { value 3; description "2400 Baud Rate"; } enum 4800 { value 4; description "4800 Baud Rate"; } enum 9600 { value 5; description "9600 Baud Rate"; } enum 38400 { value 6; description "38400 Baud Rate"; } enum 57600 { value 7; description "57600 Baud Rate"; } enum 115200 { value 8; description "115200 Baud Rate"; } } default "115200"; } // Operational status of the card typedef eqpt_COpSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum inserted { value 1; description "Inserted"; } enum absent { value 2; description "Absent"; } enum mismatch { value 3; description "Mismatch"; } enum fail { value 4; description "Failed"; } enum present { value 5; description "Present"; } enum removed { value 6; description "Removed"; } enum online { value 7; description "Online"; } enum offline { value 8; description "Offline"; } enum pwr-up { value 9; description "Powered up"; } enum pwr-down { value 10; description "Powered down"; } enum err-pwr-down { value 11; description "Errored powered down"; } enum testing { value 12; description "Testing"; } enum init { value 13; description "Initializing"; } enum reg-failure { value 14; description "Registration failed"; } enum dnld { value 15; description "Downloading"; } enum upg { value 16; description "Upgrading"; } enum srg-fail { value 17; description "SRG failed"; } enum ha-seq-fail { value 18; description "HA Sequence number failed"; } } default "unknown"; } // Memory capacity typedef eqpt_Capacity { type uint32; default "0"; } typedef eqpt_CardId { type uint32; } typedef eqpt_CardNumPorts { type uint16 { range "0..256"; } default "0"; } // Type of the card typedef eqpt_CardT { type enumeration { enum unknown { value 0; description "Unknown"; } enum supervisor { value 1; description "Supervisor"; } enum linecard { value 2; description "Line card"; } enum fabriccard { value 3; description "Fabric card"; } enum sysctrlcard { value 4; description "System control card"; } enum extchcard { value 5; description "Extension chassis card"; } enum fan-tray { value 6; description "fan tray"; } enum power-supply { value 7; description "power supply"; } enum lemcard { value 8; description "LEM card"; } } default "unknown"; } // Chassis operational state typedef eqpt_ChOperSt { type enumeration { enum not-operational { value 0; description "Not Operational"; } enum failed { value 1; description "Failed"; } enum online { value 2; description "Online"; } } default "not-operational"; } typedef eqpt_CheckMode { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "enabled"; } // Led color typedef eqpt_Color { type enumeration { enum no-color { value 0; description "No color"; } enum green { value 1; description "Green"; } enum yellow { value 2; description "Yellow"; } enum amber { value 3; description "Amber"; } enum red { value 4; description "Red"; } enum blue { value 5; description "Blue"; } } default "no-color"; } // Number of cores typedef eqpt_Cores { type uint16; default "0"; } typedef eqpt_DataBits { type uint16 { range "5..8"; } default "8"; } // Ejector status for the card typedef eqpt_EjSt { type enumeration { enum open { value 0; description "Open"; } enum closed { value 1; description "Closed"; } } default "closed"; } // Extended chassis Id typedef eqpt_ExtChId { type uint16 { range "100..200"; } } typedef eqpt_ExtChNumMacs { type uint16 { range "1..128"; } default "64"; } typedef eqpt_ExtChNumUplinkP { type uint16 { range "4..32"; } default "4"; } // Extended chassis (fex) state typedef eqpt_ExtChSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum initializing { value 1; description "Initializing"; } enum discovered { value 2; description "Discovered"; } enum connected { value 3; description "Connected"; } enum reg { value 4; description "Registering"; } enum regDone { value 5; description "Registered"; } enum ready { value 6; description "Ready"; } enum onlSeq { value 7; description "Online sequence"; } enum online { value 8; description "Online"; } enum offReq { value 9; description "Offline Request"; } enum offSeq { value 10; description "Offline Sequence"; } enum offline { value 11; description "Offline"; } enum imgDld { value 12; description "Image download"; } enum failed { value 13; description "Failed"; } enum removed { value 14; description "Removed"; } enum hlUpgSeq { value 15; description "Hitless upgrade sequence"; } enum chkUpgSeq { value 16; description "Check upgrade sequence"; } enum svStates { value 17; description "Save states"; } enum hlUpgIdle { value 18; description "Hitless upgrade idle"; } enum chkInsSeq { value 19; description "Check insert sequence"; } enum hlUpgFail { value 20; description "Hitless upgrade failed"; } enum aaUpgRdy { value 21; description "Active active upgrade ready"; } enum aaUpgIdle { value 22; description "Active active upgrade idle"; } enum aaUpgOver { value 23; description "Active active upgrade done"; } enum aaUpgFail { value 24; description "Active active upgrade fail"; } enum aaVersMismatch { value 25; description "Active active version mismatch"; } enum ExtChTypeMismatch { value 26; description "Extended chassis type mismatch"; } } default "unknown"; } // Generic item identifier typedef eqpt_Id { type uint32; } typedef eqpt_InactiveIntvl { type uint32 { range "0..525600"; } default "0"; } // Led operational state typedef eqpt_LedOpSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum off { value 1; description "Off"; } enum on { value 2; description "On"; } enum blinking { value 3; description "Blinking"; } enum fail { value 4; description "Fail"; } } default "unknown"; } typedef eqpt_LogType { type string; default "unk"; } typedef eqpt_MacAddr { type string; } // Memory type typedef eqpt_MemT { type enumeration { enum unk { value 0; description "Unknown"; } enum dimm { value 1; description "Dimm"; } enum flash { value 2; description "Flash"; } enum sprom { value 3; description "sprom"; } } } // Module VID in Sprom common block typedef eqpt_ModVid { type string; } // Model typedef eqpt_Model { type string; } // Operational state of equipment related mo typedef eqpt_OpSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum ok { value 1; description "OK"; } enum fail { value 2; description "Fail"; } enum absent { value 3; description "Absent"; } enum shut { value 4; description "Shut"; } enum mismatch { value 5; description "mismatch"; } } default "unknown"; } // Operational state qualifier typedef eqpt_OperStQual { type string; } // parity type typedef eqpt_Parity { type enumeration { enum none { value 0; description "No parity"; } enum even { value 1; description "Even parity"; } enum odd { value 2; description "Odd parity"; } } default "none"; } typedef eqpt_PartNum { type string; } // Type of the port typedef eqpt_PortT { type enumeration { enum unknown { value 0; description "Unknown"; } enum eobc { value 1; description "EOBC"; } enum mgmt { value 2; description "Management Port"; } enum fab { value 3; description "Fabric Port"; } enum leaf { value 4; description "Access Port"; } enum extchhp { value 5; description "Extended Chassis Host Port"; } enum extchfp { value 6; description "Extended Chassis Fabric Port"; } } default "unknown"; } typedef eqpt_PowerHistState { type enumeration { enum running { value 0; description "Running"; } enum cached { value 1; description "Cached"; } } default "running"; } typedef eqpt_PowerHistStatus { type enumeration { enum disabled { value 0; description "Disable"; } enum enabled { value 1; description "Enable"; } } default "disabled"; } // Status of the poweroff of the slot typedef eqpt_PoweroffSt { type enumeration { enum no { value 0; description "No Power Off"; } enum yes { value 1; description "Power Off"; } } default "no"; } // Power supply redundancy mode typedef eqpt_PsRdnM { type enumeration { enum unknown { value 0; description "unknown"; } enum not-supp { value 1; description "Not supported"; } enum rdn { value 2; description "Redundant"; } enum comb { value 3; description "Combined"; } enum n-rdn { value 4; description "Non redundant"; } enum ps-rdn { value 5; description "Power output redundancy"; } enum insrc-rdn { value 6; description "Input source redundancy"; } enum sinin-rdn { value 7; description "Single input redundancy"; } enum comb-force { value 8; description "Combined Force"; } } default "ps-rdn"; } // PSU fan direction typedef eqpt_PsuFanDir { type enumeration { enum front2back { value 0; description "front2back"; } enum back2front { value 1; description "back2front"; } enum notused { value 2; description "notused"; } } default "notused"; } // power state of a card typedef eqpt_PwrState { type enumeration { enum unknown { value 0; description "Unknown"; } enum off { value 1; description "Off"; } enum on { value 2; description "On"; } enum deny { value 3; description "Deny"; } enum multi-boot-fail { value 4; description "Multiple boot failure"; } } default "unknown"; } // Redundancy state typedef eqpt_RdSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum active { value 1; description "Active"; } enum standby { value 2; description "Standby"; } } default "unknown"; } // Revision typedef eqpt_Revision { type string; default "0"; } // Operational state of sensor mo typedef eqpt_SensorOpSt { type enumeration { enum fail { value 0; description "Fail"; } enum normal { value 1; description "Normal"; } enum minor { value 2; description "Minor Alarm"; } enum major { value 3; description "Major Alarm"; } enum absent { value 4; description "Absent"; } enum bad-asic { value 5; description "Bad Asic"; } } default "absent"; } // Sensor type typedef eqpt_SensorT { type enumeration { enum cpu { value 1; description "CPU sensor"; } enum inlet { value 2; description "Inlet sensor"; } enum outlet { value 3; description "Outlet sensor"; } enum hotswap { value 4; description "Hotswap sensor"; } enum dimm { value 5; description "Dimm sensor"; } enum phy { value 6; description "Phy sensor"; } enum sfp { value 7; description "SFP sensor"; } enum qsfp { value 8; description "QSFP sensor"; } enum asic { value 9; description "Asic sensor"; } enum pch { value 10; description "PCH"; } enum cpu-crm { value 11; description "cpu VRM"; } enum asic-vrm { value 12; description "Asic VRM"; } enum x86 { value 18; description "x86 cpu"; } enum arm { value 19; description "arm cpu"; } enum die { value 20; description "Die sensor"; } } default "asic"; } // Serial number typedef eqpt_Serial { type string; } // Slot controls typedef eqpt_SlotControl { type string; } // Location of the slot typedef eqpt_SlotLoc { type enumeration { enum unknown { value 0; description "Unknown"; } enum front { value 1; description "Front"; } enum rear { value 2; description "Rear"; } } default "unknown"; } // Status of the slot typedef eqpt_SlotOpSt { type enumeration { enum empty { value 0; description "empty"; } enum inserted { value 1; description "Inserted"; } } default "empty"; } // Type of the slot typedef eqpt_SlotT { type enumeration { enum unknown { value 0; description "Unknown"; } enum supslot { value 1; description "Supervisor slot"; } enum lcslot { value 2; description "Line card slot"; } enum fcslot { value 3; description "Fabric card slot"; } enum scslot { value 4; description "System control card slot"; } enum extchslot { value 5; description "Extension chassis slot"; } enum psuslot { value 6; description "Power supply slot"; } enum fantray { value 7; description "Fan tray"; } enum bslot { value 8; description "Board Slot"; } enum nslot { value 9; description "Nic Slot"; } } default "unknown"; } // Socket typedef eqpt_Sock { type enumeration { enum unspecified { value 0; description "socket"; } } } // Speed typedef eqpt_Speed { type decimal64 { fraction-digits 6; } default "0"; } typedef eqpt_StopBits { type uint16 { range "1..2"; } default "1"; } // Temperature threshold typedef eqpt_TempThresh { type int16; } // Temperature Value of sensor mo typedef eqpt_TempValue { type uint16; default "0"; } // Voltage source typedef eqpt_VSrc { type enumeration { enum unknown { value 0; description "Unknown"; } enum 110v { value 1; description "110v"; } enum 220v { value 2; description "220v"; } } default "unknown"; } // Vendor typedef eqpt_Vendor { type string; } // Volts typedef eqpt_Volts { type decimal64 { fraction-digits 6; } } // Watts typedef eqpt_Watts { type uint32; } // FCOT DOM sensor alerts typedef eqpt_fcotDomAlert { type enumeration { enum none { value 0; description "No alert"; } enum high-alarm { value 1; description "High alarm"; } enum high-warning { value 2; description "High warning"; } enum low-alarm { value 3; description "Low alarm"; } enum low-warning { value 4; description "Low warning"; } } default "none"; } // FCOT DOM LANE type typedef eqpt_fcotDomLane { type enumeration { enum basic { value 0; } enum extGlobal { value 1; } enum extOptical { value 2; } } } // Active PC Members Size based off of PCM_MAX_PORTS_PER_CHANNEL typedef ethpm_ActiveMembersList { type mtx_array_ifindex; } // EEE 10G wake times Size based off of MAX_EEE_WAKE_TIMES typedef ethpm_EeeWakeTimesList { type mtx_array_uint16; } // Error disable event type typedef ethpm_ErrDisEvent { type enumeration { enum event-link-flap { value 0; description "Link State Flapping"; } enum event-udld { value 1; description "UDLD"; } enum event-bpduguard { value 2; description "BPDU Guard"; } enum event-loopback { value 3; description "Loopback detected by UDLD"; } enum event-storm-ctrl { value 4; description "Storm Control"; } enum event-dhcp-rate-lim { value 5; } enum event-arp-inspection { value 6; } enum event-sec-violation { value 7; description "802.1x Violation"; } enum event-psec-violation { value 8; description "Psecure Violation"; } enum event-stp-inconsist-vpc-peerlink { value 9; description "STP Inconsistent VPC Peer-link state"; } enum event-set-port-state-failed { value 10; description "STP set port state failure"; } enum event-debug-1 { value 11; } enum event-debug-2 { value 12; } enum event-debug-3 { value 13; } enum event-debug-4 { value 14; } enum event-debug-5 { value 15; } enum event-ip-addr-conflict { value 16; } enum event-ipqos-mgr-error { value 17; } enum event-ethpm { value 18; } enum event-ipqos-dcbxp-compat-failure { value 19; } enum event-syserr-based { value 20; } enum unknown { value 21; } enum event-mcp-loop { value 22; description "Loop indication by MCP"; } enum event-ep-move { value 23; description "Frequent EP move"; } enum event-vlan-membership { value 24; description "Vlan membership failed"; } enum event-dcbx-no-ack { value 25; description "DCBx not received ack"; } enum event-pause-rate-limit { value 26; description "Pause rate limit error"; } } } typedef ethpm_ErrDisRecovIntvl { type uint32 { range "30..65535"; } default "300"; } // Error Vlan Status Size based off of ETHPM_MAX_VLAN_COUNT TODO: This is too large as an array of 4k status // We need to rethink the design of this at some point // when this is needed typedef ethpm_ErrorVlanStatusList { type uint32; } // Fcot flags typedef ethpm_FcotFlags { type enumeration { enum unknown { value 0; } enum access-failed { value 1; } enum checksum-failed { value 2; } enum vendor-crc-failed { value 3; } enum sfp-speed-mismatch { value 4; } enum eth-compalint-failed { value 5; } enum unknown-xcvr-type { value 6; } enum emphasis-checksum-failed { value 7; } enum init-failed { value 8; } enum ok-auth-success-no-md5 { value 9; } enum auth-failed { value 10; } enum ok-delayed-auth-success { value 11; } enum delayed-auth-failed { value 12; } enum ok-no-md5 { value 13; } enum ok { value 14; } } default "unknown"; } // Fcot state typedef ethpm_FcotState { type enumeration { enum unknown { value 0; } enum inserted { value 1; } enum removed { value 2; } enum hw-failure { value 3; } enum inserted-initializing { value 4; } } default "unknown"; } // Transceiver Type typedef ethpm_FcotTransceiverType { type enumeration { enum copper { value 1; } enum fiber { value 2; } enum unknown { value 3; } } default "unknown"; } // Fcot type Always add new values at bottom, plus update // the enum in platform/infra/port_client/lib/export/isan/lc_port_fcot.h // Also add an entry in the conversion table in ethpm_objstore_utils.c // The enum values in lc_port_fcot.h should be mapped with these FcotType values // using the conversion table. typedef ethpm_FcotType { type enumeration { enum unknown { value 0; } enum xfp { value 1; } enum x2 { value 2; } enum dummy { value 3; } enum sfp { value 4; } enum qsfp { value 5; } enum cfp-40g { value 6; } enum cfp-100g { value 7; } enum cfp { value 8; } enum qsfp28 { value 9; } enum qsfpdd { value 10; } enum cpak { value 11; } enum qsfp56 { value 12; } enum cxp { value 13; } } default "unknown"; } // Bundle List Size based off of MAX_BUNDLES typedef ethpm_IfBundleList1024 { type mtx_array_ifindex; } typedef ethpm_IfStatus { type uint16; default "0"; } // Last Errors Size based off of ETHPM_MAX_LAST_ERRORS typedef ethpm_LastErrorsList { type mtx_array_uint32; } // LB Bitmap typedef ethpm_LbBitmap { type mtx_array_bit; } // Model List typedef ethpm_ModelList { type mtx_array_uint8; } // Port Bitmap typedef ethpm_PortBitmap { type mtx_array_bit; } // Port Group Bitmap typedef ethpm_PortGroupBitmap { type mtx_array_bit; } // Port Oper Bitset Size based off of ETHPM_PORT_OPER_BITSET_SZ typedef ethpm_PortOperBitmap { type mtx_array_bit; } // Sfp Extended Option Size based off of SFP_MSA_SID_OPT_SZ typedef ethpm_SfpExtendedOptionBytes { type mtx_array_uint8; } // SFP Reserved4 Size based off of SFP_MSA_SID_RESERVED4_SZ typedef ethpm_SfpReserved4Array { type mtx_array_uint8; } // Sfp Vendor Id Size based off of SFP_MSA_SID_VENDOR_OUI_SZ typedef ethpm_SfpVendorIdBytes { type mtx_array_uint8; } // Sfp Xcvr Code Size based off of SFP_MSA_SID_TRANS_SZ typedef ethpm_SfpXcvrCodeBytes { type mtx_array_uint8; } // Share state typedef ethpm_ShareState { type enumeration { enum dedicated { value 0; } enum shared { value 1; } } default "dedicated"; } // Si List Size based off of ETHPM_MAX_VLAN_COUNT typedef ethpm_SiBitmap { type mtx_array_bit; } // Syslog Info typedef ethpm_SyslogInfo { type enumeration { enum default { value 0; } enum info-1 { value 1; } } default "default"; } // Syslog level typedef ethpm_SyslogLevel { type uint32 { range "0..7"; } default "5"; } // System Interface Shutdown typedef ethpm_SystemIfAdminState { type enumeration { enum up { value 1; } enum down { value 2; } enum down-exclude-fabric { value 4; } } default "up"; } // Trunking status typedef ethpm_TrunkStatus { type enumeration { enum unknown { value 0; } enum trunking { value 1; } enum fabricpath { value 2; } enum not-trunking { value 3; } enum trunk-bundle { value 4; } enum fabric-bundle { value 5; } enum no-trunk-bundle { value 6; } } default "unknown"; } // Type List typedef ethpm_TypeList { type mtx_array_uint8; } // X2 Bit Rate Size based off of SFP_XMSA_BIT_RATE_SZ typedef ethpm_X2BitRateBytes { type mtx_array_uint8; } // X2 Extended Vendor Specific Info Size based off of SFP_XMSA_EXNTD_VENDOR_SPEC_SZ typedef ethpm_X2ExtendedVendorSpecificInfoBytes { type mtx_array_uint8; } // X2 Fibre Type Size based off of SFP_XMSA_FIBRE_TYPE_SZ typedef ethpm_X2FibreTypeBytes { type mtx_array_uint8; } // X2 Lot Code Size based off of SFP_XMSA_LOT_CODE_SZ typedef ethpm_X2LotCodeBytes { type mtx_array_uint8; } // X2 Package Oui Size based off of SFP_XMSA_PACKAGE_OUI_SZ typedef ethpm_X2PackageOuiBytes { type mtx_array_uint8; } // X2 Range Size based off of SFP_XMSA_RANGE_SZ typedef ethpm_X2RangeBytes { type mtx_array_uint8; } // X2 Sonet Sdh Code Size based off of SFP_XMSA_SONET_SDH_CODE_SZ typedef ethpm_X2SonetSdhCodeBytes { type mtx_array_uint8; } // Vendor Data Size based off of SFP_VENDOR_SPECIFIC_DATA_SZ typedef ethpm_X2VendorDataBytes { type mtx_array_uint8; } // X2 Wavelength Channel Size based off of SFP_XMSA_WAVE_LEN_SZ typedef ethpm_X2WavelengthChannelBytes { type mtx_array_uint8; } // X2 Xg Fc Code Size based off of SFP_XMSA_XGFC_CODE_SZ typedef ethpm_X2XbFcCodeBytes { type mtx_array_uint8; } // X2 Xg Eth Code Size based off of SFP_XMSA_XG_ETH_CODE_SZ typedef ethpm_X2XgEthCodeBytes { type mtx_array_uint8; } // Port duplex capabilities typedef ethpm_capDuplex { type string; } // Port speed capabilities typedef ethpm_capSpeed { type string; } // Chassis infra EPDS Port no typedef ethpm_epdsPortNo { type uint16 { range "0..65535"; } default "0"; } // Chassis infra vlan typedef ethpm_infraVlan { type uint16 { range "0..4092"; } default "0"; } // Chassis Mgmt Instance Fabric No typedef ethpm_mgmtInstFabricNo { type enumeration { enum UnknownFabric { value 0; } enum LeftFabric { value 1; } enum RightFabric { value 2; } } default "UnknownFabric"; } // description typedef ethpm_operDescr { type string { length "0..254"; } } // Action's label type typedef evms_ActionLabelType { type string { pattern ".*[0-9]*(\\.?[0-9]{1}).*"; } } typedef evms_AdminSt { type enumeration { enum enabled { value 0; description "Enabled"; } enum disabled { value 1; description "Disabled"; } } default "disabled"; } // System policy to override typedef evms_AppletOverrideType { type string { length "0..29"; } } typedef evms_CacheEntryOp { type enumeration { enum all { value 1; } enum add { value 2; } enum update { value 3; } enum delete { value 4; } } default "all"; } // Config Error typedef evms_ConfigErr { type enumeration { enum noerror { value 0; description "Unknown"; } enum limitexceed { value 1; description "Actions config limit exceeded"; } enum validationtimeout { value 2; description "Event config timeout"; } } } // Correlation operators typedef evms_CorrelateTagType { type enumeration { enum and { value 1; } enum andnot { value 2; } enum or { value 3; } enum none { value 0; } } default "none"; } // Syslog priority type typedef evms_CounterEntryExitOpType { type enumeration { enum gt { value 5; } enum ge { value 6; } enum eq { value 7; } enum ne { value 8; } enum lt { value 9; } enum le { value 10; } } } typedef evms_CounterOpType { type enumeration { enum nop { value 1; } enum set { value 2; } enum inc { value 3; } enum dec { value 4; } } } typedef evms_DeviceNumber { type uint16 { range "0..32"; } default "0"; } typedef evms_DeviceType { type enumeration { enum fan { value 1; } enum module { value 2; } enum powersupply { value 3; } } default "module"; } typedef evms_EntryExitOpType { type enumeration { enum none { value 0; } enum gt { value 1; } enum ge { value 2; } enum eq { value 3; } enum ne { value 4; } enum lt { value 5; } enum le { value 6; } } default "none"; } typedef evms_ErrorType { type enumeration { enum registration-timeout { value 23; } enum registration-failure { value 22; } enum runtime-diag-failure { value 25; } enum runtime-diag-timeout { value 26; } enum image-download-failed { value 276; } enum lc-ready-timeout { value 30; } enum insertion-seq-failure { value 400; } enum unexpected-registration { value 21; } enum lc-failed { value 38; } enum lc-not-responding { value 69; } enum lc-sw-failure { value 91; } enum upgrade-srg-not-compatible { value 238; } enum sequence-timeout { value 212; } enum image-upgrade-failed { value 119; } enum hitless-upgrade-seq-timeout { value 231; } enum srg-info-resp-timeout { value 258; } enum addon-sequence-failure { value 406; } enum hitless-upgrade-reg-failure { value 226; } enum hitless-upgrade-diag-failure { value 227; } enum hitless-upgrade-procmgr-notif { value 228; } enum hitless-upgrade-failure { value 239; } enum any { value 65535; } } default "any"; } typedef evms_EventFibType { type enumeration { enum undefined { value 0; description "Event fib disabled"; } enum inconsistent { value 1; description "Event fib route inconsistent"; } enum missing { value 2; description "Event fib route missing"; } enum extra { value 3; description "Event fib route extra"; } enum adjacency { value 4; description "Event fib adjacency extra"; } enum tcam-resource { value 5; description "Event fib resource tcam usage"; } } } // Event's tag data type typedef evms_EventTagType { type string { length "0..29"; } } typedef evms_ExitCombType { type enumeration { enum none { value 0; } enum or { value 1; } enum and { value 2; } } default "none"; } typedef evms_ExpLogComValStr { type string { length "1..30"; } } typedef evms_FanInterval { type uint16 { range "10..64000"; } default "10"; } typedef evms_GetTypeType { type enumeration { enum none { value 0; } enum exact { value 1; } enum next { value 2; } } default "none"; } typedef evms_HardError { type enumeration { enum soft_error { value 0; } enum hard_error { value 1; } enum soft_error_resettable { value 2; } enum soft_error_reset_replay_all_cfg { value 3; } enum soft_error_diag_failure { value 4; } } default "hard_error"; } typedef evms_IntegerRange { type string { pattern "(\\d+(-\\d+)? *(, *\\d+(-\\d+)? *)*).*|.*(all)"; } default "all"; } typedef evms_LinkFlapTime { type int32 { range "-1..10000000"; } default "-1"; } typedef evms_MemoryType { type enumeration { enum minor { value 1; } enum severe { value 3; } enum critical { value 5; } } default "minor"; } typedef evms_ModuleNumber { type string { pattern "(all)|([1-9]|[12]\\d|3[0-2])"; } default "all"; } typedef evms_ModuleStatus { type enumeration { enum online { value 5; } enum offline { value 6; } enum any { value 7; } } default "any"; } typedef evms_OirType { type enumeration { enum insert { value 5; } enum remove { value 6; } enum anyoir { value 8; } } default "anyoir"; } // Syslog priority type typedef evms_PriorityType { type enumeration { enum 1 { value 1; } enum 2 { value 2; } enum 3 { value 3; } enum 4 { value 4; } enum 5 { value 5; } enum 6 { value 6; } enum 7 { value 7; } enum 0 { value 0; } enum alerts { value 8; } enum critical { value 9; } enum debugging { value 10; } enum emergencies { value 11; } enum errors { value 12; } enum informational { value 13; } enum notifications { value 14; } enum warnings { value 15; } enum none { value 16; } } } // Diag Failure level typedef evms_SeverityLevel { type enumeration { enum minor { value 0; description "Minor"; } enum moderate { value 1; description "Moderate"; } enum major { value 2; description "Major"; } } default "minor"; } // Diag Testing Type typedef evms_TestType { type enumeration { enum scheduled { value 0; description "Scheduled"; } enum monitoring { value 1; description "Monitoring"; } } default "monitoring"; } typedef evms_ThresholdLevels { type enumeration { enum major { value 16; } enum minor { value 17; } enum any { value 18; } } default "any"; } typedef evms_TrackStateOp { type enumeration { enum down { value 0; } enum up { value 1; } enum any { value 2; } } default "any"; } typedef evms_timeInterval { type int32 { range "-1..10000000"; } default "-1"; } typedef fabric_NodeId { type uint16 { range "1..16000"; } default "1"; } // Firmware running mode typedef firmware_RunningMode { type enumeration { enum normal { value 0; description "Normal"; } enum recovery { value 1; description "Reovery"; } } default "normal"; } // Running operational state typedef firmware_RunningOperSt { type enumeration { enum ok { value 0; description "Version Match"; } enum ver-mismatch { value 1; description "Version Mismatch"; } } } // Firmware type typedef firmware_Type { type enumeration { enum controller { value 0; description "Controller"; } enum switch { value 1; description "Switch"; } enum catalog { value 2; description "Catalog"; } } default "switch"; } typedef flexlink_Delay { type uint32 { range "1..300"; } default "35"; } typedef flexlink_Mode { type enumeration { enum off { value 0; description "no preemption"; } enum forced { value 1; description "active interface preempts the backup"; } enum bandwidth { value 2; description "higher bandwidth interface acts as active"; } } default "off"; } // Collect params typedef flow_CollectParams { type string; } typedef flow_Direction { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum in { value 1; description "Input"; } enum out { value 2; description "Output"; } enum both { value 3; description "Both"; } } default "in"; } typedef flow_ExportVersion { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum v5 { value 1; description "Version 5"; } enum v9 { value 2; description "Version 9"; } enum cisco1 { value 3; description "Cisco proprietary version 1"; } } default "cisco1"; } typedef flow_L4Port { type uint32 { range "1..65535"; } } typedef flow_MatchParams { type string; } typedef flow_Mtu { type uint16 { range "576..9216"; } default "1500"; } typedef flow_PayloadLen { type uint32 { range "0..16383"; } } typedef flow_ReceiveWindowSize { type uint32 { range "0..65535"; } } typedef flow_SamplerMode { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum flow { value 1; description "M out of N flows"; } enum pkts { value 2; description "M out of N pkts"; } } default "flow"; } typedef flow_TCPOptHdrLen { type uint32 { range "0..15"; } } // Admin status of feature typedef fm_AdminState { type enumeration { enum enabled { value 1; description "Feature enabled"; } enum disabled { value 2; description "Feature disabled"; } } default "disabled"; } // Operational status of instance typedef fm_InstOperState { type enumeration { enum enabled { value 1; description "Feature enabled for instance"; } enum disabled { value 2; description "Feature disabled for instance"; } enum enabled-not-running { value 3; description "Feature enabled and not running for the instance"; } } default "disabled"; } // Number of instances typedef fm_Instance { type uint32; default "1"; } // Operational status of feature typedef fm_OperState { type enumeration { enum enabled { value 1; description "Feature enabled"; } enum disabled { value 2; description "Feature disabled"; } } default "disabled"; } // Id typedef fmcast_Id { type uint8 { range "0..12"; } default "0"; } // Operational state typedef fmcast_OperSt { type enumeration { enum active { value 1; description "Active"; } enum inactive { value 2; description "Inactive"; } } default "inactive"; } typedef fpgad_FpgaMode { type uint32; default "5"; } // Layer4 port typedef fpt_L4Port { type uint16 { range "0..65535"; } } typedef fpt_supportedProtocols { type enumeration { enum none { value 0; } enum icmp { value 1; } enum igmp { value 2; } enum tcp { value 6; } enum udp { value 17; } } default "none"; } // file string type typedef fs_fileString { type string; } // Admin status of feature typedef fset_AdminState { type enumeration { enum none { value 0; description "featureSet none"; } enum enabled { value 1; description "featureSet enabled"; } enum disabled { value 2; description "featureSet disabled"; } enum installed { value 3; description "featureSet installed"; } enum uninstalled { value 4; description "featureSet uninstalled"; } } default "none"; } // Operational status of feature typedef fset_OperState { type enumeration { enum none { value 0; description "featureSet none"; } enum enabled { value 1; description "featureSet enabled"; } enum disabled { value 2; description "featureSet disabled"; } enum installed { value 3; description "featureSet installed"; } enum uninstalled { value 4; description "featureSet uninstalled"; } } default "none"; } // quality transmit/receive option type for global typedef fsyncMgr_gqloptype { type enumeration { enum op1 { value 1; description "ITU-T Quality Level option 1"; } enum op2g1 { value 2; description "ITU-T Quality Level option 2 generation 1"; } enum op2g2 { value 3; description "ITU-T Quality Level option 2 generation 2"; } } default "op1"; } typedef fsyncMgr_peerrcvtimeout { type uint16 { range "0..600"; } default "120"; } // quality transmit/receive option type for interface typedef fsyncMgr_qloptype { type enumeration { enum none { value 0; description "no Quality Level configured"; } enum op1 { value 1; description "ITU-T Quality Level option 1"; } enum op2g1 { value 2; description "ITU-T Quality Level option 2 generation 1"; } enum op2g2 { value 3; description "ITU-T Quality Level option 2 generation 2"; } } default "none"; } typedef fsyncMgr_qlvalue { type enumeration { enum fsync-ql-common-invalid { value 0; description "quality common invalid"; } enum fsync-ql-common-dnu { value 1; description "This signal should not be used for synchronization"; } enum fsync-ql-common-failed { value 2; description "quality common failed"; } enum fsync-ql-common-none { value 3; description "quality common none"; } enum fsync-ql-o1-eprtc { value 20; description "ITU-T Option 1: Enhanced primary reference timing clock"; } enum fsync-ql-o1-prtc { value 21; description "ITU-T Option 1: Primary reference timing clock"; } enum fsync-ql-o1-prc { value 22; description "ITU-T Option 1: Primary reference clock"; } enum fsync-ql-o1-ssu-a { value 23; description "ITU-T Option 1: Type I or V slave clock"; } enum fsync-ql-o1-ssu-b { value 24; description "ITU-T Option 1: Type IV slave clock"; } enum fsync-ql-o1-eeec { value 25; description "ITU-T Option 1: Enhanced ethernet equipment clock"; } enum fsync-ql-o1-eec1 { value 26; description "ITU-T Option 1: Ethernet equipment clock"; } enum fsync-ql-o1-sec { value 27; description "ITU-T Option 1: SONET equipment clock"; } enum fsync-ql-o2-g1-eprtc { value 40; description "ITU-T Option 2, Generation 1: Enhanced primary reference timing clock"; } enum fsync-ql-o2-g1-prtc { value 41; description "ITU-T Option 2, Generation 1: Primary reference timing clock"; } enum fsync-ql-o2-g1-prs { value 42; description "ITU-T Option 2, Generation 1: Primary reference source"; } enum fsync-ql-o2-g1-stu { value 43; description "ITU-T Option 2, Generation 1: Synchronized - traceability unknown"; } enum fsync-ql-o2-g1-st2 { value 44; description "ITU-T Option 2, Generation 1: Stratum 2"; } enum fsync-ql-o2-g1-st3 { value 45; description "ITU-T Option 2, Generation 1: Stratum 3"; } enum fsync-ql-o2-g1-eeec { value 46; description "ITU-T Option 2, Generation 1: Enhanced ethernet equipment clock"; } enum fsync-ql-o2-g1-eec2 { value 47; description "ITU-T Option 2, Generation 1: Ethernet equipment clock"; } enum fsync-ql-o2-g1-smc { value 48; description "ITU-T Option 2, Generation 1: SONET clock self timed"; } enum fsync-ql-o2-g1-st4 { value 49; description "ITU-T Option 2, Generation 1: Stratum 4 freerun"; } enum fsync-ql-o2-g1-res { value 50; description "ITU-T Option 2, Generation 1: RES"; } enum fsync-ql-o2-g2-eprtc { value 60; description "ITU-T Option 2, Generation 2: Enhanced primary reference timing clock"; } enum fsync-ql-o2-g2-prtc { value 61; description "ITU-T Option 2, Generation 2: Primary reference timing clock"; } enum fsync-ql-o2-g2-prs { value 62; description "ITU-T Option 2, Generation 2: Primary reference source"; } enum fsync-ql-o2-g2-stu { value 63; description "ITU-T Option 2, Generation 2: Synchronized - traceability unknown"; } enum fsync-ql-o2-g2-st2 { value 64; description "ITU-T Option 2, Generation 2: Stratum 2"; } enum fsync-ql-o2-g2-tnc { value 65; description "ITU-T Option 2, Generation 2: Transit node clock"; } enum fsync-ql-o2-g2-st3e { value 66; description "ITU-T Option 2, Generation 2: Stratum 3E"; } enum fsync-ql-o2-g2-st3 { value 67; description "ITU-T Option 2, Generation 2: Stratum 3"; } enum fsync-ql-o2-g2-eeec { value 68; description "ITU-T Option 2, Generation 2: Enhanced ethernet equipment clock"; } enum fsync-ql-o2-g2-eec2 { value 69; description "ITU-T Option 2, Generation 2: Ethernet equipment clock"; } enum fsync-ql-o2-g2-smc { value 70; description "ITU-T Option 2, Generation 2: SONET clock self timed"; } enum fsync-ql-o2-g2-st4 { value 71; description "ITU-T Option 2, Generation 2: Stratum 4 freerun"; } enum fsync-ql-o2-g2-prov { value 72; description "ITU-T Option 2, Generation 2: PROV"; } } default "fsync-ql-common-none"; } // Event Export Max typedef fte_EventExportMax { type uint32 { range "0..32000"; } default "3"; } // flow count value typedef fte_FlowCountValue { type uint32 { range "1..32767"; } default "500"; } // Latency Unit typedef fte_LatencyUnit { type enumeration { enum micro-sec { value 0; description "Micro Second"; } enum milli-sec { value 1; description "Milli Second"; } } default "micro-sec"; } // Latency Value typedef fte_LatencyValue { type uint32 { range "0..65535"; } } // Mode typedef fte_ModeT { type enumeration { enum flow-events { value 1; description "FTE mode"; } } default "flow-events"; } // Exporter Vrf typedef fte_VrfName { type l3_VrfName; default "default"; } // Represents the deployment immediacy preference of the EpG typedef fv_Immediacy { type enumeration { enum immediate { value 1; description "Immediate"; } enum lazy { value 2; description "On Demand"; } } default "lazy"; } // Instrumentation Immediacy Specification for when policies are instrumented in HW // immediate: instrument policy in hardware as soon as policy is resolved at the node // lazy: instrument policy in hardware only when EP shows up // This immediacy constraint is specified at EPG-level, and is copied into EPP, and is enforced per EPP. typedef fv_InstrImedcy { type fv_Immediacy; } // Policy Control Enforcement Preference typedef fv_PcEnfPref { type enumeration { enum enforced { value 1; description "Enforced"; } enum unenforced { value 2; description "Unenforced"; } } default "enforced"; } // EPg DN typedef fv_PrimKey { type string; } // Administrative state typedef gold_AdminSt { type enumeration { enum default { value 0; description "Default"; } enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "default"; } // Test identifier typedef gold_Id { type uint32; } // syslog monitor typedef gold_MonitorSyslog { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "disabled"; } // Test name typedef gold_Name { type string; } // Port list typedef gold_PortList { type string; default "none"; } // Test result typedef gold_Result { type enumeration { enum untested { value 1; description "Untested"; } enum failure { value 2; description "Failure"; } enum not-complete { value 3; description "Incomplete"; } enum aborted { value 4; description "Aborted"; } enum success { value 5; description "Success"; } enum error-disabled { value 6; description "Error Disabled"; } enum error-ignore { value 7; description "Error Ignore"; } enum error-disabled-w-no { value 8; description "Error Disabled W"; } enum unavailable { value 9; description "Unavailable"; } } default "untested"; } // Test Fail Reason typedef gold_TestFailReason { type string; default "No_failures_yet"; } // Test time string typedef gold_TestTime { type string; default "n/a"; } // Bootup Level typedef gold_bootLevel { type enumeration { enum bypass { value 0; description "Bypass"; } enum complete { value 1; description "Complete"; } enum minimal { value 2; description "Minimal"; } } default "complete"; } // Diag Status typedef gold_moduleDiagStatus { type enumeration { enum fail { value 0; description "Fail"; } enum pass { value 1; description "Pass"; } enum untested { value 2; description "Untested"; } } default "untested"; } // Host type typedef grpctunnel_Host { type string { length "1..254"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } // Port type typedef grpctunnel_Port { type uint16 { range "0..65535"; } } // Target Identifier type typedef grpctunnel_TargetId { type string { length "1..254"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } // Target type typedef grpctunnel_TargetType { type string { pattern "(GNMI_GNOI)"; } } // VRF type typedef grpctunnel_VrfName { type l3_VrfName { pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}|()"; } } // Bootflash resource value typedef guestshell_BootflashResource { type uint32; } // CPU resource value typedef guestshell_CpuResource { type uint32; } // Operational state of the Guest Shell typedef guestshell_GuestShellOperState { type enumeration { enum unknown { value 0; description "No state"; } enum initializing { value 1; description "Initializing; intermediate state"; } enum provisioned { value 2; description "Provisioned"; } enum configured { value 3; description "Configured"; } enum installing { value 4; description "Installing; intermediate state"; } enum installed { value 5; description "Installed"; } enum install-failed { value 6; description "Installation failed"; } enum install-verify-failed { value 7; description "Verification failed"; } enum activating { value 8; description "Activating; intermediate state"; } enum activated { value 9; description "Activated; normal running state"; } enum activate-failed { value 10; description "Activation failed"; } enum deactivated { value 11; description "Deactivated; normal disabled state"; } enum deactivating { value 12; description "Deactivating; intermediate state"; } enum restarting { value 13; description "Restarting; intermediate state"; } enum not-installed { value 14; description "Not installed"; } enum error { value 15; description "Place holder"; } enum awaiting-resources { value 16; description "Awaiting resources; intermediate state"; } } default "unknown"; } // Memory resource value typedef guestshell_MemoryResource { type uint32; } // Type of key used for signing typedef guestshell_SigningKeyType { type enumeration { enum unknown { value 0; description "Unknown"; } enum development { value 1; description "Development Key"; } enum release { value 2; description "Release Key"; } enum unsigned { value 3; description "Unsigned"; } } default "unknown"; } typedef hmm_Boolean { type enumeration { enum no { value 0; description "No"; } enum yes { value 1; description "Yes"; } } default "no"; } // Fabric Forwarding mode typedef hmm_FwdMode { type enumeration { enum standard { value 0; description "Standard"; } enum anycastGW { value 1; description "Anycast Gateway mode"; } enum proxyGW { value 2; description "Proxy Gateway mode"; } } default "standard"; } // Group Authentication key typedef hsrp_AuthKey { type string { length "0..8"; } default "cisco"; } // Authentication MD5 type typedef hsrp_AuthMd5T { type enumeration { enum key-chain { value 0; description "Keychain"; } enum key-string { value 1; description "Key string"; } } } // Group authentication type typedef hsrp_AuthT { type enumeration { enum simple { value 1; description "plain text"; } enum md5 { value 2; description "MD5 authentication"; } } default "simple"; } // Use-Bia Scope typedef hsrp_BiaScopeType { type enumeration { enum global { value 1; description "scope is interface and its sub-interfaces"; } enum local { value 2; description "scope is interface"; } } default "global"; } // configuration error qualifiers typedef hsrp_ConfigErrQual { type enumeration { enum none { value 0; description "no error"; } enum auth-md5-version-mismatch { value 1; description "MD5 authentication is applied on group under HSRP version-1 interface"; } } } // Address family type typedef hsrp_GroupAf { type enumeration { enum ipv4 { value 1; description "IPv4 address family"; } enum ipv6 { value 2; description "IPv6 address family"; } } default "ipv4"; } // Group Id for HSRP version 1 and 2 typedef hsrp_GroupId { type uint16 { range "0..4095"; } default "0"; } // Control bits of HSRP Group typedef hsrp_GrpControl { type string; } // IP obtain mode typedef hsrp_GrpIpObtainMode { type enumeration { enum admin { value 0; description "Address is configured"; } enum auto { value 1; description "Auto configure ipv6 address"; } enum learn { value 2; description "learn IP from HSRP peer"; } } default "admin"; } // Master Name typedef hsrp_GrpName { type string { length "0..250"; } } // Group Priority typedef hsrp_GrpPrio { type uint16 { range "0..255"; } default "100"; } // Hello Interval in msecs typedef hsrp_HelloIntvl { type uint32 { range "250..254000"; } default "3000"; } // Hold Interval in msecs typedef hsrp_HoldIntvl { type uint32 { range "750..255000"; } default "10000"; } // Hsrp Version typedef hsrp_HsrpVersion { type enumeration { enum v1 { value 1; description "Hsrp version 1"; } enum v2 { value 2; description "Hsrp version 2"; } } default "v1"; } // Control bits at the Interface typedef hsrp_IfControl { type string; } // Authentication MD5 Encryption type typedef hsrp_Md5KeyStringType { type enumeration { enum unencrypted { value 0; description "no encryption"; } enum hidden { value 7; description "hidden"; } } default "unencrypted"; } // Delay before preempting a lower priority Active typedef hsrp_PreemptDelay { type uint16 { range "0..3600"; } default "0"; } // Generic state type enabled/disabled typedef hsrp_State { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 0; description "Disabled"; } } } // configuration error qualifiers typedef hsrp_ipConfigErrQual { type enumeration { enum none { value 0; description "no error"; } enum ip-overlap { value 1; description "IP already in use"; } } } typedef icam_AclRegion { type string { length "1..64"; } } typedef icam_AclType { type string { length "1..16"; } } typedef icam_ConfiguredMode { type string { length "1..64"; } } typedef icam_Entclass { type enumeration { enum noent { value 0; description "No Entries class"; } enum entacl { value 1; description "ACL Entries"; } } default "noent"; } typedef icam_FeatureName { type string { length "1..32"; } } typedef icam_FibRegion { type string { length "1..32"; } } typedef icam_FibResource { type string { length "1..32"; } } typedef icam_Index { type uint32; } typedef icam_Interval { type uint16 { range "1..24"; } default "2"; } typedef icam_ModuleName { type string { length "1..32"; } } typedef icam_NumInterval { type uint16 { range "168..1344"; } default "168"; } // iCAM class Type typedef icam_Resclass { type enumeration { enum nores { value 0; description "No Resources class"; } enum resacl { value 1; description "ACL Resources"; } enum resfib { value 2; description "FIB Resources"; } } default "nores"; } typedef icam_TechnologyName { type string { length "1..32"; } } // Max value of process id in a 64-bit linux system is (2^22) ! typedef icam_processId { type uint32 { range "1..4194304"; } } // Max length of a process name is 16 bytes ! typedef icam_processName { type string { length "1..32"; } } // Max value of sample interval is (2^32-1) ! typedef icam_sampleIntervalId { type enumeration { enum 1min { value 60; description "60 seconds sample interval"; } enum 5min { value 300; description "5 minutes sample interval"; } enum 1hr { value 3600; description "1 hour sample interval"; } } default "1min"; } // Adjacency Stale Timer typedef icmpv6_AdjStaleTimer { type uint16 { range "30..65535"; } default "1380"; } // Event History Size typedef icmpv6_EventLogSize { type enumeration { enum disabled { value 0; description "Disable"; } enum small { value 1; description "Small"; } enum medium { value 2; description "Medium"; } enum large { value 3; description "Large"; } } default "small"; } // Event Log Type typedef icmpv6_EventType { type enumeration { enum cli { value 0; description "ICMPV6 CLI related event"; } enum errors { value 1; description "Error log ICMPv6"; } enum highAvailability { value 2; description "ICMPv6 related High Availability event"; } enum icmpv6-internal { value 3; description "Internal debug events of ICMPV6"; } enum ipv6SyncEvent { value 4; description "ICMPV6 debugs for CFS and MCECM related events for l3"; } enum mldDebug { value 5; description "ICMPV6 MLD debug messages"; } enum mldEvent { value 6; description "ICMPV6 MLD non-periodic events"; } enum nd { value 7; description "ICMPV6 ND debug"; } enum sync-event { value 8; description "ICMPV6 debugs for CFS and MCECM related events"; } enum vrf { value 9; description "ICMPV6 VRF related events"; } } } // Interface controls typedef icmpv6_IfControl { type string; default "redirect"; } // Operational state typedef icmpv6_OperSt { type enumeration { enum down { value 0; description "Down"; } enum up { value 1; description "Up"; } enum failed { value 2; description "Failed"; } } default "up"; } // Database type typedef igmp_DbT { type enumeration { enum route { value 1; description "IGMP route database"; } } default "route"; } // Event History Buffer Type typedef igmp_EhType { type enumeration { enum igmpInternal { value 0; description "Internal events for IGMP"; } enum cli { value 1; description "CLI events for IGMP"; } enum groupDebugs { value 2; description "Group-debugs event for IGMP"; } enum groupEvents { value 3; description "Group-events event for IGMP"; } enum ha { value 4; description "HA events for IGMP"; } enum intfDebugs { value 5; description "Interface-debugs event for IGMP"; } enum intfEvents { value 6; description "Interface-events event for IGMP"; } enum mtrace { value 7; description "Mtrace events for IGMP"; } enum mvr { value 8; description "Mvr events for IGMP"; } enum policy { value 9; description "Policy events for IGMP"; } enum vrf { value 10; description "VRF events for IGMP"; } enum nbm { value 11; description "NBM events for IGMP"; } enum pimLib { value 12; description "Pim-library events for IGMP"; } } } // Unsolicited Join Interval typedef igmp_HostProxyUnsolicitTime { type uint8 { range "0 | 3..180"; } default "0"; } // Interface identifier typedef igmp_IfId { type string; } // State limit status typedef igmp_LimitSt { type enumeration { enum below-thresh { value 0; description "Below threshold of 80%"; } enum above-thresh { value 1; description "Above 80% threshold"; } enum exhausted { value 2; description "No entries available"; } } default "below-thresh"; } typedef igmp_LogType { type enumeration { enum log { value 1; description "Configure for logging level igmp"; } enum logip { value 2; description "Configure for logging level ip igmp"; } } default "log"; } typedef igmp_LvlType { type uint16 { range "0..7"; } default "5"; } // Event History Buffer size in Text typedef igmp_Size { type uint32 { range "0..4 | 5..119999999"; } default "0"; } typedef igmp_VlanIdT { type uint16 { range "1..3967"; } } // Database type typedef igmp_ifdbT { type enumeration { enum stats { value 0; description "IGMP IF Stats database"; } enum prop { value 1; description "IGMP Property database"; } } } // Administrative state typedef igmp_mvrAdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } // Event History Buffer Type typedef igmpsnoop_EhType { type enumeration { enum igmp-snoop-internal { value 0; description "Represents Internal Events For IGMP-Snooping"; } enum mfdm { value 1; description "MFDM Events for IGMP-Snooping"; } enum mfdm-sum { value 2; description "MFDM-SUM Events for IGMP-Snooping"; } enum rib { value 3; description "RIB Events for IGMP-Snooping"; } enum vlan { value 4; description "VLAN/BD Events for IGMP-Snooping"; } enum vlan-events { value 5; description "VLAN/BD events for IGMP-Snooping"; } enum vpc { value 6; description "VPC Events for IGMP-Snooping"; } } } // Route Map Name typedef igmpsnoop_RtMapType { type string { length "0..63"; } } // Event History Buffer size in Text typedef igmpsnoop_Size { type uint32 { range "0..4 | 5..119999999"; } default "0"; } typedef im_BreakoutMapT { type enumeration { enum no-breakout { value 0; description "none"; } enum 10g-4x { value 5; description "10g-4x"; } enum 10g-2x { value 9; description "10g-2x"; } enum 25g-4x { value 8; description "25g-4x"; } enum 50g-2x { value 7; description "50g-2x"; } enum 50g-4x { value 12; description "50g-4x"; } enum 100g-4x { value 10; description "100g-4x"; } enum 100g-2x { value 14; description "100g-2x"; } enum 200g-1x { value 13; description "200g-1x"; } enum 200g-2x { value 15; description "200g-2x"; } enum 40g-1x { value 16; description "40g-1x"; } enum 400g-2x { value 21; description "400g-2x"; } enum 100g-8x { value 22; description "100g-8x"; } enum 800g-1x { value 25; description "800g-1x"; } enum 100g-2x-pam4 { value 26; description "100g-2x-pam4"; } } default "no-breakout"; } typedef im_BreakoutProfile { type enumeration { enum disabled { value 0; } enum 50g-2x-only { value 1; } } default "disabled"; } typedef im_Mode100M { type enumeration { enum disabled { value 0; } enum enabled { value 1; } } default "disabled"; } typedef im_ModeHwProfile { type enumeration { enum undefined { value 0; } enum 4C { value 1; } enum 2C+4Q { value 2; } enum 18C { value 3; } enum 4C+28Q { value 4; } enum 6C+24Q { value 5; } } default "undefined"; } // Collect params Set 0 typedef inbandTelemetry_CollectParams0 { type string; default "switch-id"; } typedef inbandTelemetry_DstIp { type address_Ip; default "127.0.0.1"; } // flow age value typedef inbandTelemetry_FlowAge { type uint16; default "30"; } // flow dscp value typedef inbandTelemetry_FlowDscp { type uint16; default "1"; } // flow latency quantization value typedef inbandTelemetry_FlowLatencyQuant { type uint16 { range "0..31"; } default "11"; } // IP filter type typedef inbandTelemetry_FltType { type enumeration { enum ipv4 { value 1; description "Ipv4 type"; } enum ipv6 { value 2; description "Ipv6 type"; } enum ce { value 3; description "CE type"; } } default "ipv4"; } // Forwarding instance target identifier typedef inbandTelemetry_FwdInstTargetId { type uint32 { range "0..16777215"; } } // Mode typedef inbandTelemetry_ModeT { type enumeration { enum inbandtelemetry { value 0; description "INT mode"; } enum postcard { value 1; description "Postcard mode"; } } default "inbandtelemetry"; } typedef inbandTelemetry_Port { type uint16; default "31337"; } // Switch Profile typedef inbandTelemetry_Profile { type enumeration { enum endpoint { value 0; description "Endpoint profile mode"; } enum transit { value 1; description "Transit profile mode"; } } default "endpoint"; } // queue breach quota typedef inbandTelemetry_QueueBreachQuota { type uint16; default "200"; } // queue depth typedef inbandTelemetry_QueueDepth { type uint32; default "300"; } // queue latency typedef inbandTelemetry_QueueLatency { type uint32; default "2048"; } // queue tail drop typedef inbandTelemetry_QueueTailDrop { type boolean; default "true"; } typedef inbandTelemetry_VrfName { type l3_VrfName; default "default"; } // Stage typedef installer_InstEnum { type enumeration { enum yes { value 0; description "install property yes"; } enum no { value 1; description "install property no"; } } default "no"; } typedef installer_InstErr { type enumeration { enum none { value 0; description "none"; } enum preupg-err1 { value 1; description "Pre-upgrade errors for supervisor"; } enum preupg-err2 { value 2; description "Pre-upgrade errors for lc"; } enum user-abort { value 3; description "user-abort"; } } default "none"; } // Stage typedef installer_InstModType { type enumeration { enum nxos-supervisor { value 0; description "for NXOS Supervisor type "; } enum lc { value 1; description "for Linecard type "; } enum fex { value 2; description "for FEX card type "; } enum bios { value 3; description "for BIOS type "; } enum lcn9k { value 4; description "for Fabric Module and System Controller type "; } enum unknown { value -1; description "for Unknown mod type "; } } } // Stage typedef installer_Stage { type enumeration { enum preupg-copy-image { value 0; description "Copying images"; } enum preupg-initializing { value 1; description "Initializing"; } enum preupg-verifying_images { value 3; description "Verification of images"; } enum preupg-verifying_epld_image { value 4; description "Verification of EPLD image"; } enum preupg-runtime-check { value 6; description "Performing runtime checks"; } enum preupg-sync-image { value 7; description "Syncing images"; } enum upgrade-upg-fex { value 9; description "Upgrading fex"; } enum upgrade-upg-lc { value 10; description "Upgrading linecard"; } enum preupg-conf-sync { value 11; description "Syncing config "; } enum preupg-set-boot { value 12; description "Setting Bootvar"; } enum preupg-force-dnld { value 13; description "Bringing up Standby Container."; } enum preupg-wait-mod { value 14; description "Waiting for module online."; } enum preupg-convert-startup { value 15; description "Converting startup config."; } enum preupg-save-sup-state { value 16; description "Saving supervisor runtime state."; } enum upgrade-kexec { value 17; description "Loading images into memory"; } enum upgrade-upg-epld { value 18; description "Upgrading EPLP/FPGA"; } enum preupg-pre-upg-notif { value 19; description "Notifying services about system upgrade."; } enum preupg-mod-support-check { value 20; description "Module Support Check."; } enum preupg-Checks { value 21; description "Pre Upgrade Checks."; } enum upgrade-upg-bios { value 22; description "Upgrading BIOS"; } enum upgrade-upg-cmp { value 23; description "Upgrading CMP"; } enum upgrade-notification { value 24; description "Notifying services about installation"; } enum preupg-save-mts-state { value 25; description "Saving mts state."; } enum success { value 26; description "SUCCESS"; } enum failed { value 27; description "Failed"; } enum not-started { value 28; description "Not Started"; } enum upgrade-sup-state-verification { value 29; description "Performing supervisor state verification."; } enum upgrade-switchover-notif { value 30; description "Notifying services about the switchover."; } enum upgrade-standby-container-start { value 31; description "Starting Standby Container."; } enum user-abort { value 32; description "Aborted by user."; } } default "not-started"; } typedef installer_UpgStatusType { type enumeration { enum pre-upgrade { value 0; description "pre-upgrade"; } enum in-progress { value 1; description "In Progress"; } enum success { value 2; description "Upgrade Success"; } enum failed { value 3; description "Upgrade Failed"; } enum not-compatible { value 4; description "Not Compatible"; } enum none { value 5; description "None"; } } default "none"; } typedef intersight_ConnectionName { type string { pattern ".*[!-~]{0,128}.*"; } } typedef intersight_ProxyHost { type string { pattern ".*[!-~]{0,256}.*"; } } typedef intersight_ProxyPassword { type string { length "0..64"; } } typedef intersight_ProxyPort { type uint16 { range "1..65535"; } default "8080"; } typedef intersight_ProxyPwdEncrType { type enumeration { enum 0 { value 0; description "password is unencrypted; clear-text"; } enum 6 { value 6; description "password is type-6 encryted"; } } default "0"; } typedef intersight_ProxyUsername { type string { length "0..64"; } } // Address controls typedef ip_AddrControl { type string; } // Address Operational state qualifier typedef ip_AddrOperStQual { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum up { value 1; description "Up"; } enum subnet-overlap { value 2; description "Subnet overlap"; } enum no-primary { value 3; description "No primary address"; } enum if-down { value 4; description "Interface down"; } enum addr-exists { value 5; description "Address already exists"; } enum invalid-vrf { value 6; description "Context invalid"; } enum static-rt-nh { value 7; description "Configured as static-rt nh"; } enum lb-addr { value 8; description "Loopback address"; } enum invalid-ll-use { value 9; description "Invalid use of link local"; } enum no-glbl-addr { value 10; description "No global address"; } enum no-ll-addr { value 11; description "No link local address"; } enum dad-in-progress { value 12; description "DAD in progress"; } enum dad-failed { value 13; description "DAD failed"; } enum invalid-mask-len { value 14; description "Invalid maks length"; } enum l2-intf-err { value 15; description "IP cfg not allowed on L2 intf"; } enum super-intf-err { value 16; description "IP cfg not allowed on superintf"; } enum invalid-ll { value 17; description "Invalid link local address"; } enum if-init-err { value 18; description "IF init error"; } enum ifindex-err { value 19; description "Failed to get ifindex"; } enum invalid-eui64 { value 20; description "Invalid EUI64 format"; } enum lladdr-create-fail { value 21; description "Failed to create Link Local Addr."; } enum DAD-tentative { value 22; description "DAD failed, state=tentative."; } enum DAD-lcl-duplicate { value 23; description "DAD failed, state=local duplicate."; } enum DAD-duplicate { value 24; description "DAD failed, state=duplicate."; } enum DAD-preferred { value 25; description "DAD failed, state=preferred."; } enum DAD-deprecated { value 26; description "DAD failed, state=deprecated."; } enum DAD-invalid { value 27; description "DAD failed, state=invalid."; } enum multiple-lladdr { value 28; description "multiple lladdr cfg not allowed."; } enum invalid-tunnel { value 29; description "IPv6 Address Enablement is not supported on this tunnel type"; } enum lladdr-invalid-tunnel { value 30; description "IPv6 Link Local Address Enablement is not supported on this tunnel type"; } enum aggr-mapped-subnet-inconsistent { value 31; description "IPv6 aggregate-prefix-length mapped address is inconsistent to existing address in same subnet"; } } default "unspecified"; } // Address type typedef ip_AddrT { type enumeration { enum primary { value 1; description "Primary"; } enum secondary { value 2; description "Secondary"; } } default "primary"; } typedef ip_HardwareEcmpHashPolynomialT { type enumeration { enum CRC16 { value 0; description "CRC16"; } enum CRC32HI { value 1; description "CRC32HI"; } } default "CRC16"; } // If mode typedef ip_IfMode { type string; default "unspecified"; } // load share mode for 'ip load-sharing' cli, there are four modes // - 1. {address destination port destination} // cli: ip load-sharing address source-destination gre // concatenation rotate 1 universal-id 2 // - 2. {address source-destination} // cli: ip load-sharing address source-destination gre-outer // concatenation rotate 1 universal-id 2 // - 3. {address source-destination gre-key} // cli: ip load-sharing address destination port destination // rotate 1 universal-id 2 // - 4. {address source-destination port source-destination} // cli: ip load-sharing address source-destination port // source-destination concatenation // - 5. {address source-destination gtpu-teid} // cli: ip load-sharing address source-destination gtpu // concatenation rotate 1 universal-id 2 typedef ip_LoadShareFormat { type enumeration { enum disabled { value 1; description "Disabled"; } enum destPort { value 2; description "Destnation Port"; } enum srcDest { value 3; description "Source-Destination"; } enum srcDestGre { value 4; description "Source-Destination GRE"; } enum srcDestPort { value 5; description "Source-Destination Port"; } enum source { value 6; description "Source"; } enum srcDestGTPU { value 7; description "Source-Destination GTPU-TEID for GPRS"; } enum srcDestSymmetric { value 8; description "Source-Destination Symmetric"; } enum srcDestInnerAll { value 9; description "Source-Destination Inner All"; } enum srcDestInnerGre { value 10; description "Source-Destination Inner GRE"; } enum srcDestInnerGreSymmetric { value 11; description "Source-Destination Inner GRE Symmetric"; } enum srcDestIPv6FlowLabel { value 12; description "Source-Destination IPv6 Flow Label"; } enum srcDestTTL { value 13; description "Source-Destination TTL"; } enum srcDestUDF { value 14; description "Source-Destination UDF"; } enum srcDestInnerAllInfra { value 15; description "Source-Destination Inner All Infra-Mode"; } } default "disabled"; } // Nexthop Flags typedef ip_NhFlags { type string; default "unspecified"; } // Operational state typedef ip_OperSt { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum down { value 1; description "Down"; } enum up { value 2; description "Up"; } enum failed { value 3; description "Failed"; } } default "up"; } // Preference typedef ip_Preference { type uint8 { range "0..255"; } default "0"; } // Rt control typedef ip_RtControl { type string; } // Router ID typedef ip_RtrId { type address_Ipv4; } // SwitchPacket Target form for "ipv6 switch-packets [lla]'. // - 1. {switchPacket:- Switch ND packets received on core ports} // cli: ipv6 switch-packets // - 2. {lla:- Switch ND packets targeted to Link local address on core ports} // cli: ipv6 switch-packets lla typedef ip_SwitchPktTarget { type enumeration { enum disabled { value 0; description "Disabled"; } enum all { value 1; description "Switch Packets all"; } enum lla { value 2; description "Switch Packets with lla"; } } default "disabled"; } // Unnumbered Operational state qualifier typedef ip_UnnumberedOperStQual { type enumeration { enum unspecified { value 0; description "unspecified"; } enum parent-unnumbered { value 1; description "Parent is unnumbered"; } enum child-numbered { value 2; description "child is a numbered interface"; } enum invalid-source { value 3; description "Invalid interface as source"; } enum invalid-interface { value 4; description "Unnumbered not allowed on this interface"; } enum intf-self-referential { value 5; description "Unnumbered interface must not be self referantial"; } } default "unspecified"; } // URPF info type, depending upon different form of command // [no] ip/ipv6 verify unicast source reachable-via { rx [allow vni-hosts] | any [allow-default]} // 0 -> command disabled (no form) // 1 -> strict URPF ( rx form) // 2 -> loose URPF ( any form without allow-default) // 3 -> loose-allow-default URPF (any form with allow-default) // 4 -> strict-allow-vni-hosts URPF (rx form with allow vni-hosts) typedef ip_UrpfT { type enumeration { enum disabled { value 0; description "Disabled"; } enum strict { value 1; description "URPF strict (rx)"; } enum loose { value 2; description "URPF loose (any)"; } enum loose-allow-default { value 3; description "URPF loose allow default (any allow-default)"; } enum strict-allow-vni-hosts { value 4; description "URPF strict allow vni hosts (rx allow vni-hosts)"; } } default "disabled"; } typedef ipfib_AddressType { type enumeration { enum IPV4 { value 0; description "IPv4 address"; } enum IPV6 { value 1; description "IPv6 address"; } enum LABEL { value 2; description "MPLS Label"; } } default "IPV4"; } typedef ipfib_FecType { type enumeration { enum DEFAULT { value 0; description "None"; } enum IPV4 { value 1; description "IPv4 FEC Type"; } enum IPV6 { value 2; description "IPv6 FEC Type"; } enum IPV4_TE_LSP { value 3; description "IPv4 TE LSP FEC Type"; } enum IPV6_TE_LSP { value 4; description "IPv6 TE LSP FEC Type"; } enum TE_IF { value 5; description "TE_IF FEC Type"; } enum DEAGG { value 6; description "Deagregation Label FEC Type"; } enum PER_CE { value 7; description "PER CE FEC Type"; } enum FEC_NONE { value 8; description "Nil FEC Type"; } enum POLICY_V4_PFX { value 9; description "Policy V4 FEC Type"; } enum POLICY_V6_PFX { value 10; description "Policy v6 FEC Type"; } enum ADJ_SID { value 11; description "Adjacency SID FEC Type"; } enum SRTE { value 12; description "SRTE FEC Type"; } } default "DEFAULT"; } typedef ipfib_OutOperEnum { type enumeration { enum DEFAULT { value 0; description "None"; } enum PUSH { value 1; description "Push Operation with the given stack of labels"; } enum SWAP { value 2; description "SWAP Operation with the given stack of labels"; } enum POP { value 3; description "Pop Labels and do regular forwarding"; } } default "DEFAULT"; } typedef ipfib_SpecialAdj { type enumeration { enum DEFAULT { value 0; description "None"; } enum ATTACHED { value 1; description "Direct Route"; } enum RECEIVE { value 2; description "Local Route"; } enum DROP { value 3; description "Drop Route"; } } default "DEFAULT"; } typedef ipmc_Allowv3AsmType { type boolean; default "true"; } // Bootup Delay typedef ipmc_BootupDelay { type uint16 { range "0..65535"; } default "0"; } // Group Timeout typedef ipmc_GrpTimeout { type uint16 { range "3..65535"; } default "260"; } // Interface level Controls typedef ipmc_IfCtrl { type string; } // If flags typedef ipmc_IfFlags { type string; } // Inst level Controls typedef ipmc_InstCtrl { type string; } // Join Type typedef ipmc_JoinType { type enumeration { enum 0 { value 0; description "Static Group"; } enum 1 { value 1; description "Join Group"; } } } // Syslog Threshold typedef ipmc_SyslogThresT { type uint16 { range "1..100"; } default "90"; } // Version typedef ipmc_Ver { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum 2 { value 2; description "IGMP v2"; } enum 3 { value 3; description "IGMP v3"; } } } // Database type typedef ipmcsnoop_DbT { type enumeration { enum group { value 1; description "Multicast Local Group Database"; } enum fabric-mcgrp { value 2; description "Multicast Fabric Group Database"; } enum querier { value 3; description "Querier database"; } enum mrouter { value 4; description "Mrouter database"; } enum snoopstats { value 5; description "Igmp snooping statistics database"; } enum policy { value 6; description "report policy stats database"; } enum snoop { value 7; description "Igmp snooping params"; } enum exptrack { value 8; description "explicit tracking"; } enum stats { value 9; description "snoop statistics"; } enum mac { value 10; description "MAC address table"; } enum macoif { value 11; description "MAC OIF "; } } default "group"; } // Disable Nve Router port typedef ipmcsnoop_DisableNveStRtrPort { type boolean; } // Domain level controls typedef ipmcsnoop_DomControl { type string; default "opt-flood"; } // Domain flags typedef ipmcsnoop_DomFlags { type string; } // Explicit Tracking typedef ipmcsnoop_ExpTracking { type boolean; default "true"; } // Type defined for fast-leave enable/disable typedef ipmcsnoop_FastLeave { type boolean; } // IPMC snooping forwarding mode typedef ipmcsnoop_FwdMode { type enumeration { enum ip { value 1; description "IP based forwarding"; } enum mac { value 2; description "Mac based forwarding"; } } default "ip"; } // Igmp snooping enable/disable typedef ipmcsnoop_IgmpSnoop { type boolean; default "true"; } // Igmp src ip proxy enable/disable typedef ipmcsnoop_IgmpSrcIpProxy { type boolean; default "true"; } // Number of multicast groups typedef ipmcsnoop_InstFlags { type string; } // Life Cycle Control specifies how the router-if // is controlled typedef ipmcsnoop_LcC { type string; } typedef ipmcsnoop_LkpModeT { type string { length "0..50"; } } typedef ipmcsnoop_LlGrpSuppr { type boolean; default "true"; } // MAC type typedef ipmcsnoop_MacType { type enumeration { enum * { value 0; description "Primary Entry"; } enum G { value 1; description "Gateway MAC"; } enum R { value 2; description "Routed MAC"; } enum O { value 3; description "Overlay MAC"; } enum IGMP { value 4; description "IGMP MAC"; } } } // Max number of GQ misses allowed typedef ipmcsnoop_MaxGqMiss { type uint16 { range "3..5"; } default "3"; } // Multicast traffic source address typedef ipmcsnoop_McastSrc { type address_Ip; } // NEW IGMPSNOOP types typedef ipmcsnoop_MrouteType { type enumeration { enum static { value 0; description "Statically Configured"; } enum dynamic { value 1; description "Dynamically Learned"; } enum internal { value 2; description "Internally Configured"; } enum fabpath { value 3; description "Fabricpath Core "; } enum vpc { value 4; description "Vpc Peer link "; } enum coLearned { value 5; description "Co-Learned "; } enum peerLearned { value 6; description "Peer-Learned "; } enum userConf { value 7; description "User-Configured "; } } } typedef ipmcsnoop_Mrt { type uint16 { range "0..25"; } default "5"; } // Policy name typedef ipmcsnoop_PolicyNameT { type string { length "0..255"; } } // Querier flags typedef ipmcsnoop_QuerierFlags { type string; } // Report flags typedef ipmcsnoop_RepFlags { type string; } // Report Suppression for v1/v2 typedef ipmcsnoop_ReportSuppr { type boolean; default "true"; } // Reporter address typedef ipmcsnoop_Reporter { type address_Ip; } // Router Guard vlan interface type typedef ipmcsnoop_RtrGrdVlanIdT { type uint32 { range "1..4095"; } default "4095"; } // syslog threshold typedef ipmcsnoop_SyslogThrshold { type uint16 { range "1..100"; } default "90"; } // v3 report suppression typedef ipmcsnoop_V3ReportSuppr { type boolean; default "false"; } typedef ipmcsnoop_VersionT { type string { length "0..51"; } } // Vlan id type typedef ipmcsnoop_Vlanid { type uint32 { range "1..4094"; } default "1"; } // Type defined for vpc-peer-link enable/disable typedef ipmcsnoop_Vpc { type boolean; default "true"; } // Enable/Disable Vxlan typedef ipmcsnoop_Vxlan { type boolean; } // vxlan-umc vlan valid range - 1-3967, // 1-4094 if drop on all Vlans typedef ipmcsnoop_VxlanVlanRange { type l2_VlanBitmap; } typedef ipqos_BuffSize { type uint64 { range "5000..12582913"; } default "12582913"; } typedef ipqos_BurstRate { type uint64 { range "0..536870912"; } } typedef ipqos_BurstRateUnit { type enumeration { enum unspecified { value 0; description "invalid"; } enum bytes { value 1; description "bytes"; } enum kbytes { value 2; description "kilobytes"; } enum mbytes { value 3; description "megabytes"; } enum ms { value 4; description "milli-seconds"; } enum us { value 5; description "micro-seconds"; } enum packets { value 6; description "packets"; } } default "unspecified"; } typedef ipqos_BurstState { type enumeration { enum enabled { value 1; description "enabled"; } enum disabled { value 0; description "disabled"; } } default "disabled"; } typedef ipqos_CMapName { type string { length "1..40"; } } // Cos unit typedef ipqos_Cos { type uint8 { range "0..7"; } } typedef ipqos_CosNewNone { type enumeration { enum 0 { value 0; description "0"; } enum 1 { value 1; description "1"; } enum 2 { value 2; description "2"; } enum 3 { value 3; description "3"; } enum 4 { value 4; description "4"; } enum 5 { value 5; description "5"; } enum 6 { value 6; description "6"; } enum 7 { value 7; description "7"; } enum None { value 8; description "None"; } } default "None"; } typedef ipqos_DescStr { type string { length "0..200"; } } typedef ipqos_DropAvailRange { type uint8 { range "0..100"; } } // Dscp unit typedef ipqos_Dscp { type uint8 { range "0..63"; } default "46"; } typedef ipqos_LoggingLevel { type enumeration { enum Emergencies { value 0; description "Emergencies"; } enum Alerts { value 1; description "Alerts"; } enum Critical { value 2; description "Critical"; } enum Errors { value 3; description "Errors"; } enum Warnings { value 4; description "Warnings"; } enum Notification { value 5; description "Notification"; } enum Information { value 6; description "Information"; } enum Debugging { value 7; description "Debugging"; } } default "Warnings"; } typedef ipqos_MPLSExperimental { type uint8 { range "0..7"; } } typedef ipqos_MTU { type uint16 { range "576..9216"; } default "1500"; } typedef ipqos_MatchCMapName { type string { length "0..40"; } } typedef ipqos_MplsExperimentalValue { type enumeration { enum 0 { value 0; description "0"; } enum 1 { value 1; description "1"; } enum 2 { value 2; description "2"; } enum 3 { value 3; description "3"; } enum 4 { value 4; description "4"; } enum 5 { value 5; description "5"; } enum 6 { value 6; description "6"; } enum 7 { value 7; description "7"; } enum None { value 8; description "None"; } } default "None"; } typedef ipqos_OverrideIntfMode { type enumeration { enum disabled { value 0; } enum off { value 1; } } default "disabled"; } typedef ipqos_PMapName { type string { length "1..40"; } } typedef ipqos_Percent { type uint8 { range "0..100"; } } typedef ipqos_PoliceAction { type enumeration { enum unspecified { value 0; description "unspecified"; } enum transmit { value 1; description "transmit"; } enum drop { value 2; description "drop"; } enum set-cos-transmit { value 3; description "set-cos-transmit"; } enum set-dscp-transmit { value 4; description "set-dscp-transmit"; } enum set-prec-transmit { value 5; description "set-prec-transmit"; } enum set-qos-transmit { value 6; description "set-qos-transmit"; } } } typedef ipqos_PoliceRate { type uint64 { range "0..100000000000"; } default "0"; } typedef ipqos_PolicerName { type string { length "0..40"; } } typedef ipqos_Prec { type enumeration { enum routine { value 0; description "routine"; } enum priority { value 1; description "priority"; } enum immediate { value 2; description "immediate"; } enum flash { value 3; description "flash"; } enum flash-override { value 4; description "flash-override"; } enum critical { value 5; description "critical"; } enum internet { value 6; description "internet"; } enum network { value 7; description "network"; } } } typedef ipqos_PriorFlowCtrlMode { type enumeration { enum auto { value 0; } enum on { value 1; } enum off { value 2; } } default "auto"; } typedef ipqos_PriorFlowCtrlWdIntfMulti { type uint8 { range "1..10"; } } typedef ipqos_PriorFlowCtrlWdIntvl { type enumeration { enum on { value 1; } enum off { value 2; } } default "off"; } // Priority Group value typedef ipqos_PriorityGrpVal { type enumeration { enum 0 { value 0; description "0"; } enum 1 { value 1; description "1"; } enum 2 { value 2; description "2"; } enum 3 { value 3; description "3"; } enum 4 { value 4; description "4"; } enum 5 { value 5; description "5"; } enum None { value 8; description "None"; } } default "None"; } typedef ipqos_PriorityLevel { type uint8 { range "1..7"; } } typedef ipqos_Protocol { type enumeration { enum unspecified { value 0; description "unspecified"; } enum arp { value 1; description "IP ARP"; } enum bridging { value 2; description "Bridging"; } enum cdp { value 3; description "Cisco Discovery Protocol"; } enum dhcp { value 7; description "Dynamic Host Configuration"; } enum isis { value 8; description "Intermediate System Intermediate System Protocol"; } enum fcoe { value 14; description "Fcoe"; } enum lacp { value 35; description "Link Aggregation Control Protocol"; } enum lldp { value 36; description "Link Layer Discovery Protocol"; } } } typedef ipqos_QoSGrpId { type uint16 { range "0..7"; } } // match all, any or first typedef ipqos_QoSMatchType { type enumeration { enum match-any { value 0; } enum match-all { value 1; } enum match-first { value 2; } } default "match-all"; } typedef ipqos_QosgrpBitMap { type mtx_array_bit; } // afd queue-desired typedef ipqos_QueueDesired { type uint64 { range "1..52428800"; } } typedef ipqos_QueueDesiredUnit { type enumeration { enum none { value 0; description "none"; } enum bytes { value 1; description "bytes"; } enum kbytes { value 2; description "kbytes"; } enum mbytes { value 3; description "mbytes"; } } default "none"; } // queue-limit typedef ipqos_QueueLimit { type uint64 { range "0..12582913"; } default "12582913"; } typedef ipqos_QueueLimitDynamic { type uint8 { range "0..255"; } default "255"; } typedef ipqos_QueueLimitUnit { type enumeration { enum none { value 0; description "none"; } enum packets { value 1; description "packets"; } enum bytes { value 2; description "bytes"; } enum kbytes { value 3; description "kbytes"; } enum mbytes { value 4; description "mbytes"; } enum gbytes { value 5; description "gbytes"; } enum ms { value 6; description "ms"; } enum us { value 7; description "us"; } enum perc { value 8; description "perc"; } } default "none"; } typedef ipqos_RandOptType { type uint8; default "0"; } typedef ipqos_RateUnit { type enumeration { enum unspecified { value 0; description "unspecified"; } enum bps { value 1; description "bps"; } enum kbps { value 2; description "kbps"; } enum mbps { value 3; description "mbps"; } enum gbps { value 4; description "gbps"; } enum pps { value 5; description "pps"; } enum pct { value 6; description "percentage"; } } default "unspecified"; } typedef ipqos_ShapeRate { type uint64 { range "0..400000000000"; } } typedef ipqos_StatsType { type enumeration { enum none { value 0; description "none"; } enum matchCMap { value 1; description "Statistic for Match counters under class-map"; } enum setAction { value 3; description "Statistic for Set Action counters"; } enum police { value 4; description "Statistic for Policing counters"; } enum bw { value 5; description "Statistic for Bandwidth counters"; } enum prio { value 6; description "Statistic for Priority counters"; } enum shape { value 7; description "Statistic for Shape counters"; } enum qlimit { value 8; description "Statistic for Queue Limit counters"; } enum randomDetect { value 9; description "Statistic for Random Detect counters"; } enum queuing { value 10; description "Statistic for Queuing counters"; } enum microburst { value 13; description "Statistic for Microburst counters"; } } } typedef ipqos_ThresUnit { type enumeration { enum none { value 0; description "none"; } enum bytes { value 1; description "bytes"; } enum pct { value 2; description "percentage"; } } default "none"; } typedef ipqos_ThreshUnit { type enumeration { enum none { value 0; description "none"; } enum packets { value 1; description "packets"; } enum bytes { value 2; description "bytes"; } enum kbytes { value 3; description "kbytes"; } enum mbytes { value 4; description "mbytes"; } } default "none"; } typedef ipqos_ThreshVal { type uint32 { range "0..52428800"; } default "0"; } typedef ipqos_Threshold { type uint32 { range "0..13319072"; } default "0"; } typedef ipqos_VpcParamDeviceType { type enumeration { enum local { value 0; } enum peer { value 1; } } } typedef ipqos_Weight { type uint8 { range "0..15"; } } typedef ipqos_XoffBytes { type uint64 { range "0..12582912"; } } typedef ipqos_XonBytes { type uint64 { range "0..12582912"; } } typedef ipqos_ecnThresh { type uint32 { range "1..500000"; } } typedef ipqos_portListBitMap { type mtx_array_bit; } typedef ipqos_statsState { type enumeration { enum enabled { value 0; description "enabled"; } enum disabled { value 1; description "disabled"; } } default "enabled"; } // DSCP typedef ipt_Dscp { type uint8 { range "0..63"; } } typedef ipt_Name { type string { length "0..63"; } } // Actual Range is from 10 to 16777215 // To be controlled in the BI logic typedef ipt_SamplingRate { type uint32 { range "0..16777215"; } } // TTL typedef ipt_Ttl { type uint8 { range "0..255"; } } typedef ipv4_ClientFlagType { type uint8; default "1"; } typedef ipv4_ClientMtsSapType { type int16; default "0"; } // Types of PPS threshold supported typedef ipv4_IpPpsTypes { type enumeration { enum unicastForward { value 0; description "packet type is unicast forwarded"; } } default "unicastForward"; } // ICMP Code typedef ipv4acl_ICMPCode { type uint16 { range "0..256"; } default "256"; } // ICMP Enum typedef ipv4acl_ICMPEnum { type uint16; default "256"; } // ICMP Type typedef ipv4acl_ICMPType { type uint16 { range "0..256"; } default "256"; } // IGMP Type typedef ipv4acl_IGMPType { type uint8 { range "0..16"; } default "16"; } // IPv4 prefix typedef ipv4acl_IPv4Prefix { type address_Ipv4; } // IPv4 prefix length typedef ipv4acl_IPv4PrefixLen { type uint8 { range "0..32"; } default "0"; } // Prefix wildcard mask typedef ipv4acl_IPv4PrefixMask { type address_Ipv4; } // IP precedence typedef ipv4acl_Precedence { type uint8 { range "0..8"; } default "8"; } // ACE protocol typedef ipv4acl_Protocol { type uint8; default "255"; } // Tos typedef ipv4acl_Tos { type uint8 { range "0..15"; } default "0"; } // Config Error typedef ipv6_ConfigErr { type enumeration { enum noerror { value 0; description "Unknown"; } enum nghbrAddress { value 1; description "Config failed for IPv6 neighbor address"; } enum useLinkLocalOnly { value 2; description "Config failed for IPv6 use link local only"; } enum forward { value 3; description "Config failed for IPv6 forward"; } } } // Event History Size typedef ipv6_IPv6EventLogSize { type enumeration { enum disabled { value 0; description "Disable"; } enum small { value 1; description "Small"; } enum medium { value 2; description "Medium"; } enum large { value 3; description "Large"; } } default "small"; } // Event Log Type typedef ipv6_IPv6EventType { type enumeration { enum ipv6Event { value 0; description "IPv6 Error Log"; } enum bfdEvent { value 1; description "Bfd Debug Message for IPv6"; } enum syslog { value 2; description "Syslog Message for IPv6"; } enum ipc { value 3; description "Ipc Debug Message"; } enum snmp { value 4; description "SNMP Events"; } enum highAvailability { value 5; description "High Availability Event"; } enum sdb { value 6; description "Sdb Message of IPv6"; } } } // Ipv6 Extension header type typedef ipv6acl_ExtnHdr { type enumeration { enum disabled { value 0; description "Disable ipv6 extension header handling"; } enum deny-all { value 1; description "Drop all ipv6 packets with extention header"; } enum permit-all { value 2; description "Allow all ipv6 packets with extention header"; } } } // Flow Label typedef ipv6acl_FlowLabel { type uint32 { range "0..1048576"; } } // ICMPv6 Code typedef ipv6acl_ICMPCode { type uint16 { range "0..256"; } default "256"; } // ICMPv6 Enum typedef ipv6acl_ICMPEnum { type uint16; default "256"; } // ICMPv6 Type typedef ipv6acl_ICMPType { type uint16 { range "0..256"; } default "256"; } // IPv6 prefix typedef ipv6acl_IPv6Prefix { type address_Ipv6; } // IPv6 prefix length typedef ipv6acl_IPv6PrefixLen { type uint8 { range "0..128"; } default "0"; } // IPv6 prefix mask typedef ipv6acl_IPv6PrefixMask { type address_Ipv6; } // ACE protocol typedef ipv6acl_Protocol { type uint8; default "255"; } // Adj operational state typedef isis_AdjOperSt { type enumeration { enum up { value 0; description "Up"; } enum init { value 1; description "Initializing"; } enum down { value 2; description "Down"; } enum 3waystate { value 3; description "Down"; } enum lost { value 4; description "Lost"; } enum delete { value 5; description "Delete"; } enum maxState { value 6; description "Max State"; } } } // Administrative state typedef isis_AdminSt { type enumeration { enum enabled { value 1; description "Enabling table map for Selective route"; } enum disabled { value 2; description "Disabling table map for Selective route"; } } default "disabled"; } // Advertise interface Level type typedef isis_AdvtLvl { type enumeration { enum l0 { value 0; description "Level-0"; } enum l1 { value 1; description "Level-1"; } enum l2 { value 2; description "Level-2"; } } default "l0"; } // Address family operational state typedef isis_AfOperSt { type enumeration { enum enabled { value 0; description "Address family enabled"; } enum disabled { value 1; description "Address family disabled"; } } default "disabled"; } // Address family type typedef isis_AfT { type enumeration { enum v4 { value 1; description "IPv4 address family"; } enum v6 { value 2; description "IPv6 address family"; } } default "v4"; } // Authentication key-chain name typedef isis_AuthKeyN { type string; } // Authentication type typedef isis_AuthT { type enumeration { enum clear { value 1; description "Clear"; } enum md5 { value 2; description "MD5"; } enum unknown { value 3; description "Unknown"; } } default "unknown"; } // Authentication mode type typedef isis_AuthmodeT { type enumeration { enum None { value 0; description "No authentication"; } enum Text { value 1; description "Text"; } enum MD5 { value 2; description "MD5"; } } default "None"; } // BFD type typedef isis_BfdT { type enumeration { enum inheritVrf { value 1; description "Inherit BFD from VRF"; } enum enabled { value 2; description "Enable BFD"; } enum disabled { value 3; description "Disable BFD"; } } default "inheritVrf"; } // Bandwidth reference typedef isis_BwRef { type uint32; default "40000"; } // Bandwidth reference unit typedef isis_BwRefUnit { type enumeration { enum mbps { value 0; description "Mbps"; } enum gbps { value 1; description "Gbps"; } } default "mbps"; } // CktPrio typedef isis_CktPrio { type uint8 { range "0..127"; } default "64"; } // Circuit type typedef isis_CktT { type enumeration { enum p2p { value 1; description "Point to point"; } enum bcast { value 2; description "Broadcast"; } } default "p2p"; } // Csnp interval typedef isis_CsnpIntvl { type uint16 { range "1..65535"; } default "10"; } // Database type typedef isis_DbT { type enumeration { enum ls { value 1; description "Link State Dtabase"; } enum rt { value 2; description "Route Database"; } enum nh { value 3; description "Nexthop Database"; } enum mcgrp { value 4; description "Multicast Group Database"; } enum fn { value 5; description "Fabric Node Database"; } enum dtep { value 6; description "Dynamic Tunnel Endpoint Database"; } } default "ls"; } // Default Information Originate state typedef isis_DefInfOrigSt { type string; default "off"; } // Distance typedef isis_Dist { type uint8 { range "1..255"; } default "115"; } // Distribute link-state Level type typedef isis_DistrLvl { type enumeration { enum l0 { value 0; description "Level-0"; } enum l1 { value 1; description "Level-1"; } enum l2 { value 2; description "Level-2"; } } default "l0"; } // Per address family controls typedef isis_DomAfControl { type string; default "adj-check,set-attached-bit"; } // Dom controls typedef isis_DomControl { type string; default "unspecified"; } // Per level controls typedef isis_DomLvlControl { type string; } // Dom name typedef isis_DomName { type l3_VrfName; } // ECMP max paths typedef isis_Ecmp { type uint8 { range "1..64"; } default "8"; } // Event History Buffer size in Text/kb typedef isis_EhSize { type uint32 { range "0..4294967295"; } default "0"; } // Event History Buffer Type typedef isis_EhType { type enumeration { enum spfLeaf { value 0; description "spf-leaf events for ISIS"; } enum spfTree { value 1; description "spf-tree events for ISIS"; } enum psnp { value 2; description "PSNP events for ISIS"; } enum csnp { value 3; description "CSNP events for ISIS"; } enum lspGen { value 4; description "lsp-gen events for ISIS"; } enum lspFlood { value 5; description "lsp-flood events for ISIS"; } enum iih { value 6; description "IIH events for ISIS"; } enum adj { value 7; description "Adjacency events for ISIS"; } enum dis { value 8; description "DIS events for ISIS"; } enum events { value 9; description "Events events for ISIS"; } enum cli { value 10; description "CLI events for ISIS"; } enum ha { value 11; description "HA events for ISIS"; } enum gr { value 12; description "Graceful Restart events for ISIS"; } enum urib { value 13; description "URIB events for ISIS"; } enum redist { value 14; description "Redist events for ISIS"; } enum tlv { value 15; description "TLV events for ISIS"; } enum mtr { value 16; description "MTR events for ISIS"; } enum perf { value 17; description "Performance events for ISIS"; } enum df { value 18; description "Dynamic Flooding events for ISIS"; } enum sr { value 19; description "Segment-routing events for ISIS"; } enum ulib { value 20; description "ULIB events for ISIS"; } } } // Fragment number typedef isis_FragNum { type uint8; } // Graceful restart operational state typedef isis_GrOperSt { type enumeration { enum enabled { value 0; description "Graceful restart enabled"; } enum disabled { value 1; description "Graceful restart disabled"; } } default "enabled"; } // Graceful restart T3 interval typedef isis_GrT3Intvl { type uint16 { range "30..65535"; } default "60"; } // Hello interval typedef isis_HelloIntvl { type uint16 { range "1..65535"; } default "10"; } // Hello multiplier typedef isis_HelloMult { type uint16 { range "3..1000"; } default "3"; } // Interface Hello-Padding type typedef isis_HelloPadT { type enumeration { enum always { value 1; description "Enabling Hello-Padding always on interface"; } enum transient { value 2; description "Disabling Hello-Padding to Transient mode on Interface"; } enum never { value 3; description "Disabling Hello-Padding on Interface"; } } default "always"; } // Interface controls typedef isis_IfControl { type string; } // Interface disabled reason typedef isis_IfCtrlReason { type enumeration { enum none { value 0; description "None"; } enum process-disabled { value 1; description "Process is disabled"; } enum invalid-local-ckt-id { value 2; description "Local circuit Id is invalid"; } } default "none"; } // Interface functional state typedef isis_IfCtrlState { type enumeration { enum down { value 0; description "Down"; } enum up { value 1; description "Up"; } } default "down"; } // Distribute Link-state Instance-id typedef isis_InstId { type uint32 { range "0..4294967295"; } default "0"; } // Instance name typedef isis_InstanceName { type string; } // ISIS state on interface typedef isis_IsState { type enumeration { enum invalid { value 0; description "Invalid"; } enum add { value 1; description "Add"; } enum delete { value 2; description "Delete"; } enum ready { value 3; description "Ready"; } } default "invalid"; } // IS type typedef isis_IsT { type enumeration { enum l1 { value 1; description "L1 IS type"; } enum l2 { value 2; description "L2 IS type"; } enum l12 { value 3; description "L1-2 IS type"; } } default "l12"; } // Lan id typedef isis_LanId { type uint8; } // ISIS Mpls IDP/LDP sync operational state typedef isis_LdpSyncOperSt { type enumeration { enum disabled { value 0; description "IDP/LDP sync is disabled"; } enum enabled { value 1; description "IDP/LDP sync is enabled"; } } default "enabled"; } // Logging Level typedef isis_LogL { type uint32 { range "0..7"; } } // Lsp generation initial wait interval typedef isis_LspGenInitIntvl { type uint32 { range "50..120000"; } default "50"; } // Lsp generation maximum wait interval typedef isis_LspGenMaxIntvl { type uint32 { range "50..120000"; } default "8000"; } // Lsp generation second wait interval typedef isis_LspGenSecIntvl { type uint32 { range "50..120000"; } default "50"; } // LSP refresh interval typedef isis_LspRefreshIntvl { type uint32 { range "10..65535"; } default "33"; } // Level type typedef isis_LvlT { type enumeration { enum p2p { value 0; description "P2P"; } enum l1 { value 1; description "Level1"; } enum l2 { value 2; description "Level2"; } } default "l1"; } // Max area address typedef isis_MaxArea { type uint8 { range "0..255"; } default "3"; } // Max LSP Lifetime typedef isis_MaxLSPLife { type uint32 { range "1..65535"; } default "1200"; } // Mesh group type typedef isis_MeshGroupType { type uint32 { range "0..4294967295"; } default "0"; } // Mesh group controls typedef isis_MeshGrpControl { type string; } // Mesh group id typedef isis_MeshGrpId { type uint32 { range "1..4294967295"; } } // Metric typedef isis_Metric { type uint32 { range "0..16777216"; } default "16777216"; } // Metric style typedef isis_MetricStyle { type enumeration { enum narrow { value 1; description "Narrow"; } enum wide { value 2; description "Wide"; } enum transition { value 3; description "Transition"; } } default "wide"; } // Metric type typedef isis_MetricType { type enumeration { enum internal { value 0; description "Internal"; } enum external { value 1; description "External"; } } } // MT Address family operational state typedef isis_MtAfOperSt { type enumeration { enum enabled { value 0; description "MT Address family enabled"; } enum disabled { value 1; description "MT Address family disabled"; } } default "disabled"; } // LSP MTU typedef isis_Mtu { type uint32 { range "256..4352"; } default "1492"; } // Net typedef isis_Net { type string; } // Network Type point-to-point state typedef isis_NetworkTypeP2PSt { type enumeration { enum off { value 0; description "Off"; } enum on { value 1; description "On"; } enum useAllISMac { value 2; description "Use allISs MAC"; } } default "off"; } // ISIS Overload bit set on boot operational state typedef isis_ObitSetOnBootSt { type enumeration { enum disabled { value 0; description "Overload bit set on boot is disabled"; } enum enabled { value 1; description "Overload bit set on boot is enabled"; } } default "disabled"; } // ISIS Overload bit set operational state typedef isis_ObitSetSt { type enumeration { enum disabled { value 0; description "Overload bit set is disabled"; } enum enabled { value 1; description "Overload bit set is enabled"; } } default "disabled"; } // Operational state typedef isis_OperSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum initializing { value 1; description "Initializing"; } enum ok { value 2; description "Running smoothly"; } enum failed { value 3; description "Failed"; } } } // Overload administrative state typedef isis_OverloadAdminSt { type enumeration { enum off { value 0; description "Off"; } enum always-on { value 1; description "Always on"; } enum bootup { value 2; description "On at bootup"; } enum bgp-converge { value 3; description "Set till bgp convergence"; } enum bgp-converge-max-wait { value 4; description "Set till bgp convergence with max wait"; } } default "bootup"; } // Passive Interface Level type typedef isis_PassiveIntfT { type enumeration { enum l1 { value 1; description "Passive Interface type Level-1"; } enum l2 { value 2; description "Passive Interface type Level-2"; } enum l12 { value 3; description "Passive Interface type Level-1-2"; } enum noL1 { value 4; description "No Passive Interface type Level-1"; } enum noL2 { value 5; description "No Passive Interface type Level-2"; } enum noL12 { value 6; description "No Passive Interface type Level-1-2"; } enum inheritDef { value 7; description "Passive Interface default type"; } } default "inheritDef"; } // Pasive default type typedef isis_PassiveT { type enumeration { enum l1 { value 0; description "L1 Passive type"; } enum l2 { value 1; description "L2 Passive type"; } enum l12 { value 2; description "L1-2 Passive type"; } enum unknown { value 3; description "Unknown Passive type"; } } default "unknown"; } // PDU Types typedef isis_PduType { type enumeration { enum PDU_L1_LAN_IIH { value 15; description "L1_LAN_IIH"; } enum PDU_L2_LAN_IIH { value 16; description "L2_LAN_IIH"; } enum PDU_P2P_IIH { value 17; description "P2P_IIH"; } enum PDU_L1_LSP { value 18; description "L1_LSP"; } enum PDU_L2_LSP { value 20; description "L2_LSP"; } enum PDU_L1_CSNP { value 24; description "L1_CSNP"; } enum PDU_L2_CSNP { value 25; description "L2_CSNP"; } enum PDU_L1_PSNP { value 26; description "L1_PSNP"; } enum PDU_L2_PSNP { value 27; description "L2_PSNP"; } enum PDU_L1_GMLSP { value 19; description "L1_GMLSP"; } enum PDU_L2_GMLSP { value 21; description "L2_GMLSP"; } enum PDU_L1_GMCSNP { value 22; description "L1_GMCSNP"; } enum PDU_L2_GMCSNP { value 23; description "L2_GMCSNP"; } enum PDU_L1_GMPSNP { value 29; description "L1_GMPSNP"; } enum PDU_L2_GMPSNP { value 28; description "L2_GMPSNP"; } enum PDU_ERROR { value 0; description "ERROR"; } } default "PDU_ERROR"; } // Queue limit retransmit typedef isis_QueueLimitType { type uint32 { range "200..65535"; } default "2000"; } // Reset Triggers type typedef isis_ReTri { type enumeration { enum WAIT_FOR_BGP { value 0; description "Wait for bgp"; } enum WAIT_FOR_SYSTEM { value 1; description "Wait for system"; } } } // LSP retransmit Interval typedef isis_RetransInterval { type uint16 { range "1..65535"; } default "5"; } // LSP retransmit throttle Interval typedef isis_RetransThrottleInterval { type uint16 { range "20..65535"; } default "66"; } // Subsequent Address family type typedef isis_SafT { type enumeration { enum uCast { value 1; description "Unicast sub address family"; } enum mCast { value 2; description "Multicast sub address family"; } } default "uCast"; } // ISIS SR option support in Segment-Routing typedef isis_SgmntRtg { type enumeration { enum none { value 0; description "Unspecified"; } enum srv6 { value 1; description "Support SRv6 option in Segment-Routing"; } } default "none"; } // Spf computation initial wait interval typedef isis_SpfCompInitIntvl { type uint32 { range "50..120000"; } default "50"; } // Spf computation maximum wait interval typedef isis_SpfCompMaxIntvl { type uint32 { range "50..120000"; } default "8000"; } // Spf computation second wait interval typedef isis_SpfCompSecIntvl { type uint32 { range "50..120000"; } default "50"; } // ISIS SR mpls option support in Segment-Routing typedef isis_SrOperSt { type enumeration { enum disabled { value 0; description "SR mpls disabled"; } enum enabled { value 1; description "SR mpls enabled in Segment-Routing"; } } default "disabled"; } typedef isis_StartupTime { type uint32 { range "5..86400"; } default "600"; } // Summary Address Level type typedef isis_SumLvl { type enumeration { enum l1 { value 1; description "Level-1"; } enum l2 { value 2; description "Level-2"; } enum l12 { value 3; description "Level-1-2"; } } default "l12"; } // Overload Suppress controls typedef isis_SuppressControl { type string; } // Distribute Link-state throttle interval typedef isis_Throttle { type uint16 { range "0..50"; } default "0"; } // TimerType typedef isis_TimerType { type enumeration { enum invalid { value 1; description "Invalid Timer"; } enum refresh { value 2; description "Refresh Timer"; } enum hold { value 3; description "Hold Timer"; } enum zeroAge { value 4; description "Zero-Age Timer"; } enum delete { value 5; description "Delete Timer"; } enum seqWrap { value 6; description "Sequence Wrap Wait Timer"; } } default "invalid"; } // TLV type typedef isis_TlvType { type uint8; } // TLV value typedef isis_TlvVal { type string; } // Topology Identifier typedef isis_TopoId { type enumeration { enum ipv4-unicast { value 0; description "Base ipv4 unicast topology"; } enum ipv6-unicast { value 2; description "IPv6 unicast topology"; } } default "ipv4-unicast"; } // Multi-topology type typedef isis_TopoT { type enumeration { enum st { value 1; description "Single Topology"; } enum mt { value 2; description "Multi-topology"; } enum mtt { value 3; description "Multi-topology transition"; } } default "st"; } // Topology support typedef isis_TopoType { type enumeration { enum baseTopoIpv4 { value 0; description "Base family ipv4"; } enum baseTopoIpv6 { value 1; description "Base family ipv6"; } enum multiTopoIpv4 { value 2; description "Multi topology ipv4"; } enum multiTopoIpv6 { value 3; description "Multi topology ipv6"; } } default "baseTopoIpv4"; } // Up down flag typedef isis_UpDown { type enumeration { enum down { value 0; description "Down"; } enum up { value 1; description "Up"; } } } // Wide Metric typedef isis_WideMetric { type uint32 { range "0..16777216"; } default "16777216"; } typedef itd_AclNameType { type string { length "0..50"; } } // Administrative state typedef itd_AdminSt { type enumeration { enum noShut { value 1; description "Enabled"; } enum shut { value 0; description "Disabled"; } } default "shut"; } typedef itd_BucketNumType { type uint32 { range "0..256"; } default "0"; } typedef itd_ClusterIdType { type uint32 { range "0..128"; } default "0"; } typedef itd_DevGrpNameType { type string { length "0..31"; pattern ".*[a-zA-Z0-9_\\.\\\\-]+.*"; } } typedef itd_DnsHostType { type string { length "0..99"; } } typedef itd_HttpStringType { type string { length "0..99"; } } typedef itd_ItdStatusStates { type enumeration { enum redirect { value 0; description "Redirected traffic"; } enum drop { value 1; description "Dropped traffic"; } enum bypass { value 2; description "Routed traffic"; } enum routed { value 3; description "Routed traffic"; } } default "redirect"; } typedef itd_LBMethod { type enumeration { enum noLBMethod { value 0; description "no load-balancing"; } enum src { value 1; description "src based load-balancing"; } enum dst { value 2; description "dst based load-balancing"; } } default "noLBMethod"; } typedef itd_MaskPosType { type uint32 { range "0..127"; } default "0"; } typedef itd_PortGrpNameType { type string { length "0..31"; pattern ".*[a-zA-Z0-9_\\.\\\\-]+.*"; } } typedef itd_Prefix { type uint32 { range "0..128"; } default "0"; } typedef itd_ProbeStatus { type enumeration { enum inactive { value 0; description "node is inactive"; } enum standby { value 1; description "failaction node reassign"; } enum link-failed { value 2; description "link unreachable"; } enum probe-failed { value 3; description "probe failed"; } enum peer-down { value 4; description "peer service is down"; } enum active { value 5; description "node is active"; } enum hold-down { value 6; description "node in hold-down state"; } enum shut { value 7; description "node shut by user"; } } default "inactive"; } typedef itd_ReassignedNodeType { type string { length "0..512"; } } typedef itd_ServiceStatusStates { type enumeration { enum inactive { value 0; description "Service is inactive"; } enum active { value 1; description "Service is active"; } } default "inactive"; } typedef itd_SlaId { type uint32; default "0"; } typedef itd_SvcNameType { type string { length "0..31"; pattern ".*[a-zA-Z0-9_\\.\\\\-]+.*"; } } typedef itd_TrackId { type uint32 { range "0..512"; } default "0"; } typedef itd_ctrlType { type enumeration { enum disable { value 0; description "disable control status"; } enum enable { value 1; description "enable control status"; } } default "disable"; } typedef itd_dgFaultBitmapT { type string; } typedef itd_dgVrfName { type string { pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}.*|()"; } } typedef itd_failactionType { type enumeration { enum nofailaction { value 0; description "no failaction"; } enum nodeReassign { value 1; description "failaction node reassign"; } enum nodeLeastBucket { value 2; description "failaction node least bucket"; } enum nodePerBucket { value 3; description "failaction node per bucket"; } enum bucketDistribute { value 4; description "failaction bucket distribute"; } } default "nofailaction"; } typedef itd_ingressIfFaultBitmapT { type string; } // Administrative state typedef itd_nodeAdminSt { type enumeration { enum noShut { value 0; description "Enabled"; } enum shut { value 1; description "Disabled"; } } default "noShut"; } typedef itd_nodeFaultBitmapT { type string; } typedef itd_nodeModeType { type enumeration { enum primary { value 0; description "ITD primary node"; } enum hot-standby { value 1; description "ITD hot-standby node"; } } default "primary"; } typedef itd_probeFaultBitmapT { type string; } typedef itd_protocolType { type enumeration { enum noProtocol { value 0; description "no protocol"; } enum DNS { value 1; description "ITD protocol type DNS"; } enum HTTP { value 2; description "ITD protocol type HTTP"; } enum ICMP { value 3; description "ITD protocol type ICMP"; } enum TCP { value 4; description "ITD protocol type TCP"; } enum UDP { value 5; description "ITD protocol type UDP"; } enum IP { value 6; description "ITD protocol type IP"; } enum LinkState { value 7; description "EPBR protocol type LinkState"; } enum CTP { value 8; description "EPBR protocol type CTP"; } } default "noProtocol"; } typedef itd_serviceFaultBitmapT { type string; } typedef itd_sessActionType { type enumeration { enum noAction { value 0; description "noAction"; } enum commit { value 1; description "commit session"; } enum abort { value 2; description "abort session"; } } default "noAction"; } typedef itd_sessNodeActionType { type enumeration { enum add { value 0; description "add node to device group"; } enum delete { value 1; description "delete node from device group"; } } } typedef itd_standbyNodeFaultBitmapT { type string; } typedef itd_statsActionType { type enumeration { enum noAction { value 0; description "no action for statistics"; } enum on { value 1; description "start collecting statistics"; } enum off { value 2; description "stop collecting statistics"; } } default "noAction"; } typedef itd_threshCountType { type uint32 { range "0..10"; } default "0"; } typedef itd_threshTimeType { type uint32 { range "0..86400"; } default "0"; } typedef itd_vrfName { type string { length "1..32"; } default "default"; } typedef kbs_adminStType { type enumeration { enum enable { value 1; description "enable"; } enum disable { value 0; description "disable"; } } default "disable"; } typedef kcmgr_ConfigErr { type string; } typedef kcmgr_adminSt { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "disabled"; } // Cryptographic algo for classic keychain typedef kcmgr_cryptoAlgoClassic { type enumeration { enum NONE { value 0; description "none"; } enum MD5 { value 1; description "md5"; } enum HMAC-SHA-1 { value 2; description "hmacsha1"; } enum HMAC-SHA-256 { value 3; description "hmacsha256"; } enum HMAC-SHA-384 { value 4; description "hmacsha384"; } enum HMAC-SHA-512 { value 5; description "hmacsha512"; } enum 3DES { value 8; description "3des"; } enum AES { value 9; description "aes"; } } default "NONE"; } // Cryptographic algo for macsec and tunnelencrypt typedef kcmgr_cryptographicAlgoAes { type enumeration { enum AES_128_CMAC { value 1; description "aes128"; } enum AES_256_CMAC { value 2; description "aes256"; } } default "AES_128_CMAC"; } typedef kcmgr_day { type uint16 { range "0..31"; } } typedef kcmgr_duration { type uint32 { range "0..2147483646"; } } // Classic Encrpt type typedef kcmgr_encryptionTypeClassic { type enumeration { enum unencrypted { value 0; description "noEncryption"; } enum type7 { value 1; description "proprietary"; } enum type6 { value 2; description "type6"; } } default "unencrypted"; } // Macsec Encrpt type typedef kcmgr_encryptionTypeMacsec { type enumeration { enum unencrypted { value 0; description "noEncryption"; } enum type7 { value 1; description "proprietary"; } enum type6 { value 2; description "type6"; } } default "unencrypted"; } // Tunnelencryption Encrpt type typedef kcmgr_encryptionTypeTunnelEncrypt { type enumeration { enum unencrypted { value 0; description "noEncryption"; } enum type7 { value 1; description "proprietary"; } } default "unencrypted"; } // classic keychain keyid typedef kcmgr_key { type uint32 { range "0..65535"; } } typedef kcmgr_keyHexId { type string { pattern ".*[a-fA-F0-9]{1,64}.*"; } } typedef kcmgr_keyString { type string { pattern ".*[!-~]{0,255}.*"; } } typedef kcmgr_month { type enumeration { enum Unspecified { value 0; description "Unspecified"; } enum Jan { value 1; description "January"; } enum Feb { value 2; description "February"; } enum Mar { value 3; description "March"; } enum Apr { value 4; description "April"; } enum May { value 5; description "May"; } enum Jun { value 6; description "June"; } enum Jul { value 7; description "July"; } enum Aug { value 8; description "August"; } enum Sep { value 9; description "September"; } enum Oct { value 10; description "October"; } enum Nov { value 11; description "November"; } enum Dec { value 12; description "December"; } } default "Unspecified"; } // KeyChain Name typedef kcmgr_name { type string { pattern ".*[!-~]{1,63}.*"; } } typedef kcmgr_timeZone { type enumeration { enum unspecified { value 0; description "unspecified"; } enum local { value 1; description "local"; } } default "unspecified"; } typedef kcmgr_timestamp { type string { pattern "|.*((.*0?[0-9]|.*1[0-9]|.*2[0-3]):([0-5]?[0-9]):([0-5]?[0-9])).*"; } } typedef kcmgr_year { type uint16 { range "0..2035"; } } // Interface administrative state typedef l1_AdminSt { type enumeration { enum down { value 1; } enum up { value 2; } } default "up"; } // Allow Multi Tag typedef l1_AllowMultiTag { type enumeration { enum enable { value 1; } enum disable { value 0; } } default "disable"; } typedef l1_AutoExcludeVlans { type l2_VlanBitmap; } // Auto negotiate typedef l1_AutoNeg { type enumeration { enum on { value 1; } enum off { value 2; } enum 25G { value 3; } } default "on"; } // Beacon Mode typedef l1_Beacon { type enumeration { enum on { value 1; } enum off { value 2; } } default "off"; } typedef l1_BoundChannelId { type uint32 { range "100..65535"; } } typedef l1_BreakoutMapZR { type enumeration { enum no-breakout { value 0; description "none"; } enum 100g-4x { value 1; description "100g-4x"; } } default "no-breakout"; } typedef l1_BreakoutMapZRP { type enumeration { enum no-breakout { value 0; description "none"; } enum 100g-4x { value 1; description "100g-4x"; } enum 100g-3x { value 2; description "100g-3x"; } enum 100g-2x { value 3; description "100g-2x"; } enum 100g-1x { value 4; description "100g-1x"; } enum 100g-2x-pam4 { value 5; description "100g-2x-pam4"; } } default "no-breakout"; } typedef l1_BufferBoost { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "enable"; } // Port bandwidth typedef l1_Bw { type uint32 { range "0..3200000000"; } default "0"; } typedef l1_DACRateZR { type enumeration { enum 1x1 { value 1; } enum 1x1.50 { value 3; } } default "1x1"; } typedef l1_DACRateZRP { type enumeration { enum 1x1 { value 1; } enum 1x1.25 { value 2; } enum 1x1.50 { value 3; } enum 1x2 { value 4; } } default "1x1.25"; } // Dot 1Q Ethertype typedef l1_DDot1qEtherType { type uint32 { range "1536..65535"; } default "33024"; } // Dce mode typedef l1_DceMode { type enumeration { enum core { value 1; } enum edge { value 2; } enum auto { value 3; } enum off { value 4; } } default "off"; } // Interface throughput delay typedef l1_Delay { type uint32 { range "1..16777215"; } default "1"; } // DFE Adaptive Tuning whether enabled or disabled typedef l1_DfeAdaptiveTuning { type enumeration { enum enable { value 1; } enum disable { value 0; } } default "enable"; } typedef l1_DfeTuningDelay { type uint16 { range "100..10000"; } default "100"; } // diags type typedef l1_DiagsT { type enumeration { enum none { value 0; } enum dom { value 1; } enum ddm { value 2; } } default "none"; } // Duplex typedef l1_Duplex { type enumeration { enum auto { value 1; } enum full { value 2; } enum half { value 3; } } default "auto"; } // EEE latency typedef l1_EEELatency { type enumeration { enum variable { value 1; } enum constant { value 2; } } default "variable"; } // EEE Lpi threshold typedef l1_EEELpi { type enumeration { enum aggressive { value 1; } enum normal { value 2; } } default "aggressive"; } // Energy Efficient Ethernet (EEE) state typedef l1_EEEState { type enumeration { enum enable { value 1; } enum disable { value 2; } enum disagreed { value 3; } enum not-applicable { value 4; } } default "not-applicable"; } // FEC Knob typedef l1_FECMode { type enumeration { enum auto { value 4; description "auto"; } enum rs-fec { value 2; description "RS-Fec"; } enum fc-fec { value 1; description "FC-Fec"; } enum fec-off { value 3; description "Fec-off"; } enum rs-ieee { value 5; description "RS-IEEE"; } enum rs-cons16 { value 6; description "RS-CONS16"; } enum kp-fec { value 7; description "FECMode: KP-Fec CL119"; } } default "auto"; } typedef l1_FECModeZR { type enumeration { enum cFEC { value 1; } } default "cFEC"; } typedef l1_FECModeZRP { type enumeration { enum cFEC { value 1; } enum oFEC { value 2; } } default "oFEC"; } typedef l1_FlapSeconds { type uint16 { range "5..420"; } default "420"; } typedef l1_FlowControl { type string; } typedef l1_Frequency100GHzZR { type uint32 { range "19130..19610"; } default "19310"; } typedef l1_Frequency100GHzZRP { type uint32 { range "19130..19610"; } default "19310"; } typedef l1_Frequency100MHzZR { type uint32 { range "1913000..1961000"; } default "1931000"; } typedef l1_Frequency100MHzZRP { type uint32 { range "1913000..1961000"; } default "1931000"; } typedef l1_Frequency50GHzZR { type uint32 { range "19130..19610"; } default "19310"; } typedef l1_Frequency50GHzZRP { type uint32 { range "19130..19610"; } default "19310"; } // GTP hash v4 or v6 typedef l1_GtpHashMode { type enumeration { enum disable { value 0; description "Disable GTP"; } enum v4 { value 1; description "v4"; } enum v6 { value 2; description "v6"; } } default "disable"; } // Inherit Bandwidth typedef l1_InheritBw { type uint32 { range "0..4294967295"; } default "4294967295"; } typedef l1_Intf { type enumeration { enum present { value 0; } enum deleted { value 1; } } default "present"; } // ethpm Interface type typedef l1_IntfT { type enumeration { enum phy { value 1; } enum phy-shared { value 2; } } default "phy"; } // ITU typedef l1_ItuChannel { type uint32 { range "1..96"; } default "32"; } typedef l1_ItuChannel50GHzZR { type uint32 { range "1..97"; } default "61"; } typedef l1_ItuChannel50GHzZRP { type uint32 { range "1..97"; } default "61"; } // Port Layer typedef l1_Layer { type enumeration { enum Layer1 { value 0; description "Layer1"; } enum Layer2 { value 1; description "switched"; } enum Layer3 { value 2; description "routed"; } } default "Layer2"; } // Link active-jitter-management enabled or disabled typedef l1_LinkActiveJitterMgmt { type enumeration { enum enable { value 1; description "enable-jitter-mgmt"; } enum disable { value 0; description "disable-jitter-mgmt"; } } default "disable"; } // Link debounce interval typedef l1_LinkDebounce { type uint16 { range "0..20000"; } default "100"; } // Link debounce interval for Linkup Timer typedef l1_LinkDebounceLinkUp { type uint16 { range "0..10000"; } default "0"; } typedef l1_LinkFlapErrDis { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } // Link logging typedef l1_LinkLog { type enumeration { enum default { value 1; } enum enable { value 2; } enum disable { value 3; } } default "default"; } // Link loopback configuration whether enabled or disabled typedef l1_LinkLoopback { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } // Link Mac Up Timer typedef l1_LinkMacUpTimer { type uint16 { range "0..120"; } default "0"; } // Link Transmit Reset whether enabled or disabled typedef l1_LinkTransmitReset { type enumeration { enum enable { value 1; description "no-skip"; } enum disable { value 0; description "skip"; } } default "enable"; } // Load Interval typedef l1_LoadIntvl { type uint16 { range "5..300"; } default "30"; } // Load Interval typedef l1_LoadIntvl3 { type uint16 { range "0..300"; } default "0"; } typedef l1_LogEventBitmap { type string; } typedef l1_MaxFlaps { type uint16 { range "2..30"; } default "30"; } // Mdix mode typedef l1_Mdix { type enumeration { enum auto { value 1; } enum mdi { value 2; } enum mdi-x { value 3; } } default "auto"; } // Phy Media Type typedef l1_MediaType { type enumeration { enum none { value 0; description "none"; } enum 10g-tx { value 1; description "10G-TX"; } } default "none"; } // Medium typedef l1_Medium { type enumeration { enum broadcast { value 1; } enum p2p { value 2; } } default "broadcast"; } // Port mode typedef l1_Mode { type enumeration { enum access { value 1; } enum trunk { value 2; } enum fex-fabric { value 3; } enum dot1q-tunnel { value 4; } enum promiscuous { value 5; } enum host { value 6; } enum trunk_secondary { value 7; } enum trunk_promiscuous { value 8; } enum vntag { value 9; } } default "access"; } typedef l1_ModulationZR { type enumeration { enum 16QAM { value 1; } } default "16QAM"; } typedef l1_ModulationZRP { type enumeration { enum 16QAM { value 1; } enum 8QAM { value 2; } enum QPSK { value 3; } } default "16QAM"; } // Module Type typedef l1_Module { type enumeration { enum lc { value 0; } enum sup { value 1; } } default "lc"; } // MTU typedef l1_Mtu { type uint32 { range "576..9216"; } default "1500"; } typedef l1_MuxponderZR { type enumeration { enum 1x400 { value 1; } enum 4x100 { value 2; } } default "1x400"; } typedef l1_MuxponderZRP { type enumeration { enum 1x400 { value 1; } enum 4x100 { value 2; } enum 3x100 { value 3; } enum 2x100 { value 4; } enum 1x100 { value 5; } } default "1x400"; } // Oper error disable reason typedef l1_OperErrDisQual { type l1_OperStQual; } // Oper Status typedef l1_OperSt { type enumeration { enum unknown { value 0; description "unknown"; } enum down { value 1; description "down"; } enum up { value 2; description "up"; } enum link-up { value 3; description "link-up"; } } default "down"; } // Oper State Reason Labels here are based off status values: infra/if_manager/if_manager_cmd.h Some labels have spaces due to limitations of python restapi which assumes // uniqueness between labels typedef l1_OperStQual { type enumeration { enum unknown { value 0; description "down"; } enum up { value 1; } enum admin-down { value 2; description "disabled"; } enum link-down { value 3; description "parentEthDown"; } enum fail { value 4; } enum no-license { value 5; description "portLicNtAvl"; } enum link-up { value 6; description "link-up-connected"; } enum hw-fail { value 7; description "faulty"; } enum sw-fail { value 8; description "faulty "; } enum err-disabled { value 9; description "err-disabled"; } enum sfp-missing { value 10; description "sfpAbsent"; } enum loopback-diag-failure { value 11; description "faulty"; } enum udld-unidir-detected { value 12; description "udldUnidir"; } enum udld-tx-rx-loop { value 13; description "udldLoop"; } enum udld-neighbor-mismatch { value 14; description "udldMismatch"; } enum udld-empty-echo { value 15; description "udldEmpEcho"; } enum udld-aggressive-mode-link-failed { value 16; description "udldAggr"; } enum link-flap-err { value 17; description "linkFlapErr"; } enum err-disabled-ip-conflict { value 18; description "conflctErrDis"; } enum ipqos-dcbxp-compat-failure { value 19; description "ipQosDcbxpCompatFailure"; } enum link-failure { value 20; description "notconnect"; } enum offline { value 21; description "offline"; } enum initializing { value 22; description "init"; } enum inactive { value 23; description "inactive"; } enum channel-admin-down { value 24; description "channelDown"; } enum channel-err-disabled { value 25; description "Channel error-disabled-err-disabled"; } enum suspended { value 26; description "suspnd"; } enum proto-port-suspend { value 27; description "portSuspnd"; } enum channel-membership-update-in-progress { value 28; description "channelUpdate"; } enum parent-down { value 29; description "parentDown"; } enum parent-admin-down { value 30; description "adminDown-parentDown"; } enum interface-removed { value 31; description "ifRemoved"; } enum fcot-no-present { value 32; description "fcotAbsent"; } enum fcot-vendor-not-supported { value 33; description "SFP vendor not supported-err-disabled"; } enum incompatible-admin-mode { value 34; description "errDisabledIncompatPortMode-err-disabled"; } enum incompatible-admin-speed { value 35; description "errDisabledIncompatPortSpeed-err-disabled"; } enum suspended-by-mode { value 36; description "suspended"; } enum suspended-by-speed { value 37; description "suspended"; } enum domain-max-retransmission-failure { value 38; description "isolated"; } enum loopback-isolation { value 39; description "isolated"; } enum upgrade-in-progress { value 40; description "modUpgrade"; } enum port-channel-members-down { value 41; description "noOperMembers"; } enum ethernet-link-down { value 42; description "parentEthDown"; } enum ethernet-interface-down { value 43; description "interface-parentEthDown"; } enum admin-config-change { value 44; description "adminCfgChng"; } enum module-removed { value 45; description "modRemoved"; } enum vrf-unusable { value 46; description "vrfUnusable"; } enum none { value 47; description "connected"; } enum xcvr-initializing { value 48; description "sfpInit"; } enum cap-absent { value 49; description "capAbsent"; } enum sfp-eth-compliant-err { value 50; description "xcvrEthComplianceErr"; } enum sdp-timeout { value 51; description "SDP timeout/SFP Mismatch"; } enum sat-incompat-topo { value 52; description "FEX identity mismatch"; } enum sat-not-configured { value 53; description "FEX not configured"; } enum auth-fail { value 54; description "xcvrAuthFailed"; } enum auth-pending { value 55; description "authPending"; } enum suspended-due-to-minlinks { value 56; description "suspendedMinLinks"; } enum suspended-due-to-no-lacp-pdus { value 57; description "suspended(no LACP PDUs)"; } enum sat-fabric-if-down { value 58; description "fabrcIfDown"; } enum invalid-sat-fabric-if { value 59; description "invalidFbIf"; } enum fex-sfp-invalid { value 60; description "FEX-fabric sfp invalid"; } enum suspend-by-mtu { value 61; description "mtuFailure"; } enum suspend-by-vpc { value 62; description "suspndByVpc"; } enum router-mac-failure { value 63; description "routrmacFail"; } enum xcvr-auth-failed { value 64; description "xcvrAuthFailed"; } enum non-sticky-externally-disabled { value 65; description "ServDisab"; } enum sfp-speed-mismatch { value 66; description "xcvrSpeedMismatch"; } enum fcot-chksum-err { value 67; description "SFP checksum error"; } enum xcvr-invalid { value 68; description "Transceiver validation failed"; } enum vpc-peer-link-down { value 69; description "vpcPeerLinkDown"; } enum vpc-cfg-in-progress { value 70; description "vpcConfigInProgress"; } enum vpc-no-response-from-peer { value 71; description "noRespFrmVpc"; } enum bpdu-guard-err-disable { value 72; description "BPDUGuard errDisable"; } enum hot-standby-in-bundle { value 73; description "htStdbyInBndl"; } enum handshake-fail-errdisable { value 74; description "intFailErrDis"; } enum non-participating { value 75; description "nonParticipating"; } enum rcf-in-progress { value 76; description "rcfInProgress"; } enum elp-failure-isolation { value 77; description "elpFailureIsolation"; } enum esc-failure-isolation { value 78; description "escFailureIsolation"; } enum domain-overlap-isolation { value 79; description "domainOverlapIsolation"; } enum domain-addr-assign-failure-isolation { value 80; description "domainAddrAssignFailureIsolation"; } enum domain-other-side-eport-isolated { value 81; description "domainOtherSideEportIsolated"; } enum domain-invalid-rcf-received { value 82; description "domainInvalidRcfReceived"; } enum domain-manager-disabled { value 83; description "domainManagerDisabled"; } enum zone-merge-failure-isolation { value 84; description "zoneMergeFailureIsolation"; } enum vsan-mismatch-isolation { value 85; description "vsanMismatchIsolation"; } enum src-port-not-bound { value 86; description "srcPortNotBound"; } enum suspended-by-wwn { value 87; description "suspendedByWwn"; } enum epp-failure { value 88; description "eppFailure"; } enum port-vsan-mismatch-isolation { value 89; description "portVsanMismatchIsolation"; } enum incompatible-admin-rxbbcredit { value 90; description "incompatibleAdminRxbbcredit"; } enum incompatible-admin-rxbufsize { value 91; description "incompatibleAdminRxbufsize"; } enum zone-remote-no-resp-isolation { value 92; description "zoneRemoteNoRespIsolation"; } enum osm-e-port-up { value 93; description "osmEPortUp"; } enum osm-non-e-port-up { value 94; description "osmNonEPortUp"; } enum peer-fcip-closed-tcp-connection { value 95; description "peerFcipClosedTcpConnection"; } enum peer-fcip-reset-tcp-connection { value 96; description "peerFcipResetTcpConnection"; } enum tcp-max-retransmissions { value 97; description "tcpMaxRetransmissions"; } enum tcp-keep-alive-timer-expired { value 98; description "tcpKeepAliveTimerExpired"; } enum tcp-persist-timer-expired { value 99; description "tcpPersistTimerExpired"; } enum tunnel-src-port-removed { value 100; description "tunnelSrcPortRemoved"; } enum tunnel-src-module-not-online { value 101; description "tunnelSrcModuleNotOnline"; } enum invalid-config { value 102; description "invalidConfig"; } enum port-bind-failure { value 103; description "portBindFailure"; } enum fabric-bind-failure { value 104; description "fabricBindFailure"; } enum no-trunk-oper-vsans-isolation { value 105; description "noTrunkOperVsansIsolation"; } enum ficon-vsan-down { value 106; description "ficonVsanDown"; } enum invalid-attachment { value 107; description "invalidAttachment"; } enum port-blocked { value 108; description "portBlocked"; } enum incompatible-admin-rxbbcredit-performance-buf { value 109; description "incompatibleAdminRxbbcreditPerformanceBuf"; } enum too-many-invalid-flogis { value 110; description "tooManyInvalidFlogis"; } enum denied-due-to-port-binding { value 111; description "deniedDueToPortBinding"; } enum elp-failure-revision-mismatch { value 112; description "elpFailureRevisionMismatch"; } enum elp-failure-classf-param-err { value 113; description "elpFailureClassfParamErr"; } enum elp-failure-classn-param-err { value 114; description "elpFailureClassnParamErr"; } enum elp-failure-unknown-flow-ctl-code { value 115; description "elpFailureUnknownFlowCtlCode"; } enum elp-failure-invalid-flow-ctl-param { value 116; description "elpFailureInvalidFlowCtlParam"; } enum elp-failure-invalid-port-name { value 117; description "elpFailureInvalidPortName"; } enum elp-failure-invalid-switch-name { value 118; description "elpFailureInvalidSwitchName"; } enum elp-failure-ratov-edtov-mismatch { value 119; description "elpFailureRatovEdtovMismatch"; } enum elp-failure-loopback-detected { value 120; description "elpFailureLoopbackDetected"; } enum elp-failure-invalid-tx-bbcredit { value 121; description "elpFailureInvalidTxBbcredit"; } enum elp-failure-invalid-payload-size { value 122; description "elpFailureInvalidPayloadSize"; } enum bundle-miscfg { value 123; description "bundleMiscfg"; } enum bit-err-rt-thres-exceeded { value 124; description "bitErrRtThresExceeded"; } enum link-fail-link-reset { value 125; description "linkFailLinkReset"; } enum link-fail-port-init-failed { value 126; description "linkFailPortInitFailed"; } enum link-fail-port-unusable { value 127; description "linkFailPortUnusable"; } enum link-fail-loss-of-signal { value 128; description "linkFailLossOfSignal"; } enum link-fail-loss-of-sync { value 129; description "linkFailLossOfSync"; } enum link-fail-nos-rcvd { value 130; description "linkFailNosRcvd"; } enum link-fail-ols-rcvd { value 131; description "linkFailOlsRcvd"; } enum link-fail-debounce-timeout { value 132; description "linkFailDebounceTimeout"; } enum link-fail-lr-rcvd-b2b { value 133; description "linkFailLrRcvdB2b"; } enum link-fail-credit-loss { value 134; description "linkFailCreditLoss"; } enum link-fail-rx-que-overflow { value 135; description "linkFailRxQueOverflow"; } enum link-fail-too-many-intr { value 136; description "linkFailTooManyIntr"; } enum link-fail-lip-rcvd-b2b { value 137; description "linkFailLipRcvdB2b"; } enum link-fail-credit-loss-b2b { value 138; description "linkFailCreditLossB2b"; } enum link-fail-opny-tmo-b2b { value 139; description "linkFailOpnyTmoB2b"; } enum link-fail-opny-ret-b2b { value 140; description "linkFailOpnyRetB2b"; } enum link-fail-lip-f8-rcvd { value 141; description "linkFailLipF8Rcvd"; } enum link-fail-line-card-port-shutdown { value 142; description "linkFailLineCardPortShutdown"; } enum fcsp-authent-failure { value 143; description "fcspAuthentFailure"; } enum ohms-external-lb-test { value 144; description "ohmsExternalLbTest"; } enum invalid-fabric-binding-exchange { value 145; description "invalidFabricBindingExchange"; } enum tov-mismatch { value 146; description "tovMismatch"; } enum ficon-not-enabled { value 147; description "ficonNotEnabled"; } enum ficon-no-portnumber { value 148; description "ficonNoPortnumber"; } enum ficon-being-enabled { value 149; description "ficonBeingEnabled"; } enum eport-prohibited { value 150; description "eportProhibited"; } enum trunk-not-fully-active { value 151; description "trunkNotFullyActive"; } enum fabric-binding-swwn-not-found { value 152; description "fabricBindingSwwnNotFound"; } enum fabric-binding-domain-invalid { value 153; description "fabricBindingDomainInvalid"; } enum fabric-binding-database-mismatch { value 154; description "fabricBindingDatabaseMismatch"; } enum fabric-binding-peer-not-responding { value 155; description "fabricBindingPeerNotResponding"; } enum tracked-port-down { value 156; description "trackedPortDown"; } enum ec-suspended-for-loop { value 157; description "ecSuspendedForLoop"; } enum isolate-bundle-miscfg { value 158; description "isolateBundleMiscfg"; } enum peer-not-support-bundles { value 159; description "peerNotSupportBundles"; } enum port-bringup-isolation { value 160; description "portBringupIsolation"; } enum domain-not-allowed-isolation { value 161; description "domainNotAllowedIsolation"; } enum virtual-ivr-domain-overlap-isolation { value 162; description "virtualIvrDomainOverlapIsolation"; } enum out-of-service { value 163; description "outOfService"; } enum bundle-stdby { value 164; description "bundleStdby"; } enum port-cap-fc-port-connector-type-err { value 165; description "portCapFcPortConnectorTypeErr"; } enum error-disabled-reinit-limit-reached { value 166; description "errorDisabledReinitLimitReached"; } enum ficon-vsan-duplicate-portnum { value 167; description "ficonVsanDuplicatePortnum"; } enum internal-rcf-in-progress { value 168; description "internalRcfInProgress"; } enum two-switches-with-same-wwn { value 169; description "twoSwitchesWithSameWwn"; } enum invalid-other-princ-efp-req-recd { value 170; description "invalidOtherPrincEfpReqRecd"; } enum domain-isolation-unknown-reason { value 171; description "domainIsolationUnknownReason"; } enum elp-failure-all-zero-peer-wwn-rcvd { value 172; description "elpFailureAllZeroPeerWwnRcvd"; } enum prefered-path-isolation { value 173; description "preferedPathIsolation"; } enum fc-redirect-isolation { value 174; description "fcRedirectIsolation"; } enum port-act-license-not-available { value 175; description "portActLicenseNotAvailable"; } enum sdm-isolation { value 176; description "sdmIsolation"; } enum fcid-allocation-failed { value 177; description "fcidAllocationFailed"; } enum externally-disabled { value 178; description "externallyDisabled"; } enum fcot-read-error { value 179; description "fcotReadError"; } enum port-guard-down-on-link-failure { value 180; description "portGuardDownOnLinkFailure"; } enum incomplete-config { value 181; description "incompleteConfig"; } enum incomplete-tunnel-config { value 182; description "incompleteTunnelConfig"; } enum hw-programming-failed { value 183; description "hwProgrammingFailed"; } enum tunnel-dest-not-reachable { value 184; description "tunnelDestNotReachable"; } enum sfp-invalid { value 185; description "sfpInvalid"; } enum tunnel-vrf-mismatch { value 186; description "tunnelVrfMismatch"; } enum tunnel-vrf-fw-ref { value 187; description "tunnelVrfFwRef"; } enum duplicate-tunnel-cfg { value 188; description "duplicateTunnelCfg"; } enum primary-vlan-down { value 189; description "primaryVlanDown"; } enum dot1x-security-errdisable { value 190; description "dot1xSecurityErrdisable"; } enum vf-tagging-capability-err { value 191; description "vfTaggingCapabilityErr"; } enum port-disabled { value 192; description "portDisabled"; } enum tunnel-mode-not-configured { value 193; description "tunnelModeNotConfigured"; } enum tunnel-source-not-configured { value 194; description "tunnelSourceNotConfigured"; } enum tunnel-destination-not-configured { value 195; description "tunnelDestinationNotConfigured"; } enum tunnel-unable2resolve-source-ipaddress { value 196; description "tunnelUnable2resolveSourceIpaddress"; } enum tunnel-unable2resolve-destination-ipaddress { value 197; description "tunnelUnable2resolveDestinationIpaddress"; } enum tunnel-vrf-is-down { value 198; description "tunnelVrfIsDown"; } enum sif-admin-down { value 199; description "sifAdminDown"; } enum phy-intf-down { value 200; description "phyIntfDown"; } enum intf-sif-limit-exceeded { value 201; description "intfSifLimitExceeded"; } enum insufficient-power { value 202; description "insufficientPower"; } enum no-fcoe { value 203; description "noFcoe"; } enum dcx-compat-mismatch { value 204; description "dcxCompatMismatch"; } enum isolate-bundle-limit-exceeded { value 205; description "isolateBundleLimitExceeded"; } enum sif-not-bound { value 206; description "sifNotBound"; } enum err-disable-lacp-miscfg { value 207; description "errDisableLacpMiscfg"; } enum errdisabled-pkt-err { value 208; description "errdisabledPktErr"; } enum vlan-vsan-mapping-not-enabled { value 209; description "vlanVsanMappingNotEnabled"; } enum stp-not-forwarding-in-fcoe-mapped-vlan { value 210; description "stpNotForwardingInFcoeMappedVlan"; } enum module-offline { value 211; description "moduleOffline"; } enum stp-inconsist-vpc-peerlink-errdisable { value 212; description "stpInconsistVpcPeerlinkErrdisable"; } enum set-port-state-failed-errdisable { value 213; description "setPortStateFailedErrdisable"; } enum tunnel-source-down { value 214; description "tunnelSourceDown"; } enum cdp-info-not-avail { value 215; description "cdpInfoNotAvail"; } enum fcot-clk-rate-mismatch { value 216; description "fcotClkRateMismatch"; } enum port-guard-down-on-trustsec-violation { value 217; description "portGuardDownOnTrustsecViolation"; } enum wait-for-flogi { value 218; description "waitForFlogi"; } enum npiv-not-enabled-in-upstream { value 219; description "npivNotEnabledInUpstream"; } enum vsan-mismatch-with-upstream-switch-port { value 220; description "vsanMismatchWithUpstreamSwitchPort"; } enum port-guard-bit-error-rate { value 221; description "portGuardBitErrorRate"; } enum port-guard-signal-loss { value 222; description "portGuardSignalLoss"; } enum port-guard-sync-loss { value 223; description "portGuardSyncLoss"; } enum port-guard-link-reset { value 224; description "portGuardLinkReset"; } enum port-guard-credit-loss { value 225; description "portGuardCreditLoss"; } enum ipqos-mgr-policy-app-failed { value 226; description "ipqosMgrPolicyAppFailed"; } enum pause-rate-limit-errdisable { value 227; description "pauseRateLimitErrdisable"; } enum lstgrp-uplink-down { value 228; description "lstgrpUplinkDown"; } enum sticky-down-on-link-failure { value 229; description "stickyDownOnLinkFailure"; } enum dcx-multiple-msap-ids-errdisable { value 230; description "dcxMultipleMsapIdsErrdisable"; } enum dcx-100-pdus-rcvd-noack-errdisable { value 231; description "dcx100PdusRcvdNoackErrdisable"; } enum enm-sat-incompat-uplink { value 232; description "enmSatIncompatUplink"; } enum enm-loop-detected { value 233; description "enmLoopDetected"; } enum sub-group-id-not-assigned { value 234; description "subGroupIdNotAssigned"; } enum vem-unlicensed { value 235; description "vemUnlicensed"; } enum profile-not-found { value 236; description "profileNotFound"; } enum vlan-does-not-exist { value 237; description "vlanDoesNotExist"; } enum vlan-type { value 238; description "vlanType"; } enum vlan-down { value 239; description "vlanDown"; } enum vpc-peer-upgrade { value 240; description "vpcPeerUpgrade"; } enum non-cisco-hba-vftag { value 241; description "nonCiscoHbaVftag"; } enum domain-id-config-mismatch { value 242; description "domainIdConfigMismatch"; } enum xcvr-absent { value 243; description "xcvrAbsent"; } enum vfc-binding-invalid { value 244; description "vfcBindingInvalid"; } enum vlan-not-fcoe-enabled { value 245; description "vlanNotFcoeEnabled"; } enum pvlan-native-vlan-err { value 246; description "pvlanNativeVlanErr"; } enum eth-l2-vlan-down { value 247; description "ethL2VlanDown"; } enum eth-intf-invalid-binding { value 248; description "ethIntfInvalidBinding"; } enum pmon-failure { value 249; description "pmonFailure"; } enum l3-not-ready { value 250; description "l3NotReady"; } enum speed-mismatch { value 251; description "speedMismatch"; } enum flowcontrol-mismatch { value 252; description "flowcontrolMismatch"; } enum vdc-mode { value 253; description "vdcMode"; } enum enm-pin-fail-link-down { value 254; description "enmPinFailLinkDown"; } enum inactive-m1-port-fpath-access-vlan { value 255; description "inactiveM1PortFpathAccessVlan"; } enum chassis-mismatch { value 256; description "chassisMismatch"; } } default "admin-down"; } // Oper state reason code typedef l1_OperStQualCode { type uint32; } // Packet timestamp Source id typedef l1_PacketTimestampSourceId { type uint32 { range "0..8388606"; } default "0"; } // Packet timestamping state whether enabled or disabled typedef l1_PacketTimestampState { type enumeration { enum disable { value 0; description "Timestamp disabled"; } enum enable-ingress { value 1; description "Timestamp enabled in ingress"; } enum enable-egress { value 2; description "Timestamp enabled in egress"; } enum enable-both { value 3; description "Timestamp enable both in ingress and egress"; } } default "disable"; } // Phy layer/Port type typedef l1_PhyLayer { type enumeration { enum ethernet { value 2; } enum sup-inband { value 4; } enum eobc { value 5; } enum mgmt { value 6; } enum max { value 8; } } default "ethernet"; } // Storm Control Policer Packet Type typedef l1_PktT { type enumeration { enum bcast { value 1; } enum unk-ucast { value 2; } enum mcast { value 3; } enum all { value 4; } } default "all"; } // Port type External : Type of port that the interface is facing typedef l1_PortTypeExternal { type enumeration { enum no { value 0; description "no"; } enum yes { value 1; description "yes"; } } default "no"; } // Port type Fabric : Type of port that the interface is facing typedef l1_PortTypeFabric { type enumeration { enum no { value 0; description "no"; } enum yes { value 1; description "yes"; } } default "no"; } // Port usage typedef l1_PortUsage { type string; default "discovery"; } typedef l1_RouterMacIpv6Extract { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } // Snmp trap state typedef l1_SnmpTrapSt { type enumeration { enum enable { value 1; } enum disable { value 2; } } default "enable"; } // Span mode typedef l1_SpanMode { type enumeration { enum not-a-span-dest { value 1; } enum span-dest { value 2; } enum span-dest-fwd { value 3; } enum span-dest-fwd-learn { value 4; } } default "not-a-span-dest"; } // Speed typedef l1_Speed { type enumeration { enum unknown { value 0; description "Unspecified"; } enum 100M { value 2; description "100 Mbps"; } enum 1G { value 3; description "1 Gbps"; } enum 10G { value 4; description "10 Gbps"; } enum 40G { value 5; description "40 Gbps"; } enum auto { value 6; description "auto"; } enum auto_100M { value 7; description "auto 100 Mbps"; } enum auto_100M_1G { value 8; description "auto 100 Mbps/1Gbps"; } enum 100G { value 9; description "100 Gbps"; } enum 25G { value 10; description "25G Gbps"; } enum 10M { value 11; description "10 Mbps"; } enum 50G { value 12; description "50 Gbps"; } enum 200G { value 13; description "200 Gbps"; } enum 400G { value 14; description "400 Gbps"; } enum 2.5G { value 15; description "2.5 Gbps"; } enum 5G { value 16; description "5 Gbps"; } enum auto_2.5G_5G_10G { value 17; description "auto 2.5 Gbps/5Gbps/10Gbps"; } enum auto_100M_1G_2.5G_5G { value 18; description "auto 100M/1Gbps/2.5Gbps/5Gbps"; } enum 800G { value 19; description "800 Gbps"; } } default "auto"; } // Speed Group typedef l1_SpeedGroup { type enumeration { enum unknown { value 0; description "Unspecified"; } enum 1000 { value 3; description "1 Gbps"; } enum 25000 { value 10; description "25 Gbps"; } enum 10000 { value 4; description "10 Gbps"; } enum 40000 { value 5; description "40 Gbps"; } enum auto { value 6; description "auto"; } } default "auto"; } // Types for QDD-400G-ZR typedef l1_SpeedZR { type enumeration { enum 400G { value 1; } enum 100G { value 2; } } default "400G"; } // Types for QDD-400G-ZRP typedef l1_SpeedZRP { type enumeration { enum 400G { value 1; } enum 300G { value 2; } enum 200G { value 3; } enum 100G { value 4; } } default "400G"; } typedef l1_StormCtrlAct { type string; default "none"; } typedef l1_StormCtrlPPS { type uint32 { range "0..4294967295"; } default "4294967295"; } // Storm Control Policer Packet Rate PPS Max range is arrived at by using pkt size of 256 bytes // for 1 G link = ((1/8)/256))*(10^9) = 488281 // for 10 G link = ((10/8)/256)*(10^9) = 4882812 // for 40 G link = ((40/8)/256)*(10^9) = 19531250 // for 100 G link = ((100/8)/256)*(10^9) = 48828125 typedef l1_StormCtrlPps { type uint32 { range "0..4294967295"; } default "4294967295"; } // Storm Control Policer Packet Rate typedef l1_StormCtrlRate { type decimal64 { fraction-digits 6; range "0..100"; } default "100"; } // switching state typedef l1_SwitchingSt { type enumeration { enum disabled { value 0; } enum enabled { value 1; } } default "disabled"; } typedef l1_SwitchportBlock { type string; } typedef l1_SwitchportIsolated { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef l1_SwitchportVirtualEthernetBridge { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } // Trans mode typedef l1_TransMode { type enumeration { enum not-a-trans-port { value 1; } enum trans-port { value 2; } } default "not-a-trans-port"; } typedef l1_TransmitPowerZR { type int32 { range "-190..50"; } default "-10"; } typedef l1_TransmitPowerZRP { type int32 { range "-190..50"; } default "-10"; } // Trunk logging typedef l1_TrunkLog { type enumeration { enum default { value 1; } enum enable { value 2; } enum disable { value 3; } } default "default"; } // Port Tx Type typedef l1_TxT { type enumeration { enum unknown { value 1; } enum LL { value 2; } enum SN { value 3; } enum LC { value 4; } enum EL { value 5; } enum 10GBASE-SR { value 6; } enum 10GBASE-LR { value 7; } enum 10GBASE-ER { value 8; } enum 10GBASE-LX4 { value 9; } enum 10GBASE-SW { value 10; } enum 10GBASE-LW { value 11; } enum 10GBASE-EW { value 12; } } default "unknown"; } typedef l1_TypeName { type enumeration { enum none { value 0; } enum QDD-400G-ZR-S { value 1; } enum QDD-400G-ZRP-S { value 2; } } default "none"; } // Uni-Directional Ethernet whether enabled or disabled typedef l1_UniDirectionalEthernet { type enumeration { enum disable { value 0; description "Disable UDE"; } enum send-only { value 1; description "UDE TX only"; } enum receive-only { value 2; description "UDE RX only"; } } default "disable"; } // VDC state typedef l1_VdcSt { type enumeration { enum not-created { value 0; } enum created { value 1; } enum cleanup { value 2; } } default "not-created"; } typedef l1_VethCapFlags { type string; } typedef l1_VethCfgCtrl { type string; } // The mgmt id is another identifier used by the mgmt application like UCSM, // to identify the interface. This can be different from the id assigned to the interface. typedef l1_VethMgmtId { type uint32; } // Virtual Ethernet Interface related type definitions typedef l1_VethState { type enumeration { enum none { value 0; description "None State"; } enum created { value 1; description "Veth Created"; } enum attached { value 2; description "Veth Attached"; } enum detached { value 3; description "Veth Detached"; } enum removed { value 4; description "Veth Removed"; } } } typedef l1_VifCount { type uint16 { range "0..4096"; } default "0"; } // Types for NIV typedef l1_VntagMode { type enumeration { enum off { value 0; description "Vntag Mode Off"; } enum on { value 1; description "Vntag Mode On"; } enum force { value 2; description "Vntag Mode Force"; } enum max { value 3; description "Vntag Max Mode. Error."; } } default "off"; } // Voice VLAN COS typedef l1_VoicePortCos { type int8 { range "-1..7"; } default "-1"; } // Voice VLAN Trust typedef l1_VoicePortTrust { type int8; default "-1"; } // Voice VLAN ID values typedef l1_VoiceVlanId { type uint16 { range "0..4092"; } default "0"; } // Voice VLAN Type options typedef l1_VoiceVlanType { type enumeration { enum none { value 0; description "none"; } enum tagged { value 1; description "tagged"; } enum dot1p { value 2; description "dot1p"; } enum untagged { value 3; description "untagged"; } } default "none"; } typedef l1_Wavelength50GHzZR { type uint32 { range "1528773..1567133"; } default "1552524"; } typedef l1_Wavelength50GHzZRP { type uint32 { range "1528773..1567133"; } default "1552524"; } // Chassis Adaptor Mode typedef l1_adaptorMode { type enumeration { enum I-N { value 0; } enum I-Y { value 1; } enum S-N { value 2; } enum S-Y { value 3; } enum U-N { value 4; } enum U-Y { value 5; } enum Unknown { value 6; } } default "Unknown"; } typedef l1_cdMaxZR { type int32 { range "-2400..2400"; } default "2400"; } typedef l1_cdMaxZRP { type int32 { range "-160000..160000"; } default "13000"; } typedef l1_cdMinZR { type int32 { range "-2400..2400"; } default "-2400"; } typedef l1_cdMinZRP { type int32 { range "-160000..160000"; } default "-13000"; } // Chassis Number typedef l1_chassisNo { type uint32 { range "0..255"; } default "0"; } // Server Port device type typedef l1_deviceType { type enumeration { enum Unknown { value 0; } enum Server { value 1; } } default "Unknown"; } typedef l1_dwdmCarrierZR { type enumeration { enum 100MHzFrequency { value 1; description "100MHz Frequency"; } enum 50GHzFrequency { value 2; description "50GHz Frequency"; } enum 50GHzITUchannel { value 3; description "50GHz ITU Channel"; } enum 50GHzWavelength { value 4; description "50GHz Wavelength"; } enum 100GHzFrequency { value 5; description "100GHz Frequency"; } } default "100MHzFrequency"; } typedef l1_dwdmCarrierZRP { type enumeration { enum 100MHzFrequency { value 1; description "100MHz Frequency"; } enum 50GHzFrequency { value 2; description "50GHz Frequency"; } enum 50GHzITUchannel { value 3; description "50GHz ITU Channel"; } enum 50GHzWavelength { value 4; description "50GHz Wavelength"; } enum 100GHzFrequency { value 5; description "100GHz Frequency"; } } default "100MHzFrequency"; } // Fabric Id typedef l1_fabricId { type enumeration { enum Unknown { value 0; } enum Left { value 1; } enum Right { value 2; } } default "Unknown"; } typedef l1_l1IfAccessVlan { type string; default "vlan-1"; } typedef l1_l1IfNativeVlan { type string; default "vlan-1"; } typedef l1_l1IfTrunkVlans { type l2_VlanBitmap; default "1-4094"; } // Module Side typedef l1_moduleSide { type enumeration { enum UnknownSlot { value 0; } enum LeftIoModuleSlot { value 1; } enum RightIoModuleSlot { value 2; } } default "UnknownSlot"; } // Chassis Port Status typedef l1_portStatus { type enumeration { enum Unknown { value 0; } enum Present { value 1; } enum Active { value 2; } enum Mismatch { value 3; } } default "Unknown"; } // Chassis Remote Port No typedef l1_remotePortNo { type uint16 { range "0..60000"; } default "0"; } // Server Port Status typedef l1_serverPortStatus { type enumeration { enum Unknown { value 0; } enum Present { value 1; } } default "Unknown"; } // mac-learn Cfg State typedef l1_switchportMacLearn { type enumeration { enum disable { value 0; description "Disabled"; } enum enable { value 1; description "Enabled"; } } default "enable"; } // Switchport mac-address State typedef l1_switchportMacPermit { type enumeration { enum all { value 0; description "All"; } enum static-only { value 1; description "Static Mac only enabled"; } } default "all"; } typedef l1_translatevlanid { type string; default "vlan-1"; } // User Configured Flags typedef l1_userCfgdFlags { type string; default "none"; } // Vsan assoc state typedef l2_AssocOperSt { type enumeration { enum oper { value 0; } enum non-oper { value 1; } } default "oper"; } // BD bridging mode typedef l2_BridgeMode { type enumeration { enum ip { value 1; description "Bridge with IP"; } enum mac { value 2; description "Bridge with MAC"; } } default "mac"; } // CreateState typedef l2_CreateState { type enumeration { enum created { value 1; } enum removed { value 2; } enum deleted-and-stale { value 3; } } default "removed"; } // admin state of domain typedef l2_DomAdminSt { type enumeration { enum suspend { value 1; } enum active { value 2; } } default "active"; } // Domain controls typedef l2_DomCtrl { type string; default "none"; } // domain id typedef l2_DomId { type uint32 { range "1..4096"; } } // domain mode typedef l2_DomMode { type enumeration { enum CE { value 1; } enum FabricPath { value 2; } } default "CE"; } typedef l2_DomOperId { type uint32 { range "0..16384"; } } // oper state of domain typedef l2_DomOperSt { type enumeration { enum up { value 1; } enum down { value 2; } enum unknown { value 3; } } default "down"; } // domain type typedef l2_DomType { type enumeration { enum bd-regular { value 1; description "BD regular"; } enum bd-reserved { value 2; description "BD reserved"; } enum bd-control { value 3; description "BD control"; } enum bd-external { value 4; description "BD external"; } enum ckt-vlan { value 5; description "Vlan circuit"; } enum ckt-vxlan { value 6; description "Vxlan circuit"; } } default "bd-regular"; } // Enforcement preference typedef l2_EnfPref { type enumeration { enum sw { value 1; description "Software"; } enum hw { value 2; description "Hardware"; } } default "hw"; } // Fex chassis Id typedef l2_ExtChasId { type uint16 { range "0..199"; } default "0"; } // BD forwarding controls typedef l2_FwdCtrl { type string; default "mdst-flood"; } // BD forwarding mode typedef l2_FwdMode { type string; default "route,bridge"; } // Port type typedef l2_MacInfo { type enumeration { enum standard { value 0; description "Standard"; } enum drop { value 1; description "Drop"; } enum svi-down-flood { value 2; description "SVI DOWN FLOOD"; } enum sup-inband-cfsoe { value 3; description "SUP INBAND CFSOE"; } enum vpc-peer-link { value 4; description "VPC peer-link"; } enum nve { value 5; description "NVE"; } enum sup-eth { value 6; description "SUP-ETH"; } enum vpc-leg { value 7; description "VPC leg"; } } default "standard"; } // Mac type typedef l2_MacType { type enumeration { enum unknown { value 0; description "Unknown"; } enum primary { value 1; description "Primary"; } enum gateway { value 2; description "Gateway"; } enum overlay { value 4; description "Overlay"; } enum primary-vpc-peer { value 5; description "Primary MAC using VPC peer-link"; } enum control-plane { value 6; description "Control Plane"; } enum vsan { value 7; description "VSAN"; } } default "primary"; } // Native type typedef l2_NativeT { type enumeration { enum regular { value 0; } enum native { value 1; } enum untagged { value 2; } } default "regular"; } // Mac Packet Classify typedef l2_PktClassify { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } // Private-vlan types typedef l2_PvlanTypes { type enumeration { enum isolated { value 1; description "isolated"; } enum community { value 2; description "community"; } enum primary { value 3; description "primary"; } enum nonOperational { value 4; description "non operational"; } } default "nonOperational"; } typedef l2_UserDefinedLimit { type uint32 { range "16..1256"; } default "16"; } // vdc id typedef l2_VdcId { type uint16 { range "1..4096"; } } typedef l2_VlanBitmap { type mtx_array_bit; } // xconnect state typedef l2_XConnect { type enumeration { enum enable { value 1; } enum disable { value 0; } } default "disable"; } // Subject represents the entitiy to which the capability constraint gets applied typedef l2cap_Subj { type enumeration { enum unknown { value 0; description "Unknown"; } enum vxlan-namespace { value 1; description "VXLAN"; } enum nvgre-namespace { value 2; description "NVGRE"; } enum domain-namespace { value 3; description "L2 Domain (Bridge Domain, Circuit, VLAN)"; } enum tunnel-namespace { value 4; description "Tunnel Interface"; } } default "unknown"; } typedef l2fm_GuardVpcPeergwMac { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } // mac-learn Cfg State typedef l2fm_Learning { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "enable"; } typedef l2fm_LoopDetect { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } typedef l2fm_MacMoveDetectIntvl { type uint32 { range "30..3600"; } default "30"; } typedef l2fm_MacMoveHoldIntvl { type uint32 { range "120..3600"; } default "120"; } typedef l2fm_MacMoveNotification { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "enable"; } typedef l2fm_MacMoveThreshold { type uint32 { range "2..4096"; } default "6"; } typedef l2fm_MtsBuildupCheckIntvl { type uint32 { range "60..600"; } default "60"; } typedef l2fm_MtsBuildupCheckPercent { type uint32 { range "10..50"; } default "40"; } typedef l2pt_Bitmap { type mtx_array_bit; } typedef l2pt_Cos { type uint16 { range "0..7"; } default "5"; } typedef l2pt_Threshold { type uint32 { range "0..4096"; } default "0"; } typedef l2rib_EncapTypeT { type enumeration { enum none { value 0; } enum vxlan { value 1; } enum segment-routing { value 2; } } } // Event history size type typedef l2rib_EvtHistSize { type enumeration { enum default { value 0; description "Default(Low)"; } enum medium { value 1; description "Medium"; } enum high { value 2; description "High"; } enum very-high { value 3; description "Very High"; } } } // Event history buffer type typedef l2rib_EvtHistType { type enumeration { enum client-tbl { value 0; description "Client, Producer, Consumer Tables events"; } enum ead-pl { value 1; description "EAD, Path-List Objects events"; } enum errors { value 2; description "Error logs"; } enum loop-detection { value 3; description "Loop-Detection Events"; } enum mac { value 4; description "MAC object events"; } enum mac-ip { value 5; description "MAC-IP Object events"; } enum misc-obj { value 6; description "IMET, Flood-List, Local-Learn-Signal, Peer ID, Startup-Routes Objects Events"; } enum rmac { value 7; description "Router MAC Object Events"; } enum topology { value 8; description "Topology Object Events"; } enum topo-child-attr { value 9; description "Topo child attr Object Events"; } enum tx-infra { value 10; description "TxList, TxSend, TxThread Events"; } enum server { value 11; description "Sysmgr, PSS, HA Events"; } enum dtx { value 12; description "DTX Events"; } enum fhs { value 13; description "FHS Object Events"; } } } // FHS route flags typedef l2rib_FhsRtFlagsT { type string; } typedef l2rib_GenericFlagsT { type string; } typedef l2rib_ImetRtOriginT { type enumeration { enum unknown { value 0; description "Origin type unknown"; } enum wan { value 1; description "Originated through WAN"; } enum fabric { value 2; description "Originated in the FABRIC"; } } description "Origin type of Imet route"; } typedef l2rib_MacIpRtFlagsT { type string; } typedef l2rib_MacRtFlagsT { type string; } typedef l2rib_MacRtResolutionT { type enumeration { enum mac-res-unknown { value 0; description "MAC resolution unknown; do not use paths from MAC route"; } enum mac-res-regular { value 1; description "Do not resolve; use paths from MAC route"; } enum mac-res-esi { value 2; description "ESI resolution via EAD routes for EVPN"; } enum mac-res-bmac { value 3; description "Populate path-lists indexed by BMAC address."; } enum mac-res-peer-sync { value 4; description "Routes from the ESI-peer. No need for Peerid/ESI resolution"; } } } typedef l2rib_ProducerStT { type enumeration { enum initial { value 0; description "Producer was created on BIND event"; } enum staled { value 1; description "Producer is disconnected"; } enum reconnected { value 2; description "Producer reconnected before expiration of purge timer"; } enum converged { value 3; description "Producer got EOC"; } enum delete-pending { value 4; description "Producer waiting for deletion"; } } } typedef l2rib_TopoFlagsT { type string; } typedef l2rib_TopoSubFlagsT { type string; } // Topology typedef l2rib_TopoTypeT { type enumeration { enum none { value 0; } enum vni { value 1; } enum evi { value 2; } } } // BGP RD Size based off of BGP_RD_LEN typedef l3_BgpRdBytes { type mtx_array_uint8; } // Context type typedef l3_CtxT { type enumeration { enum oob-mgmt { value 1; description "Out of band management"; } enum inb-mgmt { value 2; description "Inband management"; } enum tenant { value 3; description "Tenant"; } } default "tenant"; } // Ip prefix length typedef l3_IpPfxLen { type uint16 { range "0..128"; } default "0"; } // Maximum Prefix typedef l3_MaxLmt { type uint32 { range "0..4294967295"; } default "0"; } typedef l3_MaxRtAct { type enumeration { enum log { value 1; description "Log"; } enum shut { value 2; description "Shutdown"; } enum reinstall { value 3; description "Reinstall"; } } default "shut"; } typedef l3_MaxRtThresh { type uint8 { range "1..100"; } default "100"; } // ttl typedef l3_Ttl { type uint8 { range "0..255"; } default "0"; } // admin state of vrf typedef l3_VrfAdminState { type enumeration { enum shutdown { value 1; } enum admin-up { value 2; } } default "admin-up"; } // vrf gsdb context type typedef l3_VrfGsdbCtxType { type enumeration { enum vrf { value 1; } enum if { value 2; } enum table { value 3; } enum if-table { value 4; } enum if-list { value 5; } enum purge { value 6; } enum vpnid { value 7; } enum source-of-origin { value 8; } enum route-limits { value 9; } } default "if"; } // VRF id typedef l3_VrfId { type uint16 { range "0..65535"; } default "0"; } // VRF name typedef l3_VrfName { type string { pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}"; } } // oper state of vrf typedef l3_VrfOperState { type enumeration { enum up { value 1; } enum down { value 2; } } default "down"; } // oper state reason of vrf typedef l3_VrfOperStateQual { type enumeration { enum admin-down { value 1; } enum admin-down-pending { value 2; } enum delete-holddown { value 3; } enum delete-pending { value 4; } enum invalid { value 5; } enum create-pending { value 6; } } default "admin-down"; } // l3vm sdb as-format typedef l3vm_AsFormatType { type enumeration { enum asplain { value 0; } enum asdot { value 1; } } default "asplain"; } // Port typedef l4_Port { type uint16 { range "0..65535"; } default "0"; } // Activity flags typedef lacp_ActivityFlags { type string; } typedef lacp_FpPortNum { type enumeration { enum enable { value 1; description "Enabled"; } enum disable { value 0; description "Disabled"; } } default "disable"; } // Operational key typedef lacp_Key { type uint16 { range "0..65535"; } } typedef lacp_LACPInstCtrl { type string; } // Operational Mode typedef lacp_PortMode { type enumeration { enum invalid { value 0; description "Invalid"; } enum individual { value 1; description "Individual"; } enum aggregate { value 2; description "Aggregate"; } } default "invalid"; } // Port num typedef lacp_PortNum { type uint16 { range "0..65535"; } } // Port priority typedef lacp_PortPrio { type uint16 { range "1..65535"; } default "32768"; } // System mac typedef lacp_SysMac { type address_Mac; } // System priority typedef lacp_SysPrio { type uint16 { range "1..65535"; } default "32768"; } // Pseudo VPC role typedef lacp_SysRole { type enumeration { enum primary { value 1; description "Primary"; } enum secondary { value 2; description "Secondary"; } } default "primary"; } // Transmit rate typedef lacp_TxRate { type enumeration { enum normal { value 1; description "Normal"; } enum fast { value 2; description "Fast"; } } default "normal"; } typedef lcm_EcmpTemplateL3vpn { type enumeration { enum no { value 0; description "Ecmp template l3vpn - no"; } enum yes { value 1; description "Ecmp template l3vnp - yes"; } } default "no"; } // Logging level type typedef lcm_LoggingLevel { type uint16 { range "0..7"; } default "5"; } // Logging Level typedef lcm_LoggingType { type enumeration { enum Emergencies { value 0; description "Emergencies"; } enum Alerts { value 1; description "Alerts"; } enum Critical { value 2; description "Critical"; } enum Errors { value 3; description "Errors"; } enum Warnings { value 4; description "Warnings"; } enum Notification { value 5; description "Notification"; } enum Information { value 6; description "Information"; } enum Debugging { value 7; description "Debugging"; } } default "Notification"; } typedef lcm_MdbProfileType { type enumeration { enum balanced { value 0; description "enable balanced MDB profile"; } enum balanced-exem { value 1; description "enable balanced-exem MDB profile"; } } default "balanced"; } typedef lcm_ModuleEmonEnhanced { type enumeration { enum disable { value 0; description "disable emon enhanced mode"; } enum enable { value 1; description "enable emon enhanced mode"; } } default "enable"; } typedef lcm_ModuleEmonEnhancedSlowTimeout { type enumeration { enum disable { value 0; description "disable emon enhanced slow timeout mode"; } enum enable { value 1; description "enable emon enhanced slow timeout mode"; } } default "enable"; } typedef lcm_ModuleFailureAction { type enumeration { enum no { value 0; description "action on failure - no"; } enum shutdown { value 1; description "action on failure - shutdown"; } } default "no"; } typedef lcm_MulticastOptimization { type enumeration { enum enable { value 0; description "enable multicast optimization"; } enum disable { value 1; description "disable multicast optimization"; } } default "enable"; } // port range typedef lcm_PortRange { type string { pattern "(\\d+(-\\d+)? *(, *\\d+(-\\d+)? *)*)"; } default "1-54"; } typedef lcm_PortType { type enumeration { enum fc { value 1; description "Port type FC"; } enum ethernet { value 2; description "Port type Ethernet"; } enum fc-bo { value 26; description "Port type FC Breakout"; } } default "ethernet"; } typedef lcm_ProfAclEgExt { type enumeration { enum no { value 0; description "hardware profile acl-eg-ext - no"; } enum yes { value 1; description "hardware profile acl-eg-ext - yes"; } } default "no"; } typedef lcm_ProfAclStats { type enumeration { enum no { value 0; description "hardware profile acl-stats - no"; } enum yes { value 1; description "hardware profile acl-stats - yes"; } } default "no"; } typedef lcm_ProfModAllId { type uint16 { range "0..32"; } default "0"; } typedef lcm_ProfMvpnStats { type enumeration { enum no { value 0; description "hardware profile mvpn-stats - no"; } enum yes { value 1; description "hardware profile mvpn-stats - yes"; } } default "no"; } typedef lcm_ProfVxlanMpls { type enumeration { enum no { value 0; description "hardware profile vxlan/mpls - no"; } enum vxlan { value 1; description "hardware profile vxlan/mpls - vxlan"; } enum mpls { value 2; description "hardware profile vxlan/mpls - mpls"; } } default "no"; } typedef lcm_moduleNumber { type uint16 { range "1..32"; } default "1"; } typedef licensemanager_privacyHostnameType { type enumeration { enum unspecified { value 0; } enum privacyHostnameEnabled { value 1; } } } typedef licensemanager_privacyVersionType { type enumeration { enum unspecified { value 0; } enum privacyVersionEnabled { value 1; } } } typedef licensemanager_transportmodeType { type enumeration { enum transportCallhome { value 0; } enum transportCslu { value 1; } enum transportOff { value 2; } enum transportSmart { value 3; } } } // Adjacency Id typedef lldp_AdjId { type uint16 { range "1..10"; } } // Administrative state typedef lldp_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // Capability typedef lldp_Capability { type string; } // Chassis ID type typedef lldp_ChassisIdT { type uint8; default "0"; } // Chassis id value; FIXME IFC to give ByteArray type typedef lldp_ChassisIdV { type string; } typedef lldp_DCBXPVerType { type enumeration { enum auto { value 0; description "Auto-Detect"; } enum CEE { value 2; description "CEE"; } enum IEEE { value 3; description "IEEE 802.1"; } } default "auto"; } // Hold time typedef lldp_HoldTime { type uint16 { range "1..255"; } default "120"; } // Init delay time typedef lldp_InitDelayTime { type uint16 { range "1..10"; } default "2"; } // Management ip typedef lldp_MgmtIp { type address_Ip; default "0.0.0.0"; } // Management port mac typedef lldp_MgmtPortMac { type address_Mac; default "00:00:00:00:00:00"; } typedef lldp_MgmtVlanId { type uint16 { range "0..4094"; } default "0"; } // Neighbor System Description typedef lldp_NbrSysDesc { type string; } // Optional TLV Selectors typedef lldp_OptTlvSel { type string; default "port-desc,sys-name,sys-desc,sys-cap,mgmt-addr-v4,mgmt-addr-v6,port-vlan,dcbxp,power-mgmt,four-wire-pwr-mgmt,max-framesize,vlan-name,link-aggregation"; } typedef lldp_PortIdSubType { type enumeration { enum long { value 0; description "Long interface name"; } enum short { value 1; description "Short interface name"; } } default "long"; } // Port id type typedef lldp_PortIdT { type uint8; default "0"; } // Port id value; FIXME IFC to give ByteArray type typedef lldp_PortIdV { type string; } // Port vlan typedef lldp_PortVlan { type uint16; default "0"; } // System name typedef lldp_SysName { type string; } // TTL typedef lldp_TTL { type uint16; } // Transmission frequency typedef lldp_TxFreq { type uint16 { range "1..254"; } default "30"; } typedef logging_LoggingEnableAll { type enumeration { enum unspecified { value 0; description "Unspecified logging level"; } enum enableall { value 1; description "Logging enable for all"; } enum disableall { value 2; description "No logging enable for all"; } } } // meter config burst size typedef m6rib_BurstSize { type uint32; default "100"; } // Database type typedef m6rib_DbT { type enumeration { enum client { value 0; description "Client database"; } enum memest { value 1; description "Memory Estimate database"; } enum vrf { value 2; description "Vrf details"; } } } // Event History Buffer Type typedef m6rib_EhType { type enumeration { enum cli { value 0; description "cli events for m6rib"; } enum mdt { value 1; description "MDT events for m6rib"; } enum mfdmDebugs { value 2; description "MFDM debugs events for m6rib"; } enum mfdmEvents { value 3; description "MFDM-events events for m6rib"; } enum mfdmStats { value 4; description "MFDM stats events for m6rib"; } enum notyClients { value 5; description "notify-clients events for m6rib"; } enum rib { value 6; description "RIB events for m6rib"; } enum ribSum { value 7; description "rib-summary events for m6rib"; } enum urib { value 8; description "urib-debugs events for m6rib"; } enum vrf { value 9; description "VRF events for m6rib"; } enum objstoreError { value 10; description "Objstore error events for m6rib"; } enum objstoreEvents { value 11; description "Objstore events for m6rib"; } enum eoc { value 12; description "EOC events for m6rib"; } enum policy { value 13; description "Policy events for m6rib"; } enum pimLib { value 14; description "Pim-library events for m6rib"; } } } // Administrative state typedef m6rib_HoldAdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // Multicast Holddown type typedef m6rib_HoldDownType { type uint16 { range "0..3600"; } default "270"; } // Notify Interval type typedef m6rib_Interval { type uint16 { range "1..1000"; } default "1000"; } // meter config Kbps typedef m6rib_Kbps { type uint32; default "100"; } // Log level type typedef m6rib_LogLevel { type uint16 { range "0..7"; } } typedef m6rib_MfdmSize { type uint32 { range "50..500"; } default "50"; } // Multipath Mode typedef m6rib_MultipathMode { type enumeration { enum none { value 1; description "multiple path none"; } enum s-g-hash { value 2; description "Hash based on Source and Group address"; } enum sg-nexthop-hash { value 3; description "SG hash next-hop based"; } } default "s-g-hash"; } typedef m6rib_PrefixT { type string { pattern ".*[!-~]{0,63}.*"; } } // Multicast Resilient type typedef m6rib_ResilientType { type boolean; default "false"; } // Event History Buffer size in Text/kb typedef m6rib_Size { type uint32 { range "0..4 | 5..4294967295"; } default "0"; } typedef m6rib_TraceCountType { type uint32 { range "0..4294967295"; } } // Allowed Peer Cipher Suite1 typedef macsec_AllowedPeerCipherSuite1 { type enumeration { enum None { value 0; description "none"; } enum GCM-AES-128 { value 1; description "128 bit GCM-AES Suite"; } enum GCM-AES-256 { value 2; description "256 bit GCM-AES Suite"; } enum GCM-AES-XPN-128 { value 3; description "128 bit GCM-AES Suite with Extended Packet Numbering"; } enum GCM-AES-XPN-256 { value 4; description "256 bit GCM-AES Suite with Extended Packet Numbering"; } } default "None"; } // Allowed Peer Cipher Suite2 typedef macsec_AllowedPeerCipherSuite2 { type enumeration { enum None { value 0; description "none"; } enum GCM-AES-128 { value 1; description "128 bit GCM-AES Suite"; } enum GCM-AES-256 { value 2; description "256 bit GCM-AES Suite"; } enum GCM-AES-XPN-128 { value 3; description "128 bit GCM-AES Suite with Extended Packet Numbering"; } enum GCM-AES-XPN-256 { value 4; description "256 bit GCM-AES Suite with Extended Packet Numbering"; } } default "None"; } // Allowed Peer Cipher Suite3 typedef macsec_AllowedPeerCipherSuite3 { type enumeration { enum None { value 0; description "none"; } enum GCM-AES-128 { value 1; description "128 bit GCM-AES Suite"; } enum GCM-AES-256 { value 2; description "256 bit GCM-AES Suite"; } enum GCM-AES-XPN-128 { value 3; description "128 bit GCM-AES Suite with Extended Packet Numbering"; } enum GCM-AES-XPN-256 { value 4; description "256 bit GCM-AES Suite with Extended Packet Numbering"; } } default "None"; } // Allowed Peer Cipher Suite4 typedef macsec_AllowedPeerCipherSuite4 { type enumeration { enum None { value 0; description "none"; } enum GCM-AES-128 { value 1; description "128 bit GCM-AES Suite"; } enum GCM-AES-256 { value 2; description "256 bit GCM-AES Suite"; } enum GCM-AES-XPN-128 { value 3; description "128 bit GCM-AES Suite with Extended Packet Numbering"; } enum GCM-AES-XPN-256 { value 4; description "256 bit GCM-AES Suite with Extended Packet Numbering"; } } default "None"; } // Cipher Suite typedef macsec_CipherSuite { type enumeration { enum enforce-peer { value 0; description "cipher key enforcement feature enabled"; } enum GCM-AES-128 { value 1; description "128 bit GCM-AES Suite"; } enum GCM-AES-256 { value 2; description "256 bit GCM-AES Suite"; } enum GCM-AES-XPN-128 { value 3; description "128 bit GCM-AES Suite with Extended Packet Numbering"; } enum GCM-AES-XPN-256 { value 4; description "256 bit GCM-AES Suite with Extended Packet Numbering"; } } default "GCM-AES-XPN-256"; } // Confidentiality Offset typedef macsec_ConfOffset { type enumeration { enum CONF-OFFSET-0 { value 1; description "Skip 0 bytes"; } enum CONF-OFFSET-30 { value 2; description "Skip 30 bytes"; } enum CONF-OFFSET-50 { value 3; description "Skip 50 bytes"; } } default "CONF-OFFSET-0"; } // Ether Type typedef macsec_EtherType { type uint32; default "34958"; } // Include icv indicator typedef macsec_IncludeIcvParam { type boolean; default "false"; } // Include SCI indicator typedef macsec_IncludeSci { type boolean; default "true"; } // KeyChain Name typedef macsec_KeyChainName { type string { pattern ".*[!-~]{0,63}.*"; } } // Key Server Priority typedef macsec_KeySvrPrio { type uint8 { range "0..255"; } default "16"; } // Macsec Shutdown typedef macsec_MacsecShutdown { type boolean; default "false"; } // Policy Name typedef macsec_PolicyName { type string { pattern ".*[a-zA-Z0-9-$_]{1,32}.*"; } default "system-default-macsec-policy"; } // Replay Protection Window Size typedef macsec_ReplayWindow { type uint32 { range "0..596000000"; } default "148809600"; } // SAK Rekey Frequency in seconds typedef macsec_SakExpiryTime { type uint32 { range "0..2592000"; } default "0"; } // Security Policy typedef macsec_SecPolicy { type enumeration { enum must-secure { value 0; description "Must secure mode"; } enum should-secure { value 1; description "Should secure mode"; } } default "should-secure"; } typedef mca_mcaEnable { type enumeration { enum DISABLED { value 0; description "Feature Disabled"; } enum ENABLED { value 1; description "Feature Enabled"; } } default "DISABLED"; } // L4 Port typedef mca_mcaEnatMaxReplications { type uint16 { range "0..40"; } } typedef mca_mcaEncapType { type enumeration { enum NONE { value 0; description "Field Not Applicable"; } enum INAT { value 1; description "Encap type INAT"; } enum ENAT { value 2; description "Encap type ENAT"; } enum MVPN { value 3; description "Encap type MVPN"; } enum TRM { value 4; description "Encap type TRM"; } enum GRE { value 5; description "Encap type GRE"; } enum NLB { value 6; description "Encap TYPE NLB"; } } default "NONE"; } typedef mca_mcaIf { type uint32; } typedef mca_mcaIpAddr { type address_Ip; } typedef mca_mcaMcastIpAddr { type address_Ip; } typedef mca_mcaNY { type enumeration { enum NO { value 0; description "This said condition is FALSE"; } enum YES { value 1; description "This said condition is TRUE"; } } default "NO"; } typedef mca_mcaNoYes { type enumeration { enum NA { value 0; description "Field Not Available/Applicable"; } enum NO { value 1; description "This said condition is FALSE"; } enum YES { value 2; description "This said condition is TRUE"; } } default "NO"; } typedef mca_mcaOifRwList { type enumeration { enum NONE { value 0; description "No Encap present"; } enum ENAT { value 1; description "OIF with ENAT"; } enum NONE_ENAT { value 2; description "OIF with no RW plus ENAT"; } enum VXLAN_TRM { value 3; description "OIF with VXLAN TRM Encap"; } } default "NONE"; } typedef mca_mcaOiflistType { type enumeration { enum NA { value 0; description "Field Not Available/Applicable"; } enum L2 { value 1; description "This oiflist type is L2"; } enum L3 { value 2; description "This oiflist type is L3"; } } default "L3"; } // Filter mode, valid only with v3 typedef mcast_FiltMode { type enumeration { enum include { value 1; description "Include"; } enum exclude { value 2; description "Exclude"; } } default "include"; } // Multicast group ip address typedef mcast_GrpIp { type address_Ip; } // Holddown-timer typedef mcast_HolddownTimer { type uint16 { range "1..300"; } default "210"; } // Last member query count typedef mcast_LastMbrQueryCnt { type uint16 { range "1..5"; } default "2"; } // Last member query interval typedef mcast_LastMbrQueryIntvl { type uint16 { range "1..25"; } default "1"; } // Last member response time typedef mcast_LastMbrRespTime { type uint16 { range "1..25"; } default "1"; } // syslog level typedef mcast_LogLevelRange { type uint16 { range "0..7"; } default "0"; } // Number of (*,G) or (S,G) entries typedef mcast_NumEntries { type uint32 { range "0..4294967295"; } default "0"; } // Querier Ip address typedef mcast_QuerierIp { type address_Ip; } // Querier timeout typedef mcast_QuerierTimeout { type uint16 { range "1..65535"; } default "255"; } // Query count typedef mcast_QueryCnt { type uint8 { range "0..10"; } } // Query interval typedef mcast_QueryIntvl { type uint16 { range "1..18000"; } default "125"; } // Query response interval typedef mcast_QueryRspIntvl { type uint16 { range "1..8387"; } default "10"; } // Robust factor typedef mcast_RobustFactor { type uint8 { range "1..7"; } default "2"; } // Multicast root node, identified by the ip address typedef mcast_Root { type address_Ip; } // Startup Query interval typedef mcast_StartQueryIntvl { type uint16 { range "0..18000"; } } // Version typedef mcast_Ver { type enumeration { enum unspecified { value 0; description "Unspecified"; } } } // Event History Buffer Type typedef mcastfwd_EhType { type enumeration { enum internal { value 0; description "Represents Internal Events For Mcast Forwarding"; } enum cli { value 1; description "CLI Events for Mcast forwarding"; } enum packet { value 2; description "Packet Events for Mcast forwarding"; } enum vrf { value 3; description "VRF Events for Mcast forwarding"; } enum l2 { value 4; description "L2 Events for Mcast Forwarding"; } enum nbm { value 5; description "NBM Events for Mcast Forwarding"; } enum pimLib { value 6; description "Pim Library events for Mcast Forwarding"; } } } typedef mcastfwd_Level { type uint32 { range "0..7"; } } typedef mcastfwd_LvlType { type enumeration { enum none { value 0; description "None"; } enum mfwd { value 1; description "Log level for multi forwarding"; } enum mcastfwd { value 2; description "Log level for multicast forwarding"; } } default "none"; } // Event History Buffer size in Text typedef mcastfwd_Size { type uint32 { range "0..4 | 5..4294967295"; } default "0"; } typedef mcastfwd_SwRep { type enumeration { enum none { value 0; description "Undefined"; } enum swasm { value 1; description "Software replication of PIM ASM leak packets"; } enum swiif { value 2; description "Software replication on incoming interface"; } } } // Event History Buffer Type typedef mcastfwdv6_EhType { type enumeration { enum internal { value 0; description "Represents Internal Events For Mcast Forwarding"; } enum cli { value 1; description "CLI Events for Mcastv6 forwarding"; } enum packet { value 2; description "Packet Events for Mcastv6 forwarding"; } enum vrf { value 3; description "VRF Events for Mcastv6 forwarding"; } enum l2 { value 4; description "L2 Events for Mcastv6 Forwarding"; } enum nbm { value 5; description "NBM Events for Mcastv6 Forwarding"; } enum pimLib { value 6; description "PIM Library Events for Mcastv6 Forwarding"; } } } typedef mcastfwdv6_Level { type uint32 { range "0..7"; } } typedef mcastfwdv6_LvlType { type enumeration { enum none { value 0; description "None"; } enum mfwdv6 { value 1; description "Log level for multi forwarding"; } enum mcastfwdv6 { value 2; description "Log level for multicast forwarding"; } } default "none"; } // Event History Buffer size in Text typedef mcastfwdv6_Size { type uint32 { range "0..4 | 5..119999999"; } default "0"; } typedef mcastfwdv6_SwRep { type enumeration { enum none { value 0; description "Undefined"; } enum swasm { value 1; description "Software replication of PIM ASM leak packets"; } enum swiif { value 2; description "Software replication on incoming interface"; } } } typedef mdns_ActiveQryTimer { type uint16 { range "60..3600"; } default "1800"; } typedef mdns_Count { type uint32 { range "10..500"; } default "50"; } // Controller object types typedef mdns_CtlrName { type string { length "0..99"; } } typedef mdns_IfId { type nw_IfId; } typedef mdns_IngPktGap { type uint32 { range "5..60"; } default "15"; } typedef mdns_IngQryRep { type uint32 { range "10..200"; } default "100"; } typedef mdns_IpId { type address_Ip; } typedef mdns_LocalProxyType { type boolean; default "false"; } // Global object types typedef mdns_MdnsEn { type boolean; default "false"; } typedef mdns_Mdnsmod { type enumeration { enum sdg-agent { value 0; description "sdg-agent"; } enum multi-layer_sdg-agent { value 1; description "multi-layer sdg-agent"; } } default "sdg-agent"; } typedef mdns_QryTimer { type uint16 { range "5..36000"; } default "15"; } typedef mdns_SrcIfId { type nw_IfId; } typedef mdns_Timer { type uint16 { range "5..36000"; } default "30"; } typedef mdns_cachesync { type uint16 { range "15..600"; } default "30"; } typedef mdns_ctlrPolicyName { type string { length "0..63"; } default "default-mdns-ctrl-srv-policy"; } // Controller Service-List object types typedef mdns_ctrlServiceListName { type string { length "0..63"; } } // Controller Service Policy Root object typedef mdns_ctrlServicePolicyName { type string { length "0..63"; } } typedef mdns_listInName { type string { length "0..63"; } } typedef mdns_listOutName { type string { length "0..63"; } } typedef mdns_locationGroupId { type uint16 { range "1..65535"; } } // Match-In object types typedef mdns_matchName { type string { length "0..63"; } } typedef mdns_msgType { type enumeration { enum any { value 0; description "any"; } enum query { value 1; description "query"; } enum announcement { value 2; description "announcement"; } } default "any"; } // Service peer-ip object typedef mdns_peerIpId { type address_Ip; } typedef mdns_roleName { type string { length "0..63"; } default "none"; } typedef mdns_serviceDefinitionDesc { type string { length "0..80"; } } // Service Definition object types typedef mdns_serviceDefinitionName { type string { length "0..63"; } } // Service-List-In object types typedef mdns_serviceListInName { type string { length "0..63"; } } // Service-List-Out object types typedef mdns_serviceListOutName { type string { length "0..63"; } } // Service Policy Root object typedef mdns_servicePolicyName { type string { length "0..63"; } } // Service Definition object types typedef mdns_serviceTypeName { type string { length "0..63"; } } // Service peer-group object typedef mdns_svcPeerPolicyName { type string { length "0..63"; } default "default-mdns-service-policy"; } typedef mdns_vlanPolicyName { type string { length "0..63"; } default "default-mdns-service-policy"; } // Event History Buffer Type typedef mld_EhType { type enumeration { enum cli { value 0; description "CLI events for MLD"; } enum ha { value 2; description "HA events for MLD"; } enum vrf { value 4; description "VRF events for MLD"; } enum group-debugs { value 5; description "group-debug events for MLD"; } enum group-events { value 6; description "group-events events for MLD"; } enum interface-debugs { value 7; description "interface-debug events for MLD"; } enum interface-events { value 8; description "interface-events events for MLD"; } enum policy { value 9; description "policy events for MLD"; } enum mld-internal { value 10; description "mld-internal events for MLD"; } enum pim-library { value 11; description "Pim-library events for MLD"; } } } // Event History Buffer size in Text typedef mld_Size { type uint32 { range "0..4 | 5..119999999"; } default "2"; } // Version typedef mld_Ver { type enumeration { enum v1 { value 1; description "Version 1"; } enum v2 { value 2; description "Version 2"; } } default "v2"; } // Event History Buffer Type typedef mldsnoop_EhType { type enumeration { enum mld-snoop-internal { value 0; description "Represents Internal Events For MLD-Snooping"; } enum mfdm { value 1; description "MFDM Events for MLD-Snooping"; } enum mfdm-sum { value 2; description "MFDM-SUM Events for MLD-Snooping"; } enum rib { value 3; description "RIB Events for MLD-Snooping"; } enum vlan { value 4; description "VLAN/BD Events for MLD-Snooping"; } enum vlan-events { value 5; description "VLAN/BD events for MLD-Snooping"; } enum vpc { value 6; description "VPC Events for MLD-Snooping"; } } } // Mld snooping global config enable/disable typedef mldsnoop_MldSnoopGl { type boolean; default "false"; } // Mld snooping per vlan enable/disable typedef mldsnoop_MldSnoopVlan { type boolean; default "true"; } // Route Map Name typedef mldsnoop_RtMapType { type string { length "0..63"; } } // Event History Buffer size in Text typedef mldsnoop_Size { type uint32 { range "0..4 | 5..119999999"; } default "0"; } // v2 report suppression typedef mldsnoop_V2ReportSuppr { type boolean; default "false"; } // Version typedef mldsnoop_Ver { type enumeration { enum v1 { value 1; description "Version 1"; } enum v2 { value 2; description "Version 2"; } } default "v2"; } // Maintenance Mode Action Status Type typedef mmode_MaintModeActionStatusType { type enumeration { enum unknown { value 0; description "Unknown"; } enum success { value 1; description "SUCCESS"; } enum failed { value 2; description "Failed"; } enum gen-profile { value 3; description "Generate Profile"; } enum confirm-profile { value 4; description "Confirm Profile"; } enum taking-snapshot { value 5; description "Taking Snapshot"; } enum applying-config { value 6; description "Applying Profile Config"; } enum waiting-delay { value 7; description "Waiting Delay"; } } default "unknown"; } // Maintenance Mode Action Type typedef mmode_MaintModeActionType { type enumeration { enum normal { value 0; description "Nonmal"; } enum maintenance { value 1; description "Maintenance"; } enum maintenance-shutdown { value 2; description "Maintenance Shutdown"; } enum maintenance-dont-generate-profile { value 3; description "Maintenance Dont generate profile"; } enum normal-dont-generate-profile { value 4; description "Normal Dont generate profile"; } } default "normal"; } // Maintenance Mode Type typedef mmode_MaintModeType { type enumeration { enum normal { value 0; description "Normal"; } enum maintenance { value 1; description "Maintenance"; } enum unplanned-maintenance { value 2; description "Unplanned Maintenance"; } } default "normal"; } // Maintenance Profile Type typedef mmode_MaintProfileType { type enumeration { enum normal-mode { value 0; description "Normal-mode"; } enum maintenance-mode { value 1; description "Maintenance-mode"; } } default "normal-mode"; } // Timeout Interval typedef mmode_TimeoutInterval { type uint16 { range "5..65535"; } } typedef mo_TStamp { type union { type string; type uint64; } default "0"; } typedef mon_AdminState { type enumeration { enum enabled { value 1; } enum disabled { value 2; } } default "enabled"; } typedef mon_Transport { type enumeration { enum none { value 0; } enum tcp { value 1; } enum udp { value 2; } enum all { value 3; } enum tls { value 4; } } default "none"; } // Database type typedef monitor_DbT { type enumeration { enum ipep-resolve { value 1; description "IP endpoint resolution database"; } } default "ipep-resolve"; } // Destination encapsulation typedef monitor_DestEncapT { type enumeration { enum gre { value 1; description "Gre encapsulated"; } } default "gre"; } // Direction, to figure out the direction in which the traffic // is monitored on the span source typedef monitor_Direction { type enumeration { enum in { value 1; description "Incoming"; } enum out { value 2; description "Outgoing"; } enum both { value 3; description "Both"; } enum none { value 4; description "None"; } } default "none"; } // ErSpan Version typedef monitor_ErSpanVer { type enumeration { enum ver2 { value 2; description "Version 2"; } enum ver3 { value 3; description "Version 3"; } } default "ver3"; } // Flow id typedef monitor_FlowId { type uint16 { range "1..1023"; } default "1"; } // Mode typedef monitor_Mode { type enumeration { enum access { value 1; description "Access"; } enum fabric { value 2; description "Fabric"; } } default "access"; } // Mtu typedef monitor_Mtu { type uint16 { range "64..1518"; } default "1518"; } // Operational state typedef monitor_OperSt { type enumeration { enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } enum failed { value 3; description "Failed"; } } default "down"; } // Session id typedef monitor_SessionId { type uint8 { range "1..48"; } } // Source id typedef monitor_SrcId { type uint16 { range "1..65535"; } } // Source type typedef monitor_SrcT { type enumeration { enum port { value 1; description "Port"; } enum encap { value 2; description "Encap"; } enum port-encap { value 3; description "Port and encap"; } } default "port"; } typedef mpls_OperSt { type enumeration { enum down { value 0; description "Down - Administrative State of Interface"; } enum up { value 1; description "Up - Administrative State of Interface"; } } default "up"; } // LDP advertisement prefix/peer ACL type typedef mplsldp_AclType { type string { length "1..128"; } description "Prefix list to be used"; } // Remote binding label typedef mplsldp_BindingSummaryPeerType { type string; default "all"; description "Binding summary peer value"; } // Capability description typedef mplsldp_CapabilityDescription { type string { length "4..40"; } description "LDP Capabilities Description"; } // LDP to IGP sync delay time typedef mplsldp_DelayTime { type uint16 { range "0..60"; } default "0"; description "LDP to IGP sync achieved notification delay time"; } // down neighbor status typedef mplsldp_DownNeighborStatus { type enumeration { enum deletion_pending { value 0; description "Down Neighbor Status - Deletion Pending"; } enum waiting_for_reconnection { value 1; description "Down Neighbor Status - Waiting for Reconnection"; } enum recovering { value 2; description "Down Neighbor Status - Recovering"; } } default "deletion_pending"; description "LDP Down Neighbor Status"; } // configuration parameters feature type typedef mplsldp_FeatureType { type string { length "0..128"; } description "Supported feature types"; } // configuration parameters feature set manager state type typedef mplsldp_FeaturesetManagerStateType { type string { length "0..128"; } description "Feature set manager state"; } // graceful restart forwarding hold time typedef mplsldp_FwdHoldTime { type uint16 { range "30..600"; } default "120"; description "LDP forwarding state holding time. Specifies the amount of time the MPLS forwarding state should be preserved after the control plane restarts."; } // graceful restart state type typedef mplsldp_GrStateType { type enumeration { enum enabled { value 1; description "Graceful restart is enabled"; } enum disabled { value 2; description "Graceful restart is disabled"; } } default "disabled"; description "Graceful Restart State"; } // hello holdtime typedef mplsldp_HelloHoldTime { type uint16 { range "1..65535"; } default "15"; description "LDP discovery Hello holdtime"; } // LDP IGP sync igp enable type typedef mplsldp_IgpEnabledType { type string { length "0..255"; } description "IGP that Enabled Sync"; } // initial backoff time typedef mplsldp_InitBackoff { type uint32 { range "5..2147483"; } default "15"; description "Initial session backoff time (seconds)"; } // discovery interface enable status typedef mplsldp_InterfaceEnableStatus { type enumeration { enum unknown { value 0; description "Interface Enable Status is unknown"; } enum Interface_Config { value 1; description "Interface Enable Status is Interface Config"; } enum IGP_Config { value 2; description "Interface Enable Status is IGP Config"; } enum Interface,_IGP_Config { value 3; description "Interface Enable Status is Interface, IGP Config"; } } default "unknown"; description "Discovery Interface Enable Status"; } // discovery interface status typedef mplsldp_InterfaceStatus { type enumeration { enum xmit/recv { value 1; description "Interface Status is xmit/recv"; } enum xmit { value 2; description "Interface Status is xmit"; } } default "xmit"; description "Discovery/Targeted Interface Status"; } // discovery detail interface string type typedef mplsldp_InterfaceString { type string { length "1..40"; } description "LDP basic discovery interface name"; } // discovery detail source interface clients type typedef mplsldp_IntfClients { type enumeration { enum Unknown { value 0; description "Discovery Interface Clients - Unknown"; } enum IPv4,_mLDP { value 1; description "Discovery Interface Clients - IPv4, mLDP"; } enum IPv4 { value 2; description "Discovery Interface Clients - IPv4"; } enum mLDP { value 3; description "Discovery Interface Clients - mLDP"; } } default "Unknown"; description "Discovery Interface Clients"; } // hello interval time typedef mplsldp_IntvlTime { type uint16 { range "1..65535"; } default "5"; description "LDP discovery Hello interval"; } typedef mplsldp_LabelAdvertisementModeType { type string { length "1..32"; } description "Label advertisement mode"; } // Label allocate type typedef mplsldp_LblAllocT { type enumeration { enum all-routes { value 1; description "Allocate local labels for all routes"; } enum host-routes { value 2; description "Allocate local labels for host routes only (default)"; } enum prefix-list { value 3; description "Specify a prefix-list for local label filtering"; } } default "host-routes"; } // LDP IGP sync peer reachable type typedef mplsldp_LdpIgpPeerStatusType { type enumeration { enum peer_reachable { value 1; description "LDP IGP Synchronization Peer Reachable Status - Peer reachable"; } enum peer_not_reachable { value 2; description "LDP IGP Synchronization Peer Reachable Status - Peer not reachable"; } } default "peer_not_reachable"; description "LDP IGP Synchronization Peer Reachable Status"; } // LDP IGP sync LDP status type typedef mplsldp_LdpIgpStatusType { type enumeration { enum LDP_configured { value 1; description "LDP is configured"; } enum LDP_not_configured { value 2; description "LDP is not configured"; } } default "LDP_not_configured"; description "LDP IGP Synchronization Status"; } // LDP IGP sync enable status type typedef mplsldp_LdpIgpSyncEnableType { type enumeration { enum LDP_IGP_Synchronization_enabled { value 1; description "LDP-IGP Synchronization enabled"; } enum LDP_IGP_Synchronization_not_enabled { value 2; description "LDP-IGP Synchronization not enabled"; } } default "LDP_IGP_Synchronization_not_enabled"; description "LDP IGP Synchronization Enable Status"; } // LDP IGP sync status type typedef mplsldp_LdpIgpSyncStatusType { type enumeration { enum sync_achieved { value 1; description "LDP IGP Synchronization Sync Status - Sync achieved"; } enum sync_not_achieved { value 2; description "LDP IGP Synchronization Sync Status - Sync not achieved"; } } default "sync_not_achieved"; description "LDP IGP Synchronization Sync Status"; } // discovery detail source interface LDP password status typedef mplsldp_LdpPasswordStatus { type string { length "5..255"; } description "LDP password status information"; } // LDP prefix list type typedef mplsldp_LdpPrefixListName { type string { pattern ".*[!-~]{0,63}.*"; } description "LDP prefix list information"; } // Local binding tag typedef mplsldp_LocalBindingTag { type string { length "0..128"; } description "Local binding tag value"; } // LDP local label filtering specifications type typedef mplsldp_LocalLabelFilteringSpecifications { type string { length "5..32"; } description "LDP Local Label Filtering Specifications"; } // configuration parameters loop detection type typedef mplsldp_LoopDetectionType { type enumeration { enum Off { value 1; description "LDP Loop Detection is Off"; } enum On { value 2; description "LDP Loop Detection is On"; } } default "Off"; description "LDP Loop Detection Enabled Status"; } // maximum backoff time typedef mplsldp_MaxBackoff { type uint32 { range "5..2147483"; } default "120"; description "Maximum session backoff time (seconds)"; } // graceful restart neighbor liveness time typedef mplsldp_NbrLiveTime { type uint16 { range "5..300"; } default "120"; description "LDP Neighbor-Liveness time. Specifies the amount of time a router should wait for an LDP session to be reestablished."; } // neighbor clients type typedef mplsldp_NeighborPeerClientType { type string { length "5..255"; } description "LDP Neighbor Clients"; } // neighbor peer protection state typedef mplsldp_NeighborPeerProtectionState { type enumeration { enum None { value 0; description "Peer Protection State - None"; } enum Incomplete { value 1; description "Peer Protection State - Incomplete"; } enum Ready { value 2; description "Peer Protection State - Ready"; } enum Protecting { value 3; description "Peer Protection State - Protecting"; } } default "None"; description "LDP Neighbor Peer Protection State"; } // configuration parameters protocol type typedef mplsldp_ParametersProtocolType { type enumeration { enum LDP_for_targeted_sessions { value 1; description "LDP for targeted sessions"; } enum TDP_for_directed_sessions { value 2; description "TDP for directed sessions"; } } default "LDP_for_targeted_sessions"; description "LDP Configuration Parameters - Protocol Type"; } // neighbor peer state type typedef mplsldp_PeerStateType { type enumeration { enum non-ex { value 0; description "Property Type - non-ex"; } enum unsol_op_pdg { value 1; description "Property Type - unsol op pdg"; } enum deferred { value 2; description "Property Type - deferred"; } enum estab { value 3; description "Property Type - estab"; } enum lib_exp_wait { value 4; description "Property Type - lib exp wait"; } enum destroyed { value 5; description "Property Type - destroyed"; } } default "non-ex"; description "LDP Neighbor Peer State"; } // Session protection duration typedef mplsldp_ProtectDuration { type uint32 { range "0..2147483"; } description "LDP session protection holdup time in seconds"; } // neighbor protocol state type typedef mplsldp_ProtocolStateType { type enumeration { enum Non-existent { value 0; description "Property Type - Non-existent"; } enum Opening_Xport { value 1; description "Property Type - Opening Xport"; } enum Init_sent { value 2; description "Property Type - Init sent"; } enum Init_rcvd_actv { value 3; description "Property Type - Init rcvd actv"; } enum Role_pasv { value 4; description "Property Type - Role pasv"; } enum Init_rcvd_pasv { value 5; description "Property Type - Init rcvd pasv"; } enum Oper { value 6; description "Property Type - Oper"; } enum Final_xmitwait { value 7; description "Property Type - Final xmitwait"; } } default "Non-existent"; description "LDP Protocol State Type"; } // LDP logging rate limit typedef mplsldp_RateLimit { type uint16 { range "0..60"; } default "0"; description "LDP logging rate limit"; } // graceful restart recovery time typedef mplsldp_RecoveryTime { type uint16 { range "15..600"; } default "120"; description "LDP maximum recovery time. Specifies the amount of time a router should hold stale label-FEC bindings after an LDP session has been reestablished."; } // Remote binding tag typedef mplsldp_RemoteBindingTag { type string { length "0..128"; } description "Remote binding tag value"; } // LDP password option sequence number typedef mplsldp_SeqNum { type uint16 { range "1..32767"; } description "Sequence number of the LDP password option"; } // LDP session hold time typedef mplsldp_SessionHoldTime { type uint16 { range "15..65535"; } default "180"; description "LDP session holdtime"; } // discovery detail targeted hello identifier typedef mplsldp_TargetedHelloIdentifier { type string { length "5..128"; } description "Targeted hello identifier name"; } // discovery targeted interface state typedef mplsldp_TargetedInterfaceState { type enumeration { enum active { value 1; description "Targeted Hello State - active"; } enum passive { value 2; description "Targeted Hello State - passive"; } enum active/passive { value 3; description "Targeted Hello State - active/passive"; } } default "active"; description "Targeted Hello Interface State"; } // targeted hello holdtime typedef mplsldp_TgtHoldTime { type uint16 { range "1..65535"; } default "90"; description "LDP discovery Targeted Hello holdtime"; } // targeted hello interval time typedef mplsldp_TgtIntvlTime { type uint16 { range "1..65535"; } default "10"; description "LDP discovery Targeted Hello interval"; } // configuration parameters - boolean type typedef mplsldp_enableDisableFlagType { type enumeration { enum enabled { value 1; description "Property Type - enabled"; } enum disabled { value 2; description "Property Type - disabled"; } } default "disabled"; description "Enable/Disable Flag Type"; } // Address family type typedef mplsstatic_AfT { type enumeration { enum ipv4-ucast { value 1; description "IPv4 Unicast Address Family"; } enum ipv6-ucast { value 2; description "IPv6 Unicast Address Family"; } } default "ipv4-ucast"; } typedef mplsstatic_InLabelVal { type uint32 { range "16..471804"; } } typedef mplsstatic_LspName { type string; } typedef mplsstatic_OutLabelVal { type uint32 { range "0..1048575"; } default "3"; } typedef mplsstatic_OutLblStack { type string; } // MPLS strip mode typedef mplsstripcl_StripclModeType { type enumeration { enum none { value 1; description "MPLS strip none"; } enum dot1q { value 2; description "MPLS strip mode dot1q"; } } default "none"; } // Event History Buffer Type typedef mrib_EhType { type enumeration { enum cli { value 0; description "cli events for mrib"; } enum mdt { value 1; description "MDT events for mrib"; } enum mfdmDebugs { value 2; description "MFDM debugs events for mrib"; } enum mfdmEvents { value 3; description "MFDM-events events for mrib"; } enum mfdmStats { value 4; description "MFDM stats events for mrib"; } enum notyClients { value 5; description "notify-clients events for mrib"; } enum rib { value 6; description "RIB events for mrib"; } enum ribSum { value 7; description "rib-summary events for mrib"; } enum urib { value 8; description "urib-debugs events for mrib"; } enum vrf { value 9; description "VRF events for mrib"; } enum nbm { value 10; description "NBM events for mrib"; } enum objstoreError { value 11; description "Objstore error events for mrib"; } enum objstoreEvents { value 12; description "Objstore events for mrib"; } enum eoc { value 13; description "EOC events for mrib"; } enum policy { value 14; description "Policy events for mrib"; } enum pimLib { value 15; description "Pim-library events for mrib"; } } } // Administrative state typedef mrib_HoldAdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // Multicast Holddown type typedef mrib_HoldDownType { type uint16 { range "0..3600"; } default "270"; } typedef mrib_LogType { type enumeration { enum none { value 0; description "None"; } enum rout { value 1; description "Configure for logging level routing"; } enum routip { value 2; description "Configure for logging level routing ip"; } enum routipv4 { value 3; description "Configure for logging level routing ipv4"; } enum mrib { value 4; description "Configure for logging level mrib"; } } default "none"; } typedef mrib_LvlType { type uint16 { range "0..7"; } default "5"; } // Mask-len typedef mrib_MaskLen { type uint32 { range "0..32"; } } typedef mrib_MfdmSize { type uint32 { range "50..500"; } default "50"; } typedef mrib_MfdmType { type enumeration { enum none { value 0; description "None"; } enum mfdmip { value 1; description "Configure for mfdm-buffer-route ip"; } enum mfdmipv4 { value 2; description "Configure for mfdm-buffer-route ipv4"; } } default "mfdmipv4"; } // Administrative state typedef mrib_ModeAdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } // Multipath Mode typedef mrib_MultipathMode { type enumeration { enum none { value 1; description "multiple path none"; } enum nbm { value 2; description "multiple path nbm"; } enum null { value 3; description "multiple path resilient"; } enum s-g-hash { value 4; description "SG hash"; } enum legacy { value 5; description "legacy mode"; } enum s-g-hash-next-hop { value 6; description "SG hash next-hop based"; } } default "null"; } // UDP PORT typedef mrib_PortId { type uint32 { range "0..65535"; } } typedef mrib_PrefixT { type string { pattern ".*[!-~]{0,63}.*"; } } // Multicast Resilient type typedef mrib_ResilientType { type boolean; default "false"; } // Event History Buffer size in Text/kb typedef mrib_Size { type uint32 { range "0..4 | 5..4294967295"; } default "0"; } // Sr ModeType typedef mrib_SrModeType { type string { pattern "regular|fast-pass"; } } typedef mrib_TraceCountType { type uint32 { range "0..4294967295"; } } // Asn number typedef msdp_Asn { type string { pattern "((none)|([1-9]{1}[0-9]{0,8}|[1-3]{1}[0-9]{1,9}|4{1}[0-1]{1}[0-9]{8}|4{1}2{1}[0-8]{1}[0-9]{7}|4{1}2{1}9{1}[0-3]{1}[0-9]{6}|4{1}2{1}9{1}4{1}[0-8]{1}[0-9]{5}|4{1}2{1}9{1}4{1}9{1}[0-5]{1}[0-9]{4}|4{1}2{1}9{1}4{1}9{1}6{1}[0-6]{1}[0-9]{3}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}[0-1]{1}[0-9]{2}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}[0-8]{1}[0-9]{1}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}9{1}[0-5]{1})|(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\.([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])))"; } default "none"; } // Authentication key typedef msdp_AuthKey { type string; } // Authentication type typedef msdp_AuthT { type enumeration { enum none { value 0; description "No authentication"; } enum md5 { value 1; description "MD5 authentication"; } } default "none"; } // Database type typedef msdp_DbT { type enumeration { enum route { value 0; description "Route database"; } enum source { value 1; description "Source database"; } } } // Domain Control typedef msdp_DomCtrl { type string; } // Event History Buffer Type typedef msdp_EhType { type enumeration { enum cli { value 0; description "cli events for msdp"; } enum events { value 1; description "Events events for msdp"; } enum msdpInternal { value 2; description "MSDP internal events for msdp"; } enum routes { value 3; description "Routes events for msdp"; } enum tcp { value 4; description "TCP events for msdp"; } } } // Mesh Group Name typedef msdp_GrpNameT { type string { length "1..255"; } } // Keepalive Interval typedef msdp_KaIntvl { type uint16 { range "1..60"; } default "60"; } // Keepalive Timeout typedef msdp_KaTimeout { type uint16 { range "1..90"; } default "90"; } // Reason for last reset typedef msdp_LastResetT { type string { length "0..255"; } } typedef msdp_LogType { type enumeration { enum log { value 1; description "Configure for logging level msdp"; } enum logip { value 2; description "Configure for logging level ip msdp"; } } default "log"; } typedef msdp_LvlType { type uint16 { range "0..7"; } default "5"; } // Max Group Limit typedef msdp_MaxGrpLimit { type uint32 { range "0..4294967295"; } default "4294967295"; } // Operational state typedef msdp_OperSt { type enumeration { enum inactive { value 0; description "Inactive"; } enum down { value 1; description "Down"; } enum admin-down { value 2; description "Admin-Down"; } enum connecting { value 3; description "Connecting"; } enum listening { value 4; description "Listening"; } enum established { value 5; description "Established"; } } default "inactive"; } typedef msdp_PrefixT { type string { pattern ".*[!-~]{0,63}.*"; } } // Reconnect Interval typedef msdp_ReConnIntvl { type uint16 { range "1..60"; } default "10"; } // Event History Buffer size in Text/kb typedef msdp_Size { type uint32 { range "0..4 | 5..4294967295"; } default "0"; } typedef msdp_Source { type enumeration { enum none { value 0; description "Default redistribution"; } enum pflist { value 1; description "Prefix-list based redistribution"; } enum rtmap { value 2; description "Route-Map based redistribution"; } } default "none"; } // Source Announcement interval typedef msdp_SrcActiveMsgIntvl { type uint16 { range "60..65535"; } default "60"; } // Source Announcement Limit typedef msdp_SrcActiveMsgLimit { type uint32 { range "0..4294967295"; } default "4294967295"; } typedef mvpn_DataMtuVal { type uint16 { range "576..9192"; } default "1376"; } // Hello Interval in msecs typedef mvpn_PimHelloIntvl { type uint32 { range "1..18724286"; } default "30000"; } // Join Prune Interval in secs typedef mvpn_PimJPIntvl { type uint32 { range "60..65520"; } default "60"; } // Route Map Name typedef mvpn_RtMapType { type string { length "0..63"; } } typedef naming_Descr { type string { length "0..128"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } } typedef naming_Descr1024 { type string { length "0..1024"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } } typedef naming_Id { type uint64; } typedef naming_Name { type string { length "0..16"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } typedef naming_Name256 { type string { length "0..256"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } // CREATION DELAY BATCHOUT typedef nat_BatchTimeout { type enumeration { enum 0 { value 0; description "0 milliseconds delay"; } enum 250 { value 250; description "250 milliseconds delay"; } enum 500 { value 500; description "500 milliseconds delay"; } enum 750 { value 750; description "750 milliseconds delay"; } enum 1000 { value 1000; description "1000 milliseconds delay"; } } default "1000"; } // Config Error Inst MO typedef nat_ConfigErrNat { type enumeration { enum noerror { value 0; description "No Erron Seen In Configuration"; } enum PoolInUse { value 1; description "Pool In Use Delete Failed"; } enum TcpTcamNotCarved { value 2; description "Tcp Tcam Not Carved Config Failed"; } enum ConfigConflict { value 3; description "Conflicting with existing config"; } enum IfConfigError { value 4; description "Nat interface config error"; } enum HwProgFailureError { value 5; description "Hardware programming failed for nat config"; } } } typedef nat_FinSynTimeout { type int32 { range "-1..172800"; } default "60"; } typedef nat_FinSynTimeoutOper { type int32 { range "-1..172800"; } default "-1"; } // IP NAT MO INSIDE/OUTSIDE typedef nat_InterfaceType { type enumeration { enum inside-source-static { value 0; description "inside source static"; } enum outside-source-static { value 1; description "outside source static"; } enum inside-source-dynamic { value 2; description "inside source dynamic"; } enum outside-source-dynamic { value 3; description "outside source dynamic"; } } } typedef nat_NatMaxTranslation { type uint32 { range "1..1023"; } default "80"; } typedef nat_NatMaxTranslationAllHost { type uint32 { range "0..1023"; } default "0"; } typedef nat_NatPoolname { type string { length "1..64"; } } typedef nat_NatPrefixType { type uint32 { range "0..32"; } default "0"; } typedef nat_NatTimeLeft { type uint32 { range "0..172800"; } default "0"; } typedef nat_NatTimeout { type uint32 { range "60..172800"; } default "3600"; } typedef nat_NatTrafficDir { type enumeration { enum ip-nat-invalid { value 0; description "ip nat invalid interface"; } enum ip-nat-inside { value 1; description "ip nat inside interface"; } enum ip-nat-outside { value 2; description "ip nat outside interface"; } } } // protcol type typedef nat_ProtocolType { type enumeration { enum any { value 0; description "none"; } enum tcp { value 1; description "tcp"; } enum udp { value 2; description "udp"; } } } typedef nat_SamplingTimeout { type uint32 { range "120..172800"; } default "43200"; } typedef nat_booltype { type boolean; default "false"; } // port typedef nat_port { type uint32 { range "0..65535"; } } typedef nat_stringtype { type string; } typedef nat_twicenatgroup { type uint32 { range "0..1024"; } default "0"; } typedef nbm_nbmBWPercentage { type enumeration { enum NONE { value 255; description "Disabled"; } enum 0 { value 0; description "The Number Value"; } enum 1 { value 1; description "The Number Value"; } enum 2 { value 2; description "The Number Value"; } enum 3 { value 3; description "The Number Value"; } enum 4 { value 4; description "The Number Value"; } enum 5 { value 5; description "The Number Value"; } enum 6 { value 6; description "The Number Value"; } enum 7 { value 7; description "The Number Value"; } enum 8 { value 8; description "The Number Value"; } enum 9 { value 9; description "The Number Value"; } enum 10 { value 10; description "The Number Value"; } enum 11 { value 11; description "The Number Value"; } enum 12 { value 12; description "The Number Value"; } enum 13 { value 13; description "The Number Value"; } enum 14 { value 14; description "The Number Value"; } enum 15 { value 15; description "The Number Value"; } enum 16 { value 16; description "The Number Value"; } enum 17 { value 17; description "The Number Value"; } enum 18 { value 18; description "The Number Value"; } enum 19 { value 19; description "The Number Value"; } enum 20 { value 20; description "The Number Value"; } enum 21 { value 21; description "The Number Value"; } enum 22 { value 22; description "The Number Value"; } enum 23 { value 23; description "The Number Value"; } enum 24 { value 24; description "The Number Value"; } enum 25 { value 25; description "The Number Value"; } enum 26 { value 26; description "The Number Value"; } enum 27 { value 27; description "The Number Value"; } enum 28 { value 28; description "The Number Value"; } enum 29 { value 29; description "The Number Value"; } enum 30 { value 30; description "The Number Value"; } enum 31 { value 31; description "The Number Value"; } enum 32 { value 32; description "The Number Value"; } enum 33 { value 33; description "The Number Value"; } enum 34 { value 34; description "The Number Value"; } enum 35 { value 35; description "The Number Value"; } enum 36 { value 36; description "The Number Value"; } enum 37 { value 37; description "The Number Value"; } enum 38 { value 38; description "The Number Value"; } enum 39 { value 39; description "The Number Value"; } enum 40 { value 40; description "The Number Value"; } enum 41 { value 41; description "The Number Value"; } enum 42 { value 42; description "The Number Value"; } enum 43 { value 43; description "The Number Value"; } enum 44 { value 44; description "The Number Value"; } enum 45 { value 45; description "The Number Value"; } enum 46 { value 46; description "The Number Value"; } enum 47 { value 47; description "The Number Value"; } enum 48 { value 48; description "The Number Value"; } enum 49 { value 49; description "The Number Value"; } enum 50 { value 50; description "The Number Value"; } enum 51 { value 51; description "The Number Value"; } enum 52 { value 52; description "The Number Value"; } enum 53 { value 53; description "The Number Value"; } enum 54 { value 54; description "The Number Value"; } enum 55 { value 55; description "The Number Value"; } enum 56 { value 56; description "The Number Value"; } enum 57 { value 57; description "The Number Value"; } enum 58 { value 58; description "The Number Value"; } enum 59 { value 59; description "The Number Value"; } enum 60 { value 60; description "The Number Value"; } enum 61 { value 61; description "The Number Value"; } enum 62 { value 62; description "The Number Value"; } enum 63 { value 63; description "The Number Value"; } enum 64 { value 64; description "The Number Value"; } enum 65 { value 65; description "The Number Value"; } enum 66 { value 66; description "The Number Value"; } enum 67 { value 67; description "The Number Value"; } enum 68 { value 68; description "The Number Value"; } enum 69 { value 69; description "The Number Value"; } enum 70 { value 70; description "The Number Value"; } enum 71 { value 71; description "The Number Value"; } enum 72 { value 72; description "The Number Value"; } enum 73 { value 73; description "The Number Value"; } enum 74 { value 74; description "The Number Value"; } enum 75 { value 75; description "The Number Value"; } enum 76 { value 76; description "The Number Value"; } enum 77 { value 77; description "The Number Value"; } enum 78 { value 78; description "The Number Value"; } enum 79 { value 79; description "The Number Value"; } enum 80 { value 80; description "The Number Value"; } enum 81 { value 81; description "The Number Value"; } enum 82 { value 82; description "The Number Value"; } enum 83 { value 83; description "The Number Value"; } enum 84 { value 84; description "The Number Value"; } enum 85 { value 85; description "The Number Value"; } enum 86 { value 86; description "The Number Value"; } enum 87 { value 87; description "The Number Value"; } enum 88 { value 88; description "The Number Value"; } enum 89 { value 89; description "The Number Value"; } enum 90 { value 90; description "The Number Value"; } enum 91 { value 91; description "The Number Value"; } enum 92 { value 92; description "The Number Value"; } enum 93 { value 93; description "The Number Value"; } enum 94 { value 94; description "The Number Value"; } enum 95 { value 95; description "The Number Value"; } enum 96 { value 96; description "The Number Value"; } enum 97 { value 97; description "The Number Value"; } enum 98 { value 98; description "The Number Value"; } enum 99 { value 99; description "The Number Value"; } enum 100 { value 100; description "The Number Value"; } } default "NONE"; } typedef nbm_nbmBwRecoveryEn { type enumeration { enum DISABLED { value 0; description "Disabled"; } enum ENABLED { value 1; description "Enabled"; } } default "ENABLED"; } typedef nbm_nbmBwUnitEn { type enumeration { enum UNSPECIFIED { value 0; description "Invalid Value"; } enum KBPS { value 1; description "KiloBits Per Second"; } enum MBPS { value 2; description "MegaBits Per Second"; } enum GBPS { value 3; description "GigaBits Per Second"; } } default "GBPS"; } typedef nbm_nbmDisEn { type enumeration { enum DISABLED { value 0; description "Disabled"; } enum ENABLED { value 1; description "Enabled"; } } default "ENABLED"; } typedef nbm_nbmEndpointRole { type enumeration { enum UNKNOWN { value 0; description "Unspecified Role"; } enum ARP { value 1; description "Learned via ARP"; } enum RECEIVER { value 2; description "Learned as a Receiver"; } enum RECEIVER_ARP { value 3; description "Learned as a Receiver, as well as from ARP"; } enum SENDER { value 4; description "Learned as a Sender"; } enum SENDER_ARP { value 5; description "Learned as a Sender, as well as from ARP"; } enum SENDER_RECEIVER { value 6; description "Learned as a Sender, as well as a RECEIVER"; } enum SENDER_RECEIVER_ARP { value 7; description "Learned as a Sender, as well as a RECEIVER, and also from ARP"; } } default "UNKNOWN"; } typedef nbm_nbmFaultType { type enumeration { enum NONE { value 0; description "No fault"; } enum POLICYDENIED { value 1; description "Denied because of policy"; } enum POLICYDENIEDSENDER { value 2; description "Denied because of Sender policy"; } enum POLICYDENIEDRECEIVER { value 3; description "Denied because of Receiver policy"; } enum RESOURCEUNAVAIL { value 4; description "Resource unavailable"; } enum POLICERUNAVAIL { value 5; description "Policer unavailable`"; } enum BWUNAVAIL { value 6; description "Bandwidth unavailable"; } enum EXTBWUNAVAIL { value 7; description "Ext Bandwidth unavailable"; } enum FLOWPOLUNAVAIL { value 8; description "Flow policy unavailable"; } enum NOUCASTROUTE { value 9; description "No Unicast route"; } enum FLOWLIMITREACHED { value 10; description "Flow limit reached"; } enum EXTFLOWLIMITREACHED { value 11; description "Flow limit reached for external link"; } enum EXTPOLICYDENIED { value 12; description "Denied because of policy for external link"; } enum EXTPOLICERUNAVAIL { value 13; description "Policer unavailable for external link"; } enum BADIFSTATE { value 14; description "Interface is Down or in wrong VRF"; } enum FLOWPENDINGDEL { value 15; description "Flow is pending to delete"; } enum EXTTCAMNOTCARVED { value 16; description "Ext Tcam not carved"; } enum TCAMNOTCARVED { value 17; description "Tcam not carved"; } enum RESBWNORECEIVER { value 18; description "Reserve bandwidth when no receiver"; } enum INGBWRESERVEFAILED { value 19; description "Ingress bandwidth reservation failed"; } enum PIMIGMPHSTPRXYNOTENABLE { value 20; description "PIM or IGMP Host Proxy not configured"; } enum EXTPIMIGMPHSTPRXYNOTENABLE { value 21; description "Ext PIM or IGMP Host Proxy not configured"; } enum PIMNOTENABLE { value 22; description "PIM not configured"; } } default "NONE"; } typedef nbm_nbmFlowOperEn { type enumeration { enum NOOP { value 0; description "No Operation"; } enum ROUTE_ADD { value 1; description "Add a new Route"; } enum ROUTE_DEL { value 2; description "Delete Existing Route"; } enum UPD_ADD_OIF { value 3; description "Add a new OIF to existing Route"; } enum UPD_DEL_OIF { value 4; description "Remove an OIF from an existing Route"; } enum LOC_ADD_OIF { value 5; description "Update Local OIF ADD"; } enum LOC_DEL_OIF { value 6; description "Update Local OIF DEL"; } enum UPD_IIF { value 7; description "Update IIF"; } enum DENY_POLICY_SRC { value 8; description "Applied Sender Deny Policy"; } enum SRC_DISCOVERY { value 9; description "External Src Discovery"; } enum SRC_DISC_STOP { value 10; description "Stop Ext Src Discovery"; } enum 11 { value 11; description "Reserved for Future"; } enum 12 { value 12; description "Reserved for Future"; } enum 13-UNUSED { value 13; description "FRIDAY!!!"; } enum 14 { value 14; description "Reserved for Future"; } enum ALLOW_POLICY_SRC { value 15; description "Applied Sender Allow Policy"; } enum DENY_POLICY_RCV { value 16; description "Applied Rcv Deny Policy"; } enum ALLOW_POLICY_RCV { value 17; description "Applied Rcv Allow Policy"; } enum 18 { value 18; description "Reserved for Future"; } enum 19 { value 19; description "Reserved for Future"; } enum 20 { value 20; description "Reserved for Future"; } } default "NOOP"; } // Flow Policer Enable / Disable typedef nbm_nbmFlowPolicerEn { type enumeration { enum DISABLED { value 0; description "Disabled"; } enum ENABLED { value 1; description "Enabled"; } } default "ENABLED"; } typedef nbm_nbmGroupPriority { type enumeration { enum CRITICAL { value 4; description "Critical Priority Group Range"; } enum LOW { value 0; description "Low Priority Group Range"; } } default "LOW"; } typedef nbm_nbmGroupRangeType { type enumeration { enum ASM { value 0; description "ASM Range"; } enum SSM { value 1; description "SSM Range"; } } default "ASM"; } typedef nbm_nbmHostPolicySeq { type uint32 { range "1..19999999"; } } typedef nbm_nbmIf { type uint32; } typedef nbm_nbmIpAddr { type address_Ip; } typedef nbm_nbmIpMask { type uint16 { range "0..32"; } } typedef nbm_nbmLinkRole { type enumeration { enum NONE { value 255; description "No link configuration"; } enum EXTERNAL_LINK { value 0; description "WAN Link"; } enum FABRIC_LINK { value 1; description "Fabric Facing Link"; } } default "NONE"; } typedef nbm_nbmMacAddr { type address_Mac; } typedef nbm_nbmMcastIpAddr { type address_Ip; } typedef nbm_nbmNoYes { type enumeration { enum NO { value 0; description "Not TRUE"; } enum YES { value 1; description "This said condition is TRUE"; } enum NA { value 2; description "The field is not applicable"; } } default "NO"; } typedef nbm_nbmOifOrigin { type enumeration { enum UNDEFINED { value 0; description "Undefined"; } enum PROTOCOL { value 1; description "Dynamic"; } enum API { value 2; description "Static"; } enum API_PROTOCOL { value 3; description "Both API and PROTOCOL"; } } } typedef nbm_nbmOperationalMode { type enumeration { enum UNDEFINED { value 0; description "Pim Active Mode"; } enum PIM_ACTIVE { value 1; description "Pim Active Mode"; } enum PIM_PASSIVE { value 2; description "Pim Passive Mode"; } } } typedef nbm_nbmPermit { type enumeration { enum UNDEFINED { value 0; description "Undefined"; } enum DENIED { value 1; description "Denied"; } enum ALLOWED { value 2; description "Allowed"; } } default "DENIED"; } typedef nbm_nbmPolicyType { type enumeration { enum SENDER { value 0; description "Sender Policy"; } enum RECEIVER { value 1; description "Receiver Policy"; } enum PIM { value 2; description "Pim Policy"; } } default "SENDER"; } typedef nbm_nbmRcvOwner { type enumeration { enum IGMP { value 0; description "Known via IGMP Join"; } enum STATIC { value 1; description "Known via static config"; } enum PIM { value 2; description "Known via PIM Join"; } enum NBM-STATIC { value 4; description "Known via NBM Static API"; } enum MRIB-STATIC { value 8; description "Known via MRIB Static config"; } } } // Address Type typedef nd_AddrType { type string; default "none"; } // Adjacency MAC typedef nd_AdjMac { type address_Mac; default "00:00:00:00:00:00"; } // Adjacency operational state typedef nd_AdjOperSt { type enumeration { enum unspecified { value 0; description "Unknown"; } enum incomplete { value 1; description "Incomplete"; } enum normal { value 2; description "Resolved"; } } } // Aging interval for cached entries typedef nd_AgingInterval { type uint16 { range "300..65535"; } default "1380"; } // Config Error typedef nd_ConfigErr { type enumeration { enum noerror { value 0; description "Unknown"; } enum managedConfigFlag { value 1; description "Config of ipv6 nd managed-config-flag failed"; } enum otherConfigFlag { value 2; description "Config of ipv6 nd other-config-flag failed"; } enum raIntvl { value 3; description "Config of ipv6 nd ra-interval failed"; } enum raLifetime { value 4; description "Config of ipv6 nd ra-lifetime failed"; } enum suppressRa { value 5; description "Config of ipv6 nd suppress-ra failed"; } enum macExtract { value 6; description "Config of ipv6 nd mac-extract failed"; } } } // Config Error Inst MO typedef nd_ConfigErrInst { type string; } // DNSSeqNum typedef nd_DNSSeqNum { type uint32 { range "0..4294967295"; } } // DadAttempts typedef nd_DadAttempts { type uint16 { range "0..15"; } default "1"; } // Dadns-Interval typedef nd_DadnsInverval { type uint16 { range "1000..6000"; } default "5000"; } // Database type typedef nd_DbT { type enumeration { enum adj { value 1; description "Adjacency Database"; } enum supcache { value 2; description "SupCache database"; } } default "adj"; } // Hop limit typedef nd_HopLimit { type uint8 { range "0..255"; } default "64"; } // Interface Controls typedef nd_IfControl { type string; default "redirects"; } // Lifetime @@@ 0xffffffff == infinite typedef nd_Lifetime { type uint32 { range "0..4294967295"; } default "2592000"; } // Solicit Accept Value typedef nd_MacExtract { type enumeration { enum none { value 0; description "Default"; } enum nud-phase { value 1; description "Nud-phase"; } enum exclude-nud-phase { value 2; description "Exclude-nud-phase"; } } default "none"; } // Max pack cnt typedef nd_MaxPacket { type uint32 { range "0..32767"; } default "1000"; } // Neighbor solitication transmission Retry Count // // // // // MTU typedef nd_Mtu { type uint16 { range "1280..65535"; } default "1500"; } // ND Cache Limit typedef nd_NdCacheLimit { type uint32 { range "1..614400"; } default "196608"; } // ND Cache Syslog Rate typedef nd_NdCacheSyslogRate { type uint32 { range "1..1000"; } default "1"; } // NDRouteLifeTime @@@ 0xffffffff == infinite typedef nd_NdRtLifeTime { type uint32 { range "0..4294967295"; } } // Neighbor solitication transmission interval typedef nd_NsIntvl { type uint32 { range "1000..3600000"; } default "1000"; } // OffListTimeout typedef nd_OffListTimeout { type uint16 { range "180..1800"; } default "180"; } // OperNDRouteLifeTime @@@ 0xffffffff == infinite typedef nd_OperNdRtLifeTime { type uint32 { range "0..4294967295"; } default "4294967295"; } // Prefix Controls typedef nd_PfxControl { type string; default "auto-cfg,on-link,advertise,router-address"; } // Lifetime @@@ 0xffffffff == infinite typedef nd_PrefLifetime { type uint32 { range "0..4294967295"; } default "604800"; } // Interval between RA transmissions typedef nd_RaIntvl { type uint32 { range "4..1800"; } default "600"; } // Interval between RA transmissions minimum typedef nd_RaIntvlMin { type uint16 { range "3..1350"; } default "200"; } // RA lifetime typedef nd_RaLifetime { type uint32 { range "0..9000"; } default "1800"; } // Reachable time typedef nd_ReachableTime { type uint32 { range "0..3600000"; } default "0"; } // Retransmit timer typedef nd_RetransTimer { type uint32 { range "0..4294967295"; } default "0"; } // Router Preference typedef nd_RouterPreference { type enumeration { enum Medium { value 0; description "ICMPv6 nd router preference medium"; } enum High { value 1; description "ICMPv6 nd router preference high"; } enum Reserved { value 2; description "ICMPv6 nd router preference reserved"; } enum Low { value 3; description "ICMPv6 nd router preference low"; } } } // Router Preference for command typedef nd_RtPrefForCmd { type enumeration { enum unspecified { value 0; description "ICMPv6 nd router preference (if not specified)"; } enum low { value 1; description "ICMPv6 nd router preference low"; } enum medium { value 2; description "ICMPv6 nd router preference medium"; } enum high { value 3; description "ICMPv6 nd router preference high"; } } } // Route Preference for ND Route specific typedef nd_RtPrefForNdRt { type enumeration { enum low { value 0; description "ICMPv6 nd router preference low"; } enum medium { value 1; description "ICMPv6 nd router preference medium"; } enum high { value 2; description "ICMPv6 nd router preference high"; } enum unspecified { value 3; description "ICMPv6 nd router preference unspecified"; } } default "unspecified"; } // Solicit Accept Value typedef nd_SolicitAcceptValue { type enumeration { enum none { value 0; description "Default"; } enum accept { value 1; description "Accept"; } enum no-accept { value 2; description "No-accept"; } } default "none"; } // SolicitProbeValue Range for probe interval is from 1 to 20. // Special value zero (0) indicates no-probe. typedef nd_SolicitProbeValue { type uint16 { range "0..20"; } default "5"; } // Static Adjacency operational state typedef nd_StAdjOperSt { type enumeration { enum down { value 0; description "Down"; } enum up { value 1; description "Incomplete"; } } default "down"; } // Static Adjacency operational state qualifier typedef nd_StAdjOperStQual { type enumeration { enum subnet-mismatch { value 1; description "Subnet mismatch"; } enum invalid-mac { value 2; description "Invalid MAC"; } enum invalid-ip { value 3; description "Invalid IP"; } enum invalid-vrf { value 4; description "Invalid VRF"; } enum own-mac { value 5; description "Own MAC"; } enum if-down { value 6; description "Interface down"; } enum up { value 7; description "Up"; } } default "up"; } // Suppression Cache flag typedef nd_SupCacheFlag { type string; } // Suppression ND Mode typedef nd_SuppressNdMode { type enumeration { enum disabled { value 0; description "Disabled"; } enum l2suppressnd { value 1; description "L2SuppressND"; } enum l2l3suppressnd { value 2; description "L2L3SuppressND"; } enum invalid { value 3; description "Invalid"; } } } // Syslog threshold typedef nd_SyslogCnt { type uint32 { range "0..65535"; } default "10000"; } // throttle timeout typedef nd_ThrTimeout { type uint16 { range "300..1800"; } default "300"; } // VADDR Client state typedef nd_VaddrClientState { type enumeration { enum ICMPV6_CLIENT_STATE_INACTIVE { value 0; description "ICMPv6 client state inactive"; } enum ICMPV6_CLIENT_STATE_ACTIVE { value 1; description "ICMPv6 client state active"; } enum ICMPV6_CLIENT_STATE_ANYCAST_INACTIVE { value 2; description "ICMPv6 client state anycast inactive"; } } } typedef nd_adjRouteDist { type uint32 { range "2..250"; } default "250"; } // RTP ACL typedef netflow_ACLName { type string { length "0..64"; } } // Burst interval shift typedef netflow_BurstIntvlShift { type uint8 { range "0..255"; } default "0"; } // Collector buket identifier typedef netflow_CollBucketId { type uint8 { range "0..255"; } } // Collect Interval typedef netflow_CollIntvl { type uint32 { range "100..64000"; } default "100"; } typedef netflow_CollTemplateTimeout { type uint32 { range "1..86400"; } default "15"; } // Collector timeout typedef netflow_CollTimeout { type uint32 { range "0..86400"; } default "0"; } // Collector version typedef netflow_CollVersion { type enumeration { enum v5 { value 1; description "Version 5"; } enum v9 { value 2; description "Version 9"; } enum cisco-v1 { value 3; description "Cisco proprietary version 1"; } } default "v9"; } // Collect params typedef netflow_CollectParams { type string; } // The values for the Tunnel-Header collect bit config typedef netflow_CollectTunnelHeader { type boolean; default "false"; } // Collector identifier typedef netflow_CollectorId { type uint32 { range "0..65535"; } } // Direction type typedef netflow_DirectionT { type enumeration { enum in { value 1; description "Ingress"; } enum out { value 2; description "Egress"; } enum both { value 3; description "Both"; } } default "in"; } // Flow timeout typedef netflow_FlowTimeout { type uint32 { range "5..60"; } default "10"; } // IP filter type typedef netflow_FltType { type enumeration { enum ipv4 { value 1; description "Ipv4 type"; } enum ipv6 { value 2; description "Ipv6 type"; } enum ce { value 3; description "CE type"; } } default "ipv4"; } // Forwarding instance target identifier typedef netflow_FwdInstTargetId { type uint32 { range "0..4294967295"; } } // Hash value typedef netflow_HashT { type uint32 { range "0..4294967295"; } default "0"; } // IP packet identifier shift typedef netflow_IpPktIdShift { type uint8 { range "0..255"; } default "0"; } // Layer4 port typedef netflow_L4Port { type uint32 { range "1..65535"; } } // Match params typedef netflow_MatchParams { type string; } // Mode typedef netflow_ModeT { type enumeration { enum netflow { value 0; description "Netflow mode"; } } default "netflow"; } // MTU typedef netflow_Mtu { type uint16 { range "576..9216"; } default "1500"; } // Payload length identifier typedef netflow_PayloadLenIdT { type uint8 { range "0..10"; } } // Payload length typedef netflow_PayloadLenT { type uint32 { range "0..16383"; } default "0"; } // Receive window size identifier typedef netflow_RcvWindowSzIdT { type uint8 { range "0..4"; } } // Receive window size typedef netflow_RcvWindowSzT { type uint32 { range "0..65535"; } default "0"; } typedef netflow_RtpHistory { type uint32 { range "0..5000"; } default "1000"; } // RTP Timeout typedef netflow_RtpTimeout { type uint32 { range "0..1440"; } default "1"; } // TCP options header length identifier typedef netflow_TCPOptHdrLenIdT { type uint8 { range "0..6"; } } // TCP options header length typedef netflow_TCPOptHdrLenT { type uint32 { range "0..15"; } default "0"; } // Sequence number guess threshold typedef netflow_ThresholdT { type uint32 { range "0..4294967295"; } default "0"; } typedef netflow_VrfName { type l3_VrfName; default "default"; } // Address Ip typedef netflow_addressIp { type address_Ip; } // Dscp code point values typedef netflow_flowDscp { type uint8; default "0"; } // Port typedef netflow_flowPort { type uint16 { range "0..65535"; } default "9995"; } // Address family type typedef ngmvpn_AfT { type enumeration { enum ipv4 { value 0; description "IPv4 Routes"; } enum ipv6 { value 1; description "IPv6 Routes"; } } } // Database type typedef ngmvpn_DbT { type enumeration { enum mroute { value 0; description "NGMVPN mroute database"; } enum saroute { value 1; description "NGMVPN SA route database"; } enum l2route { value 2; description "NGMVPN L2 route database"; } } } // Event History Buffer Type typedef ngmvpn_EhType { type enumeration { enum bgp { value 0; description "BGP events for fabric multicast"; } enum mrib { value 1; description "MRIB events for fabric multicast"; } enum m2rib { value 2; description "M2RIB events for fabric multicast"; } enum m6rib { value 3; description "M6RIB events for fabric multicast"; } enum pim { value 4; description "PIM events for fabric multicast"; } enum pim6 { value 5; description "PIM6 events for fabric multicast"; } enum hmm { value 6; description "HMM events for fabric multicast"; } enum isis { value 7; description "ISIS events for fabric multicast"; } enum ha { value 8; description "HA events for fabric multicast"; } enum l2rib { value 9; description "L2RIB events for fabric multicast"; } enum nve { value 10; description "NVE events for fabric multicast"; } enum internal { value 11; description "INTERNAL events for fabric multicast"; } } } typedef ngmvpn_LoggingLvl { type uint16 { range "0..7"; } default "5"; } typedef ngmvpn_MdtVxlan { type boolean; } // Event History Buffer size in Text typedef ngmvpn_Size { type uint32 { range "0..4 | 5..4294967295"; } default "0"; } // Authentication Key typedef ngoam_AuthKey { type string { length "0..63"; } } // Counter typedef ngoam_Counter { type uint32; } // Description typedef ngoam_Desc { type string { length "0..64"; } } // Num packets to send for a given ping task typedef ngoam_DestPort { type uint16 { range "0..65535"; } default "0"; } // dot1q id typedef ngoam_Dot1q { type uint16 { range "0..4096"; } } // dot1q id under flow forward typedef ngoam_Dot1qFlow { type uint16 { range "0..3967"; } } // Xconnect hb interval typedef ngoam_HbInterval { type uint32 { range "150..5000"; } } // Hop count typedef ngoam_Hop { type uint8 { range "1..255"; } default "5"; } // Hop count typedef ngoam_Hops { type uint8 { range "1..255"; } default "32"; } // Interface range typedef ngoam_Interface { type string { pattern "(([Ee][Tt][Hh][Ee][Rr][Nn][Ee][Tt]\\d+/\\d+[\\[/]?\\d?\\]?(-\\d+)?,? *)+|([Pp]ort-channel\\d+(-\\d+)?,? *)+|unspecified)"; } default "unspecified"; } // Num packets to send for a given ping task typedef ngoam_NumPkt { type uint16 { range "1..65535"; } default "5"; } // Type of the path typedef ngoam_OamChannel { type enumeration { enum invalid { value 0; description "INVALID"; } enum tissa { value 2; description "TISSA"; } } default "invalid"; } // Order typedef ngoam_Order { type uint8; } // Path id typedef ngoam_PathId { type uint8; } // Payload pad value typedef ngoam_PayloadPad { type uint16 { range "0..65535"; } default "0"; } // The packet size to be used for sending the ping packet typedef ngoam_PktSz { type uint16 { range "1..9500"; } default "56"; } // Profile id typedef ngoam_ProfId { type uint16 { range "1..1023"; } } // Profile id typedef ngoam_ProfIdCC { type uint16 { range "0..1023"; } } // Flow protocol number typedef ngoam_Protocol { type uint16 { range "0..255"; } } // Round trip time typedef ngoam_Rtt { type uint32; } // Loop Detection Probe Interval typedef ngoam_SLDperiodicprobeinterval { type uint32 { range "60..3600"; } default "300"; } // Loop Detection Port-Recovery Interval typedef ngoam_SLDportrecoveryinterval { type uint32 { range "300..3600"; } default "600"; } // The interval between every ping packet that is sent out typedef ngoam_SendIntvlCC { type uint8 { range "1..60"; } default "5"; } // SessionId typedef ngoam_SessionId { type uint16 { range "0..65535"; } } // Source port range typedef ngoam_Sport { type string { pattern "(\\d+(-\\d+)? *(, *\\d+(-\\d+)? *)*)"; } default "0"; } // Source port to be used in the packet typedef ngoam_SrcPort { type uint16 { range "0..65535"; } default "0"; } // The timeout before the ping task gives up with the reply typedef ngoam_Timeout { type uint8 { range "0..25"; } default "2"; } // Vlan Range to disable loop detection typedef ngoam_VlanRange { type string { pattern "(\\d+(-\\d+)? *(, *\\d+(-\\d+)? *)*)"; } default "0"; } // Vni id typedef ngoam_VnidCC { type uint32 { range "0..16777215"; } } // The vrf the oam task is running typedef ngoam_Vrf { type l3_VrfName; } // state of the ports typedef ngoam_portState { type enumeration { enum forwarding { value 0; description "port in forwarding state"; } enum blocked { value 1; description "port in blocked state"; } enum recovering { value 2; description "port in recovery state"; } enum stp-blocked { value 3; description "port blocked by stp"; } enum stp-forwarding { value 4; description "port forwarding by stp"; } } default "forwarding"; } // vlanId on which loop detected typedef ngoam_vlanId { type uint16 { range "1..4095"; } } // Xconnec port state typedef ngoam_xcPortState { type enumeration { enum down { value 0; description "down"; } enum up { value 1; description "Up"; } enum errDisabled { value 2; description "Err"; } } default "down"; } // Xconnec state typedef ngoam_xcState { type enumeration { enum Active { value 0; description "Active"; } enum DB { value 1; description "Database down"; } enum HB { value 2; description "HB failure"; } enum RD { value 4; description "Remote down"; } enum LD { value 8; description "Local Intf down"; } enum DB/HB { value 3; description "DB down, HB Loss"; } enum RD/HB { value 6; description "Remote down, HB Loss"; } enum DB/HB/RD { value 7; description "DB down, HB loss, Remote down"; } enum DB/LD { value 9; description "DB down, Local down"; } enum HB/LD { value 10; description "HB down, Local down"; } enum DB/HB/LD { value 11; description "DB down, HB loss, Local down"; } enum RD/LD { value 12; description "Remote down, Local down"; } enum DB/RD/LD { value 13; description "DB down, Remote down, Local down"; } enum HB/RD/LD { value 14; description "HB Loss, Remote down, Local down"; } enum DB/HB/RD/LD { value 15; description "DB Loss, HB down, Remote down, Local down"; } } default "DB"; } typedef nvo_CfgSrcT { type enumeration { enum unknown { value 0; description "Unknown"; } enum cli { value 1; description "Config source is CLI"; } enum controller { value 2; description "Config source is controller"; } } default "unknown"; } typedef nvo_DciAdvertisePipStateT { type enumeration { enum disable { value 0; description "Disables advertise PIP towards DCI in BGP for multisite."; } enum enable { value 1; description "Enables PIP towards DCI in BGP for multisite."; } } default "disable"; } typedef nvo_ETimeStamp { type union { type string; type uint64; } default "0"; } typedef nvo_EncapT { type enumeration { enum unknown { value 0; description "Unknown"; } enum vxlan { value 1; description "Overlay encap vxlan"; } enum vxlan-tun-ctrl-frame { value 2; description "Overlay encap vxlan tunnel control frames"; } enum vxlan-tun-ctrl-frame-lacp { value 3; description "Overlay encap vxlan tunnel control frames lacp"; } enum vxlan-tun-ctrl-frame-stp { value 4; description "Overlay encap vxlan tunnel control frames stp"; } enum dot1q { value 5; description "Overlay encap vxlan-with-tags"; } enum dot1q-tun-ctrl-frame { value 6; description "Overlay encap vxlan-with-tags tunnel control frames"; } enum dot1q-tun-ctrl-frame-lacp { value 7; description "Overlay encap vxlan-with-tags tunnel control frames lacp"; } enum dot1q-tun-ctrl-frame-stp { value 8; description "Overlay encap vxlan-with-tags tunnel control frames stp"; } } default "unknown"; } typedef nvo_EpIdT { type uint32; } typedef nvo_EthernetSegmentLocalIdentifierT { type uint16 { range "1..65535"; } } typedef nvo_EthernetSegmentTypeT { type enumeration { enum vpc { value 1; description "Ethernet Segment is configured on vPC port-channel"; } enum invalid { value 0; description "invalid"; } } default "invalid"; } typedef nvo_EvpnMcastStT { type enumeration { enum enabled { value 1; description "Enable 'advertise evpn multicast'"; } } default "enabled"; } typedef nvo_EvpnSiteName { type enumeration { enum unknown { value 0; description "Evpn sitename 'Unknown'"; } enum ucast { value 1; description "Evpn sitename 'Unicast'"; } enum bcast { value 2; description "Evpn sitename 'Broadcast'"; } enum mcast { value 3; description "Evpn sitename 'Multicast'"; } } default "unknown"; } typedef nvo_HostLearnModeT { type enumeration { enum DP { value 1; description "Data Plane"; } enum CP { value 2; description "Control Plane"; } enum Ctrlr { value 3; description "Controller"; } } default "DP"; } typedef nvo_HostReachT { type enumeration { enum Flood-and-learn { value 0; description "Flood-and-learn VxLAN"; } enum bgp { value 1; description "Host Reachability is learnt through BGP-EVPN"; } enum controller { value 2; description "Host Reachability is provided by controller"; } enum openflow { value 3; description "Host Reachability is provided by openflow"; } enum openflowIR { value 4; description "Host Reachability is provided by openflow-ir"; } } default "Flood-and-learn"; } typedef nvo_IngReplProtoT { type enumeration { enum unknown { value 0; description "Unknown mode for peers"; } enum bgp { value 1; description "Ingress Replication peers are learnt via BGP-EVPN"; } enum static { value 2; description "Ingress Replication peers are configured statically"; } } } typedef nvo_MdtSeqNoT { type uint32 { range "1..4294967295"; } default "4294967295"; } typedef nvo_MdtThresholdT { type uint32 { range "0..4294967295"; } default "0"; } typedef nvo_MplsEncapT { type enumeration { enum unknown { value 0; description "Unknown type of encapsulation operation"; } enum mpls { value 1; description "MPLS segment-routing based encapsulation"; } enum none { value 2; description "No encapsulation"; } } } typedef nvo_MultisiteIngReplStateT { type enumeration { enum disable { value 1; description "Disable 'multisite ingress-replication'"; } enum enable { value 2; description "Enable 'multisite ingress-replication'"; } enum enableOptimized { value 3; description "Enable 'Optimized multisite ingress-replication'"; } } default "disable"; } typedef nvo_MultisiteStateT { type enumeration { enum enabled { value 1; description "Enable 'evpn multisite border-gateway'"; } } default "enabled"; } typedef nvo_MultisiteTrackingT { type enumeration { enum unknown { value 0; description "Unknown"; } enum dci { value 1; description "Enable 'evpn multisite dci-tracking'"; } enum fabric { value 2; description "Enable 'evpn multisite fabric-tracking'"; } } default "unknown"; } typedef nvo_OwnershipT { type string; } typedef nvo_PeerStateT { type enumeration { enum Up { value 1; description "Peer State UP"; } enum Down { value 2; description "Peer State DOWN"; } } default "Down"; } typedef nvo_RedundancyGrpStT { type enumeration { enum disabled { value 0; description "Disable 'redundancy-group'"; } enum enabled { value 1; description "Enable 'redundancy-group'"; } } default "disabled"; } // This type is used for the hidden property replMode in the IngRepl Mo. // The values in this enum are a subset of the values in the aggregate model // type ReplicationModeType (defined in file switch/aggregate/types.xml). // Const values defined in this enum should be the same as the corresponding // values in the aggregate model enum typedef nvo_ReplModeT { type enumeration { enum unknown { value 0; description "Unknown"; } enum replicationServer { value 1; description "ReplicationServer"; } enum ingressReplication { value 2; description "IngressReplication"; } } default "ingressReplication"; } typedef nvo_RtMapType { type string { length "0..63"; } } typedef nvo_SplitHorizonPerSiteStateT { type enumeration { enum disable { value 0; description "Disables the per-site split-horizon feature."; } enum enable { value 1; description "Enables the per-site split-horizon feature."; } } default "disable"; } typedef nvo_SrStateT { type enumeration { enum unknown { value 4; description "Unknown State"; } enum init { value 0; description "Entity is in initial state"; } enum add_complete { value 1; description "Entity is in functional state"; } enum EviDelPending { value 2; description "Cleanup is pending after deletion of an evi node"; } enum PeerDelPending { value 3; description "Cleanup is pending after deletion of a peer node"; } } default "unknown"; } typedef nvo_SuppressARPT { type enumeration { enum off { value 0; description "Arp suppression not configured"; } enum enabled { value 1; description "Arp suppression enabled"; } enum disabled { value 2; description "Arp suppression disabled"; } } default "off"; } typedef nvo_VniStateT { type enumeration { enum Up { value 1; description "VNI State UP"; } enum Down { value 2; description "VNI State DOWN"; } } default "Down"; } typedef nvo_VniT { type uint32 { range "1..16777214"; } } typedef nvo_VniTypeT { type enumeration { enum L2 { value 1; description "Not vrf associated"; } enum L3 { value 2; description "Vrf associated"; } } default "L2"; } typedef nvo_vxlanUDPSrcPortModeT { type enumeration { enum low { value 0; description "low mode for UDP source port"; } enum high { value 1; description "high mode for UDP source port"; } enum rfc { value 2; description "RFC mode for UDP source port"; } } default "low"; } // Address family typedef nw_AddrF { type enumeration { enum ipv4 { value 1; description "IPv4"; } enum ipv6 { value 2; description "IPv6"; } enum mac { value 3; description "Mac"; } } default "ipv4"; } // Administrative state typedef nw_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // 32 bit Counter typedef nw_Counter32 { type uint32; } // 64 bit Counter typedef nw_Counter64 { type uint64; } // Operational state of entity typedef nw_EntOperSt { type enumeration { enum unknown { value 0; } enum enabled { value 1; } enum disabled { value 2; } enum initializing { value 3; } enum failed { value 4; } } default "enabled"; } // Administrative state of interface typedef nw_IfAdminSt { type nw_AdminSt; } // Interface identifier typedef nw_IfId { type string; } // Instance controls typedef nw_InstCtrl { type string; } // Interface ordinal typedef nw_Iod { type uint32 { range "1..4294967295"; } default "1"; } // Memory alert level typedef nw_MemAlertLevel { type enumeration { enum normal { value 0; description "Normal"; } enum minor { value 1; description "Minor"; } enum major { value 2; description "Major"; } enum critical { value 3; description "Critical"; } } default "normal"; } // Operational state summary typedef nw_OSSum { type enumeration { enum failed { value 0; description "Failed"; } enum initializing { value 1; description "Initializing"; } enum resetting { value 2; description "Resetting"; } enum degraded { value 3; description "Degraded"; } enum ok { value 4; description "Ok"; } } default "ok"; } // Operational state summary qualifier typedef nw_OSSumQual { type string; } // Operational error qualifier typedef nw_OperErrQual { type string; } typedef nxapi_ClientCertAuthType { type enumeration { enum off { value 0; description "Basic Authentication ONLY"; } enum optional { value 1; description "Mutual certificate authentication between client and server, OR Basic Authentication"; } enum strict { value 2; description "Mutual certificate authentication between client and server ONLY"; } enum two-step { value 3; description "Mutual certificate authentication between client and server, AND Basic Authentication (two-step verification)"; } } default "off"; } typedef nxapi_HttpPort { type int32 { range "-1..65535"; } default "-1"; } typedef nxapi_HttpsPort { type int32 { range "-1..65535"; } default "443"; } typedef nxapi_SslProtocols { type string; default "TLSv1.2"; } typedef nxapi_keyPassphrase { type string { length "4..1024"; } } // security level typedef nxsdk_SecLevel { type enumeration { enum deny { value 0; } enum permit { value 2; } enum throttle { value 3; } } default "deny"; } typedef nxsdk_ServiceSt { type string { length "0..20"; } } // Ip identifier typedef oam_IpId { type address_Ip; } // Payload size typedef oam_PayloadSz { type uint16 { range "20..8904"; } default "56"; } // Profile name typedef oam_ProfName { type string; } // Tenant name typedef oam_TenantName { type string; } // The vrf the oam task is running typedef oam_Vrf { type l3_VrfName; } // Line operational state typedef ofm_OperSt { type enumeration { enum unknown { value 0; description "unknown"; } enum up { value 1; description "up"; } enum down { value 2; description "down"; } } default "down"; } typedef ofm_TePolicyName { type string { length "0..64"; } } typedef ofm_encapType { type enumeration { enum none { value 0; description "none"; } enum vxlan { value 1; description "Vxlan encap"; } enum srv6 { value 2; description "Srv6 encap"; } enum ivxlan { value 3; description "iVxlan encap"; } enum erspan { value 4; description "ERSPAN encap"; } enum gre { value 5; description "GRE encap"; } enum mpls { value 6; description "MPLS encap"; } } default "none"; } typedef ofm_flowinterfacelist { type mtx_array_ifindex; } // Tunnel mode types typedef ofm_profileName { type string { length "0..50"; } } typedef ofm_vniId { type uint32 { range "1..16777215"; } default "1"; } typedef opflex_DevOperState { type enumeration { enum unknown { value 0; description "Unknown"; } enum online { value 1; description "Online"; } enum offline { value 2; description "Offline"; } enum identified { value 3; description "Identified"; } enum compatible { value 4; description "Compatible"; } enum incompatible { value 5; description "Incompatible"; } } default "identified"; } // Type of opflex device typedef opflex_DeviceType { type enumeration { enum unknown { value 0; } enum n1kv { value 1; } enum hyperv { value 2; } enum ovs { value 3; } } default "n1kv"; } typedef opflex_Direction { type enumeration { enum in { value 0; } enum out { value 1; } } default "in"; } // Ep Transition Status typedef opflex_EpTransitionStatus { type enumeration { enum unknown { value 0; } enum attached { value 1; } enum detached { value 2; } } default "attached"; } // epp download hint typedef opflex_EppDownloadHint { type enumeration { enum unknown { value 0; } enum always { value 1; } enum optimal { value 2; } } default "always"; } // hb status typedef opflex_HbStatus { type enumeration { enum unknown { value 0; } enum invalid-dvs { value 1; } enum valid-dvs { value 2; } } default "valid-dvs"; } typedef os_OsString { type string { length "0..256"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } } // ASBR Router Status typedef ospf_ASBdrRtr { type uint8 { range "0..1"; } default "0"; } // Explicit-NULL type- Active typedef ospf_Active { type enumeration { enum no { value 0; description "Explicit-NULL state is not active"; } enum yes { value 1; description "Explicit-NULL state is active"; } } default "no"; } // Adjacency change logging levels typedef ospf_AdjChangeLogLevel { type enumeration { enum none { value 0; description "Adjacency change logging levels - None"; } enum brief { value 1; description "Adjacency change logging levels - Brief logging"; } enum detail { value 2; description "Adjacency change logging levels - Detailed logging"; } } default "none"; } // Adjacency flags typedef ospf_AdjFlags { type string; default "unspecified"; } // Adjacency router id typedef ospf_AdjId { type ip_RtrId; } // Adjacency interface id typedef ospf_AdjIfId { type uint32; } // Adjancency operational state typedef ospf_AdjOperSt { type enumeration { enum unknown { value 0; description "Adjancency operational state - Unknown"; } enum down { value 1; description "Adjancency operational state is Down"; } enum attempt { value 2; description "Adjancency operational state - Attempt"; } enum initializing { value 3; description "Adjancency operational state is Initializing"; } enum two-way { value 4; description "Adjancency operational state is Two-way"; } enum exstart { value 5; description "Adjancency operational state - Exstart"; } enum exchange { value 6; description "Adjancency operational state - Exchange"; } enum loading { value 7; description "Adjancency operational state - Loading"; } enum full { value 8; description "Adjancency operational state is Full"; } enum self { value 9; description "Adjancency operational state is Self"; } } default "down"; } // SR Adjacency SID flags typedef ospf_AdjSidFlags { type string; default "unspecified"; } // SR Adjacency SID Label typedef ospf_AdjSidLabel { type uint32; default "4294967295"; } // Extended Prefix Flags typedef ospf_AdjSidTlvType { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum Adj-SID_Sub-TLV { value 2; description "Adj-SID Sub-TLV"; } enum LAN_Adj-SID_Sub-TLV { value 3; description "LAN Adj-SID Sub-TLV"; } } } // Always option for DefLeak typedef ospf_Always { type enumeration { enum no { value 0; description "Default-leak state is not always"; } enum yes { value 1; description "Default-leak state is always"; } } default "no"; } // Area Border Router Status typedef ospf_AreaBdrRtr { type uint8 { range "0..1"; } default "0"; } // Area controls typedef ospf_AreaControl { type string; default "unspecified"; } // Area default cost typedef ospf_AreaCost { type uint32 { range "0..16777215"; } default "1"; } // Area id typedef ospf_AreaId { type address_Ipv4; } // Area type typedef ospf_AreaT { type enumeration { enum regular { value 1; description "Area type is regular area"; } enum stub { value 2; description "Area type is Stub area"; } enum nssa { value 3; description "Area type is NSSA area"; } } default "regular"; } // AS Border Router count typedef ospf_AsbrCnt { type uint32; } // Authentication key. This property will be deprecated in // Future releases typedef ospf_AuthKey { type string; } // Authentication key id typedef ospf_AuthKeyId { type uint8 { range "0..255"; } default "0"; } // Authentication key added for visibility in DME DB typedef ospf_AuthKeyNew { type string; } // Authentication type typedef ospf_AuthT { type enumeration { enum none { value 0; description "Authentication type is none "; } enum simple { value 1; description "Simple authentication type"; } enum md5 { value 2; description "MD5 authentication type"; } enum unspecified { value 3; description "Authentication type is unspecified but valid"; } } default "unspecified"; } // Bidirectional Forwarding Detection Control typedef ospf_BfdControl { type enumeration { enum unspecified { value 0; description "Unconfigure interface BFD configuration"; } enum enabled { value 1; description "Configure interface to use BFD"; } enum disabled { value 2; description "Configure interface not to use BFD"; } } default "unspecified"; } // BFD state typedef ospf_BfdOperSt { type enumeration { enum down { value 0; description "Bi-directional Forwarding Detection (BFD) is Down"; } enum up { value 1; description "Bi-directional Forwarding Detection (BFD) is Up"; } } } // Border Router count typedef ospf_BrCnt { type uint32; } // Bandwidth reference value typedef ospf_BwRef { type uint32; default "40000"; } // Bandwidth reference unit typedef ospf_BwRefUnit { type enumeration { enum mbps { value 0; description "Bandwidth reference unit is Mbps"; } enum gbps { value 1; description "Bandwidth reference unit is Gbps"; } } default "mbps"; } // OSPFv2 Capability Flag typedef ospf_CapFlag { type enumeration { enum no { value 0; description "Capability not supported"; } enum yes { value 1; description "Capability supported"; } } } // Counter typedef ospf_Counter32 { type uint32; } typedef ospf_CurrSleepCnt { type uint32 { range "0..4294967295"; } default "0"; } // Database type typedef ospf_DbT { type enumeration { enum ls { value 1; description "Link state database type with value 1"; } enum rt { value 2; description "Route database type with value 2"; } enum nh { value 3; description "Nexthop database type with value 3"; } } default "ls"; } // Dead interval typedef ospf_DeadIntvl { type uint16 { range "0..65535"; } default "0"; } // Designated address typedef ospf_DesigAddr { type address_Ip; } // Designated priority typedef ospf_DesigPrio { type uint8 { range "0..255"; } default "1"; } // Discard Route typedef ospf_DiscardRoute { type string; default "int,ext"; } // Distance typedef ospf_Dist { type uint8 { range "1..255"; } default "110"; } // Dom controls typedef ospf_DomControl { type string; default "unspecified"; } // L3VPN Domain Identifier typedef ospf_DomainId { type string; } // L3VPN Domain Tag (AS number) typedef ospf_DomainTag { type uint32 { range "0..2147483648"; } default "2147483648"; } // L3VPN OSPF Domain Type typedef ospf_DomainType { type enumeration { enum 0000 { value 0; description "Domain Type is unspecified"; } enum 0005 { value 5; description "Domain Type is 0x0005"; } enum 0105 { value 261; description "Domain Type is 0x0105"; } enum 0205 { value 517; description "Domain Type is 0x0205"; } enum 8005 { value 32773; description "Domain Type is 0x8005"; } } default "0000"; } // ECMP max paths typedef ospf_Ecmp { type uint8 { range "1..64"; } default "8"; } // Event history Buffer size typedef ospf_EventLogSize { type enumeration { enum disabled { value 0; description "Event history logging disabled"; } enum small { value 1; description "Event history Buffer size is Small"; } enum medium { value 2; description "Event history Buffer size is Medium"; } enum large { value 3; description "Event history Buffer size is Large"; } } default "small"; } // Event history Bufer size in Kbytes typedef ospf_EventLogSizeKBytes { type uint16 { range "0..65535"; } } // Event Log Type typedef ospf_EventType { type enumeration { enum adj { value 0; description "Event Log Type - Adjacency Events"; } enum internal { value 1; description "Event Log Type - Internal Events"; } enum ha { value 2; description "Event Log Type - HA Events"; } enum lsa-flood { value 3; description "Event Log Type - LSA flooding Events"; } enum lsa { value 4; description "Event Log Type - LSA Events"; } enum spf { value 5; description "Event Log Type - SPF Events"; } enum redist { value 6; description "Event Log Type - Redistribution Events"; } enum ldp { value 7; description "Event Log Type - LDP Events"; } enum mpls-te { value 8; description "Event Log Type - MPLS TE Events"; } enum hello { value 9; description "Event Log Type - Hellog packet logs"; } enum rib { value 10; description "Event Log Type - RIB Events"; } enum spf-trigger { value 11; description "SPF Trigger Events logs"; } enum cli { value 12; description "Event Log Type - CLI Events"; } enum segrt { value 13; description "Segment Routing Events"; } } } // Failed state qualifier typedef ospf_FailStQual { type string; default "unspecified"; } // prefix attribute flag status typedef ospf_FlagStatus { type enumeration { enum unspecified { value 0; description "Segment routing n-flag is Unspecified"; } enum clear { value 1; description "Prefix attribute flag status is Clear"; } } default "unspecified"; } // Graceful restart controls typedef ospf_GrCtrl { type enumeration { enum planned-only { value 1; description "Planned graceful restarts only"; } enum complete { value 2; description "Complete graceful restart enabled"; } enum disabled { value 3; description "Do not participate in graceful restart procedures"; } } default "complete"; } // Graceful restart time period in seconds typedef ospf_GrPeriod { type uint32 { range "5..1800"; } default "60"; } // Hello interval typedef ospf_HelloIntvl { type uint16 { range "1..65535"; } default "10"; } // Peer Helper Age typedef ospf_HelperAge { type uint32; } // Neighbor restart helper reason typedef ospf_HelperExitQual { type enumeration { enum none { value 1; description "Neighbor restart helper reason -Not Attempted"; } enum in-progress { value 2; description "Neighbor restart helper reason - Restart In Progress"; } enum completed { value 3; description "Neighbor restart helper reason - Successfully Completed"; } enum timed-out { value 4; description "Neighbor restart helper reason - Timed Out"; } enum topology-changed { value 5; description "Neighbor restart helper reason - Topology Changed"; } } default "none"; } // Neighbor restart helper status typedef ospf_HelperSt { type enumeration { enum not-helping { value 1; description "Neighbor restart helper status - not-helping"; } enum helping { value 2; description "Neighbor restart helper status - Helping"; } } default "not-helping"; } // Interface controls typedef ospf_IfControl { type string; default "unspecified"; } // Interface cost typedef ospf_IfCost { type uint16 { range "0..65535"; } default "0"; } // Interface flags typedef ospf_IfFlags { type string; default "unspecified"; } // Interface operational state typedef ospf_IfOperSt { type enumeration { enum unknown { value 0; description "Interface operational state is unknown"; } enum down { value 1; description "Interface operational state is down"; } enum loopback { value 2; description "Interface operational state is Loopback"; } enum waiting { value 3; description "Interface operational state is Waiting"; } enum p2p { value 4; description "Interface operational state is p2p"; } enum dr { value 5; description "Interface operational state is DR"; } enum bdr { value 6; description "Interface operational state is BDR"; } enum dr-other { value 7; description "Interface operational state is DR-other"; } } default "down"; } // Interface type typedef ospf_IfType { type enumeration { enum unspecified { value 0; description "Interface type is unspecified"; } enum loopback { value 1; description "Interface type is Loopback"; } enum p2p { value 2; description "Interface type is P2P"; } enum p2mp { value 3; description "Interface type is P2MP"; } enum nbma { value 4; description "Interface type is NBMA"; } enum bcast { value 5; description "Interface type is Broadcast"; } } default "unspecified"; } // Lsa router id typedef ospf_LsaAdvRtr { type ip_RtrId; } // LSA Advertisement typedef ospf_LsaAdvert { type mtx_array_uint8; } // Lsa age typedef ospf_LsaAge { type uint32; } // Lsa arrival interval typedef ospf_LsaArrivalIntvl { type uint32 { range "10..600000"; } default "1000"; } // Lsa checksum typedef ospf_LsaCksum { type uint32; } // LSA checksum sum typedef ospf_LsaCksumSum { type uint32; } // Lsa group pacing interval typedef ospf_LsaGpPacingIntvl { type uint16 { range "1..1800"; } default "10"; } // Lsa id typedef ospf_LsaId { type address_Ipv4; } typedef ospf_LsaLeakOperSt { type enumeration { enum Inactive { value 0; description "LSA leak operational state is InActive"; } enum active { value 1; description "LSA leak operational state is Active"; } } default "Inactive"; } // Lsa sequence number typedef ospf_LsaSeq { type uint32; } // Lsa type typedef ospf_LsaT { type enumeration { enum router { value 1; description "Router Link-State Advertisements(LSA)"; } enum nw { value 2; description "Network Link-State Advertisements(LSA)"; } enum summary { value 3; description "Summary Link-State Advertisements(LSA)"; } enum asbr { value 4; description "ASBR Link-State Advertisements(LSA)"; } enum ext { value 5; description "External Link-State Advertisements(LSA)"; } enum nssa { value 7; description "NSSA Link-State Advertisements(LSA)"; } enum link-opq { value 9; description "Link opaque Link-State Advertisements(LSA)"; } enum area-opq { value 10; description "Area opaque Link-State Advertisements(LSA)"; } enum as-opq { value 11; description "AS opaque Link-State Advertisements(LSA)"; } } default "router"; } // Lsa throttle hold interval typedef ospf_LsaThHoldIntvl { type uint32 { range "50..30000"; } default "5000"; } // Lsa throttle maximum interval typedef ospf_LsaThMaxIntvl { type uint32 { range "50..30000"; } default "5000"; } // Lsa throttle start wait interval typedef ospf_LsaThStartIntvl { type uint32 { range "0..5000"; } default "0"; } // Maximum number of non self-generated LSAs typedef ospf_MaxLsa { type uint32 { range "1..4294967295"; } } typedef ospf_MaxLsaAct { type enumeration { enum reject { value 0; description "Reject LSAs beyond the limit"; } enum restart { value 1; description "Restart the max-lsa neighbor"; } enum log { value 2; description "Max-LSA action - log a warning"; } } default "reject"; } typedef ospf_MaxLsaOperSt { type enumeration { enum ok { value 0; description "Max LSA operational state is OK"; } enum threshold-exceeded { value 1; description "Max LSA operational state - Threshold Exceeded"; } } default "ok"; } typedef ospf_MaxLsaOperStQual { type enumeration { enum ok { value 0; description "Max LSA operational state qualifier is ok"; } enum warning { value 1; description "Max LSA operational state qualifier - warning"; } enum overload { value 2; description "Max LSA operational state qualifier - Overload"; } enum sleep { value 3; description "Max LSA operational state qualifier - Sleep state"; } enum reset { value 4; description "Max LSA operational state qualifier - Reset state"; } enum perm-sleep { value 5; description "Max LSA operational state qualifier - Permanent Sleep"; } } default "ok"; } typedef ospf_MaxLsaThresh { type uint16 { range "1..100"; } default "75"; } // Max metric value to be used for advertising LSAs typedef ospf_MaxMetric { type uint32 { range "0..16777215"; } default "0"; } // Max metric controls - specifies when to send max // metric LSAs and for which LSAs/links typedef ospf_MaxMetricControl { type string; } // Metric typedef ospf_Metric { type uint32 { range "0..16777214"; } default "0"; } // VRF name for name-lookup command typedef ospf_NameLookupVrf { type string; default "default"; } // Nexthop flags typedef ospf_NhFlags { type string; default "unspecified"; } typedef ospf_NonSelfLsaCnt { type uint32 { range "0..4294967295"; } default "0"; } // NSSA translator role typedef ospf_NssaTransRole { type enumeration { enum always { value 1; description "NSSA translator role is Always"; } enum candidate { value 2; description "NSSA translator role is Candidate"; } enum never { value 3; description "NSSA translator role is Never"; } } default "candidate"; } // NSSA translator state typedef ospf_NssaTransSt { type enumeration { enum enabled { value 1; description "NSSA translator state is Enabled"; } enum elected { value 2; description "NSSA translator state is Elected"; } enum disabled { value 3; description "NSSA translator state is Disabled"; } } default "elected"; } // NSSA translator interval typedef ospf_NssaTransStabIntvl { type uint32 { range "0..4294967295"; } default "40"; } // Network type typedef ospf_NwT { type enumeration { enum unspecified { value 0; description "Network type is Unspecified"; } enum p2p { value 1; description "Network type is set to Point-to-point"; } enum bcast { value 2; description "Network type is set to Broadcast"; } } default "unspecified"; } // Operational Dead interval typedef ospf_OperDeadIntvl { type uint32; default "0"; } // L3vm Operational state typedef ospf_OperSt { type enumeration { enum invalid { value 0; description "L3vm Operational state is invalid"; } enum down { value 1; description "L3vm Operational state is down"; } enum up { value 2; description "L3vm Operational state is up"; } } default "down"; } // Neighbor options typedef ospf_Options { type uint32; } // Passive Control typedef ospf_PassiveControl { type enumeration { enum unspecified { value 0; description "Unconfigure interface passive configuration"; } enum enabled { value 1; description "Configure interface as passive"; } enum disabled { value 2; description "Configure interface as non-passive"; } } default "unspecified"; } // Path type typedef ospf_PathT { type enumeration { enum intra { value 1; description "Path type is Intra route path"; } enum discard-int { value 2; description "Path type - Discard internal route"; } enum inter { value 3; description "OSPF route path type - Inter"; } enum discard-ext { value 4; description "OSPF route path type - Discard external"; } enum ext1 { value 5; description "OSPF route path type - External1"; } enum nssa1 { value 6; description "OSPF route path type - NSSA1"; } enum ext2 { value 7; description "OSPF route path type - External2"; } enum nssa2 { value 8; description "OSPF route path type - NSSA2"; } } default "intra"; } // Extended Prefix Flags typedef ospf_PfxFlags { type string; } // SR Prefix SID flags typedef ospf_PfxSidFlags { type string; } // Rate Type typedef ospf_RateType { type uint16 { range "0..256"; } default "256"; } typedef ospf_ResetIntvl { type uint32 { range "1..1440"; } default "10"; } // Retransmit interval typedef ospf_RexmitIntvl { type uint16 { range "1..65535"; } default "5"; } // Route cost typedef ospf_RtCost { type uint16 { range "1..65535"; } default "1"; } // Route flags typedef ospf_RtFlags { type string; default "unspecified"; } // Route tag typedef ospf_RtTag { type uint32; } // Segment Routing Enable/Disable Control typedef ospf_SegRtControl { type enumeration { enum unspecified { value 0; description "Unconfigure area Segment Routing configuration"; } enum mpls { value 1; description "Configure area to enable Segment Routing MPLS"; } enum disable { value 2; description "Configure area to disable Segment Routing MPLS/IPv6"; } } default "unspecified"; } // Segment routing mpls label typedef ospf_SgmntRtgMplsLabel { type uint32; default "4294967295"; } // Segment Routing MPLS Operational State (Enable/Disable) typedef ospf_SgmntRtgMplsOperSt { type enumeration { enum Disabled { value 0; description "Segment Routing MPLS is Disabled at this level"; } enum Enabled { value 1; description "Segment Routing MPLS is Enabled at this level"; } } default "Disabled"; } // Oper SID Index typedef ospf_SidIndex { type int32; default "-1"; } typedef ospf_SleepCnt { type uint32 { range "1..4294967295"; } default "5"; } typedef ospf_SleepIntvl { type uint16 { range "1..1440"; } default "5"; } // SNMP Instance name typedef ospf_SnmpInstanceName { type string { length "0..20"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } // Spf computation hold interval typedef ospf_SpfCompHoldIntvl { type uint32 { range "1..600000"; } default "1000"; } // Spf computation initial wait interval typedef ospf_SpfCompInitIntvl { type uint32 { range "1..600000"; } default "200"; } // Spf computation maximum wait interval typedef ospf_SpfCompMaxIntvl { type uint32 { range "1..600000"; } default "5000"; } typedef ospf_StartupIntvl { type uint32 { range "0 | 5..86400"; } default "600"; } // Summary Control typedef ospf_SumControl { type string; default "unspecified"; } // Area range cost typedef ospf_SumCost { type uint32 { range "0..16777216"; } default "16777216"; } // Vrf-Lite Control typedef ospf_VrfLiteControl { type enumeration { enum unspecified { value 0; description "Unconfigure Vrf-Lite configuration"; } enum l3vpn { value 1; description "Configure Vrf-Lite for L3VPN"; } enum evpn { value 2; description "Configure Vrf-Lite for Ethernet VPN"; } } default "unspecified"; } // Window interval typedef ospf_WindowType { type uint8 { range "1..60"; } default "1"; } // Tramist delay typedef ospf_XmitDelay { type uint16 { range "1..450"; } default "1"; } // Adjacency change logging levels typedef ospfv3_AdjChangeLogLevel { type enumeration { enum none { value 0; description "Adjacency change logging levels - None"; } enum brief { value 1; description "Adjacency change logging levels - Brief logging"; } enum detail { value 2; description "Adjacency change logging levels - Detailed logging"; } } default "none"; } // Administrative Distance typedef ospfv3_AdminDist { type uint8 { range "1..255"; } default "110"; } // Address family type typedef ospfv3_AfT { type enumeration { enum ipv6-ucast { value 1; description "IPv6 unicast address family"; } } default "ipv6-ucast"; } // Area default cost typedef ospfv3_AreaCost { type uint32 { range "0..16777215"; } default "0"; } // Area id typedef ospfv3_AreaId { type string; } // Area type typedef ospfv3_AreaT { type enumeration { enum regular { value 1; description "Area type is Regular area"; } enum stub { value 2; description "Area type is Stub area"; } enum nssa { value 3; description "Area type is NSSA area"; } } default "regular"; } // Authentication key typedef ospfv3_AuthKey { type string; } typedef ospfv3_AuthKeyEncrType { type enumeration { enum cleartext { value 0; description "Key is Unencrypted; in Cleartext"; } enum 3des { value 3; description "Key is 3DES Encrypted"; } enum cisco-type-7 { value 7; description "Key is CiscoType7 Encrypted"; } } } // Security Parameter Index typedef ospfv3_AuthSpi { type uint32 { range "256..4294967295"; } } // Authentication types which can be md5/sha1/disable typedef ospfv3_AuthType { type enumeration { enum none { value 0; description "None authentication type"; } enum md5 { value 1; description "MD5 authentication type"; } enum sha1 { value 2; description "SHA1 authentication type"; } enum disable { value 3; description "Disable authentication"; } } } // Bidirectional Forwarding Detection Control typedef ospfv3_BfdControl { type enumeration { enum unspecified { value 0; description "Unconfigure interface BFD configuration"; } enum enabled { value 1; description "Configure interface to use BFD"; } enum disabled { value 2; description "Configure interface not to use BFD"; } } default "unspecified"; } // Bandwidth reference value typedef ospfv3_BwRef { type uint32; default "40000"; } // Bandwidth reference unit typedef ospfv3_BwRefUnit { type enumeration { enum mbps { value 0; description "Bandwidth reference unit is Mbps"; } enum gbps { value 1; description "Bandwidth reference unit is Gbps"; } } default "mbps"; } // Dead interval typedef ospfv3_DeadIntvl { type uint32 { range "0..65535"; } default "0"; } // default Metric typedef ospfv3_DefMetric { type uint32 { range "0..16777214"; } default "0"; } // Designated priority typedef ospfv3_DesigPrio { type uint8 { range "0..255"; } default "1"; } // Authentication types which can be md5/sha1/disable typedef ospfv3_DomAuthType { type enumeration { enum none { value 0; description "None authentication type"; } enum md5 { value 1; description "MD5 authentication type"; } enum sha1 { value 2; description "SHA1 authentication type"; } } } // Dom name typedef ospfv3_DomName { type l3_VrfName; } // ECMP max paths typedef ospfv3_Ecmp { type uint8 { range "1..64"; } default "8"; } // Authentication types which can be sha1/none typedef ospfv3_EspAuthType { type enumeration { enum none { value 0; description "None authentication type"; } enum sha1 { value 1; description "SHA1 authentication type"; } } } typedef ospfv3_EspDisable { type enumeration { enum unspecified { value 0; description "unspecified disable type"; } enum disable { value 1; description "disable type"; } } } // Authentication types for DOM which can be md5/sha1 typedef ospfv3_EspDomAuthType { type enumeration { enum none { value 0; description "None authentication type"; } enum sha1 { value 1; description "SHA1 authentication type"; } } } typedef ospfv3_EspDomEncrType { type enumeration { enum none { value 0; description "None encryption type"; } enum 3des { value 1; description "3des encryption type"; } enum 128aes { value 2; description "128 aes encryption"; } } } typedef ospfv3_EspEncrType { type enumeration { enum none { value 0; description "None encryption type"; } enum 3des { value 1; description "3des encryption type"; } enum 128aes { value 2; description "128 aes encryption"; } } } // ESP Authentication key typedef ospfv3_EspKey { type string; } typedef ospfv3_EspKeyType { type enumeration { enum cleartext { value 0; description "Key is Unencrypted; in Cleartext"; } enum 3des { value 3; description "Key is 3DES Encrypted"; } enum cisco-type-7 { value 7; description "Key is CiscoType7 Encrypted"; } } } typedef ospfv3_EspSpi { type uint32 { range "0 | 256..4294967295"; } } // Graceful restart controls typedef ospfv3_GrCtrl { type enumeration { enum planned-only { value 1; description "Planned graceful restarts only"; } enum complete { value 2; description "Complete graceful restart enabled"; } enum disabled { value 3; description "Graceful restart disabled"; } } default "complete"; } // Graceful restart time period in seconds typedef ospfv3_GrPeriod { type uint32 { range "5..1800"; } default "60"; } // Hello interval typedef ospfv3_HelloIntvl { type uint16 { range "1..65535"; } default "10"; } // Interface cost typedef ospfv3_IfCost { type uint16 { range "0..65535"; } default "0"; } // Instance id typedef ospfv3_InstanceID { type uint8 { range "0..255"; } default "0"; } // Instance name typedef ospfv3_InstanceName { type string { length "0..20"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } // Keychain type for Encryption and Authentication typedef ospfv3_KeychainType { type string { length "0..63"; } } // Lsa arrival interval typedef ospfv3_LsaArrivalIntvl { type uint32 { range "10..600000"; } default "1000"; } // Lsa group pacing interval typedef ospfv3_LsaGpPacingIntvl { type uint16 { range "1..1800"; } default "10"; } // Lsa throttle hold interval typedef ospfv3_LsaThHoldIntvl { type uint32 { range "50..30000"; } default "5000"; } // Lsa throttle maximum interval typedef ospfv3_LsaThMaxIntvl { type uint32 { range "50..30000"; } default "5000"; } // Lsa throttle start wait interval typedef ospfv3_LsaThStartIntvl { type uint32 { range "0..5000"; } default "0"; } typedef ospfv3_MaxLsaAct { type enumeration { enum reject { value 0; description "Logs error message and reject LSAs beyond the limit"; } enum log { value 1; description "Log a warning message when limit is exceeded"; } } default "reject"; } // Network type typedef ospfv3_NwT { type enumeration { enum none { value 0; description "Network type is not configured"; } enum p2p { value 1; description "OSPF point-to-point network"; } enum bcast { value 2; description "OSPF broadcast multi-access network"; } } default "none"; } // VRF Operational state typedef ospfv3_OperSt { type enumeration { enum invalid { value 0; description "VRF Operational state is invalid"; } enum down { value 1; description "VRF Operational state is down"; } enum up { value 2; description "VRF Operational state is up"; } } default "down"; } // Passive Control typedef ospfv3_PassiveControl { type enumeration { enum none { value 0; description "Unconfigure interface passive configuration"; } enum enabled { value 1; description "Configure interface as passive"; } enum disabled { value 2; description "Configure interface as non-passive"; } } default "none"; } // Rate Type typedef ospfv3_RateType { type uint16 { range "0..256"; } default "256"; } // Retransmit interval typedef ospfv3_ReTxIntvl { type uint16 { range "1..65535"; } default "5"; } // SNMP Instance name typedef ospfv3_SnmpInstanceName { type string { length "0..20"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } // Spf computation hold interval typedef ospfv3_SpfCompHoldIntvl { type uint32 { range "1..600000"; } default "1000"; } // Spf computation initial wait interval typedef ospfv3_SpfCompInitIntvl { type uint32 { range "1..600000"; } default "200"; } // Spf computation maximum wait interval typedef ospfv3_SpfCompMaxIntvl { type uint32 { range "1..600000"; } default "5000"; } // Tramist delay typedef ospfv3_TxDelay { type uint16 { range "1..450"; } default "1"; } // Window interval typedef ospfv3_WindowType { type uint8 { range "1..60"; } default "1"; } // Bundle port number typedef pc_BdlPortNum { type uint32; } // Channeling Status typedef pc_ChannelingSt { type enumeration { enum unknown { value 0; } enum channeling { value 1; } enum individual { value 2; } enum failed { value 3; } enum suspended { value 4; } enum hot-standby { value 5; } } } // force channel-group typedef pc_ChnlGrpForce { type boolean; } // Member port flags typedef pc_Flags { type string; } // Hash distribution type typedef pc_HashDist { type enumeration { enum none { value 0; description "None"; } enum adaptive { value 1; description "Adaptive"; } enum fixed { value 2; description "Fixed"; } } default "none"; } // Interface ordinal typedef pc_Iod { type uint32; } // Last Status typedef pc_LastSt { type enumeration { enum successful { value 0; } enum failed { value 1; } } } // LIF typedef pc_Lif { type uint32; } // Load defer timeout typedef pc_LoadDeferTime { type uint32 { range "1..1800"; } default "120"; } // LTL typedef pc_Ltl { type uint32; } // LTL programmed typedef pc_LtlProgrammed { type boolean; } // Max possible active members typedef pc_MaxActive { type uint32; } // Maximum links typedef pc_MaxLinks { type uint32 { range "1..32"; } default "32"; } // Minimum links typedef pc_MinLinks { type uint32 { range "1..32"; } default "1"; } // Port channel mode typedef pc_Mode { type enumeration { enum on { value 0; description "on"; } enum static { value 1; description "Static"; } enum active { value 2; description "lacp-active"; } enum passive { value 3; description "lacp-passive"; } enum mac-pin { value 4; description "Mac Pinning"; } } default "on"; } // Number of port-channels typedef pc_NumChannels { type uint32; } // Operational State typedef pc_OperSt { type enumeration { enum up { value 0; description "Up"; } enum down { value 1; description "Down"; } enum bringup-in-progress { value 2; description "Bringup in Progress"; } enum module-removed { value 3; description "Module Removed"; } } } // Hash distribution type typedef pc_PCHashDist { type enumeration { enum adaptive { value 1; description "Adaptive"; } enum fixed { value 2; description "Fixed"; } } default "adaptive"; } // Port channel id typedef pc_PcId { type uint16 { range "0..65535"; } } // Percentage of used port-channels typedef pc_PcntChannels { type uint8 { range "0..100"; } } // Port-channel type typedef pc_PoType { type enumeration { enum none { value 0; description "none"; } enum hif-pc { value 1; description "hif-pc"; } enum non-hif-pc { value 2; description "non-hif-pc"; } } default "none"; } typedef pc_PortChannelProtocol { type enumeration { enum unknown { value 0; } enum none { value 1; } enum lacp { value 2; } } default "unknown"; } // Port-channel type typedef pc_PortChannelType { type enumeration { enum ethernet { value 0; } } default "ethernet"; } // PXE Individual Transition timeout typedef pc_PxeTransTime { type uint32 { range "2..10"; } default "10"; } // Summarized Operational State typedef pc_SummOperSt { type enumeration { enum up { value 0; description "Up"; } enum down { value 1; description "Down"; } enum module-removed { value 2; description "Module-removed"; } enum individual { value 3; description "Individual"; } enum suspended { value 4; description "Suspended"; } enum hot-standby { value 5; description "Hot-standby"; } } default "down"; } // suspended due to min-links typedef pc_SuspMinlinks { type boolean; } // Time typedef pc_Time { type union { type string; type uint64; } } typedef pie_OpticsHealthRCAValues { type enumeration { enum None { value 0; description "No reason"; } enum TemperatureAlarmHighThreshold { value 1; description "Temperature alarm high threshold"; } enum TemperatureAlarmLowThreshold { value 2; description "Temperature alarm low threshold"; } enum VoltageAlarmHighThreshold { value 3; description "Voltage alarm high threshold value"; } enum VoltageAlarmLowThreshold { value 4; description "Voltage alarm low threshold value"; } enum CurrentAlarmHighThreshold { value 5; description "Current alarm high threshold value"; } enum CurrentAlarmLowThreshold { value 6; description "Current low threshold value"; } enum TxPwrAlarmHighThreshold { value 7; description "Tx Power alarm high threshold"; } enum TxPwrAlarmLowThreshold { value 8; description "Tx Power alarm low threshold"; } enum RxPwrAlarmHighThreshold { value 9; description "Rx Power alarm high threshold"; } enum RxPwrAlarmLowThreshold { value 10; description "Rx Power alarm low threshold"; } enum TemperatureWarningHighThreshold { value 11; description "Temperature warning High Threshold"; } enum TemperatureWarningLowThreshold { value 12; description "Temperature warning Low Threshold"; } enum VoltageWarningHighThreshold { value 13; description "Voltage warning high threshold value"; } enum VoltageWarningLowThreshold { value 14; description "Voltage warning low threshold value"; } enum CurrentWarningHighThreshold { value 15; description "Current warning high threshold value"; } enum CurrentWarningLowThreshold { value 16; description "Current warning low threshold value"; } enum TxPwrWarningHighThreshold { value 17; description "Tx Power warning high threshold"; } enum TxPwrWarningLowThreshold { value 18; description "Tx Power warning low threshold"; } enum RxPwrWarningHighThreshold { value 19; description "Rx Power warning high threshold"; } enum RxPwrWarningLowThreshold { value 20; description "Rx Power warning low threshold"; } enum TemperatureBadRange { value 21; description "Temperature bad range"; } enum VoltageBadRange { value 22; description "Voltage bad range"; } enum TxPwrBadRange { value 23; description "Tx Power bad range"; } enum RxPwrBadRange { value 24; description "Rx Power bad range"; } enum CurrentBadRange { value 25; description "Current bad range"; } enum GoodEvent { value 26; description "Good event (no negative event)"; } enum RawXcvrDataEvent { value 27; description "Raw XCVR data event"; } enum HealthMetricGood { value 28; description "Health metric insight is good"; } enum HealthMetricModerate { value 29; description "Health metric insight is moderate"; } enum HealthMetricNeedsAttention { value 30; description "Health metric insight is needs attention"; } enum HealthMetricBad { value 31; description "Health metric insight is bad"; } enum InvalidEvent { value 32; description "Invalid Health RCA value"; } } default "None"; } // Event History Buffer Type typedef pim6_EhType { type enumeration { enum assertRcv { value 0; description "Assert-receive events for pim6"; } enum bidir { value 1; description "Bidir events for pim6"; } enum hello { value 2; description "Hello events for pim6"; } enum joinPrune { value 3; description "Join-prune events for pim6"; } enum nullReg { value 4; description "null-register events for pim6"; } enum packet { value 5; description "Packet events for pim6"; } enum pim6Internal { value 6; description "pim-internal events for pim6"; } enum rp { value 7; description "RP events for pim6"; } enum vrf { value 8; description "vrf events for pim6"; } enum jpSum { value 9; description "join-prune-summary events for pim6"; } enum jpTw { value 10; description "join-prune-tw events for pim6"; } enum cli { value 11; description "cli events for pim6"; } enum vpc { value 12; description "vpc events for pim6"; } enum pimLib { value 13; description "pim-library events for pim6"; } enum nbm { value 14; description "nbm events for pim6"; } enum mrib { value 15; description "mrib events for pim6"; } enum dataRegRecv { value 16; description "data-register-receive events for pim6"; } enum txlist { value 17; description "txlist events for pim6"; } enum objstore { value 18; description "Objstore events for pim6"; } } } // Event History Buffer size in Text/kb typedef pim6_Size { type uint32 { range "0..4 | 5..119999999"; } default "0"; } // PFM messsage gap interval typedef pim_AnnouncementGapInterval { type uint32 { range "50..65535"; } default "1000"; } // PFM periodic interval typedef pim_AnnouncementInterval { type uint32 { range "10..65535"; } default "60"; } // PFM message rate typedef pim_AnnouncementRate { type uint32 { range "1..65535"; } default "6"; } // BFD state typedef pim_BfdInstSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } enum none { value 0; description "None"; } } default "none"; } typedef pim_Boundary { type uint32 { range "0..3"; } default "0"; } // Designated Router Delay TODO: Not present on N3548 or N9K // verify naming based on purpose, range and default typedef pim_DRDelay { type uint16 { range "1..65535"; } default "3"; } // Designated Router Priority typedef pim_DRPrio { type uint32 { range "1..4294967295"; } default "1"; } // Event History Buffer Type typedef pim_EhType { type enumeration { enum assert { value 0; description "Assert events for pim"; } enum bidir { value 1; description "Bidir events for pim"; } enum cli { value 2; description "Cli events for pim"; } enum dataRegRecv { value 3; description "Data-register-receive events for pim"; } enum hello { value 4; description "Hello events for pim"; } enum joinPrune { value 5; description "Join-prune events for pim"; } enum mrib { value 6; description "Mrib events for pim"; } enum nullReg { value 7; description "null-register events for pim"; } enum packet { value 8; description "Packet events for pim"; } enum nbm { value 9; description "NBM events for pim"; } enum pimInternal { value 10; description "pim-internal events for pim"; } enum pimLib { value 11; description "pim-library events for pim"; } enum rp { value 12; description "RP events for pim"; } enum txlist { value 13; description "txlist events for pim"; } enum vpc { value 14; description "vpc events for pim"; } enum vrf { value 15; description "vrf events for pim"; } enum jpSum { value 16; description "join-prune-summary events for pim"; } enum jpTw { value 17; description "join-prune-tw events for pim"; } enum objstore { value 18; description "Objstore events for pim"; } } } // Interface Ctrl typedef pim_IfCtrl { type string; default "1"; } // Interface identifier typedef pim_IfId { type string; } typedef pim_LoggingLvl { type uint16 { range "0..7"; } default "5"; } // route oif list types typedef pim_OifFlagsNew { type string; } // Generation Id typedef pim_PropGenId { type uint32 { range "0..4294967295"; } } // Event History Buffer size in Text/kb typedef pim_Size { type uint32 { range "0..4 | 5..119999999"; } default "0"; } // PFM source holdtime typedef pim_SourceHoldTime { type uint32 { range "60..65535"; } default "210"; } // Database type typedef pim_ifdbT { type enumeration { enum stats { value 0; description "PIM Stats database"; } enum adj { value 1; description "PIM Adj database"; } enum prop { value 2; description "PIM Property database"; } } } typedef pki_AES128IV { type string; } typedef pki_AES128Key { type string; } typedef pki_Cert { type string; } typedef pki_CertEnrollType { type enumeration { enum none { value 0; description "Trustpoint Enrollment None"; } enum terminal { value 1; description "Configure Trustpoint Enrollment via Console"; } } default "none"; } typedef pki_CertLookupType { type enumeration { enum remote { value 2; description "Use Remote Certstore for Lookup"; } enum local { value 3; description "Use Local Certstore for Lookup"; } enum both { value 4; description "Use Both Local and Remote Certstore for Lookup"; } } default "local"; } typedef pki_CertRevokeCheck { type enumeration { enum crl { value 0; description "Configure Revocation Check Using crl"; } enum ocsp { value 1; description "Configure Revocation Check Using ocsp"; } enum none { value 2; description "Configure Revocation Check Using none"; } enum crl-none { value 3; description "Configure Revocation Check Methods crl and none"; } enum oscp-none { value 4; description "Configure Revocation Check Methods oscp and none"; } enum crl-ocsp { value 5; description "Configure Revocation Check Methods crl and ocsp"; } enum ocsp-crl { value 6; description "Configure Revocation Check Methods oscp and crl"; } enum ocsp-crl-none { value 7; description "Configure Revocation Check Methods oscp crl and none"; } enum crl-ocsp-none { value 8; description "Configure Revocation Check Methods crl ocsp and none"; } } default "crl"; } typedef pki_CertValidity { type string; } typedef pki_CrlRefreshTime { type uint16 { range "0..744"; } } typedef pki_Csync2KeyType { type string; } typedef pki_CsyncActivationStateType { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "enabled"; } typedef pki_CsyncElementType { type enumeration { enum exclude { value 0; description "exclude"; } enum include { value 1; description "include"; } } default "include"; } typedef pki_CsyncRefreshIntervalType { type uint16 { range "30..600"; } default "30"; } typedef pki_FP { type string; } typedef pki_FilterName { type string { length "0..63"; } } typedef pki_GuiIdleTimeoutType { type uint16 { range "60..65525"; } default "1200"; } typedef pki_KeyLabel { type string { length "0..64"; } } typedef pki_KeyType { type enumeration { enum Type_RSA { value 0; description "RSA"; } enum Type_ECC { value 1; description "ECC"; } } default "Type_RSA"; } typedef pki_KeyringState { type enumeration { enum started { value 1; description "Started"; } enum created { value 2; description "Created"; } enum reqCreated { value 3; description "Request Created"; } enum tpSet { value 4; description "Trust Provider Set"; } enum completed { value 5; description "Completed"; } } default "started"; } typedef pki_Modulus { type enumeration { enum mod512 { value 512; description "MOD 512"; } enum mod768 { value 768; description "MOD 768"; } enum mod1024 { value 1024; description "MOD 1024"; } enum mod1536 { value 1536; description "MOD 1536"; } enum mod2048 { value 2048; description "MOD 2048"; } enum mod224 { value 224; description "MOD 224"; } enum mod384 { value 384; description "MOD 384"; } enum mod521 { value 521; description "MOD 521"; } } default "mod512"; } typedef pki_Port { type uint32 { range "0..65535"; } } typedef pki_PrivateKey { type string { length "0..4096"; } } typedef pki_ProviderGroupName { type string { length "0..64"; } } typedef pki_SHA256_SharedSecret16 { type string; } typedef pki_SessionRecordFlags { type string; default "7"; } typedef pki_WebTokenTimeoutType { type uint16 { range "300..9600"; } default "600"; } // Units are in hours - minimum 4 hours, maximum 24 hours typedef pki_WebTokenValidityPeriodType { type uint16 { range "4..24"; } default "24"; } // Pktmgr Rate-limit Direction typedef pktmgr_RateLimitDirection { type enumeration { enum input { value 1; description "Set Max Input Packet Rate"; } enum output { value 2; description "Set Max Output Packet Rate"; } enum both { value 3; description "Set Max Input and Output Packet Rate"; } enum unspecified { value 4; description "Unspecified Direction"; } } default "unspecified"; } typedef platform_AbmCounterValues { type uint16 { range "0..1024"; } } typedef platform_AclDisableRedirectShare { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } // acl tap-aggregation typedef platform_AclTapAggregation { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_AdminState { type nw_AdminSt; default "disabled"; } typedef platform_AtomicUpdate { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "enable"; } typedef platform_AtomicUpdateStrict { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_BdLabelWidth { type uint16 { range "0..6"; } default "0"; } typedef platform_Bitmap { type mtx_array_bit; } typedef platform_BufferBlockValue { type uint8 { range "1..3"; } } typedef platform_BufferProfileOptions { type enumeration { enum mesh { value 0; description "Mesh optimized"; } enum burst { value 1; description "Burst optimized"; } enum ultra-burst { value 2; description "Ultra burst optimized"; } } default "burst"; } typedef platform_Concatenation { type enumeration { enum enable { value 1; } enum disable { value 0; } enum rotateEnable { value 2; } } default "disable"; } // PFC WD Types typedef platform_ConfigOnOff { type enumeration { enum off { value 0; } enum on { value 1; } } default "off"; } typedef platform_ConfigState { type enumeration { enum Disabled { value 0; } enum Enabled { value 1; } } default "Disabled"; } typedef platform_ConfigureSt { type enumeration { enum unconfigure { value 0; } enum configure { value 1; } } default "configure"; } // dedup mode types typedef platform_DedupMode { type enumeration { enum vlan { value 0; } enum interface { value 1; } } default "vlan"; } typedef platform_DisParseErr { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_DynamicLimit { type uint8 { range "0..255"; } default "255"; } typedef platform_EgrSupSize { type uint32 { range "0..2147483647"; } default "256"; } typedef platform_Encapsulation { type enumeration { enum gre { value 1; } enum gtp { value 2; } enum mpls { value 3; } enum disable { value 0; } } default "disable"; } typedef platform_FabricMode { type enumeration { enum default { value 2; } enum full-rate { value 1; } } default "default"; } typedef platform_FabricSpeed { type enumeration { enum default { value 0; } enum fabric-speed-40g { value 1; } } default "default"; } typedef platform_FrontPortmode { type enumeration { enum sfp-plus { value 0; } enum qsfp { value 1; } } default "qsfp"; } typedef platform_GlobalTxSpan { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_HwProfile { type enumeration { enum Default { value 0; } enum QS_PORT_MODE_64X10G { value 1; } enum QS_PORT_MODE_48X10G_4X40G { value 2; } enum QS_PORT_MODE_52X10G_3X40g { value 3; } enum QS_PORT_MODE_56X10G_2X40G { value 4; } enum QS_PORT_MODE_60X10G_1X40G { value 5; } enum QS_PORT_MODE { value 6; } enum QG_PORT_MODE_32X10G_8X40G { value 9; } enum QG_PORT_MODE_16X40G { value 10; } enum QG_PORT_MODE_16X10G_12X40G { value 11; } enum QG_PORT_MODE_8X10G_14X40G { value 12; } enum NEP_PORT_MODE_32X40G { value 13; } enum NEP_PORT_MODE_24X40G { value 14; } enum NEP_PORT_MODE_26X40G { value 15; } enum NEP_PORT_MODE_32X40G_FIXED { value 16; } enum QI2_PORT_MODE_72X10G { value 17; } enum QI2_PORT_MODE_48X10G_6x40G { value 18; } enum QI2_PORT_MODE_BKOUT { value 19; } enum DV_PORT_MODE_48X25G_4X100G { value 20; } enum DV_PORT_MODE_48X25G_2X100G_4X40G { value 21; } enum PB_PORT_MODE_48X10G_6X100G { value 22; } enum PB_PORT_MODE_48X10G_4X100G_2X40G { value 23; } enum FOST_PORT_MODE_28X40G_4X100G { value 26; } enum FOST_PORT_MODE_18X100G { value 27; } enum FOST_PORT_MODE_24X40G_6X100G { value 28; } enum TET_PORT_MODE_64X100G { value 29; } enum TET_PORT_MODE_96X25G_32X100G { value 30; } enum TET_PORT_MODE_128X25G { value 31; } enum CMR_PORT_MODE_128X100G_32X400G { value 32; } enum CMR_PORT_MODE_160X25G_8X100G { value 33; } enum CMR_PORT_MODE_128X100G_30X400G_2X200G { value 34; } } default "Default"; } typedef platform_IPV6alpmCarveValues { type uint16 { range "0..4096"; } default "0"; } typedef platform_IPv6LpmRange { type uint32 { range "0..6144"; } } typedef platform_Interval { type uint32 { range "500..60000"; } } // Internal Interface Global Qos Params typedef platform_IntlIntfPauseSz { type uint32 { range "0..12582912"; } } typedef platform_IpStatistics { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_LoadBalanceAlgo { type enumeration { enum dstMac { value 1; } enum srcMac { value 2; } enum srcDstMac { value 3; } enum dstIpVlan { value 4; } enum srcIpVlan { value 5; } enum srcDstIpVlan { value 6; } enum dstL4Port { value 7; } enum srcL4Port { value 8; } enum srcDstL4Port { value 9; } enum dstIpL4Port { value 10; } enum srcIpL4Port { value 11; } enum srcDstIpL4Port { value 12; } enum dstIpL4PortVlan { value 13; } enum srcIpL4PortVlan { value 14; } enum srcDstIpL4PortVlan { value 15; } enum dstIp { value 16; } enum srcIp { value 17; } enum srcDstIp { value 18; } enum srcIpGre { value 21; } enum dstIpGre { value 22; } enum srcDstIpGre { value 23; } enum srcDstIpOnly { value 24; } enum srcDstL4PortOnly { value 25; } enum ethDstIpGre { value 26; } enum ethSrcIpGre { value 27; } enum ethSrcDstIpGre { value 28; } enum srcInnerheader { value 30; } enum dstInnerheader { value 31; } enum srcDstInnerheader { value 32; } enum srcGtpu { value 33; } enum dstGtpu { value 34; } enum srcDstGtpu { value 35; } enum srcIpv6FlowLabel { value 36; } enum dstIpv6FlowLabel { value 37; } enum srcDstIpv6FlowLabel { value 38; } enum srcDstInnerheaderGtp { value 39; } } default "srcDstIpL4Port"; } // Log level type typedef platform_LoggingLevel { type uint16 { range "0..7"; } default "5"; } // Logging Level typedef platform_LoggingType { type enumeration { enum Emergencies { value 0; description "Emergencies"; } enum Alerts { value 1; description "Alerts"; } enum Critical { value 2; description "Critical"; } enum Errors { value 3; description "Errors"; } enum Warnings { value 4; description "Warnings"; } enum Notification { value 5; description "Notification"; } enum Information { value 6; description "Information"; } enum Debugging { value 7; description "Debugging"; } } default "Notification"; } typedef platform_LpmMaxLimits { type uint16 { range "0..4096"; } } typedef platform_McastFlexStats { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_McastLpmMaxEntriesType { type uint32 { range "0..4096"; } default "2048"; } typedef platform_McastNlb { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_McastNlbStickPc { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_McastStatsDisable { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_MldSnooping { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_MplsEcmpMode { type enumeration { enum invalid { value 0; description "Extended-ECMP invalid"; } enum disable { value 1; description "Extended-ECMP off"; } enum enable { value 2; description "Extended-ECMP on"; } } default "disable"; } typedef platform_MplsStatsType { type enumeration { enum PACKETS { value 0; description "Packets only mode"; } enum BYTES { value 1; description "Bytes only mode"; } } default "PACKETS"; } typedef platform_MroutingDisableL2Upd { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_MroutingDisableSecRouteUpd { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } // mrouting typedef platform_MroutingPerfMode { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_MulticastMaxLimit { type uint16 { range "0..8000"; } default "4096"; } typedef platform_MulticastPriorityRange { type uint32 { range "0..15"; } default "0"; } typedef platform_OqDropsType { type enumeration { enum occupancy { value 1; description "Occupancy drops"; } enum aqm { value 2; description "WRED or AFD drops"; } enum both { value 3; description "Both aqm and occupancy"; } } default "both"; } typedef platform_OqStatsType { type enumeration { enum occupancy { value 1; description "Occupancy drops"; } enum aqm { value 2; description "WRED or AFD drops"; } enum both { value 3; description "Both aqm and occupancy"; } enum ecn-stats { value 4; description "ECN marking statistics"; } enum ecn_and_aqm { value 5; description "Both ecn and aqm"; } enum ecn_and_occupancy { value 6; description "Both ecn and occupancy"; } enum all { value 7; description "Aggregated OCC-drops, WRED-drops, ECN-stats"; } } default "both"; } // pbr config typedef platform_PbrConfig { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_PbrMatchDefaultRoute { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_PcFastConv { type enumeration { enum enable { value 1; description "port-channel fast convergence"; } enum disable { value 2; description "no port-channel fast convergence"; } } default "disable"; } typedef platform_PcLbAlgo { type enumeration { enum PC_LB_ALGO_DLB { value 1; } enum PC_LB_ALGO_RTAG7 { value 2; } enum PC_LB_ALGO_RTAG7_MURMUR { value 3; } enum PC_LB_ALGO_RTAG7_LOCAL_CRC { value 4; } enum PC_LB_ALGO_DYNAMIC_PIN { value 5; } } default "PC_LB_ALGO_DLB"; } typedef platform_PcLbRes { type enumeration { enum yes { value 1; description "port-channel load-balance resilient"; } enum no { value 2; description "no port-channel load-balance resilient"; } } default "no"; } typedef platform_PcMplsLbLabelIp { type enumeration { enum DEFAULT { value 0; } enum LABEL_IP { value 1; } } default "DEFAULT"; } typedef platform_PcMplsLbLabelOnly { type enumeration { enum DEFAULT { value 0; } enum LABEL_ONLY { value 1; } } default "DEFAULT"; } typedef platform_PcScaleFanout { type enumeration { enum enable { value 1; description "port-channel scale fanout"; } enum disable { value 2; description "no port-channel scale fanout"; } } default "disable"; } // Input Buffer Peak Type typedef platform_PeakCountType { type enumeration { enum port { value 0; description "Buffer input peak type port"; } enum class1 { value 1; description "Buffer input peak type class1"; } enum class2 { value 2; description "Buffer input peak type class2"; } enum class3 { value 3; description "Buffer input peak type class3"; } enum class4 { value 4; description "Buffer input peak type class4"; } enum class5 { value 5; description "Buffer input peak type class5"; } enum class6 { value 6; description "Buffer input peak type class6"; } enum class7 { value 7; description "Buffer input peak type class7"; } } default "port"; } typedef platform_Percent { type uint16 { range "0..100"; } default "0"; } typedef platform_Percentage { type uint16 { range "1..100"; } default "90"; } typedef platform_PoLbMplsLabelIp { type enumeration { enum enable { value 1; } enum disable { value 0; } } default "disable"; } typedef platform_PoLbMplsLabelOnly { type enumeration { enum enable { value 1; } enum disable { value 0; } } default "disable"; } typedef platform_PstatCfg { type enumeration { enum PSTAT_DISABLE { value 0; } enum PSTAT_ENABLE { value 1; } enum PSTAT_ENABLE_PEAK { value 2; } } default "PSTAT_DISABLE"; } typedef platform_QosAfdBufferProfileOptions { type enumeration { enum mesh { value 0; description "Mesh optimized"; } enum burst { value 1; description "Burst optimized"; } enum ultra-burst { value 2; description "Ultra burst optimized"; } } } typedef platform_QosGroup { type enumeration { enum 0 { value 0; description "Qos Group 0"; } enum 1 { value 1; description "Qos Group 1"; } enum 2 { value 2; description "Qos Group 2"; } enum 3 { value 3; description "Qos Group 3"; } enum all { value 4; description "Qos Group all"; } } default "0"; } typedef platform_QosGroupForQueuingStatistics { type enumeration { enum q0 { value 0; description "QOS_GROUP_0"; } enum q1 { value 1; description "QOS_GROUP_1"; } enum q2 { value 2; description "QOS_GROUP_2"; } enum q3 { value 3; description "QOS_GROUP_3"; } enum q4 { value 4; description "QOS_GROUP_4"; } enum q5 { value 5; description "QOS_GROUP_5"; } enum q6 { value 6; description "QOS_GROUP_6"; } enum q7 { value 7; description "QOS_GROUP_7"; } enum q8 { value 8; description "QOS_GROUP_8"; } enum q9 { value 9; description "QOS_GROUP_9"; } } } typedef platform_QosGroupVal { type enumeration { enum 0 { value 0; description "Qos Group 0"; } enum 1 { value 1; description "Qos Group 1"; } enum 2 { value 2; description "Qos Group 2"; } enum 3 { value 3; description "Qos Group 3"; } } default "3"; } typedef platform_QosLabelOpt { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_QosMinBuffer { type enumeration { enum all { value 0; } enum none { value 1; } enum default { value 2; } } default "all"; } typedef platform_QosModePipe { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_RefTemplate { type enumeration { enum unspecified { value 0; description "unspecified"; } enum l3 { value 1; description "l3"; } enum l2-l3 { value 2; description "l2-l3"; } enum nfe { value 3; description "nfe"; } enum nfe2 { value 4; description "nfe2"; } } } typedef platform_Rotate { type uint16 { range "0..63"; } default "0"; } typedef platform_RoutingMode { type enumeration { enum DEFAULT { value 0; } enum NON_HIER_DEFAULT { value 1; } enum NON_HIER_MAX_L3 { value 2; } enum MAX_HOST { value 3; } enum TOR_MAX_L3 { value 4; } enum DEFAULT_64B { value 5; } enum NON_HIER_MAX_L3_64B { value 6; } enum TOR_MAX_L3_64B { value 7; } enum TOR_MAX_L2 { value 8; } enum TOR_MAX_L2L3 { value 9; } enum TOR_TEMPLATE_OVL_HOST_SCALE { value 21; } enum TEMPLATE_LPM_HEAVY { value 22; } enum TOR_TEMPLATE_LPM_SCALE_V6_64 { value 23; } enum TOR_TEMPLATE_DUAL_STACK_HOST_SCALE { value 24; } enum TEMPLATE_SERVICE_PROVIDER { value 25; } enum TEMPLATE_MULTICAST_HEAVY { value 26; } enum TEMPLATE_VXLAN_SCALE { value 27; } enum TEMPLATE_MPLS_SCALE { value 28; } enum TEMPLATE_INTERNET_PEERING { value 29; } enum TEMPLATE_MULTICAST_EXT_HEAVY { value 31; } enum TEMPLATE_MULTICAST_DUAL_STACK { value 35; } enum TEMPLATE_L2_HEAVY { value 36; } enum TEMPLATE_L3_HEAVY { value 32; } enum TEMPLATE_L2_SCALE { value 38; } } default "DEFAULT"; } typedef platform_SiFlexStats { type enumeration { enum disable { value 0; } enum l3 { value 1; } enum l2 { value 2; } } default "disable"; } typedef platform_SourceScope { type enumeration { enum unicast-queue { value 0; } enum ingress-port { value 1; } enum egress-port { value 2; } } default "unicast-queue"; } typedef platform_StatsTemplate { type enumeration { enum l3qos { value 1; } enum racl { value 2; } enum span-acl { value 3; } } default "l3qos"; } typedef platform_StormControlPriority { type enumeration { enum default { value 0; description "Default"; } enum drop-l3 { value 1; description "Drop Layer 3"; } enum drop-l2 { value 2; description "Drop Layer 2"; } enum drop-all { value 3; description "Drop all"; } } default "default"; } typedef platform_SviAndSiFlexStats { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_SviFlexStats { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_SwitchMode { type enumeration { enum default { value 0; } enum n3k { value 1; } enum n9k { value 2; } } default "default"; } typedef platform_SwitchingMode { type enumeration { enum DEFAULT { value 0; } enum STORE_FORWARD { value 1; } } default "DEFAULT"; } typedef platform_Symmetry { type enumeration { enum enable { value 1; } enum disable { value 0; } } default "disable"; } // System Memory Threshold typedef platform_SysMemThVal { type uint32 { range "50..100"; } default "50"; } typedef platform_TcamDefaultResult { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_TcamRegionCfgFault { type enumeration { enum none { value 0; } enum TCAM_template_validation { value 1; } } default "none"; } typedef platform_TcamRegionCfgFaultBmp { type string; default "0x0"; } typedef platform_TcamRegionExtdCfgFaultBmp { type string; default "0x0"; } typedef platform_TcamTemplateName { type string { length "0..40"; } } typedef platform_TcpNatTcamRegionSize { type uint16 { range "0..100"; } default "0"; } typedef platform_ThresPercentage { type uint8 { range "0..100"; } } typedef platform_ThresUnit { type enumeration { enum packets { value 1; description "Packets"; } enum bytes { value 2; description "Bytes"; } enum kbytes { value 3; description "kBytes"; } enum mbytes { value 4; description "mBytes"; } } default "bytes"; } typedef platform_ThreshUnit { type enumeration { enum bytes { value 1; description "bytes"; } enum percentage { value 2; description "percentage"; } } default "bytes"; } typedef platform_Threshold { type uint32 { range "0..13319072"; } default "0"; } // PacketDrop Types typedef platform_TriggerType { type enumeration { enum wred { value 0; } enum ingress-admission { value 1; } enum egress-admission { value 2; } } default "wred"; } typedef platform_Tuple { type enumeration { enum Disable { value 0; } enum Enable { value 1; } } default "Disable"; } typedef platform_UdfCfgFault { type enumeration { enum none { value 0; } enum definition { value 1; } enum qualifySpan { value 2; } enum qualifySpanV6 { value 3; } enum qualifySpanV6L2 { value 4; } enum qualifyRacl { value 5; } enum qualifyVacl { value 6; } enum qualifyIfacl { value 7; } enum qualifyIpv6Racl { value 8; } enum qualifyRaclAll { value 9; } enum qualifySpanAll { value 10; } enum qualifyNetflowRtp { value 11; } enum qualifyMplsStack1 { value 12; } enum qualifyMplsStack2 { value 13; } } default "none"; } typedef platform_UdfName { type string { length "0..16"; } } // UDF Types typedef platform_UdfOffsetBase { type enumeration { enum packet-start { value 0; } enum outer-header-l3 { value 1; } enum outer-header-l4 { value 2; } enum inner-header-l3 { value 3; } enum inner-header-l4 { value 4; } } default "packet-start"; } typedef platform_UdfTcamType { type string; } typedef platform_UnicastMaxLimit { type uint16 { range "0..8000"; } } typedef platform_UnicastTrace { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; } typedef platform_bufferMonitorMd { type enumeration { enum None { value 0; } enum Unicast { value 2; } enum Multicast { value 3; } } default "None"; } typedef platform_bufferMonitorSampling { type uint32 { range "0..20000000"; } default "4000000"; } typedef platform_bufferMonitorSt { type enumeration { enum Enable { value 1; } enum Disable { value 0; } } default "Enable"; } typedef platform_bufferMonitorThreshhold { type uint32 { range "0..6144"; } default "0"; } typedef platform_egrL2QosIfaclTcamLabelSize { type enumeration { enum disable { value 5; } enum enable { value 6; } } default "disable"; } typedef platform_egrRaclTcamRegionSize { type uint32 { range "0..2147483647"; } default "1792"; } typedef platform_flowTcamRegionSize { type uint32 { range "0..2147483647"; } default "512"; } typedef platform_forwardingModeConfigFailed { type uint32 { range "0..1"; } default "0"; } typedef platform_forwardingModeHostEntryWarp { type uint32 { range "0..16384"; } default "0"; } typedef platform_forwardingModeL2EntryWarp { type uint32 { range "0..16384"; } default "0"; } typedef platform_forwardingModeLpmEntryNormal { type uint32 { range "0..28672"; } default "0"; } typedef platform_forwardingModeLpmEntryWarp { type uint32 { range "0..8192"; } default "0"; } typedef platform_forwardingModeMcstEntryNormal { type uint32 { range "0..28672"; } default "0"; } typedef platform_forwardingModeMcstEntryWarp { type uint32 { range "0..16384"; } default "0"; } typedef platform_forwardingModeSelector { type enumeration { enum normal { value 1; } enum warp { value 2; } enum flow-redirect-4k { value 3; } enum flow-redirect-8k { value 4; } } default "normal"; } typedef platform_iPaclIfaclTcamLabelSize { type enumeration { enum disable { value 5; } enum enable { value 6; } } default "disable"; } typedef platform_infraVlanForce { type enumeration { enum Disable { value 0; } enum Enable { value 1; } } default "Disable"; } typedef platform_infraVlanId { type uint16 { range "0..4096"; } } typedef platform_ingIfaclTcamRegionSize { type uint32 { range "0..2147483647"; } default "0"; } typedef platform_ingIfaclWideTcamRegionSize { type uint32 { range "0..2147483647"; } default "0"; } typedef platform_ingL2SpanFilterTcamRegionSize { type uint32 { range "0..2147483647"; } default "256"; } typedef platform_ingL3SpanFilterTcamRegionSize { type uint32 { range "0..2147483647"; } default "256"; } typedef platform_ingRaclTcamRegionSize { type uint32 { range "0..2147483647"; } default "2304"; } typedef platform_ingVlanTcamRegionSize { type uint32 { range "0..2147483647"; } default "512"; } typedef platform_latencyMonitorSampling { type uint32 { range "1..30"; } default "3"; } typedef platform_latencyMonitorSt { type enumeration { enum Enable { value 1; } enum Disable { value 0; } } default "Disable"; } typedef platform_latencyMonitorThreshholdAv { type uint32 { range "300..2000000"; } default "1000000"; } typedef platform_latencyMonitorThreshholdMx { type uint32 { range "300..2000000"; } default "2000000"; } typedef platform_mcastDcsCheck { type enumeration { enum disable { value 0; } enum enable { value 1; } } } typedef platform_mcastSlowRcvState { type nw_AdminSt; default "disabled"; } typedef platform_moduleNumberSt { type uint16 { range "1..32"; } } typedef platform_multicastServiceReflectPort { type uint32 { range "0..48"; } default "0"; } typedef platform_mvpnTcamRegionSize { type uint16 { range "0..10"; } default "0"; } typedef platform_pfcMmuBufferRes { type uint16 { range "0..100"; } } typedef platform_pfcMmuBufferSt { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "enable"; } typedef platform_pfcMmuCfgFault { type enumeration { enum none { value 0; } enum Pfc_Buffer_Resource_Limitation { value 1; } } default "none"; } typedef platform_portThresPercentage { type uint8 { range "1..95"; } } typedef platform_poweroffSt { type enumeration { enum no { value 0; description "No Power Off"; } enum yes { value 1; description "Power Off"; } } default "no"; } typedef platform_redirectV4TcamRegionSize { type uint32 { range "0..2147483647"; } default "2048"; } typedef platform_slotNumber { type uint16 { range "0..32"; } } typedef platform_spanTahTcamRegionSize { type uint32 { range "0..2147483647"; } default "512"; } typedef platform_tcamLabelSize { type enumeration { enum disable { value 6; } enum enable { value 9; } } default "disable"; } typedef platform_tcamRegionProfile { type uint16 { range "0..15"; } default "0"; } typedef platform_tcamRegionSize { type uint32 { range "0..2147483647"; } default "0"; } typedef platform_timeStampValue { type union { type string; type uint64; } } // Logging level type typedef poe_LoggingLevel { type uint16 { range "0..7"; } default "5"; } // Logging Level typedef poe_LoggingType { type enumeration { enum Emergencies { value 0; description "Emergencies"; } enum Alerts { value 1; description "Alerts"; } enum Critical { value 2; description "Critical"; } enum Errors { value 3; description "Errors"; } enum Warnings { value 4; description "Warnings"; } enum Notification { value 5; description "Notification"; } enum Information { value 6; description "Information"; } enum Debugging { value 7; description "Debugging"; } } default "Notification"; } typedef poe_poeDefaultConsumption { type uint64 { range "4000..30000"; } default "15400"; } typedef poe_poeMaxConsumption { type uint64 { range "4000..60000"; } default "30000"; } typedef poe_poePolice { type enumeration { enum Default { value 0; } enum errdisable { value 1; } enum log { value 2; } } default "Default"; } typedef poe_poePortmode { type enumeration { enum Default { value 0; } enum never { value 1; } enum auto { value 2; } enum static { value 3; } } default "auto"; } typedef poe_poePriority { type enumeration { enum low { value 0; } enum high { value 1; } } default "low"; } typedef pol_ObjName { type string; } // Burst size typedef policer_Burst { type uint32; } // Committed rate typedef policer_Rate { type uint32; } // Aging types for port security typedef portsecurity_AgingType { type enumeration { enum absolute { value 1; description "Absolute"; } enum inactivity { value 2; description "Inactivity"; } } default "absolute"; } // Violation Action types for port security typedef portsecurity_ViolationMode { type enumeration { enum protect { value 1; description "Security violation protect mode"; } enum restrict { value 2; description "Security violation restrict mode"; } enum shutdown { value 3; description "Security violation shutdown mode"; } } default "shutdown"; } // Cpu History duration name typedef proc_CpuHistoryDurationName { type enumeration { enum last60seconds { value 1; description "last60seconds"; } } default "last60seconds"; } // Cpu History type typedef proc_CpuHistoryList { type mtx_array_uint32; } // Operational Status typedef proc_OperSt { type enumeration { enum intr-sleep { value 0; description "Interruptible sleep"; } enum stopped { value 1; description "Stopped"; } enum unintr-sleep { value 2; description "Uninterruptible sleep"; } enum running { value 3; description "Running"; } enum dead { value 4; description "Dead"; } enum defunct { value 5; description "Defunct"; } } default "intr-sleep"; } // Process operational state typedef proc_OperState { type enumeration { enum up { value 0; description "Up"; } enum down { value 1; description "down"; } } default "up"; } // Percentage Usage typedef proc_PerUsage { type uint32 { range "0..100"; } default "0"; } // Process id typedef proc_ProcId { type uint32; } // Process memory units typedef proc_ProcMem { type uint64; } // Type for process priority // range 0-20 typedef proc_ProcPriority { type uint32 { range "0..20"; } } // Process name typedef proc_ProcessName { type string; } // Process Type typedef proc_ProcessType { type enumeration { enum unknown { value 0; description "Unknown Type"; } enum non-sysmgr { value 1; description "Non Sysmgr"; } enum vdc-local { value 2; description " Vdc Local"; } enum vdc-global { value 3; description "Vdc Global"; } enum vdc-unaware { value 4; description "Vdc unaware"; } enum not-running { value 5; description "Not Running"; } enum terminated-etc { value 6; description "Terminated Etc"; } } default "unknown"; } // Program counter typedef proc_ProgCntr { type uint64; } // Stack typedef proc_Stack { type uint64; } // Process start count typedef proc_StartCnt { type uint32; } typedef ptm_DownlinkList { type mtx_array_ifindex; } typedef ptm_L1ConnType { type uint32; } typedef ptm_MuxMode { type uint32; default "0"; } typedef ptm_ResourceUsageStatus { type uint32; } typedef ptp_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } typedef ptp_DeviceType { type enumeration { enum boundaryClock { value 0; description "Boundary Clock"; } enum generalizedPtp { value 3; description "Generalized PTP"; } enum ordinaryClockGm { value 4; description "Ordinary Clock Grandmaster"; } } default "boundaryClock"; } typedef ptp_Direction { type enumeration { enum none { value 0; description "None"; } enum forward-path { value 1; description "Forward-path"; } enum reverse-path { value 2; description "Reverse-path"; } } default "none"; } typedef ptp_GmCapable { type enumeration { enum enabled { value 1; description "grandmaster-capable Enabled"; } enum disabled { value 0; description "grandmaster-capable Disabled"; } } default "enabled"; } typedef ptp_Mgmt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // PTP mode for profile typedef ptp_Mode { type enumeration { enum hybrid { value 1; description "Hybrid mode for profiles"; } enum non-hybrid { value 2; description "Non hybrid mode for profiles"; } enum none { value 3; description "Default mode when nothing is selected"; } } default "none"; } typedef ptp_NotifyHighCorrInterval { type uint32 { range "0..300"; } default "5"; } typedef ptp_NotifyPortStateChgCategory { type enumeration { enum master-slave-only { value 0; description "Master-slave-only"; } enum all { value 1; description "All"; } } default "master-slave-only"; } typedef ptp_NotifyPortStateChgInterval { type uint32 { range "0..300"; } default "0"; } // PTP priority typedef ptp_Priority { type uint32 { range "0..255"; } default "255"; } // PTP profile typedef ptp_Profile { type enumeration { enum 8275-1 { value 1; description "PTP telecom profile matching 8275.1"; } enum default { value 2; description "Default profile for PTP"; } enum 8275-2 { value 3; description "PTP telecom profile matching 8275.2"; } } default "default"; } typedef ptp_PtpDestinationMac { type enumeration { enum non-forwardable { value 0; description "Non-forwardable"; } enum forwardable { value 1; description "Forwardable"; } } default "non-forwardable"; } typedef ptp_PtpRxNoMatch { type enumeration { enum accept { value 0; description "Accept"; } enum drop { value 1; description "Drop"; } enum follow-rx { value 2; description "Follow-rx"; } } default "accept"; } typedef ptp_SchemaNameT { type string; } typedef ptp_TimeCode { type enumeration { enum none { value 1; description "None"; } enum aes67 { value 2; description "AES67-2015"; } enum smpte-2059-2 { value 3; description "SMPTE-2059-2"; } } default "none"; } typedef ptp_ToleranceThreshold { type decimal64 { fraction-digits 6; range "1..100"; } default "1.0"; } typedef ptp_TransmissionRole { type enumeration { enum master { value 1; description "Master Role"; } enum slave { value 2; description "Slave Role"; } enum dynamic { value 3; description "Dynamic role instantiation"; } } default "dynamic"; } typedef ptp_TransportMode { type enumeration { enum multicast { value 1; description "Multicast mode"; } enum unicast { value 2; description "Unicast mode"; } } default "multicast"; } typedef ptp_TransportType { type enumeration { enum ipv4 { value 1; description "IPv4"; } enum ipv6 { value 2; description "IPv6"; } enum eth { value 3; description "Ethernet"; } } default "ipv4"; } typedef qos_Prio { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum level3 { value 1; description "Level3"; } enum level2 { value 2; description "Level2"; } enum level1 { value 3; description "Level1"; } enum policy-plane { value 4; } enum control-plane { value 5; } enum span { value 6; } } } // User configurable classes typedef qos_TenantPrio { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum level3 { value 1; description "Level3"; } enum level2 { value 2; description "Level2"; } enum level1 { value 3; description "Level1"; } } default "unspecified"; } // Bandwidth percentage typedef qosp_BwPercent { type uint8 { range "0..100"; } default "20"; } // Congestion algorithm typedef qosp_CongAlgo { type enumeration { enum wred { value 0; description "Weighted random early detection"; } enum tail-drop { value 1; description "Tail drop"; } } default "tail-drop"; } // Control method typedef qosp_CtrlMeth { type enumeration { enum static { value 0; description "Static"; } enum dynamic { value 1; description "Dynamic"; } } default "dynamic"; } // Dot1p typedef qosp_Dot1P { type uint8 { range "0..7"; } default "7"; } // Dscp code point values typedef qosp_Dscp { type qosp_DscpCP { range "0..63"; } default "63"; } // DSCP typedef qosp_DscpCP { type uint8 { range "0..63"; } default "0"; } // ECN typedef qosp_ECN { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "disabled"; } // MTU typedef qosp_MTU { type uint16 { range "1500..9216"; } default "9216"; } // Min buffers typedef qosp_MinBuf { type uint8 { range "0..3"; } default "0"; } // Operational state of Qos Class typedef qosp_OperSt { type enumeration { enum enabled { value 1; description "enabled"; } enum disabled { value 2; description "disabled"; } } default "disabled"; } // Reasons for rule being disabled. typedef qosp_OperStQual { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum hwprog-fail { description "Hardware Programming Failed"; } enum Invalid { description "Invalid Parameters"; } } default "unspecified"; } // Queue limit typedef qosp_QueueLimit { type uint16 { range "1500..9216"; } default "1522"; } // Scheduling Algorithm typedef qosp_SchedAlgo { type enumeration { enum wrr { value 0; description "Weighted round robin"; } enum sp { value 1; description "Strict priority"; } } default "wrr"; } typedef reln_Dn { type string; } // Database type typedef rib_DbT { type enumeration { enum rt { value 1; description "Route Database"; } enum nh { value 2; description "Nexthop Database"; } enum adj { value 3; description "Adjacency Database"; } } default "rt"; } // Domain operational state typedef rib_DomOperSt { type enumeration { enum up { value 1; description "Up"; } enum down-pending { value 2; description "Down pending"; } enum purged { value 3; description "Purging"; } enum down { value 4; description "Down"; } enum del-pending { value 5; description "Down pending"; } enum deleted { value 6; description "Deleted"; } } default "down"; } // Next-hop type typedef rib_NhT { type string; default "attached"; } // Owner type typedef rib_OwnerT { type string; } // Config Error typedef rpm_ConfigErr { type string; } // Functionality Knob state typedef rpm_KnobSt { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "disabled"; } // Preference typedef rt_Preference { type uint8 { range "1..255"; } default "1"; } // Tag typedef rt_Tag { type uint32 { range "0..4294967295"; } default "0"; } // Autonomous system typedef rtcom_AS { type uint32 { range "1..4294967295"; } } // Community type typedef rtcom_ComT { type enumeration { enum regular { value 1; description "Regular community"; } enum extended { value 2; description "Extended community"; } enum large { value 3; description "Large community"; } } default "regular"; } // Mode typedef rtcom_Mode { type enumeration { enum standard { value 1; description "Standard"; } enum regex { value 2; description "Regular expression"; } } default "standard"; } // Route control direction typedef rtctrl_RtCtrlDir { type enumeration { enum in { value 1; description "Incoming"; } enum out { value 2; description "Outgoing"; } } default "in"; } // Route target policy type typedef rtctrl_RttPType { type enumeration { enum import { value 1; description "Import"; } enum export { value 2; description "Export"; } } default "import"; } // ASM Control typedef rtdmc_ASMCtrl { type string; } // Adjacency flags typedef rtdmc_AdjFlags { type string; } // Adjancency operational state typedef rtdmc_AdjOperSt { type enumeration { enum up { value 0; description "Up"; } enum inactive { value 1; description "Inactive"; } } } typedef rtdmc_AssertRateLmt { type uint32 { range "0..65535"; } } // Authentication key typedef rtdmc_AuthKey { type string; } // Authentication type typedef rtdmc_AuthT { type enumeration { enum none { value 0; description "No authentication"; } enum ah-md5 { value 1; description "MD5 HMAC authentication"; } } default "none"; } typedef rtdmc_AutoEnable { type boolean; default "true"; } // Auto-RP Control typedef rtdmc_AutoRPCtrl { type string; } // Auto-RP Scope typedef rtdmc_AutoRPScope { type uint16 { range "1..255"; } default "32"; } // Bootstrap Router (BSR) Control typedef rtdmc_BSRCtrl { type string; } // BSR Hash Mask Len typedef rtdmc_BSRHashLen { type uint16; } // Max Rate TODO: Is there a default? typedef rtdmc_BSRInterval { type uint16 { range "1..65535"; } default "60"; } // BSR Priority typedef rtdmc_BSRPrio { type uint16 { range "1..255"; } default "64"; } // BFD state typedef rtdmc_BfdInstSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } enum none { value 0; description "None"; } } default "none"; } // BFD state typedef rtdmc_BfdOperSt { type enumeration { enum down { value 0; description "Down"; } enum rem-pend { value 1; description "Remove Pending"; } enum up { value 2; description "Up"; } } } // BiDir RP Limit typedef rtdmc_BidirRPLimit { type uint16 { range "0..8"; } default "6"; } // Byte Count type typedef rtdmc_ByteCntType { type uint32 { range "0..4294967295"; } } // Counter typedef rtdmc_Counter32 { type uint32; } // Designated Forwarder Offer Burst Interval typedef rtdmc_DFOBItvl { type uint16 { range "1..10000"; } default "20"; } // Designated Router Priority typedef rtdmc_DRPrio { type uint32 { range "1..4294967295"; } default "1"; } // Database type typedef rtdmc_DbT { type enumeration { enum rp { value 0; description "RP database"; } enum grange { value 1; description "Grange database"; } enum route { value 2; description "Route database"; } enum dynrpsrc { value 3; description "Dynamic RP Source database"; } enum gstats { value 4; description "Global Statistics"; } enum vrf { value 5; description "VRF database"; } enum ifrec { value 6; description "Interface database"; } enum grpoif { value 7; description "Group Oif list"; } enum group { value 8; description "Group database"; } enum ifstats { value 9; description "Interface statistics"; } enum peer { value 10; description "Peer statistics"; } enum rphash { value 11; description "RP-Hash for a group"; } enum df { value 12; description "Designated forwarder for RP"; } enum bf { value 13; description "Bitfield database"; } enum embedrp { value 14; description "Embed-RP database"; } enum syslog { value 15; description "Syslog database"; } enum vrfdetail { value 16; description "Vrf details"; } } } // DF state typedef rtdmc_DfStates { type enumeration { enum unknown { value 0; description "DF Unknown State"; } enum offer { value 1; description "DF Offer State"; } enum lose { value 2; description "DF Lose State"; } enum winner { value 3; description "DF Winner State"; } enum backoff { value 4; description "DF Backoff State"; } } default "unknown"; } // Domain Control typedef rtdmc_DomCtrl { type string; } // PIM Route types typedef rtdmc_GRangeFlags { type string; } // Generation Id typedef rtdmc_GenId { type uint32; } // Hello Message Interval typedef rtdmc_HelloItvl { type uint32 { range "1..18724286"; } default "30000"; } // Hold Time typedef rtdmc_HoldTime { type uint16; default "65535"; } // Interface Ctrl typedef rtdmc_IfCtrl { type string; } // Join Prune Inter packet delay TODO: Get the max delay typedef rtdmc_JPDelay { type uint32 { range "1..1000"; } default "100"; } // Join Prune Interval Used between Peers TODO: Validate this is correct typedef rtdmc_JPItvl { type uint16 { range "1..65520"; } default "60"; } // Jp-delay in microseconds typedef rtdmc_JpDelayRange { type uint32 { range "1..4294967295"; } default "100"; } // Protocol Packet MTU typedef rtdmc_Mtu { type uint32 { range "1500..65536"; } default "1500"; } // Null Register Inter batch delay TODO: Is there a default? typedef rtdmc_NRDelay { type uint16 { range "1..50000"; } } // Number of Routes in a Null Register TODO: Is there a default? typedef rtdmc_NRNumRt { type uint16 { range "1..32000"; } } // route oif list types typedef rtdmc_OifFlags { type string; } // Pkt Count type typedef rtdmc_PktCntType { type uint32 { range "0..4294967295"; } } typedef rtdmc_PolicyDirType { type enumeration { enum none { value 0; description "none"; } enum in { value 1; description "in"; } enum out { value 2; description "out"; } } default "none"; } // PIM RP types typedef rtdmc_RPSourceType { type string; } // Max Rate TODO: Is there a default? typedef rtdmc_RegRate { type uint16 { range "0..65535"; } default "0"; } // Register-rate limit typedef rtdmc_RegRateRange { type uint32 { range "0..65535"; } default "0"; } // PIM Route types PIM Route types typedef rtdmc_RouteBits { type string; } // PIM Route types typedef rtdmc_RtFlags { type string; } // (S,G) Entry Inactivity Expiry Timer typedef rtdmc_SGExpItvl { type uint32 { range "180..604801"; } default "180"; } // Scope of the community typedef rtextcom_Scope { type enumeration { enum transitive { value 0; description "Transitive"; } enum non-transitive { value 1; description "Non Transitive"; } } default "transitive"; } typedef rtextcom_Type { type enumeration { enum rttarget { value 1; description "Route target community type"; } enum generic { value 2; description "Generic extended community type"; } enum soo { value 3; description "Site of origin extended community type"; } enum rmac { value 4; description "Router mac extended community type"; } } default "generic"; } // Action typedef rtflt_Action { type enumeration { enum deny { value 0; description "Deny"; } enum permit { value 1; description "Permit"; } } default "permit"; } // Order typedef rtflt_Order { type uint32 { range "0..4294967295"; } } // filter option for RibLeak typedef rtleak_Always { type boolean; default "true"; } // Asn number typedef rtleak_Asn { type string { pattern "((none)|([1-9]{1}[0-9]{0,8}|[1-3]{1}[0-9]{1,9}|4{1}[0-1]{1}[0-9]{8}|4{1}2{1}[0-8]{1}[0-9]{7}|4{1}2{1}9{1}[0-3]{1}[0-9]{6}|4{1}2{1}9{1}4{1}[0-8]{1}[0-9]{5}|4{1}2{1}9{1}4{1}9{1}[0-5]{1}[0-9]{4}|4{1}2{1}9{1}4{1}9{1}6{1}[0-6]{1}[0-9]{3}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}[0-1]{1}[0-9]{2}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}[0-8]{1}[0-9]{1}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}9{1}[0-5]{1})|(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\.([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])))"; } default "none"; } // Controls on what to do when the number of routes cross // the maximum prefix limit typedef rtleak_Ctrl { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum warning { value 1; description "Warning"; } enum withdraw { value 2; description "Withdraw"; } } default "unspecified"; } // Duration between the retries typedef rtleak_Duration { type uint16 { range "60..600"; } default "300"; } // Routing protocol instance typedef rtleak_Inst { type string { length "1..20"; } } // Maximum prefix leaked typedef rtleak_MaxPfx { type uint16 { range "1..65535"; } } // Source protocol type of the leak policy typedef rtleak_Proto { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum static { value 1; description "Static"; } enum direct { value 2; description "Direct"; } enum bgp { value 3; description "BGP"; } enum isis { value 4; description "ISIS"; } enum ospf { value 5; description "OSPF"; } enum ospfv3 { value 6; description "OSPFv3"; } enum eigrp { value 7; description "EIGRP"; } enum host { value 8; description "HOST"; } enum rip { value 9; description "RIP"; } enum amt { value 10; description "AMT"; } enum lisp { value 11; description "LISP"; } enum hmm { value 12; description "HMM"; } enum am { value 13; description "AM"; } enum srv6 { value 14; description "SRV6"; } enum dhcpv6 { value 15; description "DHCPV6"; } enum icmpv6 { value 16; description "ICMPv6"; } } default "unspecified"; } // Maximum number of retries to retrieve the leaked routes typedef rtleak_Retries { type uint16 { range "1..12"; } default "1"; } // Policy Direction typedef rtleak_RtCtrlDir { type enumeration { enum in { value 0; description "in"; } enum out { value 1; description "out"; } } default "in"; } // Scope of the leak policy typedef rtleak_Scope { type enumeration { enum intra { value 1; description "Intra protocol leak"; } enum inter { value 2; description "Inter protocol leak"; } enum defrt { value 3; description "Default route leak"; } } default "intra"; } // SRv6 Prefix Type typedef rtleak_Srv6PrefixType { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum locator { value 1; description "SRv6 Locator"; } } default "unspecified"; } // Threshold at which warning is issued when number of prefixes // crosses the threshold, units in percentage typedef rtleak_Thresh { type uint8 { range "1..100"; } default "75"; } // Action typedef rtmap_Action { type enumeration { enum deny { value 0; description "Deny"; } enum permit { value 1; description "Permit"; } } default "permit"; } // Administrative state typedef rtmap_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } // client name typedef rtmap_ClientName { type string { pattern ".*[!-~]{1,63}.*"; } } // CoFlag typedef rtmap_CoFlag { type enumeration { enum 00 { value 0; description "00"; } enum 01 { value 1; description "01"; } } default "00"; } // Community Id typedef rtmap_CommunityId { type uint8 { range "0..255"; } } // Community Value typedef rtmap_CommunityVal { type uint32 { range "0..4294967295"; } } // Config Error typedef rtmap_ConfigErr { type string; } // Criteria typedef rtmap_Criteria { type enumeration { enum exact { value 1; description "Exact"; } enum sub-group { value 2; description "Sub group"; } } default "sub-group"; } // Dampening Half-life // Time in minutes. Once the route has been assigned a penalty, // the penalty is decreased by half after half life period typedef rtmap_DampHalfLife { type uint8 { range "0..45"; } default "0"; } // Dampening Max Suppress Time // Time in minutes. Maximum time that a route can be suppressed. typedef rtmap_DampMaxSuppressTime { type uint8 { range "0..255"; } default "0"; } // Dampening Reuse Limit // Route that is unsuppressed if the penalty for a flapping route // decreases enough to fall below this value. typedef rtmap_DampReuse { type uint16 { range "0..20000"; } default "0"; } // Dampening Suppress Limit // Route that is suppressed when its penalty exceeds this limit. typedef rtmap_DampSuppress { type uint16 { range "0..20000"; } default "0"; } // Duration typedef rtmap_Duration { type uint8 { range "1..255"; } } // Type of ESI setting for Firewall Clustering typedef rtmap_EsiL { type enumeration { enum unspecified { value 0; description "unspecified ESI setting"; } enum all-zeroes { value 1; description "ESI value will be set to all-zeroes"; } enum unchanged { value 2; description "ESI value will be preserved and remain unchanged"; } } } // Gateway-ip Type typedef rtmap_GatewayT { type enumeration { enum ip-address { value 0; description "Use IP address gateway IP"; } enum nexthop { value 1; description "Use nexthop gateway IP"; } } default "ip-address"; } // HalfLife typedef rtmap_HalfLife { type uint8 { range "1..45"; } } // Label Index typedef rtmap_Index { type uint32 { range "0..471788"; } } // ISIS levels typedef rtmap_IsisL { type enumeration { enum unspecified { value 0; description "unspecified"; } enum level-1 { value 1; description "ISIS level-1"; } enum level-1-2 { value 2; description "ISIS level-1-2"; } enum level-2 { value 3; description "ISIS level-2"; } } default "unspecified"; } // Local preference typedef rtmap_LocalPref { type uint32; } // Metric typedef rtmap_Metric { type uint32; } // Metric Delay typedef rtmap_MetricD { type uint32 { range "0..4294967295"; } default "0"; } // Metric Load typedef rtmap_MetricL { type uint8 { range "0..255"; } default "0"; } // Metric MTU typedef rtmap_MetricM { type uint32 { range "0..16777215"; } default "0"; } // Metric Reliability typedef rtmap_MetricR { type uint8 { range "0..255"; } default "0"; } // MetricS typedef rtmap_MetricS { type string { pattern "[0-9\\+-][0-9]*"; } } // Metric type typedef rtmap_MetricT { type enumeration { enum type-1 { value 1; description "OSPF type1 metric"; } enum type-2 { value 2; description "OSPF type2 metric"; } enum internal { value 3; description "BGP internal metric"; } enum external { value 4; description "ISIS external metric"; } } default "type-1"; } // OSPF NSSA typedef rtmap_NssaOnly { type enumeration { enum ospf-nssa { value 8; description "OSPF NSSA area"; } } default "ospf-nssa"; } // OSPFArea typedef rtmap_OSPFArea { type uint32 { range "0..4294967295"; } } // Route-map Continue typedef rtmap_Order { type uint16 { range "0..65535"; } } // Origin type typedef rtmap_OriginT { type enumeration { enum egp { value 1; description "Remote EGP Origin"; } enum igp { value 2; description "Local IGP Origin"; } enum incomplete { value 3; description "Unknown Heritage"; } } default "egp"; } // Precedence Properties typedef rtmap_PrecName { type enumeration { enum routine { value 0; description "Routine"; } enum priority { value 1; description "Priority"; } enum immediate { value 2; description "Immediate"; } enum flash { value 3; description "Flash"; } enum flash-override { value 4; description "Flash-Override"; } enum critical { value 5; description "Critical"; } enum internet { value 6; description "Internet"; } enum network { value 7; description "Network"; } } } // is BGP config typedef rtmap_Proto { type boolean; } // Set path selection type typedef rtmap_PsType { type enumeration { enum unspecified { value 0; description "unspecified"; } enum ps-all { value 1; description "Specifies all BGP paths"; } enum ps-bestplus { value 2; description "Specifies best + backup BGP paths"; } enum ps-best2 { value 3; description "Specifies best 2 BGP paths"; } enum ps-mpath { value 4; description "Specifies multipaths BGP paths"; } } default "unspecified"; } // refcountvalue typedef rtmap_RefCountVal { type uint32 { range "0..4294967295"; } default "0"; } // Set as-path replace Type typedef rtmap_ReplaceType { type enumeration { enum local-as { value 0; description "replace with local-as(own as)"; } enum none { value 1; description "remove the asn or replace with empty"; } enum asn { value 2; description "replace with asn value"; } enum remote-as { value 3; description "replace with remote-as(peer as)"; } } default "local-as"; } // Reuse typedef rtmap_Reuse { type uint16 { range "1..20000"; } } // route-map name typedef rtmap_RmapName { type string { pattern ".*[!-~]{1,63}.*"; } } // Route Distance typedef rtmap_RouteDist { type uint8 { range "0..255"; } } // Route Last As typedef rtmap_RouteLastAs { type uint16 { range "1..10"; } } // Pervasive route typedef rtmap_RoutePervasive { type enumeration { enum non-pervasive { value 0; description "Match all non-pervasive routes"; } enum pervasive { value 1; description "Match all pervasive routes"; } enum pervasive-non-ext-bd { value 2; description "Match all pervasive except external BD routes"; } } default "pervasive-non-ext-bd"; } // Route type typedef rtmap_RouteT { type enumeration { enum external { value 1; description "External"; } enum internal { value 2; description "Internal"; } enum ospf-inter-area { value 3; description "OSPF inter area"; } enum ospf-intra-area { value 4; description "OSPF intra area"; } enum isis-l1 { value 5; description "ISIS level 1"; } enum isis-l2 { value 6; description "ISIS level 2"; } enum local { value 7; description "Local"; } enum ospf-nssa-external { value 8; description "OSPF nssa external"; } enum ospf-type1 { value 9; description "OSPF type1 external"; } enum ospf-type2 { value 10; description "OSPF type2 external"; } enum R1 { value 11; description "BGP EVPN route (type 1)"; } enum mac-only { value 12; description "BGP EVPN route(type 2 mac-only)"; } enum mac-ip { value 13; description "BGP EVPN route(type 2 mac-ip)"; } enum R2_ALL { value 14; description "BGP EVPN route(type 2 all)"; } enum R3 { value 15; description "BGP EVPN route (type 3)"; } enum R4 { value 16; description "BGP EVPN route (type 4)"; } enum R5 { value 17; description "BGP EVPN route (type 5)"; } enum R6 { value 18; description "BGP EVPN route (type 6)"; } enum redistributed-direct { value 19; description "Redistributed Direct"; } } default "external"; } // Route tag typedef rtmap_RouteTag { type uint32; } // Type of RPKI states typedef rtmap_RpkiL { type enumeration { enum valid { value 0; description "RPKI state is valid"; } enum not-found { value 1; description "RPKI state is not-found"; } enum invalid { value 2; description "RPKI state is invalid"; } enum unspecified { value 3; description "unspecified"; } } default "unspecified"; } // Set criteria typedef rtmap_SetCriteria { type enumeration { enum none { value 1; description "No community"; } enum append { value 2; description "Append community"; } enum replace { value 3; description "Replace community"; } enum igp { value 4; description "IGP Cost"; } enum pre-bestpath { value 5; description "Pre-bestpath Cost"; } } default "none"; } // Set type typedef rtmap_SetT { type enumeration { enum reg-community { value 1; description "Regular community"; } enum ext-gen-community { value 2; description "Extended generic community"; } enum rtt-community { value 3; description "Route target community"; } enum rt-tag { value 4; description "Route tag"; } enum rt-weight { value 5; description "Route weight"; } enum local-pref { value 6; description "Local preference"; } enum metric { value 7; description "Metric"; } enum ospf-fwd-addr { value 9; description "OSPF fowarding address"; } enum ip-nh { value 10; description "IP nexthop"; } enum metric-type { value 11; description "Metric Type"; } enum rt-dist { value 12; description "Route distance"; } enum nh-pa { value 13; description "Next Hop Peer Address"; } enum origin { value 14; description "Origin"; } enum list-community { value 15; description "Community List (for deletion)"; } enum dampening { value 16; description "Dampening value"; } enum extcommunity-cost { value 17; description "Extcommunity Cost"; } enum ip-prec { value 18; description "IP Precedence value"; } enum continue { value 19; description "Continue Value"; } enum rt-index { value 20; description "Label Index"; } enum list-extcommunity { value 21; description "Extended Community List (for deletion)"; } enum ipv6-prec { value 22; description "IPv6 Precedence value"; } enum prepend { value 23; description "Prepend Value"; } enum lastas { value 24; description "Prepend Last-as Value"; } enum as-pathtag { value 25; description "As-Path tag Value"; } enum ps-adv { value 26; description "PS Advertise Value"; } enum intf { value 27; description "Set interface Value"; } enum isis-level { value 28; description "ISIS Level"; } enum extcommunity-evpn { value 29; description "Set EVPN Extcommunity rmac Value"; } enum esi { value 30; description "Set ESI"; } enum large-community { value 31; description "Set Large Community"; } enum list-largecommunity { value 32; description "Large Community List (for deletion)"; } } default "reg-community"; } // track if used in set ip next-hop verify typedef rtmap_SetTrackValue { type uint32 { range "0..512"; } default "0"; } // Supress typedef rtmap_Supress { type uint16 { range "1..20000"; } } // Weight typedef rtmap_Weight { type uint16; } // rp-type typedef rtmap_rpTypeT { type enumeration { enum unspecified { value 0; description "unspecified"; } enum ASM { value 1; description "ASM"; } enum Bidir { value 2; description "Bidir"; } } default "unspecified"; } // Criteria typedef rtpfx_Criteria { type enumeration { enum exact { value 0; description "Exact match"; } enum inexact { value 1; description "Inexact match"; } } default "exact"; } // IPv4 Mode typedef rtpfx_IPv4Mode { type string; default "IPV4"; } // IPv6 Mode typedef rtpfx_IPv6Mode { type string; default "IPV6"; } // Extended chassis state typedef satm_ExtChOperSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum initializing { value 1; description "Initializing"; } enum discovered { value 2; description "Discovered"; } enum connected { value 3; description "Connected"; } enum registering { value 4; description "Registering"; } enum registered { value 5; description "Registered"; } enum ready { value 6; description "Ready"; } enum online-seq { value 7; description "Online Sequence"; } enum online { value 8; description "Online"; } enum offline-req { value 9; description "Offline Request"; } enum offline-seq { value 10; description "Offline Sequence"; } enum offline { value 11; description "Offline"; } enum img-download { value 12; description "Image Download"; } enum failed { value 13; description "Failed"; } enum removed { value 14; description "Removed"; } enum hl-upg-seq { value 15; description "Hitless Upgrade Sequence"; } enum chk-upg-seq { value 16; description "Check Upgrade Sequence"; } enum upg-start { value 17; description "Ready for Upgrade"; } enum hl-upg-idle { value 18; description "Hitless Upgrade Idle"; } enum chk-ins-seq { value 19; description "Check Insert Sequence"; } enum hl-upg-fail { value 20; description "Hitless Upgrade Failed"; } enum aa-upg-rdy { value 21; description "Active Active Upgrade Ready"; } enum aa-upg-idle { value 22; description "Active Active Upgrade Idle"; } enum aa-upg-done { value 23; description "Active Active Upgrade Done"; } enum aa-upg-fail { value 24; description "Active Active Upgrade Fail"; } enum aa-ver-mismatch { value 25; description "Active Active Version Mismatch"; } enum ch-type-mismatch { value 26; description "Extended Chassis Type Mismatch"; } } default "unknown"; } // Fabric port FSM status typedef satm_FpFsmSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum created { value 1; description "Created"; } enum discovered { value 2; description "Discovered"; } enum configured { value 3; description "Configured"; } enum up { value 4; description "Up"; } enum connecting { value 5; description "Connecting"; } enum active { value 6; description "Active"; } enum incompatible { value 7; description "Incompatible topology"; } enum disconnected { value 8; description "Disconnected"; } enum id-mismatch { value 9; description "Identity mismatch"; } } default "unknown"; } // Fabri port flags typedef satm_FportFlags { type string; } // Host Port operational status typedef satm_HpOperSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } enum fail { value 3; description "Failed"; } } default "unknown"; } // Port operational status typedef satm_OperSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } enum failed { value 3; description "Failed"; } } default "unknown"; } typedef satm_SwGen { type uint16; } // Action typedef scrtchpd_Action { type enumeration { enum create { value 1; description "Create"; } enum delete { value 2; description "Delete"; } } default "create"; } // Address family type typedef segrt_AfType { type enumeration { enum ipv4 { value 1; description "IPv4 address family"; } enum ipv6 { value 2; description "IPv6 address family"; } } default "ipv4"; } // Segment Routing Operational state typedef segrt_OperSt { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } enum ha-in-progress { value 2; description "HA in progress"; } } default "disabled"; } // Operational State Qualifier typedef segrt_OperStQual { type enumeration { enum none { value 0; description "None"; } enum shut { value 1; description "Segment Routing is shut"; } enum srgb-cleanup-in-progress { value 2; description "Old SRGB cleanup in progress"; } enum srgb-cleanup-failed { value 3; description "Old SRGB cleanup failed"; } enum srgb-alloc-in-progress { value 4; description "SRGB allocation in progress"; } enum srgb-alloc-failed { value 5; description "SRGB allocation failed"; } } default "none"; } // SRGB Operational state typedef segrt_SRGBOperSt { type enumeration { enum none { value 0; description "None"; } enum in-use { value 1; description "In-use"; } enum alloc-in-progress { value 2; description "SRGB allocation in progress"; } enum alloc-failed { value 3; description "SRGB allocation failed"; } enum cleanup-in-progress { value 4; description "Old SRGB cleanup in progress"; } enum cleanup-failed { value 5; description "Old SRGB cleanup failed"; } } default "none"; } // SID Value type typedef segrt_SidValueType { type enumeration { enum index { value 1; description "SID Index value"; } enum absolute { value 2; description "SID Absolute value"; } } default "index"; } // Segment-routing data plane type typedef segrt_SrDpType { type enumeration { enum mpls { value 1; description "MPLS"; } enum ipv6 { value 2; description "IPv6"; } } default "mpls"; } // SRGB allocation retry interval typedef segrt_SrgbAllocRetryIntvl { type uint16 { range "1..65535"; } default "180"; } // SRGB cleanup interval typedef segrt_SrgbCleanupIntvl { type uint16 { range "1..65535"; } default "60"; } // Layer4 port typedef sflow_L4Port { type uint32 { range "1..65535"; } default "6343"; } typedef sflow_VrfName { type string { pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{0,32}"; } } // Address Ip typedef sflow_addressIp { type address_Ip; } // counter-poll-interval typedef sflow_counterPollInterval { type uint32 { range "0..2147483647"; } default "20"; } // Datagram size typedef sflow_maxDatagramSize { type uint32 { range "200..9000"; } default "1400"; } // Max sampling size typedef sflow_maxSampledSize { type uint32 { range "64..256"; } default "128"; } // Sampling rate typedef sflow_samplingRate { type uint32; } typedef sisf_NonGlobalTracking { type enumeration { enum default { value 0; description "Default"; } enum disable { value 1; description "Disable"; } enum enable { value 2; description "Enable"; } } default "default"; } // Maximum time in REACHABLE with no activity typedef sisf_ReachableLifetimerBinding { type int32 { range "-1..86400"; } default "0"; } typedef sisf_RetryIntervalBinding { type int16 { range "0..3600"; } default "0"; } typedef sisf_VlanID { type uint16 { range "1..4096"; } } typedef sisf_deviceRole { type enumeration { enum node { value 0; description "Node"; } enum switch { value 3; description "Switch"; } } default "node"; } typedef sisf_dhcpGuardDeviceRole { type enumeration { enum client { value 0; description "Client"; } enum server { value 1; description "Server"; } enum monitor { value 2; description "Monitor"; } } default "client"; } typedef sisf_dhcpflag { type enumeration { enum on { value 0; description "enable"; } enum off { value 1; description "disable"; } } } // Define Down Lifetimer // Special value zero (0) indicates infinite. typedef sisf_downLifetimer { type uint64 { range "0..86400"; } default "86400"; } // Verify that the RA Guard advertised limit is lower than the limit value typedef sisf_hopLimitMax { type uint16 { range "0..255"; } default "0"; } // Verify that the RA Guard advertised limit is greater than the limit value typedef sisf_hopLimitMin { type uint16 { range "0..255"; } default "0"; } // Specifies a limit typedef sisf_limitAddressCount { type uint16 { range "0..32000"; } } typedef sisf_macLimit { type uint32 { range "0..100000"; } default "0"; } // Define maximum number of entries in the Binding table typedef sisf_maxEntries { type uint32 { range "0..1000000"; } default "0"; } typedef sisf_ndpflag { type enumeration { enum on { value 0; description "enable"; } enum off { value 1; description "disable"; } } } typedef sisf_portLimit { type uint32 { range "0..100000"; } default "0"; } // Define Maximum allowed advertised server preference typedef sisf_preferenceMax { type uint16 { range "0..255"; } default "255"; } // Define Minimum allowed advertised server preference typedef sisf_preferenceMin { type uint16 { range "0..255"; } default "0"; } typedef sisf_raGuardDeviceRole { type enumeration { enum host { value 1; description "Host"; } enum router { value 2; description "Router"; } enum switch { value 3; description "Switch"; } enum monitor { value 4; description "Monitor"; } } default "host"; } // Enable verification of the advertised M flag typedef sisf_raGuardManagedConfig { type enumeration { enum off { value 0; description "disable"; } enum on { value 1; description "enable"; } enum nocheck { value 2; description "check"; } } default "nocheck"; } // Enable verification of the advertised O flag typedef sisf_raGuardOtherConfig { type enumeration { enum off { value 0; description "disable"; } enum on { value 1; description "able"; } enum nocheck { value 2; description "check"; } } default "nocheck"; } typedef sisf_raGuardRouterPreferenceMaximum { type enumeration { enum low { value 1; description "low"; } enum medium { value 2; description "medium"; } enum high { value 3; description "high"; } enum nocheck { value 4; description "check"; } } default "nocheck"; } // Define Reachable Lifetimer // Special value zero (0) indicates infinite. typedef sisf_reachableLifetimer { type uint64 { range "0..86400"; } default "300"; } // Define Reachable Lifetimer for snooping policy // Special value zero (0) indicates infinite. typedef sisf_reachableLifetimerSnoopingPolicy { type uint64 { range "0..86400"; } default "300"; } typedef sisf_retryInterval { type uint16 { range "1..3600"; } default "1"; } typedef sisf_securityLevel { type enumeration { enum glean { value 0; description "Glean"; } enum inspect { value 1; description "Guard"; } enum guard { value 2; description "Inspect"; } } default "guard"; } // Define Stale Lifetimer // Special value zero (0) indicates infinite. typedef sisf_staleLifetimer { type uint64 { range "0..86400"; } default "86400"; } // Define Reachable Lifetimer for snooping policy // Special value zero (0) indicates infinite. typedef sisf_staleLifetimerSnoopingPolicy { type uint64 { range "0..86400"; } default "86400"; } typedef sisf_vlanLimit { type uint32 { range "0..200000"; } default "0"; } // ReactionVariable: typedef sla_ActionType { type enumeration { enum none { value 1; description "NONE"; } enum trapOnly { value 2; description "TRAPONLY"; } enum triggerOnly { value 3; description "TRIGGERONLY"; } enum trapAndTrigger { value 4; description "TRAPANDTRIGGER"; } } default "none"; } // AdvFactor typedef sla_AdvFactor { type uint8 { range "0..20"; } default "0"; } // ClockTolerance Absolute number typedef sla_ClockToleranceAbsolute { type uint32 { range "0..100000"; } default "0"; } // ClockTolerance Percentile value typedef sla_ClockTolerancePercent { type uint32 { range "0..100"; } default "0"; } // CodecNumPkts typedef sla_CodecNumPkts { type uint32 { range "1..60000"; } default "1000"; } // CodecSize typedef sla_CodecSize { type uint32 { range "16..16384"; } default "32"; } // CodecType typedef sla_CodecType { type enumeration { enum none { value 0; description "No codec configured"; } enum g711alaw { value 2; description "G711aLAW"; } enum g711ulaw { value 1; description "G711uLAW"; } enum g729a { value 3; description "G729A"; } } default "none"; } // Operation frequency typedef sla_Frequency { type uint32 { range "1..604800"; } default "60"; } // Operation frequency typedef sla_FrequencyInMilliseconds { type uint32 { range "100..604800000"; } default "60000"; } // HttpMethodVal : Http methods : get or raw typedef sla_HttpMethodVal { type enumeration { enum get { value 1; description "GET"; } } default "get"; } // CodecInterval typedef sla_Interval { type uint32 { range "4..60000"; } default "20"; } // NumPkts typedef sla_NumPkts { type uint32 { range "1..60000"; } default "10"; } // OpPktPriority typedef sla_OpPktPriority { type enumeration { enum none { value 0; description "no priority"; } enum high { value 2; description "HIGH"; } enum normal { value 1; description "NORMAL"; } } default "normal"; } // Port num typedef sla_PortNum { type uint16 { range "1..65535"; } } // Precision typedef sla_Precision { type enumeration { enum microseconds { value 1; description "MICROSECONDS"; } enum milliseconds { value 2; description "MILLISECONDS"; } } default "milliseconds"; } // ReactionVariable: typedef sla_ReactionVariable { type enumeration { enum none { value 0; description "NONE"; } enum rtt { value 1; description "RTT"; } enum jitterSDAvg { value 2; description "JITTERSDAVG"; } enum jitterDSAvg { value 3; description "JITTERDSAVG"; } enum packetLossSD { value 4; description "PACKETLOSSSD"; } enum packetLossDS { value 5; description "PACKETLOSSDS"; } enum mos { value 6; description "MOS"; } enum timeout { value 7; description "TIMEOUT"; } enum connectionLoss { value 8; description "CONNECTION LOSS"; } enum verifyError { value 9; description "VERIFY ERROR"; } enum jitterAvg { value 10; description "JITTERAVG"; } enum icpif { value 11; description "ICPIF"; } enum packetLateArrival { value 13; description "PACKETLATEARRIVAL"; } enum packetOutOfSequence { value 14; description "PACKETOUTOFSEQUENCE"; } enum maxOfPositiveSD { value 15; description "MAXOFPOSITIVESD"; } enum maxOfNegativeSD { value 16; description "MAXOFNEGATIVESD"; } enum maxOfPositiveDS { value 17; description "MAXOFPOSITIVEDS"; } enum maxOfNegativeDS { value 18; description "MAXOFNEGATIVEDS"; } } default "none"; } // Request Data Size typedef sla_ReqDataSize { type uint32 { range "16..17512"; } default "16"; } typedef sla_RespProto { type enumeration { enum udp { value 1; description "UDP"; } enum tcp { value 2; description "TCP"; } } default "tcp"; } // Operation threshold typedef sla_Threshold { type uint32 { range "1..60000"; } default "5000"; } // ReactionVariable: typedef sla_ThresholdType { type enumeration { enum never { value 1; description "NEVER"; } enum immediate { value 2; description "IMMEDIATE"; } enum consecutive { value 3; description "CONSECUTIVE"; } enum xOfy { value 4; description "xOfy"; } enum average { value 5; description "AVERAGE"; } } default "never"; } // Operation timeout typedef sla_Timeout { type uint32 { range "1..604800000"; } default "5000"; } typedef smartcard_AdminState { type enumeration { enum enabled { value 1; } enum disabled { value 2; } } default "disabled"; } typedef smartcard_SksdmasterkeyfaultBitmapT { type enumeration { enum noerror { value 0; description "Unknown"; } enum MasterkeyUnavail { value 1; description "Master-key is not configured."; } } } // AAA Cache User Timeout typedef snmp_AaaUserCacheTimeout { type uint32 { range "1..86400"; } default "3600"; } // ACL Name typedef snmp_AclNameT { type string { pattern "[^\\s]{0,32}"; } } // All Trap enable type // This will be used to configure/unconfigure all traps globally typedef snmp_AllTrapsType { type enumeration { enum no { value 0; description "Disable all Traps"; } enum yes { value 1; description "Enable All Traps"; } enum unspecified { value 2; description "Unspecified"; } } default "unspecified"; } // Authentication key typedef snmp_AuthKey { type string; } typedef snmp_AuthPasswd { type string { length "0..256"; pattern ".*"; } } // Authentication Type typedef snmp_AuthType { type enumeration { enum hmac-md5-96 { value 1; description "HMAC-MD5-96"; } enum hmac-sha1-96 { value 2; description "HMAC-SHA1-96"; } } default "hmac-md5-96"; } // Auth Type typedef snmp_AuthTypeT { type enumeration { enum no { value 0; description "No auth"; } enum md5 { value 1; description "MD5 algorithm"; } enum sha { value 2; description "SHA algorithm"; } enum sha-256 { value 3; description "SHA-256 algorithm"; } enum sha-224 { value 4; description "SHA-224 algorithm"; } enum sha-384 { value 5; description "SHA-384 algorithm"; } enum sha-512 { value 6; description "SHA-512 algorithm"; } } default "no"; } typedef snmp_Boolean { type enumeration { enum no { value 0; description "No"; } enum yes { value 1; description "Yes"; } } default "yes"; } // Type of access to the type of community typedef snmp_CommAcessT { type enumeration { enum ro { value 0; description "Read-only Access"; } enum rw { value 1; description "Read-Write Access"; } enum unspecified { value 2; description "Unspecified value"; } } default "unspecified"; } // Port Counter Cache Timeout typedef snmp_CounterCacheTimeout { type uint16 { range "1..3600"; } default "50"; } // RMON EVENT Description typedef snmp_DescType { type string; } // Auth/Priv key mode typedef snmp_EncrypModeT { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum hash { value 1; description "hash mode key"; } enum salt { value 2; description "salt mode key"; } } default "unspecified"; } // Engine ID typedef snmp_EngId { type string; } // Engine ID Length typedef snmp_EngIdLen { type uint8 { range "0..162"; } default "0"; } // Event Number typedef snmp_EventIndx { type uint16 { range "1..65535"; } default "1"; } // Event Number typedef snmp_EventNum { type uint16 { range "1..65535"; } } // Group Name to which community belongs typedef snmp_GrpNameT { type string; } // RMON HCALARM Threshold Type typedef snmp_HcThrshld { type uint64; } // Logging enable typedef snmp_LogEnableType { type enumeration { enum no { value 0; description "Generate RMON log when the event fires"; } enum yes { value 1; description "Do not Generate RMON log when the event fires"; } } default "no"; } // Notification type typedef snmp_NotificationType { type enumeration { enum traps { value 1; } enum informs { value 2; } } default "traps"; } // RMON EVENT OWNER typedef snmp_OwnerType { type string; } // SNMP Packet Size typedef snmp_PktSizeT { type uint16 { range "484..17382"; } default "1500"; } // UDP PORT typedef snmp_PortIdT { type uint32 { range "0..65535"; } default "162"; } // Privacy (encryption) key typedef snmp_PrivKey { type string; } typedef snmp_PrivPasswd { type string { length "0..256"; pattern ".*"; } } // Privacy (encryption) Type typedef snmp_PrivType { type enumeration { enum none { value 0; description "None"; } enum des { value 1; description "DES"; } enum aes-128 { value 2; description "AES-128"; } } default "none"; } // Priv Type typedef snmp_PrivTypeT { type enumeration { enum no { value 0; description "No auth"; } enum des { value 1; description "DES algorithm"; } enum aes128 { value 2; description "AES-128 algorithm"; } } default "no"; } typedef snmp_SnmpLogLevel { type enumeration { enum emergencies { value 0; description "emergencies"; } enum alerts { value 1; description "alerts"; } enum critical { value 2; description "critical"; } enum errors { value 3; description "errors"; } enum warnings { value 4; description "warnings"; } enum notifications { value 5; description "notifications"; } enum information { value 6; description "information"; } enum debugging { value 7; description "debugging"; } } default "critical"; } // System Contact typedef snmp_SnmpSysContact { type string; } // System Description typedef snmp_SnmpSysDescr { type string; } // System Location typedef snmp_SnmpSysLoc { type string; } // Snmp trap administrative state typedef snmp_SnmpTrapSt { type enumeration { enum enable { value 1; description "Enable"; } enum disable { value 2; description "Disable"; } } default "disable"; } // Trap Community type typedef snmp_TrapCommType { type string; } // SNMP Trap Rate typedef snmp_TrapRateT { type uint16 { range "0..1000"; } default "0"; } // Mark User For Delete typedef snmp_UserDeleteType { type enumeration { enum no { value 0; description "Do not delete this user"; } enum yes { value 1; description "Delete this user"; } } default "no"; } // SNMPv3 security level typedef snmp_V3SecLvl { type enumeration { enum unspecified { value 0; } enum noauth { value 1; } enum auth { value 2; } enum priv { value 3; } } default "noauth"; } // SNMP version typedef snmp_Version { type enumeration { enum v1 { value 1; } enum v2c { value 2; } enum v3 { value 3; } } default "v1"; } // Community name typedef snmp_commNameT { type string; } // host name typedef snmp_hostNameT { type string { length "1..255"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } } // RMON ALARM Sample interval typedef snmp_smplIntvl { type uint32 { range "1..700000"; } default "1"; } // Rmon alarm sample type typedef snmp_smplType { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum absolute { value 1; description "Test each sample directly"; } enum delta { value 2; description "Test delta between samples"; } } default "unspecified"; } // RMON HCALARM startupalarm typedef snmp_startupAlarmType { type enumeration { enum unspecified { value 0; description "Unspecified"; } enum rising { value 1; description "rising"; } enum falling { value 2; description "falling"; } enum risingorfalling { value 3; description "rising or falling"; } } default "unspecified"; } // Type for snmp-server tcp-session auth config typedef snmp_tcpSessionAuthT { type enumeration { enum no { value 0; description "Unspecified"; } enum tcpSess { value 1; description "tcp-session config"; } enum tcpSessAuth { value 2; description "tcp-session auth config"; } } default "tcpSessAuth"; } // RMON ALARM Threshold Type typedef snmp_thrshld { type int32 { range "-2147483648..2147483647"; } default "0"; } // User name typedef snmp_userNameT { type string { length "1..28"; } } typedef span_AclName { type string { length "0..64"; } } typedef span_Description { type string { length "0..32"; } } // Monitor Description Type // Used to set the default string to Empty and length // to 32 characters typedef span_ErrorInt { type uint16 { range "0..32"; } default "0"; } // erspan-id typedef span_ErspanId { type uint16 { range "0..1023"; } default "0"; } typedef span_FwdDropSrcDirection { type enumeration { enum none { value 0; description "Direction none"; } enum rx { value 1; description "Rx Direction - Ingress"; } enum tx { value 2; description "Tx Direction - Egress"; } enum both { value 3; description "Both Tx(Egress) AND Rx(Ingress) Direction"; } } default "none"; } // warp session group id typedef span_GroupId { type uint16 { range "1..12"; } } // HeaderType typedef span_HeaderVer { type enumeration { enum v2 { value 0; description "Type 2"; } enum v3 { value 1; description "Type 3"; } enum v3-rfc-compliant { value 2; description "Type3 rfc-compliant"; } } } // ip dscp typedef span_IpDscp { type uint16 { range "0..63"; } default "0"; } // ip ttl typedef span_IpTtl { type uint16 { range "1..255"; } default "255"; } // marker packet interval typedef span_MarkerPktInt { type uint16 { range "1..1000"; } default "100"; } // MtuValue typedef span_MtuValue { type uint16 { range "64..10240"; } default "10240"; } // Operational state qualifier typedef span_OperStQual { type enumeration { enum active { value 1; description "The session is up"; } enum no-hw-res { value 2; description "No hardware resource"; } enum no-oper-src-dst { value 3; description "No operational src/dst"; } enum error { value 4; description "Generic error"; } enum no-src { value 5; description "No sources configured"; } enum no-dst { value 6; description "No dest configured"; } enum no-src-dst { value 7; description "No src/dst configured"; } enum shut { value 8; description "Session admin shut"; } enum invalid-dst-mode { value 9; description "Dst in wrong mode"; } enum invalid-src-mode { value 10; description "Src in wrong mode"; } enum no-flow-id { value 11; description "No erspan-id specified"; } enum multi-dest-not_allowed { value 12; description "Multi-dst not allowed"; } enum invalid-vrf { value 13; description "No valid VRF"; } enum invalid-ip { value 14; description "No valid IP address"; } enum gip-invalid { value 15; description "No valid global IP Address"; } enum acl-disabled { value 16; description "ACL capture feature disabled"; } enum acl-no-res-string { value 17; description "No ACL capture resourc"; } enum acl-vdc-mismatch { value 18; description "ACL capture VDC mismatched"; } enum no-ssn-f1-f2 { value 19; description "SPAN session not supported in F1/F2 only VDC"; } enum no-erspan-switch-id { value 20; description "No erspan-switch-id specified"; } enum no-route { value 21; description "No route to destination IP address"; } enum arp-not-resolved { value 22; description "ARP not resolved"; } enum no-eg-intf { value 23; description "Egress interface not resolved"; } enum no-svi-member { value 24; description "SVI member not retrieved"; } enum no-dce-route { value 25; description "FP route not found"; } enum no-src-mac { value 26; description "Source MAC not retrieved"; } enum no-dce-switch-id { value 27; description "Source switch-id not retrieved"; } enum no-dce-src-lid { value 28; description "Source LID not retrieved"; } enum no-dce-egress-intf { value 29; description "FP egress interface not retrieved"; } enum no-si-1qtag { value 30; description "Failed to retrieve .1q tag for egress SI"; } enum no-fpc { value 31; description "Failed to retrieve FPC for egress fex intf"; } enum unsupported-route { value 32; description "Unsupported route (e.g. tunnel, lo, ranger)"; } enum erspan-dest-failed { value 33; description "SPAN destination resource allocation failure"; } enum erspan-action-not-supported { value 34; description "ERSPAN specific ACE actions not supported"; } enum udf-not-present { value 35; description "UDF not qualified for TCAM region"; } enum pfc-ns-port { value 36; description "Pfc Span on NS Port"; } enum udf-unsupported-on-vlan { value 37; description "UDF based ACL filter not supported on VLAN"; } enum hw-err { value 38; description "Hardware error"; } enum no-ipv6-route { value 39; description "No route to destination IPv6 address"; } enum gipv6-invalid { value 40; description "No valid global IPv6 Address"; } enum ipv6-invalid { value 41; description "No valid IPv6 Address"; } } default "shut"; } typedef span_SrcDirection { type enumeration { enum rx { value 1; description "Rx Direction - Ingress"; } enum tx { value 2; description "Tx Direction - Egress"; } enum both { value 3; description "Both Tx(Egress) AND Rx(Ingress) Direction"; } } default "both"; } // Monitor Session id typedef span_SsnId { type uint16 { range "1..32"; } } // Monitor State Enum typedef span_State { type enumeration { enum up { value 1; description "Up"; } enum down { value 2; description "Down"; } } default "down"; } // Monitor Type Enum typedef span_Type { type enumeration { enum local { value 0; description "Local"; } enum erspan-source { value 1; description "ERSPAN Source"; } enum erspanDst { value 2; description "ERSPAN Destination"; } enum warp { value 3; description "warp session"; } } default "local"; } typedef srte_BfdState { type enumeration { enum empty { value 0; description "Empty/Unset"; } enum label_stack_too_big { value 1; description "The MPLS label stack contains too many labels for the session"; } enum need_local_node_sid_label { value 2; description "The node sid label associated with the encap source is either unset or invalid"; } enum need_bfd_service { value 3; description "The BFD service is not running"; } enum ulib_id_alloc_failed { value 4; description "Allocating an ID for the monitoring FEC in ULIB failed"; } enum ulib_id_alloced { value 5; description "The ULIB ID is allocated"; } enum bsid_alloc_failed { value 6; description "Allocating the BSID in ULIB failed"; } enum have_bsid { value 7; description "The BSID for the monitoring FEC has been allocated from ULIB"; } enum bfd_session_create_failed { value 8; description "Creating the BFD session failed"; } enum have_bfd_session { value 9; description "The BFD session is created"; } } default "empty"; } // - Affinity bit position typedef srte_BitPos { type uint32 { range "0..31"; } } typedef srte_ColorVal { type uint64 { range "0..4294967295"; } default "0"; } // DataPlane type typedef srte_DataPlane { type enumeration { enum mpls { value 0; description "SRTE Dataplane Type - mpls"; } } default "mpls"; } // Disjoint type typedef srte_DisjointType { type enumeration { enum none { value 0; description "SRTE Disjoint Type - none"; } enum node { value 1; description "SRTE Disjoint Type - node"; } enum link { value 2; description "SRTE Disjoint Type - link"; } } default "none"; } // Encapsulation type typedef srte_EncapsulationType { type enumeration { enum mpls { value 0; description "SRTE Encapsulation Type - mpls"; } } default "mpls"; } // First hop address type typedef srte_FhAddrType { type enumeration { enum Unsupported_FH_type { value 0; description "First hop address type is unsupported"; } enum IPv4 { value 1; description "First hop address type is IPv4 endpoint"; } enum SRv6_SID { value 20; description "First hop address type is SRv6 SID"; } enum Label { value 30; description "First hop address type is MPLS label"; } } default "Unsupported_FH_type"; description "First hop address type"; } // SRTE FH state typedef srte_FhState { type enumeration { enum unknown { value 0; description "Policy first hop state is unknown"; } enum Down { value 1; description "Policy first hop state is down"; } enum Up { value 2; description "Policy first hop state is up"; } } default "unknown"; description "Operational state of policy first hop"; } // SRTE FH state reason typedef srte_FhStateReason { type enumeration { enum None { value 0; description "First hop state reason is None"; } enum Need_valid_label { value 1; description "First hop state is down because it needs valid label"; } enum Label_up,_need_route { value 2; description "First hop state is down because label needs route to be UP"; } enum Label_down,_assume_route { value 3; description "First hop state is down because label is down"; } enum Need_RNH { value 4; description "First hop state is down because recursive next for the route is down"; } enum Need_Route { value 5; description "First hop state is down because it needs route for the IPv4 endpoint to be UP"; } } default "None"; description "First hop state reason"; } // First hop type typedef srte_FhType { type enumeration { enum None { value 0; description "First hop type is None"; } enum Prefix-SID { value 1; description "First hop type is Prefix-SID"; } enum PER-CE { value 2; description "First hop type is PER-CE"; } enum Adjacency-SID { value 3; description "First hop type is Adjacency-SID"; } enum SRv6-SID { value 4; description "First hop type is SRv6-SID"; } enum IPv4-ENDPT { value 5; description "First hop type is IPv4-ENDPT"; } } default "None"; description "First hop type"; } // Oper State for Interface typedef srte_IfOperSt { type enumeration { enum down { value 0; description "Interface Oper State - down"; } enum up { value 1; description "Interface Oper State - up"; } } } typedef srte_IntervalVal { type uint32 { range "50..30000"; } default "3000"; } typedef srte_LabelVal { type uint32 { range "16..471804"; } default "16"; } // Metric type typedef srte_Metric { type enumeration { enum none { value 0; description "SRTE Metric Type - none"; } enum te { value 1; description "SRTE Metric Type - te"; } enum igp { value 2; description "SRTE Metric Type - igp"; } } default "none"; } // Metric Value typedef srte_MetricVal { type uint32; } typedef srte_MonitorLimit { type uint32 { range "0..65535"; } default "0"; } typedef srte_MonitorShut { type boolean; default "false"; } typedef srte_MultiplierVal { type uint32 { range "1..10"; } default "3"; } // Name typedef srte_Name { type string; } // - option number for index and preferences typedef srte_OptNum { type uint32 { range "1..65535"; } } // Policy path option type typedef srte_PathOptType { type enumeration { enum Explicit { value 0; description "Policy path option type is Explicit"; } enum Dynamic { value 1; description "Policy path option type is Dynamic"; } enum PCE { value 2; description "Policy path option type is PCE"; } enum none { value 3; description "Policy path option type is not set"; } } default "none"; description "Path option type of policy"; } // Policy path type typedef srte_PathType { type enumeration { enum NONE { value 0; description "Policy path type is not set"; } enum SRV6 { value 1; description "Policy path type is SRV6"; } enum MPLS { value 2; description "Policy path type is MPLS"; } } default "NONE"; description "Path type of policy"; } typedef srte_PcePrecedence { type uint32 { range "0..255"; } default "255"; } // PCEP connection state typedef srte_PcepState { type enumeration { enum idle { value 0; description "PCEP connection state is idle"; } enum TCP_pending { value 1; description "PCEP connection state is TCP pending"; } enum open_wait { value 2; description "PCEP connection state is open wait"; } enum keep_wait { value 3; description "PCEP connection state is keep wait"; } enum pce_sync { value 4; description "PCEP connection state is pce sync"; } enum up { value 5; description "PCEP connection state is up"; } } default "idle"; description "PCEP connection state"; } // Policy Oper state typedef srte_PolicyState { type enumeration { enum DOWN { value 0; description "Policy state is down"; } enum UP { value 1; description "Policy state is up"; } enum ADMIN_DOWN { value 2; description "Policy state is admin down"; } } default "DOWN"; description "Operational state of policy"; } // Protection type typedef srte_ProtectionType { type enumeration { enum protected { value 0; description "SRTE Protection Type - protected"; } enum unprotected { value 1; description "SRTE Protection Type - unprotected"; } } default "protected"; } // string:Basic type for srte policy,path name typedef srte_SrteName { type string { length "1..64"; } } // Admin status of feature typedef srte_StateVal { type enumeration { enum UNKNOWN { value 0; description "Promon State-Unknown"; } enum UP { value 1; description "Promon State-Up"; } enum DOWN { value 2; description "Promon State-Down"; } enum NEED_FH { value 3; description "Need First Hop Information"; } enum DELETED { value 4; description "Promon State-Deleted"; } } default "UNKNOWN"; } typedef srv6_LocName { type string; } typedef srv6_LocState { type enumeration { enum down { value 0; description "Lacator is down"; } enum downPending { value 1; description "Locator is down pending"; } enum up { value 2; description "Locator is up"; } } } // Forwarding instance target identifier typedef ssx_FwdInstTargetId { type uint32 { range "0..16777215"; } } // Interval typedef ssx_Interval { type uint32 { range "100..1800000"; } default "1000"; } // MTU typedef ssx_Mtu { type uint16 { range "1500..9000"; } default "1500"; } // SsxMonitorName typedef ssx_SsxMonitorName { type string { length "0..128"; } } // SsxPort typedef ssx_SsxPort { type uint16; default "49153"; } // SsxRecordName typedef ssx_SsxRecordName { type string { length "0..128"; } } // SsxRemoteNodeName typedef ssx_SsxRemoteNodeName { type string { length "0..128"; } } // Global System id typedef ssx_SystemId { type uint32 { range "0..65535"; } default "0"; } // Vrfname typedef ssx_VrfName { type l3_VrfName; default "default"; } // Administrative state typedef stp_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // BPDUGuard typedef stp_BPDUGuard { type enumeration { enum default { value 0; description "Default"; } enum enable { value 1; description "Enable"; } enum disable { value 2; description "Disable"; } } default "default"; } // bpdufilter type typedef stp_Bpdufilter { type enumeration { enum default { value 0; description "Default"; } enum enable { value 1; description "Enable"; } enum disable { value 2; description "Disable"; } } default "default"; } // bridge priority, incremental of 4096 typedef stp_BridgePriority { type uint16 { range "0..61440"; } default "32768"; } // Path Cost 0 means auto typedef stp_Cost { type uint32 { range "0..200000000"; } default "0"; } typedef stp_Diameter { type uint8 { range "2..7"; } default "2"; } // Forward Delay Time in Second typedef stp_FwdTime { type uint8 { range "4..30"; } default "15"; } // port guard typedef stp_Guard { type enumeration { enum default { value 0; description "Default"; } enum root { value 1; description "Root"; } enum loop { value 2; description "Loop"; } enum none { value 3; description "None"; } } default "default"; } // Hello Interval in Second typedef stp_HelloTime { type uint8 { range "1..10"; } default "2"; } // Interface controls typedef stp_IfControl { type string; default "unspecified"; } // Mode typedef stp_IfMode { type enumeration { enum default { value 0; description "Default"; } enum edge { value 1; description "Edge (host) port"; } enum network { value 2; description "Network port"; } enum normal { value 3; description "Normal port"; } enum trunk { value 4; description "Edge port in trunk mode"; } } default "default"; } typedef stp_L2GStpDomId { type uint32 { range "0..200000000"; } default "1024"; } // LC Issu Option typedef stp_LcIssu { type enumeration { enum default { value 0; description "Default"; } enum disruptive { value 1; description "Disruptive"; } enum non-disruptive { value 2; description "Non-disruptive"; } enum auto { value 3; description "Auto"; } } default "default"; } // Link Type typedef stp_LinkType { type enumeration { enum auto { value 1; description "Auto"; } enum p2p { value 2; description "point-to-point"; } enum shared { value 3; description "Shared"; } } default "auto"; } // Hello Interval in Second typedef stp_MaxAge { type uint8 { range "6..40"; } default "20"; } // Max Hops typedef stp_MaxHops { type uint8 { range "1..255"; } default "20"; } typedef stp_Mode { type enumeration { enum mst { value 1; description "MST"; } enum pvrst { value 2; description "PVRST"; } } default "pvrst"; } // Mode typedef stp_ModeType { type enumeration { enum edge { value 1; description "Edge (host) port"; } enum network { value 2; description "Network port"; } enum normal { value 3; description "Normal port"; } } default "normal"; } // Mst Id typedef stp_MstId { type uint16 { range "0..4094"; } default "0"; } // Path cost option typedef stp_PathcostOp { type enumeration { enum auto { value 0; description "Auto"; } enum short { value 1; description "Short"; } enum long { value 2; description "Long"; } } default "short"; } // port priority, incremental of 32 typedef stp_PortPriority { type uint8 { range "0..224"; } default "128"; } // STP port roles. typedef stp_PortRole { type enumeration { enum unknown { value 0; description "Unknown role"; } enum root { value 1; description "Root port"; } enum alternate { value 2; description "Alternate port"; } enum designated { value 3; description "Designated port"; } enum backup { value 4; description "Backup port"; } enum master { value 5; description "Master port"; } } } // STP port states. typedef stp_PortState { type enumeration { enum unknown { value 0; description "Unknown state"; } enum discarding { value 1; description "Discarding state"; } enum learning { value 2; description "Learning state"; } enum forwarding { value 3; description "Forwarding state"; } enum disabled { value 4; description "Disabled state"; } enum listening { value 5; description "listening port state"; } enum blocking { value 6; description "Blocking port state"; } } } // bridge priority, incremental of 4096 typedef stp_Priority { type enumeration { enum 0 { value 0; description "Priority_0"; } enum 4096 { value 1; description "Priority_4096"; } enum 8192 { value 2; description "Priority_8192"; } enum 12288 { value 3; description "Priority_12288"; } enum 16384 { value 4; description "Priority_16384"; } enum 20480 { value 5; description "Priority_20480"; } enum 24576 { value 6; description "Priority_24576"; } enum 28672 { value 7; description "Priority_28672"; } enum 32768 { value 8; description "Priority_32768"; } enum 36864 { value 9; description "Priority_36864"; } enum 40960 { value 10; description "Priority_40960"; } enum 45056 { value 11; description "Priority_45056"; } enum 49152 { value 12; description "Priority_49152"; } enum 53248 { value 13; description "Priority_53248"; } enum 57344 { value 14; description "Priority_57344"; } enum 61440 { value 15; description "Priority_61440"; } } default "32768"; } // Spanning tree protocols. typedef stp_Protocol { type enumeration { enum unknown { value 0; description "Unknown protocol"; } enum mstp { value 1; description "MSTP"; } enum rstp { value 2; description "RSTP"; } } } // MST region name typedef stp_RegName { type string { length "0..32"; } } // MST region revision number typedef stp_RegRev { type uint16 { range "0..65535"; } default "0"; } // Root Options typedef stp_Root { type enumeration { enum primary { value 1; description "Primary"; } enum secondary { value 2; description "Secondary"; } } default "primary"; } // Root Mode config typedef stp_RootMode { type enumeration { enum enabled { value 1; description "Configs will be updated in root mode"; } enum disabled { value 0; description "Configs in normal mode and not root"; } } default "disabled"; } // Root Type for Bridge typedef stp_RootType { type enumeration { enum none { value 0; description "STP normal root"; } enum primary { value 1; description "STP primary root"; } enum secondary { value 2; description "STP secondary root"; } } default "none"; } // Mst simulate pvst typedef stp_Simulate { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } typedef stp_SimulateIf { type enumeration { enum default { value 0; description "Default"; } enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "default"; } typedef stp_VlanBitmap { type l2_VlanBitmap; } // vlan id typedef stp_VlanId { type uint16 { range "1..4096"; } default "1"; } // vpc state per port typedef stp_VpcState { type enumeration { enum none { value 0; description "None"; } enum vPCPeerlink { value 1; description "VPCPeerLink"; } enum vPC { value 2; description "VPC"; } } default "none"; } // Bandwidth metric of the SVI in kilobits per second. typedef svi_Bw { type uint32 { range "1..400000000"; } default "1000000"; } // Carrier Transition Delay (like L2 interface going down in // milliseconds typedef svi_CarrDelay { type uint32 { range "0..60000"; } default "100"; } // Delay metric of the SVI in tens of microseconds typedef svi_Delay { type uint32 { range "1..16777215"; } default "1"; } // Load averaging delay interval 1 in seconds typedef svi_LoadIntvl1 { type uint32 { range "60..600"; } default "60"; } // Load averaging delay interval 2 in seconds typedef svi_LoadIntvl2 { type uint32 { range "60..600"; } default "300"; } // Load averaging delay interval 3 in seconds typedef svi_LoadIntvl3 { type uint32 { range "60..600"; } default "60"; } // Medium mode of the SVI typedef svi_Medium { type enumeration { enum bcast { value 0; description "broadcast"; } enum p2p { value 1; description "p2p"; } } default "bcast"; } // MTU of the SVI typedef svi_Mtu { type uint32 { range "64..9216"; } default "1500"; } // Line operational state typedef svi_OperSt { type enumeration { enum unknown { value 0; description "unknown"; } enum up { value 1; description "up"; } enum down { value 2; description "down"; } enum shutdown { value 3; description "shutdown"; } enum out-of-srvc { value 4; description "out of service"; } } default "down"; } // Reason for operational state being down typedef svi_OperStQual { type enumeration { enum unknown { value 0; description "None"; } enum admin-shut { value 1; description "administratively shut down"; } enum no-vlan { value 2; description "vlan does not exist."; } enum bad-vlan_t { value 3; description "invalid vlan type"; } enum vlan-down { value 4; description "vlan is down"; } enum hwprog-flfm { value 5; description "hardware programming failed (l2fm)"; } enum hwprog-fles { value 6; description "hardware programming failed (event Sequence)"; } enum oos { value 7; description "out of service"; } enum reinit { value 8; description "service is down or being brought down"; } enum mtuprog-fail { value 9; description "mtu programming failed"; } enum vrf-unusable { value 10; description "VRF not usable"; } enum l2st-change { value 11; description "underlying l2 interface state us down"; } enum suspended { value 12; description "Operationally shut down"; } enum macalloc-fail { value 13; description "mac address allocation failed"; } enum nonrouted-vdc { value 14; description "non-routable VDC mode"; } enum int-vlan-create-fail { value 15; description "interface vlan-create process failed"; } enum inbMgmt-cfg-fail { value 16; description "inbMgmt Config failed"; } } default "unknown"; } typedef svi_VlanId { type uint16 { range "0..4095"; } default "0"; } // Operational state of the package typedef swpkgs_OperState { type enumeration { enum none { value 0; description "No RPM packages"; } enum inactive { value 1; description "inactive RPM package"; } enum activated { value 2; description "activated RPM package"; } enum deactivated { value 3; description "This is Inactive commit pending package.Commit on this package needs to be done to make it permanently inactive."; } enum committed { value 4; description "Committed RPM package"; } enum inactive_base { value 5; description "inactive base RPM package"; } enum activated_base { value 6; description "activated base RPM package"; } enum activated_thirdparty { value 7; description "activated thirdparty rootfs package"; } enum activate_pending_reload { value 8; description "Pending reload after activate no-reload option is used"; } enum deactivate_pending_reload { value 9; description "Pending reload after deactivate no-reload option is used"; } } default "none"; } // Package action to be selected by the user typedef swpkgs_PackageAction { type enumeration { enum init { value 0; description "This state is the initial state of the package.When the system boots up it will have this state."; } enum add { value 1; description "Add a RPM package to the repo"; } enum activate { value 2; description "Activate the RPM package"; } enum add-activate { value 3; description "Add and Activate the RPM package"; } enum deactivate { value 4; description "Deactivate the RPM package"; } enum commit { value 5; description "Commit the RPM package"; } enum remove { value 6; description "Remove the RPM package"; } enum add-gpg { value 7; description "Add the gpg-key"; } enum verify-package { value 8; description "Verify active/inactive package for signature"; } enum verify-rpm { value 9; description "Verify RPM for signature"; } } default "init"; } // Package action result typedef swpkgs_PackageActionResult { type enumeration { enum success { value 0; description "Patch action the package was succesfull."; } enum failed { value 1; description "Patch action the package failed."; } enum not-available { value 2; description "Not Available"; } } default "not-available"; } // TPS action values requested by the use typedef swpkgs_TpsAction { type enumeration { enum allow { value 1; description "Allow TPS installation"; } enum no-allow { value 0; description "Dont allow TPS installation"; } } default "no-allow"; } // admin state type typedef syncc_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "enabled"; } // admin state type typedef syncc_AdminStGps { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } typedef syncc_baudratetype { type enumeration { enum 1200 { value 1; description "1200 bps"; } enum 2400 { value 2; description "2400 bps"; } enum 4800 { value 3; description "4800 bps"; } enum 9600 { value 4; description "9600 bps"; } enum 19200 { value 5; description "19200 bps"; } enum 38400 { value 6; description "38400 bps"; } enum 76800 { value 7; description "76800 bps"; } enum 153600 { value 8; description "153600 bps"; } } default "9600"; } typedef syncc_constellationtype { type enumeration { enum auto { value 1; description "Auto-select the constellation"; } enum gps { value 2; description "GPS"; } enum galileo { value 3; description "Galileo"; } enum beidou { value 4; description "Beidou"; } enum qzss { value 5; description "QZSS"; } enum glonass { value 6; description "GLONASS"; } enum sbas { value 7; description "SBAS"; } enum irnss { value 8; description "IRNSS"; } } default "auto"; } typedef syncc_offsettype { type enumeration { enum none { value 0; description "offest not configured"; } enum utc { value 1; description "ToD provides UTC time"; } enum tai { value 2; description "ToD provides TAI time"; } enum gps { value 3; description "ToD provides GPS time"; } } default "none"; } typedef syncc_polaritytype { type enumeration { enum positive { value 1; description "Positive 1pps polarity"; } enum negative { value 2; description "Negative 1pps polarity"; } } default "positive"; } typedef syncc_ppsFromattype { type enumeration { enum none { value 0; description "1PPS format not configured"; } enum rs422 { value 1; description "1PPS is in RS422 format"; } enum ttl { value 2; description "1PPS is in TTL format"; } } default "none"; } typedef syncc_todFormattype { type enumeration { enum cisco { value 1; description "ToD in Cisco ASCII format"; } enum ntp4 { value 2; description "ToD is in NTP Type4 format"; } enum gprmc { value 3; description "ToD is in NMEA/GPRMC format"; } enum zda { value 4; description "ToD is in ZDA format"; } } default "cisco"; } // Reset reason typedef syshist_RstRsn { type enumeration { enum unknown { value 0; description "Unknown"; } enum reboot { value 1; description "Kernel Reboot"; } enum watchdog { value 2; description "Watchdog Timeout"; } enum sysmgr { value 3; description "Reset Requested due to Fatal System Error"; } enum mod-err { value 4; description "Reset Requested due to Fatal Module Error"; } enum pwr-cfg { value 5; description "Configured Power down"; } enum temp-alaram { value 6; description "Power down due to temperature sensor policy trigger"; } enum user-switchover { value 7; description "Reset triggered due to Switchover Request by User"; } enum upg-err { value 8; description "Reset Requested due to Fatal Upgrade Error"; } enum reload { value 9; description "Reset Requested by CLI command reload"; } enum sprom-upd { value 10; description "Reset Requested due to SPROM update"; } enum sys-cfg-dwn { value 11; description "System Reset due to Element Manager"; } enum clock { value 12; description "System Reset due to Clock failure"; } enum halt { value 13; description "Kernel Halt"; } enum redundancy { value 14; description "Reset Requested by Redundancy"; } enum ha-switchover { value 15; description "Reset triggered due to HA policy of Switchover"; } enum ha-reset { value 16; description "Reset triggered due to HA policy of Reset"; } enum pfm-rtime { value 17; description "Power down triggered due to Platform manager runtime error"; } enum pfm-power-dwn { value 18; description "Power down triggered due to Platform manager event"; } enum panic { value 19; description "Kernel Panic"; } enum mgmt-app { value 20; description "Reset Requested by management application"; } enum hw { value 21; description "Reset triggered due to Hardware Error"; } enum asic { value 22; description "Reset performed due to component Error"; } enum redun-channel { value 23; description "Reset triggered due to bad redundancy channel"; } enum sys-health { value 24; description "Reset due to bad HW detected by System Health"; } enum eobc { value 25; description "Reset triggered due to bad backplane communication channel"; } enum boot-err { value 27; description "Reset (powered-down) because module does not boot"; } enum no-bootflash { value 28; description "Reset (powered-down) because there is no bootflash"; } enum netboot-err { value 29; description "Reset (powered-down) because netboot failed"; } enum bootflash-corrupt { value 30; description "Reset (powered-down) because bootflash access failed"; } enum installer { value 31; description "Reset by installer"; } enum epld { value 33; description "Power Down/UP epld upgrade process"; } enum sigkill-fail { value 34; description "Reset triggered due to failure to respond to SIGKILL"; } enum sys-gen-fail { value 35; description "Reset triggered by System Manager for generic failure"; } enum clock-switchover { value 37; description "VegasLC Reset due to Clock SwitchOver"; } enum insufficient-resource { value 38; description "Reset (powered-down) because of insufficient resources (DI)"; } enum incompat-config { value 43; description "Reset (powered-down) because of incompatible configuration"; } enum lcm-unknown { value 44; description "Unknown reason"; } enum lcm-ha-restart { value 45; description "HA System restart"; } enum lcm-haswitchover-done { value 46; description "HA-Switchover done"; } enum lcm-boot-srg-timeout { value 47; description "SRG info response timeout"; } enum lcm-coredump { value 48; description "Core dump initiation"; } enum lcm-disruptive-upg { value 49; description "Disruptive upgrade"; } enum lcm-lc-fail { value 50; description "Line card failure"; } enum lcm-hitless-mod-rem { value 51; description "Hitless module removal"; } enum lcm-hitless-pwr-dwn { value 52; description "Hitless power down"; } enum lcm-hitless-proc-notice { value 53; description "Catastrophic error from LC"; } enum lcm-hitless-reg-fail { value 54; description "Hitless registration failed"; } enum lcm-hitless-timeout { value 55; description "Hitless upgrade timeout"; } enum lcm-img-upg-timeout { value 56; description "Line card image upgrade (failure)"; } enum lcm-img-upgsuccess { value 57; description "Line card image upgrade (success)"; } enum lcm-lc-ins-seq-fail { value 58; description "LC insertion sequence failure"; } enum lcm-hitless-upg-fail { value 59; description "Hitless upgrade failed"; } enum lcm-lc-no-resp { value 60; description "Line card not responding"; } enum lcm-lc-reg-more3 { value 61; description "Line card 3+ registration"; } enum lcm-lc-reg-timeout { value 62; description "Line card registration timeout"; } enum lcm-runtime-diag-fail { value 63; description "Runtime diagnostic failure"; } enum lcm-runtime-diag-timeout { value 64; description "Runtime diagnostic timeout"; } enum lcm-seeprom-timeout { value 65; description "Line card SEEPROM contents response timeout"; } enum lcm-proc-notice { value 66; description "Line card catastrophic error"; } enum lcm-save-state-fail { value 67; description "Save state response (failure)"; } enum lcm-hitfull-img-check { value 68; description "Hitful image compatibility check"; } enum lcm-img-check-pwr-cycle { value 69; description "Image compatibility check (action:powercycle)"; } enum lcm-img-check-pwr-dwn { value 70; description "Image compatibility check (action:powerdown)"; } enum lcm-img-check-switch-over { value 71; description "Switchover : Image compatibility check"; } enum lcm-power-down { value 72; description "Module is powered down or power cycled"; } enum lcm-sup-rem { value 73; description "Supervisor card is removed or power cycled"; } enum lcm-lc-rem { value 74; description "Module is removed"; } enum lcm-unknown-mod { value 75; description "Unknown line card insertion"; } enum lcm-srg-timeout { value 76; description "SRG infor response timeout"; } enum lcm-async-notice-fail { value 77; description "Stop async notice failed"; } enum lcm-switchover-fail { value 78; description "Switchover failed"; } enum lcm-timeout { value 79; description "Addon image response timeout"; } enum lcm-srg-incompat { value 80; description "Upgraded SRG incompatible"; } enum outofservice { value 86; description "Out of service"; } enum sup-dev-err { value 87; description "Supervisor Device Error"; } enum issu-restart { value 88; description "Reset due to upgrade"; } enum ins-seq-fail-pwr-dwn { value 89; description "Reset (powered-down) due to insertion sequence failed"; } enum no-sup { value 92; description "Reset due to no sup"; } enum bad-volt { value 93; description "Reset due to Bad Voltage"; } enum bad-bus-volt { value 94; description "Reset due to bad system bus voltage"; } enum bad-intermediate-bus-volt { value 95; description "Reset due to bad intermediate bus voltage"; } enum psp { value 96; description "Reset due to CMP"; } enum eem-pwr-dwn { value 97; description "Powered-down due to EEM event policy trigger"; } enum usd-fail { value 98; description "Reset due to USD Failure"; } enum ejector { value 99; description "All the ejectors are OPEN"; } enum sys-rst { value 100; description "System reset by active sup (by writing to PMFPGA regs)"; } enum push-button { value 101; description "linecard reset by push button"; } enum policy-reset { value 103; description "Policy trigger initiated reset: "; } enum policy-fan { value 104; description "Powered-down due to fan policy trigger"; } enum chassis-rst { value 105; description "Chassis reset by Sup"; } enum max-switchover { value 107; description "Reset (powered-down) since maximum number of swovers were exceeded"; } enum switchover-timeout { value 108; description "Reset since switchover timeout"; } enum sysmgr-timeout { value 109; description "Reset of standby by active sup due to sysmgr timeout"; } enum unknown-mod { value 110; description "Unsupported/Unknown Module"; } enum mod-fail { value 111; description "Module Failed"; } enum mod-pwr-cycle { value 112; description "Module PowerCycled"; } enum card-incompat { value 113; description "Module not supported in this chassis"; } enum idprom-err { value 114; description "Bootup error accessing module IDPROM"; } enum unspecified { value 115; description "Non-specific deadend error, check platform int error"; } enum no-plugin { value 117; description "plugin absent/ not loaded"; } enum sw-card-id-unknown { value 118; description "Unknown card (Could not get software-card-id)"; } enum mod-fail-pwr-up { value 119; description "Unable to power up card (Power-OK not set)"; } enum max-bring-up-exceed { value 120; description "failure(powered-down) since maximum number of bringups were exceeded"; } enum enm-enabled { value 121; description "Ethernet end-host mode enabled"; } enum enm-disabled { value 122; description "Ethernet end-host mode disabled"; } enum vpd-read-failure { value 123; description "IBM VPD read Failed"; } enum inc-cos-mod { value 124; description "powered-down since linecard does not support the cos mode"; } enum epld-upg-nw-crd-mode { value 125; description "Power Down/UP epld upgrade process"; } enum deep-sleep { value 126; description "Preparing to enter deep sleep mode"; } enum fcoe-featureset-absent { value 127; description "(powered-down) FCOE feature-set absent(disabled or uninstalled)"; } enum power-cycle-button { value 128; description "Power cycle button pressed"; } enum config-reset-button { value 129; description "Configuration reset button pressed"; } enum agni-app-init-reload { value 130; description "Reload Initiated by application"; } enum cpu-caterr-signal { value 131; description "CPU CATERR Signal Asserted"; } enum patch-install { value 132; description "Reset due to patch install"; } enum fastboot { value 133; description "Reset due to fast-reload"; } enum no-sc { value 134; description "Powered down due to absence of system-controller module"; } enum no-fm { value 135; description "Powered down due to absence of fabric module"; } enum lc-breakout { value 136; description "Reloaded since breakout was configured/deconfigured on the LC"; } enum hg-link-down { value 137; description "Reloaded since a HG link went down on this LC"; } enum slot-id-parity-err { value 138; description "Reset due to FPGA Slot ID parity error"; } enum power-error { value 139; description "Reset due to Power error"; } enum firmware-upgrade { value 140; description "Reload due to Firmware upgrade"; } enum unsipp-dist-arbit-mode { value 141; description "Powered-down since linecard/spine/supervisor doesn't support distributed arbitration mode"; } enum enhanced-virtualization-enabled { value 142; description "switch mode enhanced-virtualization enabled"; } enum enhanced-virtualization-disabled { value 143; description "switch mode enhanced-virtualization disabled"; } enum no-fm-connectivity { value 144; description "Powered down due to no connectivity to fabric mode"; } enum fabric-mode { value 145; description "Powered down due to fabric configured in FRM mode"; } enum epc-failure { value 146; description "Reset triggered due to bad (EPC) packet communication channel"; } enum all-vdcs-not-online { value 147; description "Reset (powered-down) because all VDCs for module need to be online"; } enum pfm-auth-fail { value 148; description "Reset (powered down) due to module authentication failure"; } enum pfm-startauth-fail { value 149; description "Reset (powered down) due to module authentication start failure"; } enum sys-dme-clean-config-reset { value 150; description "Dme clean config reset"; } enum pf-eem-policy-trigger-fan-air-flow { value 151; description "Powered-down due to fan air flow policy trigger"; } enum standby-reload-symc-failure { value 152; description "standby reset due to failure on large MOs sync"; } enum issu-non-disruptive-restart { value 153; description "Reset due to non-disruptive upgrade"; } enum afm-tcam-remplate-apply { value 154; description "Reload due to change in TCAM service-template"; } enum interop-change-request { value 155; description "Reload due to interop-mode change"; } enum soft-reload-via-crash { value 156; description "Reset due to soft reload via Crash"; } enum soft-reload-via-cli { value 157; description "Reset due to soft reload via CLI"; } enum soft-reload-fail-reload { value 158; description "Reset due to soft reload attempt failure"; } enum act2-auth-failure { value 159; description "Reset due to ACT2 authentication failure"; } enum un-asic-mem-error { value 160; description "Multiple uncorrectable ASIC memory errors detected"; } enum not-defined { value 161; description "Not defined"; } } } // Reset reason qualifier typedef syshist_RstRsnQual { type string; } typedef syshist_RstService { type string; } typedef syslog_Facility { type enumeration { enum kern { value 0; } enum user { value 1; } enum mail { value 2; } enum daemon { value 3; } enum auth { value 4; } enum syslog { value 5; } enum lpr { value 6; } enum news { value 7; } enum uucp { value 8; } enum cron { value 9; } enum authpriv { value 10; } enum ftp { value 11; } enum local0 { value 16; } enum local1 { value 17; } enum local2 { value 18; } enum local3 { value 19; } enum local4 { value 20; } enum local5 { value 21; } enum local6 { value 22; } enum local7 { value 23; } } default "local7"; } typedef syslog_FileSize { type uint32 { range "4096..4194304"; } default "4194304"; } typedef syslog_OperState { type enumeration { enum unknown { value 0; } enum available { value 1; } enum errored { value 2; } } default "unknown"; } typedef syslog_OriginIdType { type enumeration { enum unknown { value 0; } enum hostname { value 1; } enum ip { value 2; } enum string { value 3; } } default "unknown"; } typedef syslog_OriginIdValue { type string { length "0..199"; pattern ".*(\\.[A-Za-z]([A-Za-z0-9-]*[A-Za-z0-9])?)*.*|.*(.*25[0-5]|.*2[0-4][0-9]|.*1[0-9][0-9]|.*[1-9][0-9]|.*[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\\.(25[0-5].*|2[0-4][0-9].*|1[0-9][0-9].*|[1-9][0-9].*|[0-9].*).*"; } } // Type definition for RfcStrcic typedef syslog_RfcStrictFormat { type enumeration { enum legacy { value 0; } enum 5424 { value 1; } } default "legacy"; } typedef syslog_Severity { type enumeration { enum emergencies { value 0; description "emergencies"; } enum alerts { value 1; description "alerts"; } enum critical { value 2; description "critical"; } enum errors { value 3; description "errors"; } enum warnings { value 4; description "warnings"; } enum notifications { value 5; description "notifications"; } enum information { value 6; description "information"; } enum debugging { value 7; description "debugging"; } } default "notifications"; } // SyslogPort typedef syslog_SyslogPort { type uint32 { range "1..65535"; } default "514"; } typedef syslog_ThresholdPercent { type uint32 { range "0..99"; } default "0"; } typedef syslog_TimeStampFormat { type enumeration { enum microseconds { value 0; } enum milliseconds { value 1; } enum seconds { value 2; } } default "seconds"; } // Admin status of sysmgr config properties typedef sysmgr_CfgAdminSt { type enumeration { enum unknown { value 0; description "unknown"; } enum enable { value 1; description "enable"; } enum disable-all { value 2; description "disable-all"; } enum disable-trc-mask { value 3; description "disable-trc-mask"; } enum disable-fast-timer { value 4; description "disable-fast-timer"; } } default "unknown"; } // Config mode typedef sysmgr_CfgMode { type enumeration { enum init { value 1; description "Init"; } enum replay { value 2; description "Replay"; } enum done { value 4; description "Done"; } } default "init"; } // Admin status of system core properties typedef sysmgr_CoreAdminSt { type enumeration { enum enable { value 0; description "enable"; } enum disable { value 1; description "disable"; } } default "disable"; } // Admin status of system core properties typedef sysmgr_CoreUriType { type enumeration { enum tftp { value 2; description "tftp"; } enum bootflash { value 8; description "bootflash"; } enum usb1 { value 32768; description "usb1"; } } default "bootflash"; } // Firmware mode typedef sysmgr_FwMode { type enumeration { enum recovery { value 1; description "Recovery mode"; } enum regular { value 2; description "Regular"; } } default "regular"; } // Firmware type typedef sysmgr_FwT { type enumeration { enum bios { value 1; description "BIOS"; } enum kickstart { value 2; description "Kickstart"; } enum system { value 3; description "System"; } } default "system"; } // Operational data publish mode typedef sysmgr_OperDataMode { type enumeration { enum init { value 1; description "Init"; } enum publish { value 2; description "Publish"; } enum done { value 4; description "Done"; } } default "init"; } // Operational status of sysmgr config properties typedef sysmgr_OperState { type enumeration { enum unknown { value 0; description "unknown"; } enum enabled { value 1; description "enabled"; } enum disabled { value 2; description "disabled"; } } default "unknown"; } // Type for fast-relaod stablization timer // range 10-10000 (in secs) typedef sysmgr_ReloadTimer { type uint32 { range "10..10000"; } } // Supervisor state typedef sysmgr_SupSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum active { value 1; description "Local"; } enum hot-stdby { value 2; description "Hot standby"; } enum cold-stdby { value 3; description "Cold standby"; } enum offline { value 4; description "Offline"; } enum normal { value 5; description "Normal"; } enum non-dis-upg { value 6; description "Non disruptive upgrade"; } } default "unknown"; } // Supervisor type typedef sysmgr_SupT { type enumeration { enum local { value 0; description "Local"; } enum remote { value 1; description "Remote"; } } default "local"; } // Trace Mask typedef sysmgr_TraceMask { type uint32 { range "0..4294967295"; } } // DSCP LOP typedef tcpudp_DscpLop { type uint16 { range "0..85"; } default "85"; } // TCPUDP Synwait Time typedef tcpudp_SynwaitTime { type uint16 { range "5..300"; } default "30"; } // TCPUDP tcp mss typedef tcpudp_TCPMss { type uint16 { range "88..10000"; } default "536"; } // TCPUDP end port typedef tcpudp_TcpEndPort { type uint16 { range "22001..65535"; } default "58000"; } // TCPUDP start port typedef tcpudp_TcpStartPort { type uint16 { range "15001..58000"; } default "15001"; } // Admin State typedef telemetry_AdminState { type enumeration { enum enabled { value 1; description "enabled"; } } default "enabled"; } // transport compression types typedef telemetry_Compression { type enumeration { enum disabled { value 0; description "compression disabled"; } enum gzip { value 1; description "gzip compression enabled"; } } default "disabled"; } // Data Source Type typedef telemetry_DataSource { type enumeration { enum DME { value 1; description "DME"; } enum NX-API { value 3; description "NX-API"; } enum YANG { value 4; description "YANG"; } enum NATIVE { value 5; description "NATIVE"; } enum DEFAULT { value 16; description "DEFAULT"; } } default "DEFAULT"; } // No equivalent type in YANG typedef telemetry_Encoding { type enumeration { enum GPB { value 1; description "GPB"; } enum JSON { value 2; description "JSON"; } enum XML { value 3; description "XML"; } enum GPB-compact { value 4; description "Compact GPB"; } enum Form-data { value 5; description "Form Data"; } } default "GPB"; } typedef telemetry_HostType { type string { length "1..254"; } } typedef telemetry_IDType { type string { length "1..512"; } } typedef telemetry_NodeID { type string { length "1..128"; } } typedef telemetry_NodeIDorZero { type string { length "0..128"; } } // telemetry-stream-protocol typedef telemetry_Protocol { type enumeration { enum UDP { value 1; description "UDP"; } enum gRPC { value 3; description "gRPC"; } enum HTTP { value 4; description "HTTP"; } } default "gRPC"; } typedef telemetry_ProxyPasswordType { type string { length "0..64"; } } typedef telemetry_ProxyPortType { type uint32 { range "1..65535"; } default "8080"; } typedef telemetry_ProxyPwdEnc { type enumeration { enum 0 { value 0; description "Clear Text"; } enum 7 { value 7; description "Encrypted"; } } default "7"; } typedef telemetry_ProxyServerType { type string { length "0..254"; } } typedef telemetry_ProxyUsernameType { type string { length "0..64"; } } // Retrieve Depth typedef telemetry_RetrieveDepth { type uint32 { range "0..4294967295"; } default "0"; } typedef telemetry_SnsrPathType { type string { length "1..512"; } } typedef telemetry_SubIDType { type uint64 { range "1..4095"; } } typedef telemetry_VrfName { type string { length "1..32"; } } typedef telemetry_filterCondType { type string { length "0..512"; } } typedef telemetry_queryCondType { type string { length "0..256"; } } typedef telemetry_sampleIntvlType { type uint64 { range "0..604800000"; } default "0"; } typedef terminal_Limit { type uint32; } typedef terminal_TermParity { type enumeration { enum none { value 0; description "No parity"; } enum odd { value 1; description "Odd parity"; } enum even { value 2; description "Even parity"; } } default "none"; } typedef terminal_TermSize { type uint32; } typedef terminal_TimeoutT { type uint32 { range "0..525600"; } } // TRE day typedef timerange_Day { type uint32 { range "1..31"; } } // TRE time Format: [00~24]:[00~59]:[00~59] typedef timerange_HourMinSec { type string { pattern "((([01]?\\d|2[0-3]):)?([0-5]?\\d):)?([0-5]?\\d)"; } } // TRE month typedef timerange_Month { type uint8 { range "1..12"; } default "9"; } // Time Range name typedef timerange_Name { type string { length "1..64"; } } // TRE sequence number typedef timerange_SequenceNumber { type int64 { range "-1..4294967295"; } } // TRE year typedef timerange_Year { type uint32 { range "2000..2037"; } } // TRE period typedef timerange_period { type string { pattern "(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|weekdays|weekend|daily|)(\\s(Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday|weekdays|weekend|daily|))*"; } } // Specifies the Role of this system typedef top_NodeRole { type enumeration { enum unsupported { value 0; } enum controller { value 1; } enum leaf { value 2; } enum spine { value 3; } enum vleaf { value 4; } enum vip { value 5; } enum protection-chain { value 6; } } default "unsupported"; } // Remote Network Identifier typedef top_RemoteNetworkId { type uint32; default "0"; } // Shard redudancy node typedef topoctrl_ShardChNode { type address_Ip; } // Order typedef traceroute_Order { type uint8; } // Path flags typedef traceroute_PathFlags { type string; } // Path Group id typedef traceroute_PathGrpId { type uint8; } // Path id typedef traceroute_PathId { type uint8; } // Type of the path typedef traceroute_PathT { type enumeration { enum external { value 1; description "External"; } enum internal { value 2; description "Internal"; } } default "internal"; } // Address family type typedef track_Af { type enumeration { enum none { value 0; } enum ipv4 { value 1; description "IPv4 address family"; } enum ipv6 { value 2; description "IPv6 address family"; } } default "none"; } // This type represents delay typedef track_Delay { type union { type string; type uint64 { range "0..180"; } } default "0"; } // This type represents milliseconds delay typedef track_DelayMs { type uint32 { range "0..60000"; } default "0"; } // Interface object protocol state typedef track_IntfProtocolType { type enumeration { enum none { value 0; } enum ipv4-routing { value 1; } enum ipv6-routing { value 2; } enum line-protocol { value 3; } } default "none"; } // Type of List objects threshold/boolean typedef track_ListObj { type enumeration { enum and { value 1; description "Boolean 'and' function"; } enum or { value 2; description "Boolean 'or' function"; } enum percentage { value 3; description "Threshold percentage"; } enum weight { value 4; description "Threshold weight"; } } default "and"; } // Probe type for Sla typedef track_ProbeState { type enumeration { enum reachability { value 0; description "probe state is reachable or over threshold"; } enum state { value 1; description "probe state is reachable and within threshold"; } } default "state"; } // Route Owner type // Process owning the route typedef track_RouteOwner { type enumeration { enum none { value 0; } enum hmm { value 1; description "Host Mobility Manager"; } } default "none"; } typedef track_RouteState { type enumeration { enum reachability { value 0; } } default "reachability"; } // This type represents track Object ID. typedef track_TrackId { type uint16 { range "1..512"; } } typedef track_deleteType { type boolean; default "false"; } // Track state type> typedef trackutils_ConfigStateType { type enumeration { enum none { value 0; } enum running-state { value 1; } enum startup-state { value 2; } } default "none"; } // Administrative state of tunnel typedef tunnel_AdminSt { type enumeration { enum up { value 1; description "up"; } enum down { value 2; description "down"; } } default "up"; } // Configured MTU typedef tunnel_ConfMtu { type uint32 { range "1..9000"; } default "9000"; } // Tunnel encapsulation type typedef tunnel_EncapT { type enumeration { enum unknown { value 0; description "unknown"; } enum vxlan { value 1; description "VXLAN encap"; } enum ivxlan { value 2; description "iVXLAN encap"; } enum nvgre { value 3; description "NV-GRE encap"; } } default "ivxlan"; } // Tunnel endpoint identifier typedef tunnel_EpId { type address_Ip; } // Tunnel endpoint type typedef tunnel_EpT { type string; default "physical"; } // Keep alive period typedef tunnel_KeepAlvIntvl { type uint32 { range "0..32767"; } default "10"; } // Keep alive retry count typedef tunnel_KeepAlvRetries { type uint32 { range "1..255"; } default "3"; } // Tunnel layer type (L2 or L3) typedef tunnel_LayerT { type enumeration { enum l2 { value 1; description "l2 tunnel"; } enum l3 { value 2; description "l3 tunnel"; } } default "l2"; } // Operational state of tunnel typedef tunnel_OperSt { type enumeration { enum up { value 1; description "up"; } enum down { value 2; description "down"; } } default "down"; } // Tunnel types typedef tunnel_TunnelQual { type enumeration { enum unknown { value 0; description "unknown"; } enum ivxlan { value 1; description "ivxlan"; } enum vxlan { value 2; description "vxlan"; } } default "ivxlan"; } // Certificate Type typedef tunnelenc_CertType { type enumeration { enum None { value 1; description "Disable PKI for Cloudsec"; } enum SSL { value 2; description "SSL certificate for PKI exchange"; } enum SUDI { value 3; description "SUDI certificate for PKI exchange"; } } default "None"; } // Cipher Suite typedef tunnelenc_CipherSuite { type enumeration { enum GCM-AES-XPN-128 { value 3; description "128 bit GCM-AES Suite with Extended Packet Numbering"; } enum GCM-AES-XPN-256 { value 4; description "256 bit GCM-AES Suite with Extended Packet Numbering"; } } default "GCM-AES-XPN-256"; } // KeyChain Name typedef tunnelenc_KeyChainName { type string { pattern ".*[a-zA-Z0-9-$_]{0,63}.*"; } } // PKI source interface type typedef tunnelenc_PkiSourceIntfType { type enumeration { enum none { value 0; description "no options"; } enum cloudsec-loopback { value 1; description "Use cloudsec loopback"; } enum secondary-ip { value 2; description "Use secondary IP on cloudsec loopback"; } } default "none"; } // Policy Name typedef tunnelenc_PolicyName { type string { pattern ".*[a-zA-Z0-9-$_]{1,32}.*"; } default "system-default-tunenc-policy"; } // Replay Protection Window Size typedef tunnelenc_ReplayWindow { type uint32 { range "134217728..1073741823"; } default "268435456"; } // SAK Rekey Frequency in seconds typedef tunnelenc_SakExpiryTime { type uint32 { range "0..2592000"; } default "0"; } typedef tunnelenc_TpLabel { type string { length "0..64"; } } // Snmp trap state typedef tunnelif_SnmpTrapSt { type enumeration { enum enabled { value 1; } enum disabled { value 2; } } default "enabled"; } // Tunnel Bandwidth in kilobits per second. typedef tunnelif_TunnelBW { type uint32 { range "1..10000000"; } default "9"; } // Tunnel mode types typedef tunnelif_TunnelMode { type enumeration { enum gre/ip { value 1; description "GRE/IP"; } enum gre/ipv6 { value 6; description "GRE/IPV6"; } enum ipip/ip { value 7; description "IPIP/IP"; } enum ipip/ipv6 { value 8; description "IPIP/IPV6"; } enum ipip/dcapany/ip { value 9; description "IPIP/Decapsulate Any/IP"; } enum ipip/dcapany/ipv6 { value 10; description "IPIP/Decapsulate Any/IPV6"; } enum ipv6ip { value 11; description "IPV6IP"; } enum ipv6ip/dcapany { value 12; description "IPV6IP/Decapsulate Any"; } enum ipv6ipv6 { value 13; description "IPV6/IPV6"; } enum ipv6ipv6/dcapany { value 14; description "IPV6IPV6/Decapsulate Any"; } } default "gre/ip"; } // Configured MTU typedef tunnelif_TunnelMtu { type uint32 { range "64..9196"; } default "1476"; } // Operational state of tunnel typedef tunnelif_TunnelOperSt { type enumeration { enum up { value 1; description "up"; } enum down { value 2; description "down"; } } default "down"; } // Reasons for line protcol state being down. typedef tunnelif_TunnelOperStQual { type enumeration { enum unknown { value 0; description "unknown"; } enum none { value 1; description "No reason"; } enum initing { value 2; description "Initializing hardware"; } enum incomp-conf { value 3; description "Tunnel configuration is incomplete"; } enum dup-conf { value 4; description "Duplicate tunnel config"; } enum no-mode { value 5; description "tunnel mode is not configured"; } enum admin-down { description "Admin state is down"; } enum src-down { value 7; description "Tunnel source down"; } enum src-unres { value 8; description "Source IP could not be resolved"; } enum no-dest { value 9; description "Destination is not configured"; } enum desip-unres { value 10; description "Destination IP address unresolvable"; } enum dest-unreach { description "Destination unreachable"; } enum vrf-mismatch { value 12; description "Source interface and tunnel VRF mismatch"; } enum vrf-fwdref { value 13; description "Tunnel transport VRF is forward referencing"; } enum vrf-down { value 14; description "VRF is down"; } enum mtu-error { value 15; description "MTU programming failed"; } enum hwprog-fail { description "Hardware programming failed"; } enum no-src { value 17; description "Source is not configured"; } } default "unknown"; } // Tunnel Interface Options typedef tunnelif_TunnelOption { type enumeration { enum unknown { value 0; description "unknown"; } enum del_on_fail { value 1; description "delete on failure"; } enum usr_cfg_mtu { value 2; description "user configured mtu"; } } default "unknown"; } // Configured age timer for Tunnel PMTU typedef tunnelif_TunnelPMTUAge { type uint32 { range "0..30"; } default "10"; } // Tunnel Path MTU Discovery typedef tunnelif_TunnelPMTUD { type enumeration { enum enabled { value 1; description "enabled"; } enum disabled { value 2; description "disabled"; } } default "disabled"; } // Tunnel Source Direct typedef tunnelif_TunnelSrcDirect { type enumeration { enum enabled { value 1; description "enabled"; } enum disabled { value 2; description "disabled"; } } default "disabled"; } // Tunnel TTL (from 0 to 255) typedef tunnelif_TunnelTTL { type uint32 { range "0..255"; } default "0"; } // Configured Tunnel transport VRF typedef tunnelif_TunnelTransVRF { type l3_VrfName; default "default"; } // Configured min-MTU for Tunnel PMTU typedef tunnelif_TunnelminPMTU { type uint32 { range "64..9196"; } default "64"; } // Administrative state typedef udld_AdminSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } // Msg Interval typedef udld_MsgIntvl { type uint8 { range "7..90"; } default "15"; } // Operational state typedef udld_OperSt { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } default "disabled"; } typedef udld_PortEnable { type enumeration { enum port-enabled { value 0; description "Port Enabled"; } enum port-fiber-disabled { value 1; description "Port Fiber Disabled"; } enum port-default { value 2; description "Port Default"; } enum port-default-disable { value 3; description "Port Default Disable"; } } default "port-default"; } // Label Table Client Flags typedef ulib_ClientFlag { type string; default "0"; } typedef ulib_ClientName { type string; } // Max Dynamic label typedef ulib_DynLblMax { type uint32 { range "16..471804"; } default "471804"; } // Min Dynamic label typedef ulib_DynLblMin { type uint32 { range "16..471804"; } default "16"; } typedef ulib_EphemeralAddressFamily { type string; } typedef ulib_FecState { type string; } typedef ulib_FecType { type string; } typedef ulib_InterfaceStr { type string; } // Label Count Value typedef ulib_LabelCnt { type uint32 { range "0..471804"; } default "0"; } // Label Range Value typedef ulib_LabelVal { type uint32 { range "0..471804"; } default "0"; } typedef ulib_LblList { type string; } typedef ulib_OutLblStack { type string; } typedef ulib_TableId { type uint32; } // 32 bit Counter typedef urib_Counter32 { type uint32; } typedef urib_NextHopEncapType { type enumeration { enum none { value 0; description "Not set"; } enum vxlan { value 1; description "Vxlan encapsulation"; } enum invalid { value 2; description "Invalid"; } } } typedef urib_NextHopProperties { type string; } // The format of this string depends on the time left. // If time left is: // - Less than 1 sec: format is 0.UUUUUU // - >= 1 sec and < 24 hrs: HH:MM:SS // - >= 24hrs and < 1 week: DD'd'HH'h' e.g.: 12d03h // - >= 1 week and < 1 year: WW'w'DD'd' // - >= 1 year: YY'y'WW'w' typedef urib_TimeStr { type string; } typedef urib_YesNo { type enumeration { enum No { value 0; description "No"; } enum Yes { value 1; description "Yes"; } } } // Signing level allowed on the system typedef virtualService_SigningLevel { type enumeration { enum none { value 1; description "Most restrictive, don't allow package installation"; } enum cisco { value 2; description "Allow only Cisco signed packages"; } enum unsigned { value 3; description "Least restrictive, allow unsigned and all signing methods"; } } default "cisco"; } // User Password Type typedef vmtracker_PasswordType { type enumeration { enum 0 { value 0; description "UNENCRYPTED password"; } enum 5 { value 5; description "ENCRYPTED password"; } } default "0"; } // Track Object typedef vpc_AutoRecoveryIntvl { type uint32 { range "60..3600"; } default "240"; } // vPC Compatibility Reason Code typedef vpc_CompatQual { type uint32; } // vPC Compatability Status typedef vpc_CompatSt { type enumeration { enum pass { value 0; description "success"; } enum fail { value 1; description "failed"; } enum notDone { value 2; description "Not Applicable"; } } default "notDone"; } // Delay Peer Link Bringup typedef vpc_DelayPeerLinkBringup { type uint16 { range "0..7200"; } default "0"; } // Delay Restore: Orphan Port typedef vpc_DelayRestoreOrphanPort { type uint16 { range "0..300"; } default "0"; } // Delay Restore SVI typedef vpc_DelayRestoreSVI { type uint16 { range "1..3600"; } default "10"; } // Delay Restore vPC typedef vpc_DelayRestoreVPC { type uint16 { range "1..3600"; } default "30"; } // VPC domain ID typedef vpc_DomId { type uint16 { range "1..1000"; } } // DSCP value typedef vpc_Dscp { type uint16 { range "0..63"; } } // Dual Active Status typedef vpc_DualActiveSt { type enumeration { enum false { value 0; description "0"; } enum true { value 1; description "1"; } } default "false"; } typedef vpc_ExcludeSVI { type l2_VlanBitmap; } typedef vpc_ExcludeVLAN { type l2_VlanBitmap; } // Flush Timeout in seconds typedef vpc_FlushTout { type uint32 { range "3..10"; } default "3"; } // vPC number typedef vpc_Id { type uint16 { range "1..16384"; } } // Keepalive Interval in milli-seconds typedef vpc_KeepaliveInterval { type uint32 { range "400..10000"; } default "1000"; } // Keepalive operational state typedef vpc_KeepaliveOperSt { type string; default "0"; } // Keepalive Timeout in seconds typedef vpc_KeepaliveTout { type uint32 { range "3..20"; } default "5"; } // L3 peer-router syslog interval typedef vpc_L3PeerRouterSyslogInterval { type uint16 { range "1..3600"; } default "3600"; } // vPC operational Status typedef vpc_OperSt { type enumeration { enum unknown { value 0; description "Unknown"; } enum down { value 1; description "Down"; } enum up { value 2; description "Up"; } enum noCfg { value 3; description "Not configured"; } } default "unknown"; } // Peer Id typedef vpc_PeerId { type uint16; default "1"; } // vPC peer status reason code typedef vpc_PeerStQual { type enumeration { enum success { value 0; description "Success"; } enum uplinks-down { value 1; description "Uplinks down"; } enum route-down { value 2; description "Route down"; } enum peer-unrch { value 3; description "Peer unreachable"; } enum compat-fail { value 4; description "Compatibility Failed"; } enum election-err { value 5; description "Election error"; } enum oob-not-up { value 6; description "Keepalive not Operational"; } } default "success"; } // Precedence type typedef vpc_PrecType { type enumeration { enum network { value 0; description "Network"; } enum internet { value 1; description "Internet"; } enum critical { value 2; description "Critical"; } enum flash-override { value 3; description "Flash override"; } enum flash { value 4; description "Flash"; } enum immediate { value 5; description "Immediate"; } enum priority { value 6; description "Priority"; } enum routine { value 7; description "Routine"; } } default "routine"; } // Precedence value typedef vpc_PrecValue { type uint8 { range "0..7"; } default "6"; } // Role typedef vpc_Role { type enumeration { enum election-not-done { value 0; description "Election-not-done"; } enum master { value 1; description "Master"; } enum slave { value 2; description "Slave"; } } default "election-not-done"; } // Role Priority typedef vpc_RolePrio { type uint16 { range "1..65535"; } default "32667"; } // Summarized Role typedef vpc_SummRole { type enumeration { enum election-not-done { value 0; description "None Established"; } enum cfg-master-oper-master { value 1; description "Primary"; } enum cfg-master-oper-slave { value 2; description "Primary, Operational Secondary"; } enum cfg-slave-oper-master { value 3; description "Secondary, Operational Primary"; } enum cfg-slave-oper-slave { value 4; description "Secondary"; } } default "election-not-done"; } // System Priority typedef vpc_SysPrio { type uint16 { range "1..65535"; } default "32667"; } // ToS byte typedef vpc_TosByte { type uint8 { range "0..255"; } default "0"; } // ToS config type typedef vpc_TosCfgType { type enumeration { enum noCfg { value 0; description "No configuration"; } enum tos-byte { value 1; description "ToS byte"; } enum tos-value { value 2; description "ToS value"; } enum tos-type { value 3; description "ToS type"; } enum precedence-type { value 4; description "Precedence Type"; } enum precedence-value { value 5; description "Precedence Value"; } } default "noCfg"; } // ToS type typedef vpc_TosType { type enumeration { enum min-delay { value 0; description "Min delay"; } enum max-throughput { value 1; description "Max throughput"; } enum max-reliability { value 2; description "Max Reliability"; } enum min-monetary-cost { value 3; description "Min Monetary Cost"; } enum normal { value 4; description "Normal"; } } default "normal"; } // ToS value typedef vpc_TosValue { type uint8 { range "0..15"; } default "0"; } // Track Object typedef vpc_Track { type uint16 { range "0..500"; } default "0"; } // admin state typedef vrrp_AdminSt { type enumeration { enum disabled { value 1; description "Vrrp id shut"; } enum enabled { value 2; description "Vrrp id no shut"; } } default "disabled"; } // advertise interval typedef vrrp_AdvIntvl { type uint8 { range "1..255"; } default "1"; } // authentication text type typedef vrrp_AuthTextType { type string { length "0..8"; } } // authentication type typedef vrrp_AuthType { type enumeration { enum none { value 1; description "no authentication"; } enum simple { value 2; description "plain text"; } } default "none"; } // group state typedef vrrp_GroupSt { type enumeration { enum init { value 0; description "Vrrp Group state Init"; } enum backup { value 1; description "vrrp group state backup"; } enum master { value 2; description "vrrp group state master"; } } } // group state qualifier typedef vrrp_GroupStQual { type enumeration { enum up { value 0; description "Vrrp group state up"; } enum down { value 1; description "Vrrp group state down"; } enum no-primary-vip { value 2; description "vrrp group state down no ip primary vip"; } enum admin-down { value 3; description "vrrp group state down admin down"; } enum interface-down { value 4; description "vrrp group state down inteface down"; } enum no-intf-ip-cfgd { value 5; description "vrrp group state down no intf ip cfgd"; } enum no-vrf-info-for-intf { value 6; description "vrrp group down no vrf info for intf"; } enum bd-not-allocated { value 7; description "vrrp group down BD not allocated"; } enum vmac-not-added { value 8; description "vrrp group down vmac not added"; } enum invalid-vip { value 9; description "vrrp group down invalid vip"; } enum IfIp-vip-subnet-mismatch { value 10; description "vrrp group down IfId vIp subnet mismatch"; } enum internal_error { value 11; description "vrrp group down internal error"; } } } // Configuration state vrrp id typedef vrrp_Id { type uint8 { range "1..255"; } } // Preempt typedef vrrp_Preempt { type enumeration { enum enabled { value 1; description "preempt enabled"; } enum disabled { value 2; description "preempt disabled"; } } default "enabled"; } // priority values typedef vrrp_PriVal { type uint8 { range "1..254"; } } // upper threshold typedef vrrp_UprThrshld { type uint8 { range "0..254"; } default "0"; } // bfd session status typedef vrrp_bfdSessionSt { type enumeration { enum disabled { value 0; description "vrrp bfd session is disabled"; } enum inactive { value 1; description "vrrp bfd session status inactive"; } enum deleted { value 2; description "vrrp bfd session status deleted"; } enum unknown { value 3; description "vrrp bfd session status unknown state"; } enum active { value 4; description "vrrp bfd session status active"; } } default "disabled"; } // Admin State typedef vrrpv3_AdminSt { type enumeration { enum disabled { value 1; description "Virtual Router Administratively Disabled"; } enum enabled { value 0; description "Virtual Router Administratively Enabled"; } } default "enabled"; } // Advertisement Interval typedef vrrpv3_AdvIntvl { type uint32 { range "100..40950"; } default "1000"; } // Virtual Router Name typedef vrrpv3_Desc { type string { length "0..80"; } } // Configuration state vrrpv3 id typedef vrrpv3_Id { type uint32 { range "1..255"; } } // Preempt typedef vrrpv3_Preempt { type enumeration { enum enabled { value 1; description "Preempt Enabled"; } enum disabled { value 0; description "Preempt Disabled"; } } default "enabled"; } // Delay before preempting a lower priority Master typedef vrrpv3_PreemptDelay { type uint32 { range "0..3600"; } default "0"; } // Priority Value typedef vrrpv3_PriVal { type uint32 { range "1..254"; } } // Generic state type enabled/disabled typedef vrrpv3_State { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 0; description "Disabled"; } } } // Virtual Router Address family type typedef vrrpv3_VrAf { type enumeration { enum ipv4 { value 1; description "IPv4 address family"; } enum ipv6 { value 2; description "IPv6 address family"; } } default "ipv4"; } typedef vshd_ModeType { type enumeration { enum default { value 0; description "default"; } enum strict { value 1; description "strict"; } enum loose { value 2; description "loose"; } } default "default"; } // Configuration state Preempt typedef vtp_Mode { type enumeration { enum client { value 1; description "VTP Mode Client"; } enum server { value 2; description "VTP Mode Server"; } enum transparent { value 3; description "VTP Mode Transparent"; } enum off { value 4; description "VTP Mode Off"; } } default "transparent"; } // A shorthand for GroupPolicyClassTag: // A tag that is used to identify and classify // a particular group of resources/end-points // for policy enforcement purposes typedef vz_GPCTag { type vz_GroupPolicyClassTag; } // A tag that is used to identify and classify // a particular group of resources/end-points // for policy enforcement purposes typedef vz_GroupPolicyClassTag { type uint32; default "0"; } typedef wedge_BmcIPEnabled { type enumeration { enum no { value 0; } enum yes { value 1; } } default "no"; } // Logging level type typedef xbar_LoggingLevel { type uint16 { range "0..7"; } default "5"; } // Logging Level typedef xbar_LoggingType { type enumeration { enum Emergencies { value 0; description "Emergencies"; } enum Alerts { value 1; description "Alerts"; } enum Critical { value 2; description "Critical"; } enum Errors { value 3; description "Errors"; } enum Warnings { value 4; description "Warnings"; } enum Notifications { value 5; description "Notifications"; } enum Information { value 6; description "Information"; } enum Debugging { value 7; description "Debugging"; } } default "Notifications"; } // Type is a Local-MO-Defined-Type typedef nw_InstCtrl_Inst_ctrl { type string; default "fastExtFallover"; } // Type is a Local-MO-Defined-Type typedef bgp_NhTimeout_DomAf_critNhTimeout { type uint32; default "3000"; } // Type is a Local-MO-Defined-Type typedef bgp_NhTimeout_DomAf_nonCritNhTimeout { type uint32; default "10000"; } // Type is a Local-MO-Defined-Type typedef syslog_Severity_Level_severity { type enumeration { enum emergencies { value 0; description "emergencies"; } enum alerts { value 1; description "alerts"; } enum critical { value 2; description "critical"; } enum errors { value 3; description "errors"; } enum warnings { value 4; description "warnings"; } enum notifications { value 5; description "notifications"; } enum information { value 6; description "information"; } enum debugging { value 7; description "debugging"; } enum unspecified { value 8; description "unspecified"; } } default "unspecified"; } // Type is a Local-MO-Defined-Type typedef aaa_KeyEnc_RadiusProvider_keyEnc { type enumeration { enum 0 { value 0; description "Clear Text"; } enum 6 { value 6; description "Type-6 Encrypted"; } enum 7 { value 7; description "Encrypted"; } enum inherit-from-global { value 255; } } default "inherit-from-global"; } // Type is a Local-MO-Defined-Type typedef aaa_TimeSec_RadiusProvider_timeout { type uint32; default "5"; } // Type is a Local-MO-Defined-Type typedef aaa_Retries_RadiusProvider_retries { type uint32; default "1"; } // Type is a Local-MO-Defined-Type typedef aaa_KeyEnc_LdapProvider_keyEnc { type enumeration { enum 0 { value 0; description "Clear Text"; } enum 6 { value 6; description "Type-6 Encrypted"; } enum 7 { value 7; description "Encrypted"; } enum inherit-from-global { value 255; } } default "inherit-from-global"; } // Type is a Local-MO-Defined-Type typedef aaa_TimeSec_LdapProvider_timeout { type uint32; default "0"; } // Type is a Local-MO-Defined-Type typedef aaa_Retries_LdapProvider_retries { type uint32; default "1"; } // Type is a Local-MO-Defined-Type typedef aaa_KeyEnc_TacacsPlusProvider_keyEnc { type enumeration { enum 0 { value 0; description "Clear Text"; } enum 6 { value 6; description "Type-6 Encrypted"; } enum 7 { value 7; description "Encrypted"; } enum inherit-from-global { value 255; } } default "inherit-from-global"; } // Type is a Local-MO-Defined-Type typedef aaa_TimeSec_TacacsPlusProvider_timeout { type uint32; default "0"; } // Type is a Local-MO-Defined-Type typedef aaa_Retries_TacacsPlusProvider_retries { type uint32; default "1"; } // Type is a Local-MO-Defined-Type typedef aaa_Realm_DomainAuth_realm { type enumeration { enum local { value 0; description "Local"; } enum radius { value 1; description "RADIUS"; } enum tacacs { value 2; description "TACACS+"; } enum ldap { value 3; description "LDAP"; } enum none { value 4; } } } // Type is a Local-MO-Defined-Type typedef aaa_Date_User_expiration { type union { type string; type uint64; } default "0"; } // Type is a Local-MO-Defined-Type typedef l1_FECMode_PhysIf_operFECMode { type enumeration { enum auto { value 4; description "auto"; } enum rs-fec { value 2; description "RS-Fec"; } enum fc-fec { value 1; description "FC-Fec"; } enum fec-off { value 3; description "Fec-off"; } enum rs-ieee { value 5; description "RS-IEEE"; } enum rs-cons16 { value 6; description "RS-CONS16"; } enum kp-fec { value 7; description "FECMode: KP-Fec CL119"; } enum not-available { value 20; description "N/A"; } } } // Type is a Local-MO-Defined-Type typedef l1_Layer_AggrIf_layer { type enumeration { enum Layer1 { value 0; description "Layer1"; } enum Layer2 { value 1; description "switched"; } enum Layer3 { value 2; description "routed"; } enum pltfmDfltLayer { value 3; } } default "pltfmDfltLayer"; } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_IfStat_proxyArp { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_IfStat_localProxyArp { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_IfStat_mRouting { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_IfStat_icmpRedirect { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_IfStat_directBcast { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_IfStat_ipUnreach { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_IfStat_portUnreach { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_ProcessStat_autoDisc { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_ProcessStat_autoDiscAdd { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_ProcessStat_nullBcast { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_ProcessStat_autoPuntBcast { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef nw_AdminSt_ProcessStat_staticDisc { type enumeration { enum enabled { value 1; description "Enabled"; } enum disabled { value 2; description "Disabled"; } } } // Type is a Local-MO-Defined-Type typedef pktmgr_RateLimitPps_Inst_rateLimitPps { type int32; default "-1"; } // Type is a Local-MO-Defined-Type typedef pktmgr_RateLimitPps_If_rateLimitPps { type int32; default "-1"; } // Type is a Local-MO-Defined-Type typedef eqpt_Arch_CPU_arch { type enumeration { enum x86_32 { value 1; description "x86_32"; } enum x86_64 { value 2; description "x86_64"; } enum any { value 0; description "any"; } } } // Type is a Local-MO-Defined-Type typedef icmp_IfControl_If_ctrl { type string; default "redirect,port-unreachable"; } // Type is a Local-MO-Defined-Type typedef mcast_GrpTimeout_GTimers_grpTimeout { type uint16; default "0"; } // Type is a Local-MO-Defined-Type typedef nd_DNSServerLifeTime_RouteAdvDNSServer_dnsServerLifeTime { type uint32; default "3"; } // Type is a Local-MO-Defined-Type typedef nd_DNSServerLifeTime_RouteAdvDNSSearchList_dnsSearchListLifeTime { type uint32; default "3"; } grouping l2cap_Prov-group { description "L2 Capability Provider"; // Subject consuming the capability leaf subj { config "false"; type l2cap_Subj; description "Subject"; } // Every Consumer has a Subject. // Subject represents the entity which consumes the capability. // Namespaces which have concrete consumers, define the Subject property // and its types // Max capability available leaf total { config "false"; type cap_Counter; description "TBD"; } // Remaining capability available leaf remaining { config "false"; type cap_Counter; description "TBD"; } // utilization indicator in percentages of consiumption leaf utilization { config "false"; type cap_StorageHint; description "TBD"; } // Type of the Rule consumed by this consumer. leaf type { config "false"; type cap_RuleT; description "TBD"; } } grouping syslog_RemoteDest-group { description "Syslog Remote Destination"; leaf severity { type syslog_Severity; description "Severity"; } leaf port { type syslog_SyslogPort; default "514"; description "Port"; } leaf transport { type mon_Transport; default "udp"; description "Transport"; } leaf trustpointClientIdentity { type string { length "0..64"; } description "Trustpoint Client Identity"; } leaf forwardingFacility { type syslog_Facility; description "Forward Facility"; } leaf adminState { type mon_AdminState; description "TBD"; } leaf vrfId { type uint32; } leaf ip { type address_HostNameOrDottedQuad; description "ip address"; } leaf operState { config "false"; type syslog_OperState; description "TBD"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Hostname or IP for export destination leaf host { type address_HostNameOrDottedQuad { length "1..255"; } description "Host"; } leaf epgDn { config "false"; type string; description "Reachability EpG"; } // The vrf that remote host belongs to leaf vrfName { type l3_VrfName; description "Vrf Name"; } // Syslog Dest state container destst-items { list DestState-list { config "false"; key "name"; uses syslog_DestState-group; description "syslog Destination State list"; } description "syslog Destination State"; } container rsaRemoteHostToEpg-items { uses file_RsARemoteHostToEpg_source-group; } container rsaRemoteHostToEpp-items { uses file_RsARemoteHostToEpp_source-group; description "Relation to Remote Host Reachability EPP"; } } grouping syslog_DestState-group { description "syslog Destination State"; leaf operState { config "false"; type syslog_OperState; description "TBD"; } leaf vrfId { config "false"; type uint32; } leaf ip { config "false"; type address_HostNameOrDottedQuad; description "ip address"; } leaf totalBufferedMsgs { config "false"; type uint32; description "total buffered messages"; } leaf totalDroppedMsgs { config "false"; type uint32; description "total drooped messages"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Syslog Log Message container msg-items { list LogMsg-list { config "false"; key "index"; uses syslog_LogMsg-group; description "syslog Destination State list"; } description "syslog Destination State"; } } grouping syslog_LogMsg-group { description "syslog Destination State"; leaf index { config "false"; type uint32; description "Message Index"; } leaf message { config "false"; type string; description "Message Entry"; } leaf facility { config "false"; type string; description "Message Facility"; } leaf severity { config "false"; type uint16; description "Message Severity"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping syslog_File-group { description "File"; leaf adminState { type mon_AdminState; description "TBD"; } leaf severity { type syslog_Severity; default "information"; description "Severity"; } leaf size { type syslog_FileSize; description "Size"; } leaf persistentThreshold { type syslog_ThresholdPercent; description "Set persistent logging utilization alert threshold in percentage"; } leaf name { type pol_ObjName { length "1..150"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } default "messages"; description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping syslog_Console-group { description "Console"; leaf adminState { type mon_AdminState; description "TBD"; } leaf severity { type syslog_Severity; default "critical"; description "Severity"; } } grouping fv_DomDef-group { description "Domain"; leaf domPKey { config "false"; type fv_PrimKey; description "TBD"; } leaf instrImedcy { config "false"; type fv_InstrImedcy; description "TBD"; } leaf name { config "false"; type naming_Name; description "Name"; } container rsdomDefNs-items { uses fv_RsDomDefNs_source-group; description "VXLAN Pool"; } container rsdomDefNsLocal-items { uses fv_RsDomDefNsLocal_source-group; description "VXLAN Pool"; } container rtfvToDomDef-items { list RtFvToDomDef-list { config "false"; key "tDn"; uses fv_RtFvToDomDef_target-group; } } } grouping fv_DEp-group { description "Dynamic Endpoint"; leaf name { config "false"; type naming_Name; description "Name"; } leaf id { config "false"; type naming_Id; description "Id"; } leaf mac { config "false"; type address_Mac; description "MacAddress"; } leaf encap { config "false"; type string; } leaf uuid { config "false"; type string; } container rtspanSrcToVPort-items { list RtSpanSrcToVPort-list { config "false"; key "tDn"; uses span_RtSpanSrcToVPort_target-group; description "Relation to SPAN Source to Port list"; } description "Relation to SPAN Source to Port"; } container rtspanDestToVPort-items { list RtSpanDestToVPort-list { config "false"; key "tDn"; uses span_RtSpanDestToVPort_target-group; description "Relation to VSPAN Destination Vport list"; } description "Relation to VSPAN Destination Vport"; } container rshyper-items { list RsHyper-list { config "false"; key "tDn"; uses fv_RsHyper_source-group; description "Hypervisor list"; } description "Hypervisor"; } } grouping opflex_IDEp-group { description "Inband Discovered Endpoint"; leaf eppdn { config "false"; type string; } leaf compVmDn { config "false"; type string; } leaf compHvDn { config "false"; type string; } leaf epgID { config "false"; type string; } leaf epHostAddr { config "false"; type string; } leaf hypervisorName { config "false"; type string; } leaf portId { config "false"; type uint32; } leaf containerName { config "false"; type string; } // ep transition status leaf transitionStatus { config "false"; type opflex_EpTransitionStatus; description "TBD"; } // epp push policy leaf eppDownloadHint { config "false"; type opflex_EppDownloadHint; description "TBD"; } leaf handle { config "false"; type uint64; } // instType leaf instType { config "false"; type comp_NicInstType; description "TBD"; } leaf pcIfId { config "false"; type uint32; } // type of the device leaf state { config "false"; type comp_NicState; description "TBD"; } leaf name { config "false"; type naming_Name; description "Name"; } leaf id { config "false"; type naming_Id; description "Id"; } leaf mac { config "false"; type address_Mac; description "MacAddress"; } leaf encap { config "false"; type string; } leaf uuid { config "false"; type string; } // IDEp stats is the object exchanged between opflex agent // and opflex controller for the end point stats container idepcntr-items { list IDEpCntr-list { config "false"; key "mac encap"; uses opflex_IDEpCntr-group; } } container vdep-items { list VDEp-list { config "false"; key "mac encap brIfId"; uses fv_VDEp-group; description "Vleaf Discovered Endpoint list"; } description "Vleaf Discovered Endpoint"; } container rtspanSrcToVPort-items { list RtSpanSrcToVPort-list { config "false"; key "tDn"; uses span_RtSpanSrcToVPort_target-group; description "Relation to SPAN Source to Port list"; } description "Relation to SPAN Source to Port"; } container rtspanDestToVPort-items { list RtSpanDestToVPort-list { config "false"; key "tDn"; uses span_RtSpanDestToVPort_target-group; description "Relation to VSPAN Destination Vport list"; } description "Relation to VSPAN Destination Vport"; } container rshyper-items { list RsHyper-list { config "false"; key "tDn"; uses fv_RsHyper_source-group; description "Hypervisor list"; } description "Hypervisor"; } } grouping opflex_IDEpCntr-group { leaf mac { config "false"; type address_Mac; } leaf encap { config "false"; type string; } leaf direction { config "false"; type opflex_Direction; description "TBD"; } leaf name { config "false"; type naming_Name; description "Name"; } leaf id { config "false"; type naming_Id; description "Id"; } } grouping fv_VDEp-group { description "Vleaf Discovered Endpoint"; leaf epgID { config "false"; type string; } // Physical Interface ID on which this EP was attached leaf brIfId { config "false"; type nw_IfId; description "TBD"; } // instType leaf instType { config "false"; type comp_NicInstType; description "TBD"; } leaf name { config "false"; type naming_Name; description "Name"; } leaf id { config "false"; type naming_Id; description "Id"; } leaf mac { config "false"; type address_Mac; description "MacAddress"; } leaf encap { config "false"; type string; } leaf uuid { config "false"; type string; } container rtspanSrcToVPort-items { list RtSpanSrcToVPort-list { config "false"; key "tDn"; uses span_RtSpanSrcToVPort_target-group; description "Relation to SPAN Source to Port list"; } description "Relation to SPAN Source to Port"; } container rtspanDestToVPort-items { list RtSpanDestToVPort-list { config "false"; key "tDn"; uses span_RtSpanDestToVPort_target-group; description "Relation to VSPAN Destination Vport list"; } description "Relation to VSPAN Destination Vport"; } container rsvNode-items { list RsVNode-list { key "tDn"; uses fv_RsVNode_source-group; description "Relation to Virtual Node list"; } description "Relation to Virtual Node"; } container rshyper-items { list RsHyper-list { config "false"; key "tDn"; uses fv_RsHyper_source-group; description "Hypervisor list"; } description "Hypervisor"; } } grouping aaa_RbacEp-group { description "RBAC Rules Database"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container rule-items { list RbacRule-list { key "objectDn domain"; uses aaa_RbacRule-group; description "RBAC Rule list"; } description "RBAC Rule"; } container irule-items { list IRbacRule-list { config "false"; key "objectDn domain"; uses aaa_IRbacRule-group; description "RBAC Rule list"; } description "RBAC Rule"; } container rtaaaRbacEp-items { list RtAaaRbacEp-list { config "false"; key "tDn"; uses aaa_RtAaaRbacEp_target-group; } } } grouping aaa_RbacRule-group { description "RBAC Rule"; leaf allowWrites { type aaa_Boolean; default "no"; description "Allow Writes from domain"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf objectDn { type string; description "Object DN"; } leaf domain { type naming_Name { pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,31}.*"; } description "Domain"; } } grouping aaa_IRbacRule-group { description "RBAC Rule"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { config "false"; type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { config "false"; type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf objectDn { config "false"; type string; description "Object DN"; } leaf domain { config "false"; type naming_Name { pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,31}.*"; } description "Domain"; } } grouping synthetic_IfcCTestObj-group { description "Synthetic Ifc C Test Object"; leaf ifcCTestOnly { type string; } leaf name { type naming_Name; description "Name"; } leaf id { type naming_Id; description "Id"; } leaf descr { type naming_Descr; description "TBD"; } leaf objDn { type string; } container rttoObj-items { uses synthetic_RtToObj_target-group; } } grouping synthetic_SwCTestObj-group { description "Synthetic Sw C Test Object"; leaf swCTestOnly { type string; } leaf name { type naming_Name; description "Name"; } leaf id { type naming_Id; description "Id"; } leaf descr { type naming_Descr; description "TBD"; } leaf objDn { type string; } container rstoObj-items { uses synthetic_RsToObj_source-group; } container rttoObj-items { uses synthetic_RtToObj_target-group; } } grouping System-group { description "General information about this system"; leaf name { type string { pattern "[0-9a-zA-Z_\\.-]{0,63}"; } } leaf currentTime { config "false"; type union { type string; type uint64; } description "Current Time on this system"; } leaf systemUpTime { config "false"; type union { type string; type uint64; } description "System Up Time in seconds since this system is booted"; } // Serial Number of the system leaf serial { config "false"; type eqpt_Serial; description "TBD"; } // global config time stamp leaf configModTs { config "false"; type mo_TStamp; default "0"; description "set when config is performed"; } leaf configDirty { config "false"; type boolean; default "false"; description "set when config is performed, unset after copy r s"; } leaf configModTsBackup { config "false"; type mo_TStamp; default "0"; description "set when config is performed, backup old value"; } leaf configDirtyBackup { config "false"; type boolean; default "false"; description "set when config is performed, backup old value"; } // bgp trap container bgptrap-items { uses bgp_Tbgp-group; description "Configure SNMP BGP traps"; } // cbgp2 trap container cbgp2trap-items { uses bgp_Tcbgp2-group; description "SNMP CISCO-BGP-MIBv2 traps"; } // Holds bgp control plane entity information container bgp-items { uses bgp_Entity-group; description "BGP control plane entity information."; } container bloggerd-items { uses bloggerd_Bloggerd-group; description "Bloggerd node, used as a placeholder for uniformity"; } container callhome-items { uses callhome_Callhome-group; description "Callhome node, used as a placeholder for uniformity"; } // Container to hold Capability logging level related objects and statistics container caploglevel-items { uses cap_LogLevel-group; description "Config Capability logging level"; } container clock-items { uses datetime_Clock-group; description "Clock Manager"; } // Datetime policy container time-items { uses datetime_ClkPol-group; description "Date Time Policy"; } container ntpq-items { list Ntpq-list { config "false"; key "remote"; uses datetime_Ntpq-group; description "Ntp Concrete Details list"; } description "Ntp Concrete Details"; } // Holds span manager control plane entity information container span-items { uses span_Entity-group; description "SPAN Entity"; } container originip-items { uses span_ErspanOriginIp-group; description "Global MO of origin Ip address for every Erspan session"; } // Holds dhcp control plane entity information container dhcp-items { uses dhcp_Entity-group; description "DHCP Entity"; } // Holds dns control plane entity information container dns-items { uses dns_Entity-group; description "DNS Entity"; } // Event Manager MO container email-items { uses email_Email-group; description "Email configuration mode"; } container epbr-items { uses epbr_Entity-group; description "EPBR Entity"; } // Event Manager MO container evtmgr-items { uses evms_EvtMgr-group; description "Embedded event manager"; } // Inband (sup) Interface container inb-items { list InbandIf-list { key "id"; uses l2_InbandIf-group; description "Layer2 Inband Interface list"; } description "Layer2 Inband Interface"; } // Fex fabric Interface container ext-items { list ExtIf-list { key "id"; uses l2_ExtIf-group; description "Layer 2 Extending Interface list"; } description "Layer 2 Extending Interface"; } // Bridged Interface container br-items { list BrIf-list { key "id"; uses l2_BrIf-group; description "Layer 2 Bridged Interface list"; } description "Layer 2 Bridged Interface"; } // DN: sys/mac container mac-items { uses l2_Macs-group; description "Mac Address"; } // Holds cdp control plane entity information container cdp-items { uses cdp_Entity-group; description "CDP Entity"; } // Holds lldp control plane entity information container lldp-items { uses lldp_Entity-group; description "LLDP Entity"; } // Holds VPC control plane entity information container vpc-items { uses vpc_Entity-group; description "VPC Entity"; } // Container to hold Xbar logging level related objects and statistics container xbarloglevel-items { uses xbar_LogLevel-group; description "Config Xbar logging level"; } // Entity for Gold container gold-items { uses gold_Entity-group; description "Gold Entity"; } // Holds igmp control plane entity information container igmp-items { uses igmp_Entity-group; description "IGMP Entity"; } // Holds isis control plane entity information container isis-items { uses isis_Entity-group; description "Holds ISIS Control Plane Entity Information"; } container itd-items { uses itd_Entity-group; description "ITD Entity"; } // Holds lacp control plane entity information container lacp-items { uses lacp_Entity-group; description "LACP Entity"; } // Mgmt interface container mgmt-items { list MgmtIf-list { key "id"; uses mgmt_MgmtIf-group; description "Management Interface list"; } description "Management Interface"; } container logging-items { uses logging_Logging-group; description "Logging root node for logging operations"; } // Holds snmp control plane entity information container snmp-items { uses snmp_Entity-group; description "SNMP Entity"; } // Holds syslog global accounting information container syslogacct-items { uses syslog_Acct-group; description "Syslog Accounting"; } container syslog-items { uses syslog_Syslog-group; description "syslog root node"; } container nat-items { uses nat_Entity-group; description "NAT entity"; } // Holds OSPF control plane entity information container ospf-items { uses ospf_Entity-group; description "Holds OSPF control plane entity information"; } // Holds OSPF SNMP Traps control plane entity information container ospftrap-items { uses ospf_SnmpTrapsEntity-group; description "Holds OSPF SNMP Traps control plane entity information"; } // L2EVPN instance definition container evpn-items { uses rtctrl_L2Evpn-group; description "L2EVPN Entity"; } container comm-items { uses comm_Entity-group; description "Communication Entity"; } container accounting-items { uses aaa_Accounting-group; description "Accounting log Inst"; } container userext-items { uses aaa_UserEp-group; description "User Management"; } container rbacdb-items { uses aaa_RbacEp-group; description "RBAC Rules Database"; } container yangrbacdb-items { uses aaa_YangRbacEp-group; description "YANG RBAC Rules Database"; } container security-items { uses security_Security-group; description "Security Rules For User And Fips"; } container passwdenc-items { uses smartcard_PasswdEncrypt-group; description "password encryption aes feature"; } // Holds stp control plane entity information container stp-items { uses stp_Entity-group; description "STP Entity"; } // Aggregate BdTable container bdTable-items { uses aggregate_BdTable-group; description "Bd Table"; } // Aggregate VlanTable container globalConfTable-items { uses aggregate_GlobalConfTable-group; description "Global Configuration Table"; } // Aggregate InterfaceTable container intfTable-items { uses aggregate_IntfTable-group; description "Interface Table"; } // Aggregate MacTable container macTable-items { uses aggregate_MacTable-group; description "MAC Table"; } container systemTable-items { uses aggregate_SystemTable-group; description "System or switch level properties for SDN controller interface."; } // Aggregate InterfaceTable container tunnelIntfTable-items { uses aggregate_TunnelIntfTable-group; description "Tunnel Interface Table"; } // Aggregate VlanTable container vlanTable-items { uses aggregate_VlanTable-group; description "Vlan Table"; } // VPCDOMTAB container vpcDomTable-items { uses aggregate_VpcDomTable-group; description "Vpc Domain Table"; } container vrfTable-items { uses aggregate_VrfTable-group; } // Holds ACL control plane configuration container acl-items { uses acl_Entity-group; description "Entity of the Access Control List"; } container analytics-items { uses analytics_Entity-group; description "Entity"; } container hwtelemetry-items { uses analytics_HwTelemetry-group; description "Entity for all Hardware Telemetry features"; } // 1 Entity /sys/apphosting container apphosting-items { uses apphosting_AppHosting-group; description "top entity of the application host"; } // Entity container for apphosting statistics container appmgrstat-items { uses apphosting_AppmgrStat-group; description "Entity of apphosting stats"; } container kubernetes-items { uses kbs_ContainerTracker-group; description "Container Tracker entity"; } // Holds copp control plane entity information container copp-items { uses copp_Entity-group; description "CoPP Entity"; } container flowtable-items { uses flowtable_FlowTable-group; description "Flow Table"; } // synce global configuration container fsyncmgr-items { uses fsyncMgr_SynceEntity-group; description "synce MO for global configuration"; } // grpc config // It supports the following options: // port Specifies the port number on which the grpc Agent listens. // cert Specifies the certificate trustpoint label. // useVrf Vrf to be used for grpc communication container grpc-items { uses grpc_Inst-group; description "Instance node for managing grpc properties"; } container grpctunnel-items { uses grpctunnel_Inst-group; description "Instance node for managing grpc tunnel properties"; } // Holds HMM entity information container hmm-items { uses hmm_Entity-group; description "Holds Host Mobility Manager (HMM) Entity information."; } // Container for all the BDs in the system. container bd-items { uses bd_Entity-group; description "System BD"; } container icam-items { uses icam_Entity-group; description "ICAM Entity"; } // System Capacity Utilization object ! sys/capacity ! container capacity-items { uses icam_Capacity-group; description "MO holding System Capacity and usage information"; } container intersight-items { uses intersight_Entity-group; description "Intersight System"; } container ipqos-items { uses ipqos_Entity-group; description "QoS configuration space"; } container mdns-items { uses mdns_MdnsRoot-group; description "Root object of mdns config"; } // Holds span manager control plane entity information container monitor-items { uses monitor_Entity-group; description "Entity"; } // netconf config // It supports the following options: // - maxSessions Specifies the number of maximum simultaneous client sessions. // - idleTimeout Specifies the idle timeout in minutes after which idle client sessions are disconnected. container netconf-items { uses netconf_Inst-group; description "Instance node for managing netconf properties"; } container flow-items { uses flow_Entity-group; description "Entity"; } // Holds NGOAM entity information container ngoam-items { uses ngoam_Entity-group; description "NGOAM Entity"; } // nxapi config // It supports the following options: // - certificate Https certificate configuration // - http Http configuration // - https Https configuration // - use-vrf Vrf to be used for nxapi communication // - vrf : Specify the vrf for the transport. // The default is "", meaning each platform // could pick it own default setting. container nxapi-items { uses nxapi_Inst-group; description "NXAPI Instance"; } container ofm-items { uses ofm_Inst-group; description "Static Tunnel"; } // Container for all the interfaces in the system. container poe-items { uses poe_Entity-group; description "poe Entity"; } container ptm-items { uses ptm_Entity-group; description "PTM Entity"; } // Holds qos manager control plane entity information container qosm-items { uses qosm_Entity-group; description "QoS Entity"; } // Holds sisf control plane entity information container sisf-items { uses sisf_Entity-group; description "Enable/Disable FHS feature"; } // Holds service control plane entity information container sla-items { uses sla_Entity-group; description "SLA"; } container tm-items { uses telemetry_Entity-group; description "Telemetry System"; } // Holds object tracking entity information container track-items { uses track_Entity-group; description "Object track entity"; } container udld-items { uses udld_Entity-group; description "Unidirectional Link Detection Entity"; } container vmtracker-items { uses vmtracker_VmTracker-group; description "VmTracker entity"; } // Holds Acllog entity information container acllog-items { uses acllog_Entity-group; description "Acllog entity"; } // TemplateTable MO container templateTable-items { uses conftmpl_TemplateTable-group; description "Template Table"; } // Container for dhclient in the system. container dhclient-items { uses dhclient_Entity-group; description "Dhclient Entity"; } // Holds feature entity information container fm-items { uses fm_Entity-group; description "Feature entity"; } // Holds file system entity information container fs-items { uses fs_Entity-group; description "file system entity"; } // Holds fsd entity information container fsd-items { uses fsd_Entity-group; description "File System Daemon Entity"; } // This object information is common to featureSet container fset-items { list FeatureSet-list { key "name"; uses fset_FeatureSet-group; description "A FeatureSet is a purely software functionality. It is a collection of componenets that perform a specific set of function list"; } description "A FeatureSet is a purely software functionality. It is a collection of componenets that perform a specific set of function"; } // Guest Shell Top Object container guestshell-items { uses guestshell_GuestShell-group; description "Guest Shell execution space"; } // Ephemeral Section Start Install History Entry // Ephemeral data container installhistory-items { uses installer_InstallHistoryEntity-group; description "Installation History information table"; } // Ephemeral Section End Exec results container install-items { uses installer_Install-group; description "Image installation information and result"; } // Container for all the interfaces in the system. container intf-items { uses interface_Entity-group; description "Interface"; } // Holds ipv4 control plane entity information container ipv4-items { uses ipv4_Entity-group; description "IPv4 Entity"; } // Holds ipv6 control plane entity information container ipv6-items { uses ipv6_Entity-group; description "IPv6 Entity"; } // Holds keychain manager control plane entity information container kcmgr-items { uses kcmgr_Entity-group; description "keychain manager Entity"; } container ethpm-items { uses ethpm_Entity-group; description "Ethernet Port Manager Entity"; } container breakout-items { uses im_Breakout-group; description "Interface Breakout"; } container im-items { uses im_Entity-group; description "Interface Manager Entity"; } container pc-items { uses pc_Entity-group; description "Port Channel Entity"; } container l2capprov-items { list Prov-list { config "false"; key "subj type"; uses l2cap_Prov-group; description "L2 Capability Provider list"; } description "L2 Capability Provider"; } container flexlink-items { uses flexlink_Flexlink-group; description "Flexlink configuration and management"; } container l2fm-items { uses l2fm_Entity-group; description "l2fm"; } container l2pt-items { uses l2pt_L2protocol-group; description "L2 Protocol Tunneling configuration and management"; } // L2RIB control plane entity information container l2rib-items { uses l2rib_Entity-group; description "L2RIB Entity"; } // DN: sys/portsecurity container portsec-items { uses portsecurity_PortSecurity-group; description "Port Security configuration and management at interface"; } // PVLAN control plane information DN: sys/pvlan container pvlan-items { uses pvlan_PrivateVlan-group; description "Private VLAN (PVLAN) configuration and management"; } // Holds Vlan-mgr control plane entity information container vlanmgr-items { uses vlanmgr_Entity-group; description "Vlan Manager Entity"; } container eps-items { uses nvo_Eps-group; description "Container object for NVO endpoint."; } // tenant context object container ctx-items { list Ctx-list { key "encap"; uses l3_Ctx-group; description "Context list"; } description "Context"; } // Overlay instance object container inst-items { list Inst-list { key "name"; uses l3_Inst-group; description "Overlay Instance list"; } description "Overlay Instance"; } // Holds ipfib entity information container ipfib-items { uses ipfib_Entity-group; description "Ipfib Entity Information"; } // Holds l3vm entity information container l3vm-items { uses l3vm_Entity-group; description "L3VM Entity"; } container urib-items { uses urib_Entity4-group; description "Urib ipv4 root element"; } container u6rib-items { uses urib_Entity6-group; description "Urib ipv6 root element"; } // Entity information container uribv4-items { uses uribv4_Entity-group; description "IPv4 Unicast Routing Information Base Entity"; } // Entity information container uribv6-items { uses uribv6_Entity-group; description "Unicast Routing Information Base Entity"; } container licensemanager-items { uses licensemanager_LicenseManager-group; description "LicenseManager node, used as a placeholder for uniformity"; } // Holds mmode entity information container mmode-items { uses mmode_Entity-group; description "MMODE Entity"; } container mts-items { uses mts_Mts-group; description "MTS stats"; } container vdc-items { list Vdc-list { key "id"; uses nw_Vdc-group; description "VDC list"; } description "VDC"; } container nxsdk-items { uses nxsdk_Entity-group; description "Nx-sdk Manager"; } // Holds pktmgr entity information container pktmgr-items { uses pktmgr_Entity-group; description "Pktmgr Entity"; } // Container of processes in the system container procsys-items { uses proc_System-group; description "System Process Information"; } // Container of processes in the system container exitproc-items { uses proc_ExitProcEntity-group; description "Exit Proc Entity"; } // Container of processes in the system // Ephemeral data container proc-items { uses proc_Entity-group; description "Process Entity"; } // Holds rpm control plane entity information container rpm-items { uses rpm_Entity-group; description "Route Policy Map Entity"; } container ipSrcIf-items { uses srcintf_Entity-group; description " IP Source Interface"; } // Install RPM Packages in the system container swpkgs-items { uses swpkgs_Install-group; description "Software packages Install"; } // Holds sysmgr control plane entity information container sysmgr-items { uses sysmgr_Entity-group; description "Entity"; } // Holds show version information container showversion-items { uses sysmgr_ShowVersion-group; description "Show Version CLI"; } // Holds tcpudp entity information container tcpudp-items { uses tcpudp_Entity-group; description "Tcpdp Entity"; } // Terminal MO to form the base, which means the user terminal base container terml-items { uses terminal_Terminal-group; description "Terminal"; } // Organizes the terminal log-all specific property container termlog-items { uses terminal_TerminalLog-group; description "Enable accounting log for all commands"; } container tunnel-items { list If-list { config "false"; key "id"; uses tunnel_If-group; description "Tunnel Interface list"; } description "Tunnel Interface"; } // Container for Virtual Ethernet Ports container veth-items { uses veth_Entity-group; description "Container for Virtual Ethernet Ports"; } // Top MO for branching everything under container virtualservice-items { uses virtualService_VirtualServiceTop-group; description "Virtual Service"; } // Holds VTP control plane entity information container vtp-items { uses vtp_Entity-group; description "VTP Entity"; } // Wedge BMC(Board Management Controller) IP container wedge-items { uses wedge_Bmc-group; description "Wedge BMC IP"; } // Top MO for branching everything under container mca-items { uses mca_McaTop-group; description "Mcast Control and Analytics"; } // Top MO for branching everything under container nbm-items { uses nbm_NbmTop-group; description "Non Blocking Multicast."; } // Top MO for branching everything under container nbmcc-items { uses nbm_NbmCcTable-group; description "Non Blocking Multicast Consistency Checker"; } // Top MO for branching everything under container nbmFlowsTable-items { uses nbm_NbmFlowsTable-group; description "Non Blocking Multicast"; } // Top MO for branching everything under container nbmStats-items { uses nbm_NbmStats-group; description "Non Blocking Multicast"; } container boot-items { uses boot_Boot-group; description "Configure boot images"; } container alarms-items { uses alarms_Entity-group; } // Hardware chassis container container ch-items { uses eqpt_Ch-group; description "The hardware chassis information container"; } // Extension chassis container extch-items { list ExtCh-list { config "false"; key "id"; uses eqpt_ExtCh-group; description "FEX list"; } description "FEX"; } // Equipment policy container container ops-items { uses eqpt_Entity-group; description "Equipment Policy Entity"; } container fpgad-items { uses fpgad_Entity-group; description "FWD FPGA Entity"; } // Holds lcm entity information container lcm-items { uses lcm_Entity-group; description "lcm entity"; } // Container for all the interfaces in the system. container pltfm-items { uses platform_Entity-group; description "Platform Entity"; } // Container for the Nexus9000v operation data in the system. container n9kv-items { uses platform_Nexus9000v-group; description "Nexus9000v Operational Data MO"; } container pie-items { uses pie_PIE-group; } // Satellite manager entity information container satm-items { uses satm_Entity-group; description "Satellite Manager Entity"; } // sync controller entity mo container syncc-items { uses syncc_SynccEntity-group; description "sync controller entity mo"; } // Holds adjacency information container adjacency-items { uses adjacency_Entity-group; description "Adjacency Entity"; } // Holds arp control plane entity information container arp-items { uses arp_Entity-group; description "ARP Entity"; } // Holds bfd control plane entity information container bfd-items { uses bfd_Entity-group; description "BFD Entity"; } // Holds cfs control plane entity information container cfs-items { uses cfs_Entity-group; description "Cfs Entity"; } // Holds dot1x control plane entity information container dot1x-items { uses dot1x_Entity-group; description "Dot1x entity information"; } // Holds EIGRP control plane entity information container eigrp-items { uses eigrp_Entity-group; description "EIGRP control plane entity information"; } // Holds HSRP control plane entity information container hsrp-items { uses hsrp_Entity-group; description "HSRP Entity"; } // Holds icmpv4 control plane entity information container icmpv4-items { uses icmpv4_Entity-group; description "ICMPv4 Entity"; } // Holds icmpv6 control plane entity information container icmpv6-items { uses icmpv6_Entity-group; description "ICMPv6 Entity"; } // Holds igmp control plane entity information container igmpsnoop-items { uses igmpsnoop_Entity-group; description "Holds IGMP Snooping Entity Information"; } // Holds m6rib entity information container m6rib-items { uses m6rib_Entity-group; description "Holds M6RIB entity information"; } // Holds macsec control plane entity information container macsec-items { uses macsec_Entity-group; description "Macsec control plane entity"; } // Holds mcastfwd control plane entity information container mcastfwd-items { uses mcastfwd_Entity-group; description "Holds Multicast Forwarding Entity Information"; } // Holds mcastfwdv6 control plane entity information container mcastfwdv6-items { uses mcastfwdv6_Entity-group; description "Holds Multicast Forwarding Entity Information"; } // Holds mld control plane entity information container mld-items { uses mld_Entity-group; description "MLD Entity"; } // Holds mld control plane entity information container mldsnoop-items { uses mldsnoop_Entity-group; description "Holds MLD Snooping Entity Information"; } // Holds mpls LDP entity information container ldp-items { uses mplsldp_LDP-group; description "MPLS LDP Entity, anchoring all LDP specific MOs"; } // Mpls container mpls-items { uses mpls_Entity-group; description "Root MPLS Manager entity anchoring general MPLS MOs"; } // Mpls container mplsstatic-items { uses mplsstatic_Entity-group; description "Root MPLS Static entity anchoring MPLS Static MOs"; } // This object holds mpls strip mode information container mplsstripclmode-items { uses mplsstripcl_MplsStripclMode-group; description "MPLS Stripcl Mode"; } // This object holds mpls tap-aggregation information container mplsta-items { list MplsTA-list { key "id"; uses mplsstripcl_MplsTA-group; description "MPLS tap-aggregation list"; } description "MPLS tap-aggregation"; } // Label Table container labeltable-items { uses ulib_LabelTable-group; description "Label Table. Contains aggregate properties for allocated labels and anchors children that describe the allocated labels"; } // Holds mrib entity information container mrib-items { uses mrib_Entity-group; description "Holds MRIB entity information"; } // Holds MSDP control plane entity information container msdp-items { uses msdp_Entity-group; description "Holds MSDP control plane entity information"; } // Holds mvpn control plane entity information container mvpn-items { uses mvpn_Entity-group; description "Holds MVPN control plane entity information"; } // Holds nd control plane entity information container nd-items { uses nd_Entity-group; description "Neighbor Discover Entity"; } // Holds NGMVPN // entity information container ngmvpn-items { uses ngmvpn_Entity-group; description "Fabric Group Manager Entity, which hold NGMVPN entity information"; } // Holds OSPFv3 control plane entity information container ospfv3-items { uses ospfv3_Entity-group; description "OSPFv3 control plane entity information"; } // Holds OSPFv3 SNMP Traps control plane entity information container ospfv3trap-items { uses ospfv3_SnmpTrapsEntity-group; description "Holds OSPFv3 SNMP Traps control plane entity information"; } // Holds pim control plane entity information container pim-items { uses pim_Entity-group; description "Holds PIM control plane entity information"; } // Holds pim6 control plane entity information container pim6-items { uses pim6_Entity-group; description "Holds PIM6 control plane entity information"; } // Holds ptp control plane entity information container ptp-items { uses ptp_PtpEntity-group; description "PTP Entity MO for all the PTP global configuration properties"; } container ttag-items { uses ttag_TtagEntity-group; description "PTP ttag configuration and management"; } // Holds Segment-routing entity information container segrt-items { uses segrt_Entity-group; description "Segment-routing Entity"; } // Holds tunnel-encryption control plane entity information container tunnelenc-items { uses tunnelenc_Entity-group; description "Tunnel-encryption control plane entity"; } // Holds vrrp control plane entity information container vrrp-items { uses vrrp_Entity-group; description "VRRP Entity"; } // Holds vrrpv3 control plane entity information container vrrpv3-items { uses vrrpv3_Entity-group; description "VRRPv3 Entity"; } // Root node for scratchpad subtree container scrtchpdrt-items { uses scrtchpd_Root-group; description "Root"; } container sectl-items { list SwTLTestObj-list { key "name"; uses synthetic_SwTLTestObj-group; description "Synthetic Sw TL Test Object list"; } description "Synthetic Sw TL Test Object"; } container caggr-items { list AggrIf-list { key "id"; uses cnw_AggrIf-group; description "Controller Aggregated Interface list"; } description "Controller Aggregated Interface"; } // Physical ethernet interface information holder container cphys-items { list PhysIf-list { key "id"; uses cnw_PhysIf-group; description "Controller Physical Interface list"; } description "Controller Physical Interface"; } // TrackconfigStateandData MO container trackutils-items { uses trackutils_TrackUtils-group; description "TrackUtils keeps details about running/startup state, file to be backedup and the location from where binaries needs to be restored as properties"; } // CliAlias entries list container clialias-items { list CliAlias-list { key "aliasName"; uses vshd_CliAlias-group; description "Cli alias configuration list"; } description "Cli alias configuration"; } // CliAlias Check container clialiascheck-items { uses vshd_CliAliasCheck-group; description "Cli alias check configuration"; } // Configuration for programmability interface // It supports following option // - cmdTimeout - Timeout after which the command returns timeout error container sysmgmt-items { uses vshd_SysMgmt-group; description "SysMgt configuration"; } // CLI Variable container clivar-items { list CliVar-list { key "varName"; uses vshd_CliVar-group; description "Configure CLI commands list"; } description "Configure CLI commands"; } container action-items { uses action_LCont-group; description "Action Container of mo LCont"; } container rtdbgexpTsSrc-items { list RtDbgexpTsSrc-list { config "false"; key "tDn"; uses dbgexp_RtDbgexpTsSrc_target-group; description "Relation to Traceroute Source Node list"; } description "Relation to Traceroute Source Node"; } container rttraceroutepTrSrc-items { list RtTraceroutepTrSrc-list { config "false"; key "tDn"; uses traceroutep_RtTraceroutepTrSrc_target-group; description "Relation to Source Node list"; } description "Relation to Source Node"; } container rttraceroutepTrDst-items { list RtTraceroutepTrDst-list { config "false"; key "tDn"; uses traceroutep_RtTraceroutepTrDst_target-group; description "Relation to Traceroute Destination list"; } description "Relation to Traceroute Destination"; } container rtmaintFwinstlsrc-items { list RtMaintFwinstlsrc-list { config "false"; key "tDn"; uses maint_RtMaintFwinstlsrc_target-group; description "Relation to Source Node list"; } description "Relation to Source Node"; } } grouping bgp_Tbgp-group { description "Configure SNMP BGP traps"; // SNMP BGP trap for All 3 (back-trans, limited, all) // state change traps leaf stChange { type bgp_TrapType; description "SNMP BGP trap for all bgp state change traps"; } leaf stChangeAllFsm { type boolean; description "SNMP BGP trap for all fsm state change"; } leaf stChangeBackTrans { type boolean; description "SNMP BGP trap for backward transition state change trap"; } leaf stChangeLtd { type boolean; description "SNMP BGP trap for limited state change trap"; } leaf thresPfx { type boolean; description "SNMP BGP trap for prefix threshold event"; } // SNMP BGP trap to enable all state change and // prefix threshold trap leaf trapAll { type bgp_TrapType; description "All state-change and threshold prefix traps"; } } grouping bgp_Tcbgp2-group { description "SNMP CISCO-BGP-MIBv2 traps"; // SNMP BGP trap for All 3 (back-trans, limited, all) // state change traps leaf stChange { type bgp_TrapType; description "SNMP BGP trap for all bgp state change traps"; } leaf stChangeAllFsm { type boolean; description "SNMP BGP trap for all fsm state change"; } leaf stChangeBackTrans { type boolean; description "SNMP BGP trap for backward transition state change trap"; } leaf stChangeLtd { type boolean; description "SNMP BGP trap for limited state change trap"; } leaf thresPfx { type boolean; description "SNMP BGP trap for prefix threshold event"; } // SNMP BGP trap to enable all state change and // prefix threshold trap leaf trapAll { type bgp_TrapType; description "All state-change and threshold prefix traps"; } } grouping bgp_Entity-group { description "BGP control plane entity information."; leaf name { type naming_Name256 { length "0..128"; } default "bgp"; description "bgp-entity"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per bgp instance information. There is only // instance supported in bgp container inst-items { uses bgp_Inst-group; description "Config and runtime information of per BGP instance"; } // This object holds BGP configs in the case of a full Inst replace operation container confsave-items { list ConfSave-list { config "false"; key "moSeqNumber"; uses bgp_ConfSave-group; description "Used to store BGP config during replace list"; } description "Used to store BGP config during replace"; } } grouping bgp_Inst-group { description "Config and runtime information of per BGP instance"; // Autonomous system number leaf asn { type bgp_AsnNum; description "Autonomous System Number, takes value from (1-4294967295 | 1-65535[.(0-65535)]) or auto as value"; } // Disable Policy Batching leaf disPolBatch { type bgp_AdminSt; description "Disable Batching Evaluation To All Peers"; } // Disable Policy Batching for Nexthop leaf disPolBatchNexthop { type bgp_AdminSt; description "Disable Batching Evaluation To Nexthop"; } leaf disPolBatchv4PfxLst { type string { pattern ".*[!-~]{0,63}.*"; } description "Disable Batching Evaluation Of IPv4 Prefix Advertisements To All Peers"; } leaf disPolBatchv6PfxLst { type string { pattern ".*[!-~]{0,63}.*"; } description "Disable Batching Evaluation Of IPv6 Prefix Advertisements To All Peers"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Creation Timestamp, denotes the time when this instance was created"; } leaf activateTs { config "false"; type union { type string; type uint64; } description "Activation Timestamp, the time when this instance is activated with all the configuration"; } leaf waitDoneTs { config "false"; type union { type string; type uint64; } description "Wait Done Timestamp, the timestamp when the bgp protocol was out of wait mode"; } // Memory alert level leaf memAlert { config "false"; type nw_MemAlertLevel; description "Memory Alert Level"; } // Number of route attribute entries learned leaf numRtAttrib { config "false"; type cap_Quant; description "Route Attributes"; } // Current size of attribute database leaf attribDbSz { config "false"; type bgp_AttribDbSz; description "Attribute Database Size"; } // Number of AS path entries learned leaf numAsPath { config "false"; type cap_Quant; description "AS Paths entries"; } // Current size of AS path database leaf asPathDbSz { config "false"; type bgp_AsPathDbSz; description "AS Path Database Size"; } // Enable/Disable isolate bgp leaf isolate { type bgp_IsolateMode; description "Isolate router from BGP perspective"; } leaf isolateRtMap { type string; description "Isolate Route Map Configuration"; } // MED dampening interval leaf medDampIntvl { type bgp_MedIntvl; description "Setting med dampening interval"; } leaf fabricSoo { type mtx_array_community; description "Fabric Site of Origin extcommunity"; } // Enable/Disable flush-routes bgp leaf flushRoutes { type bgp_AdminSt; description "Flush routes in RIB upon controlled restart"; } // Activate the affinity group activate leaf affGrpActv { type bgp_AffGrpActv; description "Activate the affinity group"; } // Segment routing global block min range value leaf srgbMinLbl { config "false"; type bgp_SRGBRange; description "Segment Routing Global Block Min Label. (Value should be in the range 16000-471804 when feature segment-routing is enabled."; } // Segment routing global block max range value leaf srgbMaxLbl { config "false"; type bgp_SRGBRange; description "Segment Routing Global Block Max Label. (Value should be in the range 16000-471804 when feature segment-routing is enabled."; } // EPE Configured Peers leaf epeConfiguredPeers { config "false"; type bgp_NumPeers; description "EPE Configured Peers"; } // EPE Active Peers leaf epeActivePeers { config "false"; type bgp_NumPeers; description "EPE Active Peers"; } // Link-State Server leaf lnkStSrvr { config "false"; type bgp_LsAdminSt; description "EPE Link-State Server"; } // Link-State Client leaf lnkStClnt { config "false"; type bgp_LsAdminSt; description "EPE Link-State Server"; } // nexthop suppress-default-resolution leaf nhSupprDefRes { type bgp_AdminSt; description "Suppress use of default route for nexthop address resolution"; } leaf enhancedErr { type boolean; default "true"; description "Enable BGP Enhanced Error Handling to prevent inadvertent session resets for minor errors. See RFC7606 for more details"; } // Dual RD for vxlan multisite border gateway leaf rdDual { type bgp_AdminSt; default "enabled"; description "Generate Secondary Route Distinguisher for vxlan multisite border gateway"; } leaf rdDualId { type uint16 { range "0..65535"; } description "ID to generate Secondary RD with ID:VNI format"; } leaf mvpnVriId { type uint16 { range "0..65535"; } description "ID to generate VRI with VNI:ID format"; } // Current operational state of the BGP instance. Whether the instance is enabled or not leaf operSt { config "false"; type bgp_EnableSt; description "Current operational state of the BGP instance"; } // Operational Autonomous system number leaf operAsn { config "false"; type bgp_AsnNum; description "Operational Autonomous System Number"; } leaf name { type naming_Name256 { length "0..128"; } default "bgp"; description "bgp Instance"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls // Default value handled in local MO type leaf ctrl { // Type is a Local-MO-Defined-Type type nw_InstCtrl_Inst_ctrl; description "Fast External Fallover"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per domain RPKI information container rpkicache-items { list RpkiCache-list { key "addr"; uses bgp_RpkiCache-group; description "RPKI Cache configuration list"; } description "RPKI Cache configuration"; } // IPv4 RPKI route information // Ephemeral data container rpkirtv4-items { uses bgp_RpkiRouteV4-group; description "IPv4 RPKI route Information"; } // IPv6 RPKI route information // Ephemeral data container rpkirtv6-items { uses bgp_RpkiRouteV6-group; description "IPv6 RPKI route Information"; } // This objects hold per bgp domain (vrf) information container dom-items { list Dom-list { key "name"; uses bgp_Dom-group; description "Domain: Virtual Router Context list"; } description "Domain: Virtual Router Context"; } // This object holds global BGP customized buffer for event-history container evthist-items { list EvtHist-list { key "type"; uses bgp_EvtHist-group; description "BGP customized buffer detail for event-history list"; } description "BGP customized buffer detail for event-history"; } // This object holds bgp operational information. container oper-items { uses bgp_OperBgp-group; description "Top-level container to hold BGP runtime operational data"; } } grouping bgp_RpkiCache-group { description "RPKI Cache configuration"; leaf addr { type address_Ip; description "Configure RPKI Cache Address"; } leaf descr { type string { pattern "(.{1,80}).*|()"; } description "RPKI cache specific description"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Administratively state of RPKI Cache"; } // RPKI Cache VRF config leaf vrfName { type l3_VrfName; default "default"; description "Configure VRF for RPKI cache"; } leaf port { type uint16 { range "0..65535"; } description "Port number of the RPKI cache"; } leaf refreshInterval { type uint32 { range "0..86400"; } description "Specify periodic wait time between cache poll attempts"; } leaf retryInterval { type uint16 { range "0..7200"; } description "Specify wait time before retrying failed serial or reset query"; } leaf expiryInterval { type uint32 { range "0..172800"; } description "Specify how long to use current data while unable to perform successful query"; } // This objects hold RPKI cache operational information. This // is valid per cache container ent-items { uses bgp_RpkiCacheEntry-group; description "RPKI Cache operational state"; } } grouping bgp_RpkiCacheEntry-group { description "RPKI Cache operational state"; // RPKI cache operational state leaf operSt { config "false"; type bgp_RpkiCacheOperSt; description "Operational State of RPKI cache"; } leaf trans { config "false"; type string; description "Transport protocol for connecting to RPKI cache"; } leaf operPort { config "false"; type uint16; description "Operational Port number of the RPKI cache"; } leaf lastStateChangeTime { config "false"; type union { type string; type uint64; } description "RPKI cache last operational state change Timestamp"; } leaf curIpv4RoaCount { config "false"; type uint32; description "Current number of IPv4 ROA received from this RPKI cache"; } leaf curIpv6RoaCount { config "false"; type uint32; description "Current number of Ipv6 ROA received from this RPKI cache"; } leaf connAttempts { config "false"; type uint32; description "Number of connection retries"; } leaf lastConnectionResetTime { config "false"; type union { type string; type uint64; } description "RPKI cache last connection reset time"; } leaf lastConnectionResetReason { config "false"; type string; description "RPKI cache last close reason"; } // fd socket leaf fd { config "false"; type bgp_SockFD; description "FD to Connect to Peer"; } leaf serialNumber { config "false"; type uint32; description "Serial number of the cache session"; } leaf sessionId { config "false"; type string; description "Session ID of this cache session"; } leaf protocolState { config "false"; type string; description "RPKI-RTR protocol internal FSM state of RPKI Cache"; } leaf refreshInterval { config "false"; type uint32; description "Periodic wait time between cache poll attempts"; } leaf retryInterval { config "false"; type uint16; description "Wait time before retrying failed serial or reset query"; } leaf expiryInterval { config "false"; type uint32; description "Time to use current data while unable to perform successful query"; } leaf ipv4RoaAnnounced { config "false"; type uint32; description "Total number of Ipv4 ROA received from the cache since session is established"; } leaf ipv6RoaAnnounced { config "false"; type uint32; description "Total number of Ipv6 ROA received from the cache since session is established"; } leaf ipv4RoaWithdrawn { config "false"; type uint32; description "Total number of Ipv4 ROA withdrawn by this RPKI cache"; } leaf ipv6RoaWithdrawn { config "false"; type uint32; description "Total number of Ipv6 ROA withdrawn by this RPKI cache"; } leaf lastErrReason { config "false"; type string; description "Reason for last error of this RPKI cache"; } } grouping bgp_RpkiRouteV4-group { description "IPv4 RPKI route Information"; // RPKI route information // Ephemeral data container rt-items { // Ephemeral data list RpkiRoute-list { config "false"; key "pfx"; uses bgp_RpkiRoute-group; description "RPKI route Information list"; } description "RPKI route Information"; } } grouping bgp_RpkiRoute-group { description "RPKI route Information"; // Ephemeral data leaf pfx { config "false"; type address_Ip; description "RPKI ROA IP address and min value in prefix format"; } // This object holds the RPKI Path information // Ephemeral data container rpkipath-items { // Ephemeral data list RpkiPath-list { config "false"; key "cache maxLen originAs"; uses bgp_RpkiPath-group; description "RPKI Path Information list"; } description "RPKI Path Information"; } } grouping bgp_RpkiPath-group { description "RPKI Path Information"; // Ephemeral data leaf maxLen { config "false"; type uint16; description "Max-len value of ROA"; } // origin-as of ROA // Ephemeral data leaf originAs { config "false"; type bgp_AsnNum; description "Origin-as value of ROA"; } // Ephemeral data leaf cache { config "false"; type address_Ip; description "RPKI Cache IP address"; } // RPKI Path Status // Ephemeral data leaf operSt { config "false"; type bgp_RpkiPathOperSt; description "Operational Status of RPKI Path"; } } grouping bgp_RpkiRouteV6-group { description "IPv6 RPKI route Information"; // RPKI route information // Ephemeral data container rt-items { // Ephemeral data list RpkiRoute-list { config "false"; key "pfx"; uses bgp_RpkiRoute-group; description "RPKI route Information list"; } description "RPKI route Information"; } } grouping bgp_Dom-group { description "Domain: Virtual Router Context"; // Mode, (external | fabric) leaf mode { type bgp_Mode; description "BGP running in Fabric or External mode, default is fabric"; } // Router id leaf rtrId { type ip_RtrId; description "Holds ip address to use as Router ID"; } // Router id auto leaf rtrIdAuto { type bgp_AdminSt; description "Automatically configured router identifier based on system MAC"; } // Route refelector id (cluster id) identifies the cluster // of the route reflector domain. // The regular expression allows (1) a cluster id of value between // 1-4294967295 or (2) an IPv4 address. leaf clusterId { type bgp_ClusterId { pattern "(|(1|(\\+)?[1-9]{1}[0-9]{0,8}|(\\+)?[1-3]{1}[0-9]{1,9}|(\\+)?4{1}([0-1]{1}[0-9]{8}|2{1}([0-8]{1}[0-9]{7}|9{1}([0-3]{1}[0-9]{6}|4{1}([0-8]{1}[0-9]{5}|9{1}([0-5]{1}[0-9]{4}|6{1}([0-6]{1}[0-9]{3}|7{1}([0-1]{1}[0-9]{2}|2{1}([0-8]{1}[0-9]{1}|9{1}[0-5]{1})))))))))|((25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?))"; } description "Route Reflector Cluster ID"; } // Keepalive interval, how often you send keepalives leaf kaIntvl { type bgp_KaIntvl; description "Keepalive interval timer in secs"; } // Hold interval, how long you wait before you declare the // neighbor down leaf holdIntvl { type bgp_HoldIntvl; description "Hold interval timer in secs"; } // Prefix Peer Timeout leaf pfxPeerTimeout { type bgp_PfxPeerTimeout; default "90"; description "Prefix Peer Timeout in secs"; } // Prefix Peer Wait Time leaf pfxPeerWaitTime { type bgp_PfxPeerWaitTime; default "90"; description "Prefix Peer Wait Time in secs"; } // Maximum AS limit, to discard routes that have excessive // AS numbers leaf maxAsLimit { type bgp_MaxAsLimit; description "Max AS-Path limit from EBGP neighbor"; } // Timeout for first bestpath after restart leaf bestPathIntvl { type bgp_BestPathIntvl; description "Holds timeout for first bestpath after restart"; } // Update Delay Option for first bestpath timeout leaf always { type bgp_AdminSt; description "Update delay option for first bestpath timeout"; } // Configure connection reconnect interval in secs leaf reConnIntvl { type bgp_ReConnectIntvl; description "Connection reconnect interval in secs"; } // Operational state leaf operSt { config "false"; type bgp_DomOperSt; description "Operational State"; } // Operational router id leaf operRtrId { config "false"; type ip_RtrId; description "Operational Router ID"; } leaf firstPeerUpTs { config "false"; type union { type string; type uint64; } description "First Peer Up Timestamp"; } // Number of Peers leaf numPeers { config "false"; type bgp_NumPeers; description "Number of Peers"; } // Number of Configured Peers pending leaf numPeersPending { config "false"; type bgp_NumPeers; description "Number of Configured Peers pending"; } // Number of Established Peers leaf numEstPeers { config "false"; type bgp_NumPeers; description "Number of Established Peers"; } // VRF Id leaf id { config "false"; type bgp_DomId; description "VRF Id"; } // VRF Vnid leaf vnid { config "false"; type bgp_Vnid; description "Domain Vnid (Value in the range 1-16777214)"; } leaf vtepIp { config "false"; type address_Ip; description "VTEP IP address"; } leaf vtepVirtIp { config "false"; type address_Ip; description "VTEP Virtual IP address"; } leaf routerMac { config "false"; type address_Mac; description "Router Mac address from nve"; } // Local ASN leaf localAsn { type bgp_AsnNum; description "Local Asn for the EBGP neighbor"; } leaf allocIndex { type uint32 { range "0..8000"; } description "Allocate index for vrf (Value in the range 1-8000)"; } leaf name { type naming_Name256 { length "1..128"; pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}"; } description "Name"; } // This object holds Bgp's Segment Routing configurations container segrt-items { list SgmtRtg-list { key "sr"; uses bgp_SgmtRtg-group; description "Object to hold BGP's MPLS Segment Routing configurations list"; } description "Object to hold BGP's MPLS Segment Routing configurations"; } // This object holds parameters pertaining to peer templates container peercont-items { list PeerCont-list { key "name"; uses bgp_PeerCont-group; description "Peer Container: parameters pertaining to peer templates list"; } description "Peer Container: parameters pertaining to peer templates"; } // This object holds parameters related to session templates container sessioncont-items { list SessionCont-list { key "name"; uses bgp_SessionCont-group; description "Session Container: parameters related to session templates list"; } description "Session Container: parameters related to session templates"; } // This object holds parameters pertaining to policy templates container policycont-items { list PolicyCont-list { key "name"; uses bgp_PolicyCont-group; description "Policy Container: parameters pertaining to policy templates list"; } description "Policy Container: parameters pertaining to policy templates"; } // This object holds global BGP knobs at Dom level container rtctrl-items { uses bgp_RtCtrl-group; description "Route Control Information"; } // This object holds global BGP bestpath knobs at Dom level container pathctrl-items { uses bgp_PathCtrl-group; description "Path Control"; } // AS Confed are needed to club ASNs together to look like a single ASN container confed-items { uses bgp_Confederation-group; description "AS confederation parameters"; } // This object holds per address family bgp vrf information container af-items { list DomAf-list { key "type"; uses bgp_DomAf-group; description "Address Family Information list"; } description "Address Family Information"; } // This object holds the BMP server information container bmp-items { list BmpSvr-list { key "id"; uses bgp_BmpSvr-group; description "BMP server configuration list"; } description "BMP server configuration"; } // This objects hold per domain graceful restart information container gr-items { uses bgp_Gr-group; description "Graceful Restart"; } // This objects hold graceful shutdown informations container gs-items { uses bgp_Gs-group; description "Graceful shutdown activation/deactivation information under global, peer and template mode"; } // This object holds bgp information pertaining to a peer with ip container peer-items { list Peer-list { key "addr"; uses bgp_Peer-group; description "BGP Peer: BGP information pertaining to a peer with ip list"; } description "BGP Peer: BGP information pertaining to a peer with ip"; } // This object holds bgp information pertaining to a peer with intf container peerif-items { list PeerIf-list { key "id"; uses bgp_PeerIf-group; description "BGP Peer: BGP information pertaining to a peer with interface list"; } description "BGP Peer: BGP information pertaining to a peer with interface"; } } grouping bgp_SgmtRtg-group { description "Object to hold BGP's MPLS Segment Routing configurations"; leaf sr { type bgp_SgmntRtg; description "Support MPLS SR options in BGP's Segment-Routing"; } leaf sidAllocMod { type bgp_AllocMod; description "per VRF SID allocation mode, under Dom or DomAF"; } leaf srv6SrcEncpAddr { config "false"; type address_Ip; description "per VRF SRv6 Source Encapsulation Address, under Dom or DomAF"; } leaf srv6SID { config "false"; type address_Ip; description "per VRF per AF SRv6 SID"; } leaf srv6LocName { config "false"; type string; description "per VRF SRv6 SID Locator"; } leaf srv6LocId { config "false"; type uint16; description "per VRF SRv6 Locator ID"; } leaf srv6LocPrfx { config "false"; type address_Ip; description "per VRF SRv6 Locator Prefix"; } // This object holds Bgp's Segment Routing Locator configuration container loc-items { list Locator-list { key "name"; uses bgp_Locator-group; description "Object to hold BGP's MPLS Segment Routing SRv6 Locator configurations list"; } description "Object to hold BGP's MPLS Segment Routing SRv6 Locator configurations"; } } grouping bgp_Locator-group { description "Object to hold BGP's MPLS Segment Routing SRv6 Locator configurations"; leaf name { type naming_Name256 { length "0..128"; pattern ".*[!-~]{1,80}.*"; } description "SRv6 Locator name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Indicates whether locator state is operational"; } } grouping bgp_PeerCont-group { description "Peer Container: parameters pertaining to peer templates"; // Bits in this property represent whether to inherit or // not to inherit from template. // To disable inheritance of an attribute from a template // of a neighbor, set the corresponding bit of this // property. // For example, to disable inheritance of 'keepalive and hold // timer' and BFD from a template, set this property with // values - 'timer' and 'bfd'. // A note that any attributes configured for the neighbor // take priority over any attributes inherited from a // template. leaf inheritContPeerCtrl { type bgp_InheritContPeerCtrlType; description "Inherit control of peer parameters"; } leaf name { type naming_Name256 { length "0..128"; pattern ".*[!-~]{1,80}.*"; } description "Name"; } leaf desc { type string { pattern "(.{1,80}).*|()"; } description "Description"; } leaf adminSt { type nw_AdminSt; description "Administrative State"; } leaf asn { type string; description "Autonomous System Number"; } // Remote ASN Type - external or internal leaf asnType { type bgp_PeerAsnType; description "Specify peer ASN type as External or Internal"; } // Generate system message when any neighbor state changes leaf logNbrChgs { type bgp_LogNbrSt; description "Log Neighbor Changes"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } leaf password { type string; description "Configure a password for neighbor"; } // Password Encrypt Type leaf passwdType { type bgp_PwdType; description "Password EnCrypt Type"; } // Peer controls leaf ctrl { type bgp_PeerControl; description "Control"; } // eBGP Multihop leaf ttl { type bgp_TtlVal; description "eBGP Multihop"; } // Keepalive interval, how often you send keepalives leaf kaIntvl { type bgp_KaIntvl; description "Keepalive Interval"; } // Hold interval, how long you wait before you declare the // neighbor down leaf holdIntvl { type bgp_HoldIntvl; description "Hold Interval"; } // Connection Mode leaf connMode { type bgp_ConnMode; description "Connection Mode"; } leaf sessionContImp { type string { pattern ".*[!-~]{0,80}.*"; } description "Importing Session Specific properties from Session Template"; } // Remove Private ASN leaf privateASctrl { type bgp_PrivateASControl; description "Private AS Control"; } // Peer Fabric type leaf peerType { type bgp_PeerFabType; description "Neighbor Fabric Type"; } // Low Memory Exempt leaf lowMemExempt { type bgp_AdminSt; description "Low Memory Exempt"; } // Capability Suppress leaf capSuppr4ByteAsn { type bgp_AdminSt; description "Capability Suppress 4-byte-as"; } leaf affGrp { type uint16; description "Affinity group for the neighbor."; } // Egress Peer Engineering (EPE) for neighbor leaf epe { type bgp_AdminSt; description "Egress Peer Engineering EPE for neighbor"; } leaf epePeerSet { type string { pattern ".*[!-~]{0,63}.*"; } description "Egress Peer Engineering EPE Peer-Set name"; } // bmp-activate-server 1 leaf bmpSrvId1St { type bgp_AdminSt; description "Activate BMP Server 1"; } // bmp-activate-server 2 leaf bmpSrvId2St { type bgp_AdminSt; description "Activate BMP Server 2"; } // Dscp value, set it in tcp packets leaf dscp { type bgp_BgpDscp; description "Specify DSCP value for Locally Originated packets"; } leaf ttlScrtyHops { type uint16 { range "0..254"; } description "Enable TTL Security Mechanism with hop counts specified for remote peers"; } // Forced BFD session type leaf bfdType { type bgp_BfdSessionType; description "Specify BFD session type"; } // internal-vpn-client leaf internalVpnClient { type bgp_AdminSt; description "internal-vpn-client for iBGP PE-CE Support"; } // Maximum peers for prefix leaf maxPeerCnt { type bgp_MaxPeerCnt; description "Maximum Peers for the prefix or interface"; } // This object holds the path attribute type container pathattr-items { list PathAttr-list { key "fltrType"; uses bgp_PathAttr-group; description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute list"; } description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute"; } // Mo to hold bfd multihop interval information container mhbfdintvl-items { uses bgp_MhBfdIntvl-group; description "Configure BFD session interval parameters"; } // Mo to hold bfd multihop Authenticationinformation container mhbfdauth-items { uses bgp_MhBfdAuth-group; description "Configure BFD authentication parameters"; } // This objects hold graceful shutdown informations container gs-items { uses bgp_Gs-group; description "Graceful shutdown activation/deactivation information under global, peer and template mode"; } // This object holds local AS information pertaining to a peer container localasn-items { uses bgp_LocalAsn-group; description "Local AS: local AS information pertaining to a peer"; } // This object holds per address family bgp peer information container af-items { list PeerAf-list { key "type"; uses bgp_PeerAf-group; description "Peer Address Family list"; } description "Peer Address Family"; } } grouping bgp_PathAttr-group { description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute"; // Attribute value leaf fltrType { type bgp_AttrFltrType; description "Specify type of action performed on the filtered BGP Update Message"; } // This objects holds path-attribute value per neighbor container dir-items { list FltrAttr-list { key "direction startVal endVal"; uses bgp_FltrAttr-group; description "Specify a range of attributes to filter the BGP Update message list"; } description "Specify a range of attributes to filter the BGP Update message"; } } grouping bgp_FltrAttr-group { description "Specify a range of attributes to filter the BGP Update message"; // Attribute value leaf startVal { type bgp_AttrTypes; description "Specify the start of the range of attributes"; } leaf endVal { type bgp_AttrTypes; description "Specify the end of the range of attributes"; } leaf direction { type bgp_AttrFltrDir; description "Specify the filter direction of the BGP Update messages"; } leaf inheritFltrAttrCtrl { type bgp_FltrSt; description "Specify the State of the filter. Whether its enabled or disabled. A Filter can only be disabled when peer inherits"; } } grouping bgp_MhBfdIntvl-group { description "Configure BFD session interval parameters"; // TX interval in milliseconds leaf minTxMs { type bgp_MhTxRxIntvlT; description "Minimum transmit interval in milliseconds"; } // RX interval in milliseconds leaf minRxMs { type bgp_MhTxRxIntvlT; description "Minimum receive interval in milliseconds"; } // Configure detect multiplier for bfd sessions leaf multiplier { type bgp_MultiplierT; description "Detect multiplier for bfd sessions"; } } grouping bgp_MhBfdAuth-group { description "Configure BFD authentication parameters"; // Authentication algorithm leaf authName { type bgp_AuthNameT; description "Authentication algorithm"; } // Key ID value leaf keyId { type bgp_KeyIdT; description "Key ID value, range from 1 to 255"; } // SHA1 secret value binary leaf keyAsciiVal { type bgp_KeyValT; description "SHA1 secret key in binary value"; } // SHA1 secret value hex leaf keyHexVal { type bgp_HkeyValT; description "SHA1 secret key in hex value"; } } grouping bgp_Gs-group { description "Graceful shutdown activation/deactivation information under global, peer and template mode"; leaf gshutAware { type boolean; default "true"; description "Lower preference of routes carrying graceful-shutdown community"; } leaf gshutActivate { type boolean; description "Send graceful-shutdown community on all routes"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping bgp_LocalAsn-group { description "Local AS: local AS information pertaining to a peer"; // Local ASN leaf localAsn { type bgp_AsnNum; description "Local Autonomous System Number"; } // local ASN config leaf asnPropagate { type bgp_AsnPropagation; description "ASN Propagation"; } } grouping bgp_PeerAf-group { description "Peer Address Family"; // Peer address family controls leaf ctrl { type bgp_PeerAfControl; description "Peer address-family control"; } leaf allowedSelfAsCnt { type uint8 { range "0..10"; } default "0"; description "Allowed Self AS Count"; } // Soft Reconfiguration leaf softReconfigBackup { type bgp_SoftReconfigBackup; description "Soft Reconfiguration"; } // Neighbor advertisement interval leaf advIntvl { type bgp_AdvInterval; description "Neighbor advertisement interval"; } leaf defOrg { type bgp_AdminSt; description "Default Originate is enabled"; } leaf defOrgRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Default Originate Route Map"; } // Capability Additional Paths leaf capAddlPaths { type bgp_CapAddlPathCapT; description "Capability Additional Paths"; } leaf unSupprMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route-map to selectively unsuppress suppressed routes"; } // as-override leaf asOverride { type bgp_AdminSt; description "Override matching AS-number while sending update"; } // next-hop-third-party leaf nhThirdparty { type bgp_AdminSt; default "enabled"; description "Compute a third-party nexthop if possible"; } leaf wght { type string { pattern ".*\\d*.*"; } description "Weight for the neighbor."; } leaf soo { type mtx_array_community; description "Site-of-origin extcommunity"; } // Send-community standard leaf sendComStd { type bgp_AdminSt; description "Send-community standard"; } // Send-community extended leaf sendComExt { type bgp_AdminSt; description "Send-community extended"; } // encapsulation mpls for L2Vpn Evpn PeerAf leaf encapMpls { type bgp_AdminSt; description "Configure encapsulation type for EVPN routes"; } // rewrite-evpn-rt-asn + rewrite-rt-asn leaf rewriteRtAsn { type bgp_AdminSt; description "Auto generate RTs for EBGP neighbor"; } // Advertise Gateway IP to in Type-5 routes to neighbor leaf advGwIp { type nw_AdminSt; description "Advertise Gateway IP in Type-5 routes to neighbor"; } // advertise local-labeled-route leaf advLocalLblRt { type nw_AdminSt; description "Advertise a route with local label to peer"; } leaf nhSelfAll { type boolean; description "Set address as next-hop for all routes"; } // Bits in this property represent whether to inherit or // not to inherit from template. // To disable inheritance of an attribute from a template // of a neighbor AF, set the corresponding bit of this // property. // For example, to disable inheritance of 'send community' // from a template, set this property with value - // 'send-com'. // A note that any attributes configured for the neighbor AF // take priority over any attributes inherited from a // template. leaf inheritContPeerPolicyCtrl { type bgp_InheritContPeerPolicyCtrlType; description "Inherit control of peer policy parameters"; } leaf name { type naming_Name256 { length "1..128"; } default "bgp-PeerAf"; description "bgp PeerAf"; } // Type leaf type { type bgp_AfT; description "Address Family Type"; } // This Mo holds conifg parameters to enable import routes into // another address-family routes from the WAN edge device to the // border leaf or border spine switch of a VXLAN setup container import-items { list ImportRt-list { key "importType"; uses bgp_ImportRt-group; description "Neighbor conditional import routes into another address-family list"; } description "Neighbor conditional import routes into another address-family"; } container pfxctrl-items { list PfxCtrlP-list { key "direction"; uses bgp_PfxCtrlP-group; description "Prefix-list Control Policy list"; } description "Prefix-list Control Policy"; } container fltrctrl-items { list FltrCtrlP-list { key "direction"; uses bgp_FltrCtrlP-group; description "Filter-list Control Policy list"; } description "Filter-list Control Policy"; } // This object holds bgp peer af peer policy inherit container pol-items { list PolicyInheritRule-list { key "name"; uses bgp_PolicyInheritRule-group; description "Rule for policy template import list"; } description "Rule for policy template import"; } // This policy tells on what to do when the number of prefixes // advertised by the peer crosses a maximum limit specified. // This is used as a defensive mechanism to protect resources // on the router container maxpfxp-items { uses bgp_MaxPfxP-group; description "Maximum Prefix Policy"; } // This object holds per advertise-map information container advtmap-items { uses bgp_AdvtMap-group; description "Advertise-Map: This object holds per advertise-map information."; } // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } // Ephemeral data container advtdrt-items { uses bgp_AdvtdRoutes-group; description "Display Advertised Routes to Peer"; } // Ephemeral data container rcvdrt-items { uses bgp_RcvdRoutes-group; description "Display Received Routes from Peer"; } // Show only Dampening Paths Routes // Ephemeral data container damppathsrt-items { uses bgp_DampPathsRoutes-group; description "Display Dampening Paths Routes"; } // Route control policy for routes coming/going to peers. // There are few ways to apply this policy, controlling // through route maps or prefix lists or filter lists. // If both are specified, the order is implicit. Prefix // lists are applied before route maps. // The direction specifies whether to apply this policy // in the incoming or outgoing direction container rtctrl-items { list RtCtrlP-list { key "direction"; uses bgp_RtCtrlP-group; description "Route Control Policy: Policies to apply to incoming/outgoing routes going to peers. list"; } description "Route Control Policy: Policies to apply to incoming/outgoing routes going to peers."; } // This objects holds default route leak policy, // this is not needed for FCS in our solution container defrtleak-items { uses bgp_DefRtLeakP-group; description "Default Route Leak Policy"; } } grouping bgp_ImportRt-group { description "Neighbor conditional import routes into another address-family"; // Import routes category leaf importType { type bgp_ImportRtT; description "Type of routes to import from another address-family"; } leaf importRt { type boolean; description "Import routes into another address-family when neither route-map nor reoriginate specified"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Apply route-map to specify import criteria"; } leaf reoriginate { type boolean; description "Reoriginate the route with new route"; } } grouping bgp_PfxCtrlP-group { description "Prefix-list Control Policy"; // Direction [in/out] leaf direction { type bgp_RtCtrlDir; description "Direction: Specifies whether to apply this policy in the incoming or outgoing direction."; } leaf list { type string { pattern ".*[!-~]{0,63}.*"; } description "Name of Prefix List"; } } grouping bgp_FltrCtrlP-group { description "Filter-list Control Policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Direction [in/out] leaf direction { type bgp_RtCtrlDir; description "Direction: Specifies whether to apply this policy in the incoming or outgoing direction."; } leaf list { type string { pattern ".*[!-~]{0,63}.*"; } description "Name of Filter List"; } } grouping bgp_PolicyInheritRule-group { description "Rule for policy template import"; // Sequence number of the inheritted peer policy template leaf seq { type bgp_Order { range "1..65535"; } description "Sequence Number"; } leaf name { type naming_Name256 { length "0..128"; pattern ".*[!-~]{1,80}.*"; } description "Name"; } } grouping bgp_MaxPfxP-group { description "Maximum Prefix Policy"; // Maximum number of prefixes allowed from the peer leaf maxPfx { type bgp_MaxPfx; description "Maximum number of prefixes from this neighbor"; } // Threshold at which warning is issued when number of // prefixes crosses the threshold leaf thresh { type bgp_MaxPfxThresh; description "Threshold percentage at which to generate a warning"; } // Action on what to do when the maximum prefix limit is // reached leaf action { type bgp_MaxPfxAct; description "Action to do when limit is exceeded"; } // Duration before we restart the peer when the prefix // limit is reached (in minutes) leaf restartTime { type bgp_MaxPfxDuration; description "Restart bgp connection after prefix limit is exceeded"; } } grouping bgp_AdvtMap-group { description "Advertise-Map: This object holds per advertise-map information."; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "advertise route map"; } // Condition route-map leaf condition { type bgp_AdvtMapCondition; description "Specify route-map for conditional advertisement"; } leaf condMap { type string { pattern ".*[!-~]{0,63}.*"; } description "conditional exist or non-exist route map"; } } grouping bgp_Route-group { description "Route"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Version of the route // Ephemeral data leaf ver { config "false"; type bgp_RtVer; description "Version"; } // Route flags // Ephemeral data leaf rtFlags { config "false"; type bgp_RtFlags; description "Flags"; } // Ephemeral data leaf numPaths { config "false"; type uint32; description "Number of paths available"; } // Bestpath Id // Ephemeral data leaf bestPathId { config "false"; type bgp_PathId; description "Bestpath Id"; } // Ephemeral data leaf pfx { config "false"; type address_Ip; description "Prefix"; } // This object holds the bgp AS path information // Ephemeral data container path-items { // Ephemeral data list Path-list { config "false"; key "peer id nh importedRd origImportedRd recvd"; uses bgp_Path-group; description "Path: BGP AS path information list"; } description "Path: BGP AS path information"; } } grouping bgp_Path-group { description "Path: BGP AS path information"; // Ephemeral data leaf peer { config "false"; type address_Ip; description "Peer"; } // Path id // Ephemeral data leaf id { config "false"; type bgp_PathId; description "ID"; } // Ephemeral data leaf nh { config "false"; type address_Ip; description "Nexthop"; } // Nexthop metric // Ephemeral data leaf nhMetric { config "false"; type bgp_Metric; description "Nexthop Metric"; } // Path type // Ephemeral data leaf type { config "false"; type bgp_PathT; description "Type"; } // Path status // Ephemeral data leaf operSt { config "false"; type bgp_PathSt; description "Operational State"; } // Path flags // Ephemeral data leaf flags { config "false"; type bgp_PathFlags; description "Flags"; } // Origin // Ephemeral data leaf origin { config "false"; type bgp_Origin; description "Origin"; } // Metric // Ephemeral data leaf metric { config "false"; type rtmap_Metric; description "Metric"; } // Local preference // Ephemeral data leaf localPref { config "false"; type rtmap_LocalPref; description "Local Preference"; } // Weight // Ephemeral data leaf weight { config "false"; type rtmap_Weight; description "Weight"; } // Load share weight leaf lsWeight { config "false"; type rtmap_Weight; description "Path Load Share Weight"; } // Explicit Load share weight leaf explLsWeight { config "false"; type rtmap_Weight; description "Explicit Path Load Share Weight"; } // Ephemeral data leaf aggr { config "false"; type address_Ip; description "Aggregator"; } // Aggregator AS // Ephemeral data leaf aggrAs { config "false"; type bgp_AsnNum; description "Aggregator ASN"; } // Ephemeral data leaf importedRd { config "false"; type mtx_array_community; description "Imported Src Route Distinguisher"; } // Ephemeral data leaf origImportedRd { config "false"; type mtx_array_community; description "Original Imported Src Route Distinguisher"; } // Ephemeral data leaf recvd { config "false"; type boolean; description "Received Unmodified Path From Adj-RIB-In"; } // Ephemeral data leaf unknownAttrData { config "false"; type string; description "Unknown Attribute Data"; } // Unknown Attribute Data // Ephemeral data leaf unknownAttrLen { config "false"; type bgp_UnknownAttrLen; description "Unknown Attribute Length"; } leaf discardedAttrData { config "false"; type string; description "Discarded Attribute Data"; } // Discarded Attribute Data leaf discardedAttrLen { config "false"; type bgp_DiscardedAttrLen; description "Discarded Attribute Length"; } // Ephemeral data leaf regComm { config "false"; type string; description "Community"; } // Ephemeral data leaf largeComm { config "false"; type string; description "Large Community Attribute"; } // Ephemeral data leaf extComm { config "false"; type string; description "Extcommunity"; } // Ephemeral data leaf asPath { config "false"; type string; description "AS-Path"; } // Ephemeral data leaf rcvdLbl { config "false"; type string; description "Received label"; } // Ephemeral data leaf bndngLbl { config "false"; type uint32; description "Allocated Binding label SRTE"; } // Ephemeral data leaf originatorId { config "false"; type address_Ip; description "Originator Id"; } // Ephemeral data leaf clusterLst { config "false"; type string; description "Cluster-List"; } // Ephemeral data leaf peerRtrId { config "false"; type string; description "Peer router id ipaddress"; } // Ephemeral data leaf numImported { config "false"; type uint16; description "Number of imported paths in the prefix"; } // Ephemeral data leaf importedLst { config "false"; type string; description "List of imported paths"; } // Ephemeral data leaf importedSrc { config "false"; type string; description "Imported from source info"; } // Ephemeral data leaf origImportedSrc { config "false"; type string; description "Original Imported source info"; } // Ephemeral data leaf gatewayIp { config "false"; type address_Ip; description "Gateway Ip advertised by BGP for EVPN Type-5 routes"; } // RPKI Origin-AS Validity // Ephemeral data leaf originAsValidity { config "false"; type bgp_OriginAsValidityType; description "RPKI Origin-AS Validity"; } // This object holds the bgp path AS segment information // Ephemeral data container seg-items { // Ephemeral data list AsSeg-list { config "false"; key "order"; uses bgp_AsSeg-group; description "Autonomous System Segment: BGP Path AS Segment information. list"; } description "Autonomous System Segment: BGP Path AS Segment information."; } // Ephemeral data container rcomm-items { // Ephemeral data list RegComm-list { config "false"; key "community"; uses bgp_RegComm-group; description "Regular Community list"; } description "Regular Community"; } // Ephemeral data container lcomm-items { // Ephemeral data list LargeComm-list { config "false"; key "community"; uses bgp_LargeComm-group; description "Large Community Attribute list"; } description "Large Community Attribute"; } // Ephemeral data container ecomm-items { uses bgp_ExtComm-group; description "Extended Community"; } // Link-state Attribute // Ephemeral data container lnkstattr-items { uses bgp_LnkStAttr-group; description "Link-state attribute"; } // Prefix-SID Attribute // Ephemeral data container pfxsid-items { uses bgp_PfxSidAttr-group; description "Prefix-SID attribute"; } // PMSI Tunnel Attribute // Ephemeral data container pmsi-items { uses bgp_PmsiTunAttr-group; description "PMSI Tunnel Attribute"; } // Tunnel Encapsulation Attribute // Ephemeral data container tunencap-items { uses bgp_TunEncapAttr-group; description "Tunnel Encapsulation Attribute"; } // AttrSet Attribute for iBGP PE-CE // Ephemeral data container attrset-items { uses bgp_AttrSetAttr-group; description "AttrSet Attribute for iBGP PE-CE"; } } grouping bgp_AsSeg-group { description "Autonomous System Segment: BGP Path AS Segment information."; // type leaf type { config "false"; type bgp_AsSegT; description "Type"; } // Order // Ephemeral data leaf order { config "false"; type bgp_Order; description "Order"; } // This object holds the AS segment items // Ephemeral data container asn-items { // Ephemeral data list AsItem-list { config "false"; key "order"; uses bgp_AsItem-group; description "Autonomous System Item list"; } description "Autonomous System Item"; } } grouping bgp_AsItem-group { description "Autonomous System Item"; // Order // Ephemeral data leaf order { config "false"; type bgp_Order; description "Order"; } // AS number // Ephemeral data leaf asn { config "false"; type bgp_AsnNum; description "Autonomous System Number, takes value from (1-4294967295 | 1-65535[.(0-65535)])"; } } grouping bgp_RegComm-group { description "Regular Community"; // Ephemeral data leaf community { config "false"; type mtx_array_community; description "Community"; } } grouping bgp_LargeComm-group { description "Large Community Attribute"; // Ephemeral data leaf community { config "false"; type mtx_array_community; description "Community"; } } grouping bgp_ExtComm-group { description "Extended Community"; // Ephemeral data leaf encap { config "false"; type string; description "Encapsulation"; } // Ephemeral data leaf rtrMac { config "false"; type address_Mac; description "Router Mac address from nve"; } // Ephemeral data leaf defaultGw { config "false"; type string; description "Default Gateway Extcommunity"; } // Extended community route-target attribute entry // Ephemeral data container rt-items { // Ephemeral data list ExtCommRt-list { config "false"; key "community"; uses bgp_ExtCommRt-group; description "Route-target attribute Extended Community list"; } description "Route-target attribute Extended Community"; } } grouping bgp_ExtCommRt-group { description "Route-target attribute Extended Community"; // Ephemeral data leaf community { config "false"; type mtx_array_community; description "Community"; } } grouping bgp_LnkStAttr-group { description "Link-state attribute"; // Link attribute TLV flags // Ephemeral data leaf lnkAttrFlags { config "false"; type bgp_LnkLsAttrFlags; description "Link-state Link TLV attribute flags"; } // Ephemeral data leaf attrLen { config "false"; type uint16; description "Link-state attribute length"; } // Link-state Attribute Entry // Ephemeral data container tlv-items { // Ephemeral data list LnkStAttrEntry-list { config "false"; key "type"; uses bgp_LnkStAttrEntry-group; description "Link-state attributei entry list"; } description "Link-state attributei entry"; } } grouping bgp_LnkStAttrEntry-group { description "Link-state attributei entry"; // Type // Ephemeral data leaf type { config "false"; type bgp_LsAttrEntryType; description "Link-state TLV code point"; } // Ephemeral data leaf val { config "false"; type string; description "Value"; } } grouping bgp_PfxSidAttr-group { description "Prefix-SID attribute"; // Ephemeral data leaf pfxSidAttrLen { config "false"; type uint16; description "Prefix-SID attribute length"; } // Prefix-SID Attribute Entry // Ephemeral data container tlv-items { // Ephemeral data list PfxSidAttrEntry-list { config "false"; key "type"; uses bgp_PfxSidAttrEntry-group; description "Prefix-SID attribute entry list"; } description "Prefix-SID attribute entry"; } } grouping bgp_PfxSidAttrEntry-group { description "Prefix-SID attribute entry"; // Type // Ephemeral data leaf type { config "false"; type bgp_PfxSidAttrEntryType; description "Link-state TLV code point"; } // Ephemeral data leaf len { config "false"; type uint16; description "Length"; } // Ephemeral data leaf val { config "false"; type string; description "Value"; } } grouping bgp_PmsiTunAttr-group { description "PMSI Tunnel Attribute"; // Ephemeral data leaf flags { config "false"; type string; description "PMSI Tunnel Attribute Flags"; } // Tunnel Type // Ephemeral data leaf tunType { config "false"; type bgp_PmsiTunType; description "PMSI Tunnel Type"; } // Ephemeral data leaf lbl { config "false"; type uint32; description "PMSI label"; } // Ephemeral data leaf tunId { config "false"; type address_Ip; description "PMSI Tunnel ID"; } } grouping bgp_TunEncapAttr-group { description "Tunnel Encapsulation Attribute"; // Ephemeral data leaf attrLen { config "false"; type uint16; description "Tunnel Encapsulation attribute length"; } } grouping bgp_AttrSetAttr-group { description "AttrSet Attribute for iBGP PE-CE"; // AttrSet Origin-AS // Ephemeral data leaf attrSetOriginAs { config "false"; type bgp_AsnNum; description "AttrSet Origin-AS for iBGP PE-CE"; } // AttrSet Origin // Ephemeral data leaf attrSetOrigin { config "false"; type bgp_Origin; description "AttrSet Origin for iBGP PE-CE"; } // AttrSet Metric // Ephemeral data leaf attrSetMetric { config "false"; type rtmap_Metric; description "AttrSet Metric for iBGP PE-CE"; } // AttrSet Local preference // Ephemeral data leaf attrSetLocalPref { config "false"; type rtmap_LocalPref; description "AttrSet Local Preference"; } // Ephemeral data leaf attrSetAsPath { config "false"; type string; description "AttrSet AS-Path for iBGP PE-CE"; } // Ephemeral data leaf attrSetOriginatorId { config "false"; type address_Ip; description "AttrSet Originator Id"; } // Ephemeral data leaf attrSetClusterList { config "false"; type string; description "AttrSet Cluster-List"; } } grouping bgp_VpnRoute-group { description "VPN Route information"; // Ephemeral data leaf rd { config "false"; type mtx_array_community; description "Route Distinguisher"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Version of the route // Ephemeral data leaf ver { config "false"; type bgp_RtVer; description "Version"; } // Route flags // Ephemeral data leaf rtFlags { config "false"; type bgp_RtFlags; description "Flags"; } // Ephemeral data leaf numPaths { config "false"; type uint32; description "Number of paths available"; } // Bestpath Id // Ephemeral data leaf bestPathId { config "false"; type bgp_PathId; description "Bestpath Id"; } // Ephemeral data leaf pfx { config "false"; type address_Ip; description "Prefix"; } // This object holds the bgp AS path information // Ephemeral data container path-items { // Ephemeral data list Path-list { config "false"; key "peer id nh importedRd origImportedRd recvd"; uses bgp_Path-group; description "Path: BGP AS path information list"; } description "Path: BGP AS path information"; } } grouping bgp_LblRoute-group { description "Labeled Route"; // Ephemeral data leaf rd { config "false"; type mtx_array_community; description "Route Distinguisher"; } // Labeled address-family route flags // Ephemeral data leaf rtLblAfFlags { config "false"; type bgp_RtLblAfFlags; description "Labeled address-family route flags"; } // Ephemeral data leaf rtLblAfVer { config "false"; type uint32; description "Labeled address-family version"; } // Local label // Ephemeral data leaf locLbl { config "false"; type bgp_Lbl; description "Local label"; } // Ephemeral data leaf pfxLblHoldDownDelTs { config "false"; type union { type string; type uint64; } description "Prefix label hold down delete timestamp"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Version of the route // Ephemeral data leaf ver { config "false"; type bgp_RtVer; description "Version"; } // Route flags // Ephemeral data leaf rtFlags { config "false"; type bgp_RtFlags; description "Flags"; } // Ephemeral data leaf numPaths { config "false"; type uint32; description "Number of paths available"; } // Bestpath Id // Ephemeral data leaf bestPathId { config "false"; type bgp_PathId; description "Bestpath Id"; } // Ephemeral data leaf pfx { config "false"; type address_Ip; description "Prefix"; } // This object holds the bgp AS path information // Ephemeral data container path-items { // Ephemeral data list Path-list { config "false"; key "peer id nh importedRd origImportedRd recvd"; uses bgp_Path-group; description "Path: BGP AS path information list"; } description "Path: BGP AS path information"; } } grouping bgp_LnkStRoute-group { description "Link State Route"; // Ephemeral data leaf pfx { config "false"; type string; description "Link-state NLRI"; } // NLRI Type // Ephemeral data leaf nlriType { config "false"; type bgp_LsNlriType; description "Link-state NLRI type"; } // Protocol Id // Ephemeral data leaf protoId { config "false"; type bgp_LsProtoId; description "Link-state NLRI Protocol ID"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Version of the route // Ephemeral data leaf ver { config "false"; type bgp_RtVer; description "Version"; } // Route flags // Ephemeral data leaf rtFlags { config "false"; type bgp_RtFlags; description "Flags"; } // Ephemeral data leaf numPaths { config "false"; type uint32; description "Number of paths available"; } // Bestpath Id // Ephemeral data leaf bestPathId { config "false"; type bgp_PathId; description "Bestpath Id"; } // This object holds the bgp AS path information // Ephemeral data container path-items { // Ephemeral data list Path-list { config "false"; key "peer id nh importedRd origImportedRd recvd"; uses bgp_Path-group; description "Path: BGP AS path information list"; } description "Path: BGP AS path information"; } } grouping bgp_EvpnRoute-group { description "EVPN Route"; // Ephemeral data leaf rd { config "false"; type mtx_array_community; description "Route Distinguisher"; } // Ephemeral data leaf pfx { config "false"; type string; description "EVPN prefix"; } // EVPN route-type // Ephemeral data leaf rtType { config "false"; type bgp_EvpnRtType; description "EVPN route-type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Version of the route // Ephemeral data leaf ver { config "false"; type bgp_RtVer; description "Version"; } // Route flags // Ephemeral data leaf rtFlags { config "false"; type bgp_RtFlags; description "Flags"; } // Ephemeral data leaf numPaths { config "false"; type uint32; description "Number of paths available"; } // Bestpath Id // Ephemeral data leaf bestPathId { config "false"; type bgp_PathId; description "Bestpath Id"; } // This object holds the bgp AS path information // Ephemeral data container path-items { // Ephemeral data list Path-list { config "false"; key "peer id nh importedRd origImportedRd recvd"; uses bgp_Path-group; description "Path: BGP AS path information list"; } description "Path: BGP AS path information"; } } grouping bgp_MvpnRoute-group { description "MVPN Route"; // Ephemeral data leaf rd { config "false"; type mtx_array_community; description "Route Distinguisher"; } // Ephemeral data leaf pfx { config "false"; type string; description "MVPN NLRI"; } // MVPN route-type // Ephemeral data leaf rtType { config "false"; type bgp_MvpnRtType; description "MVPN route-type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Version of the route // Ephemeral data leaf ver { config "false"; type bgp_RtVer; description "Version"; } // Route flags // Ephemeral data leaf rtFlags { config "false"; type bgp_RtFlags; description "Flags"; } // Ephemeral data leaf numPaths { config "false"; type uint32; description "Number of paths available"; } // Bestpath Id // Ephemeral data leaf bestPathId { config "false"; type bgp_PathId; description "Bestpath Id"; } // This object holds the bgp AS path information // Ephemeral data container path-items { // Ephemeral data list Path-list { config "false"; key "peer id nh importedRd origImportedRd recvd"; uses bgp_Path-group; description "Path: BGP AS path information list"; } description "Path: BGP AS path information"; } } grouping bgp_AdvtdRoutes-group { description "Display Advertised Routes to Peer"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } } grouping bgp_RcvdRoutes-group { description "Display Received Routes from Peer"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } } grouping bgp_DampPathsRoutes-group { description "Display Dampening Paths Routes"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_RtCtrlP-group { description "Route Control Policy: Policies to apply to incoming/outgoing routes going to peers."; // Operational state leaf operSt { config "false"; type bgp_RtCtrlOperSt; description "Operational State"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Direction [in/out] leaf direction { type rtctrl_RtCtrlDir; description "Direction"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping bgp_DefRtLeakP-group { description "Default Route Leak Policy"; // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; default "defrt"; description "Scope"; } leaf rtMap { type string; description "Route Map"; } } grouping bgp_SessionCont-group { description "Session Container: parameters related to session templates"; // Bits in this property represent whether to inherit or // not to inherit from template. // To disable inheritance of an attribute from a template // of a neighbor, set the corresponding bit of this // property. // For example, to disable inheritance of 'keepalive and hold // timer' and BFD from a template, set this property with // values - 'timer' and 'bfd'. // A note that any attributes configured for the neighbor // take priority over any attributes inherited from a // template. leaf inheritContPeerCtrl { type bgp_InheritContPeerCtrlType; description "Inherit control of peer parameters"; } leaf name { type naming_Name256 { length "0..128"; pattern ".*[!-~]{1,80}.*"; } description "Name"; } leaf desc { type string { pattern "(.{1,80}).*|()"; } description "Description"; } leaf adminSt { type nw_AdminSt; description "Administrative State"; } leaf asn { type string; description "Autonomous System Number"; } // Remote ASN Type - external or internal leaf asnType { type bgp_PeerAsnType; description "Specify peer ASN type as External or Internal"; } // Generate system message when any neighbor state changes leaf logNbrChgs { type bgp_LogNbrSt; description "Log Neighbor Changes"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } leaf password { type string; description "Configure a password for neighbor"; } // Password Encrypt Type leaf passwdType { type bgp_PwdType; description "Password EnCrypt Type"; } // Peer controls leaf ctrl { type bgp_PeerControl; description "Control"; } // eBGP Multihop leaf ttl { type bgp_TtlVal; description "eBGP Multihop"; } // Keepalive interval, how often you send keepalives leaf kaIntvl { type bgp_KaIntvl; description "Keepalive Interval"; } // Hold interval, how long you wait before you declare the // neighbor down leaf holdIntvl { type bgp_HoldIntvl; description "Hold Interval"; } // Connection Mode leaf connMode { type bgp_ConnMode; description "Connection Mode"; } leaf sessionContImp { type string { pattern ".*[!-~]{0,80}.*"; } description "Importing Session Specific properties from Session Template"; } // Remove Private ASN leaf privateASctrl { type bgp_PrivateASControl; description "Private AS Control"; } // Peer Fabric type leaf peerType { type bgp_PeerFabType; description "Neighbor Fabric Type"; } // Low Memory Exempt leaf lowMemExempt { type bgp_AdminSt; description "Low Memory Exempt"; } // Capability Suppress leaf capSuppr4ByteAsn { type bgp_AdminSt; description "Capability Suppress 4-byte-as"; } leaf affGrp { type uint16; description "Affinity group for the neighbor."; } // Egress Peer Engineering (EPE) for neighbor leaf epe { type bgp_AdminSt; description "Egress Peer Engineering EPE for neighbor"; } leaf epePeerSet { type string { pattern ".*[!-~]{0,63}.*"; } description "Egress Peer Engineering EPE Peer-Set name"; } // bmp-activate-server 1 leaf bmpSrvId1St { type bgp_AdminSt; description "Activate BMP Server 1"; } // bmp-activate-server 2 leaf bmpSrvId2St { type bgp_AdminSt; description "Activate BMP Server 2"; } // Dscp value, set it in tcp packets leaf dscp { type bgp_BgpDscp; description "Specify DSCP value for Locally Originated packets"; } leaf ttlScrtyHops { type uint16 { range "0..254"; } description "Enable TTL Security Mechanism with hop counts specified for remote peers"; } // Forced BFD session type leaf bfdType { type bgp_BfdSessionType; description "Specify BFD session type"; } // internal-vpn-client leaf internalVpnClient { type bgp_AdminSt; description "internal-vpn-client for iBGP PE-CE Support"; } // Maximum peers for prefix leaf maxPeerCnt { type bgp_MaxPeerCnt; description "Maximum Peers for the prefix or interface"; } // This object holds the path attribute type container pathattr-items { list PathAttr-list { key "fltrType"; uses bgp_PathAttr-group; description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute list"; } description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute"; } // Mo to hold bfd multihop interval information container mhbfdintvl-items { uses bgp_MhBfdIntvl-group; description "Configure BFD session interval parameters"; } // Mo to hold bfd multihop Authenticationinformation container mhbfdauth-items { uses bgp_MhBfdAuth-group; description "Configure BFD authentication parameters"; } // This objects hold graceful shutdown informations container gs-items { uses bgp_Gs-group; description "Graceful shutdown activation/deactivation information under global, peer and template mode"; } // This object holds local AS information pertaining to a peer container localasn-items { uses bgp_LocalAsn-group; description "Local AS: local AS information pertaining to a peer"; } } grouping bgp_PolicyCont-group { description "Policy Container: parameters pertaining to policy templates"; // Peer address family controls leaf ctrl { type bgp_PeerAfControl; description "Control"; } leaf allowedSelfAsCnt { type uint8 { range "0..10"; } default "0"; description "Allowed Self AS Count"; } // Soft Reconfiguration leaf softReconfigBackup { type bgp_SoftReconfigBackup; description "Soft Reconfiguration"; } // Neighbor advertisement interval leaf advIntvl { type bgp_AdvInterval; description "Neighbor advertisement interval"; } leaf defOrg { type bgp_AdminSt; description "Default Originate is enabled"; } leaf defOrgRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Default Originate Route Map"; } // Capability Additional Paths leaf capAddlPaths { type bgp_CapAddlPathCapT; description "Capability Additional Paths"; } leaf unSupprMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route-map to selectively unsuppress suppressed routes"; } // as-override leaf asOverride { type bgp_AdminSt; description "Override matching AS-number while sending update"; } // next-hop-third-party leaf nhThirdparty { type bgp_AdminSt; default "enabled"; description "Compute a third-party nexthop if possible"; } leaf wght { type string { pattern ".*\\d*.*"; } description "Weight for the neighbor."; } leaf soo { type mtx_array_community; description "Site-of-origin extcommunity"; } // Send-community standard leaf sendComStd { type bgp_AdminSt; description "Send-community standard"; } // Send-community extended leaf sendComExt { type bgp_AdminSt; description "Send-community extended"; } // template: advertise local-labeled-route leaf advLocalLblRt { type nw_AdminSt; description "Advertise a route with local label to peer"; } leaf nhSelfAll { type boolean; description "Set address as next-hop for all routes"; } // Bits in this property represent whether to inherit or // not to inherit from template. // To disable inheritance of an attribute from a template // of a neighbor AF, set the corresponding bit of this // property. // For example, to disable inheritance of 'send community' // from a template, set this property with value - // 'send-com'. // A note that any attributes configured for the neighbor AF // take priority over any attributes inherited from a // template. leaf inheritContPeerPolicyCtrl { type bgp_InheritContPeerPolicyCtrlType; description "Inherit control of peer policy parameters"; } leaf name { type naming_Name256 { length "0..128"; pattern ".*[!-~]{1,80}.*"; } description "Name"; } // This Mo holds conifg parameters to enable import routes into // another address-family routes from the WAN edge device to the // border leaf or border spine switch of a VXLAN setup container import-items { list ImportRt-list { key "importType"; uses bgp_ImportRt-group; description "Neighbor conditional import routes into another address-family list"; } description "Neighbor conditional import routes into another address-family"; } container pfxctrl-items { list PfxCtrlP-list { key "direction"; uses bgp_PfxCtrlP-group; description "Prefix-list Control Policy list"; } description "Prefix-list Control Policy"; } container fltrctrl-items { list FltrCtrlP-list { key "direction"; uses bgp_FltrCtrlP-group; description "Filter-list Control Policy list"; } description "Filter-list Control Policy"; } // This object holds bgp peer af peer policy inherit container pol-items { list PolicyInheritRule-list { key "name"; uses bgp_PolicyInheritRule-group; description "Rule for policy template import list"; } description "Rule for policy template import"; } // This policy tells on what to do when the number of prefixes // advertised by the peer crosses a maximum limit specified. // This is used as a defensive mechanism to protect resources // on the router container maxpfxp-items { uses bgp_MaxPfxP-group; description "Maximum Prefix Policy"; } // This object holds per advertise-map information container advtmap-items { uses bgp_AdvtMap-group; description "Advertise-Map: This object holds per advertise-map information."; } // Route control policy for routes coming/going to peers. // There are few ways to apply this policy, controlling // through route maps or prefix lists or filter lists. // If both are specified, the order is implicit. Prefix // lists are applied before route maps. // The direction specifies whether to apply this policy // in the incoming or outgoing direction container rtctrl-items { list RtCtrlP-list { key "direction"; uses bgp_RtCtrlP-group; description "Route Control Policy: Policies to apply to incoming/outgoing routes going to peers. list"; } description "Route Control Policy: Policies to apply to incoming/outgoing routes going to peers."; } } grouping bgp_RtCtrl-group { description "Route Control Information"; // Advertise only routes that are programmed in hardware to peers leaf supprRt { type bgp_AdminSt; default "enabled"; description "Suppress Routes: Advertise only routes that are programmed in hardware to peers"; } // Generate system message when any neighbor state changes leaf logNeighborChanges { type bgp_AdminSt; description "Log Neighbor Changes"; } // Enforce the neighbor AS to be the first AS listed in the AS_path attribute for eBGP. leaf enforceFirstAs { type bgp_AdminSt; default "enabled"; description "Enforce First AS For EBgp"; } // Handle BGP neighbor down event leaf fibAccelerate { type bgp_AdminSt; description "Accelerate the hardware updates for IP/IPv6 adjacencies for neighbor"; } } grouping bgp_PathCtrl-group { description "Path Control"; // Compare MED on paths from different AS leaf alwaysCompMed { type bgp_AdminSt; description "Compare MED on paths from different AS"; } // Allow load sharing across providers with different AS paths leaf asPathMultipathRelax { type bgp_AdminSt; description "Relax AS-Path restriction when choosing multipaths"; } // Allow load sharing across providers with different AS paths leaf asPathIgnore { type bgp_AdminSt; description "Ignore AS-Path during bestpath selection"; } // Compare router-id for identical EBGP paths leaf compRtrId { type bgp_AdminSt; description "Compare Router Id"; } // Compare neighbor-id for identical EBGP paths leaf compNbrId { type bgp_AdminSt; description "Compare Neighbor Id"; } // Ignore cost communities leaf costCommunityIgnore { type bgp_AdminSt; description "Ignore Cost Communities"; } // Compare MED for paths originated from within a confederation leaf medConfed { type bgp_AdminSt; description "Compare MED only from paths originated from within a confederation"; } // Treat missing MED as highest MED leaf medMissingAsWorst { type bgp_AdminSt; description "Med Missing As Worst"; } // Do not always pick the best-MED path among paths from same AS leaf medNonDeter { type bgp_AdminSt; description "Med Non-Deterministic"; } // Ignore IGP metric for next-hop during bestpath calculation leaf igpMetricIgnore { type bgp_AdminSt; description "Ignore IGP metric for next-hop during bestpath calculation"; } // Oper value regarding Ignore IGP metric for next-hop during bestpath calculation leaf operIgpMetricIgnore { config "false"; type bgp_EnableSt; description "Operational state regarding Ignoring IGP metric for next-hop during bestpath calculation"; } // Oper value regarding Relax AS-Path restriction when choosing multipaths leaf operAsPathMultipathRelax { config "false"; type bgp_EnableSt; description "Operational state regarding Relax AS-Path criteria when choosing multipaths"; } } grouping bgp_Confederation-group { description "AS confederation parameters"; // Autonomous system number leaf asn { type bgp_AsnNum; description "Autonomous System Number, takes value from (1-4294967295 | 1-65535[.(0-65535)])"; } // AS Confed are needed to club ASNs together to look like a single ASN container peer-items { list ConfederationPeer-list { key "asn"; uses bgp_ConfederationPeer-group; description "Peer ASs in BGP confederation list"; } description "Peer ASs in BGP confederation"; } } grouping bgp_ConfederationPeer-group { description "Peer ASs in BGP confederation"; // Autonomous system in the confederation leaf asn { type bgp_AsnNum; description "Autonomous System Number, takes value from (1-4294967295 | 1-65535[.(0-65535)])"; } } grouping bgp_DomAf-group { description "Address Family Information"; // Maximum number of equal-cost paths for load sharing leaf maxEcmp { type bgp_MaxEcmp; description "Max ECMP"; } // Maximum number of equal-cost paths for eBGP leaf maxExtEcmp { type bgp_MaxEcmp; description "Max External ECMP"; } // Maximum number of equal-cost paths for eiBGP leaf maxExtIntEcmp { type bgp_MaxEcmp; description "Max External Internal ECMP"; } // Maximum number of equal-cost multipath for local and remote paths leaf maxMxdEcmp { type bgp_MaxEcmp; description "Max mixed equal-cost multipath for local and remote paths"; } // Maximum number of equal-cost multipath for local paths leaf maxLclEcmp { type bgp_MaxEcmp; description "Maximum number of equal-cost multipath for local paths"; } leaf tmrBstpthDfr { type uint32 { range "0..3000"; } description "Configure bgp related timers"; } leaf tmrMax { type uint32 { range "0..300000"; } description "Configure bestpath defer timer"; } leaf tblMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route-map name"; } // Configure table-map for Selective route download leaf tblMapFltr { type bgp_AdminSt; description "Selective route download"; } // Allow VNI in Ethernet Tag field in EVPN route leaf vniEthTag { type bgp_AdminSt; description "Allow VNI in Ethernet Tag field in EVPN route"; } // Advertise extra EVPN RT-2 with system MAC leaf advSysMac { type bgp_AdminSt; description "Advertise extra EVPN RT-2 with system MAC"; } leaf bestPathSigTs { config "false"; type union { type string; type uint64; } description "Best Path Signalled Timestamp"; } leaf bestPathCmpltTs { config "false"; type union { type string; type uint64; } description "Best Path Completed Timestamp"; } // Critical NH timeout // Default value handled in local MO type leaf critNhTimeout { // Type is a Local-MO-Defined-Type type bgp_NhTimeout_DomAf_critNhTimeout; description "Critical Next-hop Trigger-delay"; } // Non-Critical NH timeout // Default value handled in local MO type leaf nonCritNhTimeout { // Type is a Local-MO-Defined-Type type bgp_NhTimeout_DomAf_nonCritNhTimeout; description "Non-Critical Next-hop Trigger-delay"; } // Local BGP table version leaf tblVer { config "false"; type bgp_TblVer; description "Table Version"; } leaf nhRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Next hop route map name"; } leaf origMap { type string { pattern ".*[!-~]{0,63}.*"; } description "originate-map route map name"; } // client-to-client route reflection leaf clReflection { type bgp_AdminSt; default "enabled"; description "client-to-client Reflection of routes"; } // Advertise l2vpn evpn - Originate Type 5 L2VPN EVPN route // correspoinding to VRF route or not leaf advertL2vpnEvpn { type bgp_AdvertL2vpnEvpn; description "Advertise L2vpn Evpn"; } leaf allocLblAll { type bgp_AdminSt; description "Allocate labels for all routes"; } leaf allocLblRtMap { type string { pattern ".*[!-~]{0,63}"; } description "Allocate labels for selective routes"; } // Configure label allocation mode leaf lblAllocMod { type bgp_AdminSt; default "enabled"; description "per VRF label allocation mode"; } leaf retainRttRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Retain Route Target Route Map"; } // Retain Route Target All leaf retainRttAll { type bgp_AdminSt; description "Retain Route Target All"; } leaf defMetric { type string { pattern "0*((429496729[0-5])|(42949672[0-8]\\d)|(4294967[01]\\d{2})|(429496[0-6]\\d{3})|(42949[0-5]\\d{4})|(4294[0-8]\\d{5})|(429[0-3]\\d{6})|(42[0-8]\\d{7})|(4[01]\\d{8})|([1-3]\\d{9})|\\d{0,9})"; } description "Default Metric"; } // Local BGP table Id leaf tblId { config "false"; type bgp_TblVer; description "Table Id in hex display"; } // Local BGP table state leaf tblSt { config "false"; type bgp_DomOperSt; description "Local BGP table state"; } // Number of Peers leaf numPeers { config "false"; type bgp_NumPeers; description "Number of Peers"; } // Number of Active Peers leaf numPeersActive { config "false"; type bgp_NumPeers; description "Number of Active Peers"; } // Number of Routes leaf numRoutes { config "false"; type bgp_NumPaths; description "Number of Routes"; } // Number of Paths leaf numPaths { config "false"; type bgp_NumPaths; description "Number of Paths"; } leaf numNetworks { config "false"; type uint32; description "Number of Networks"; } leaf numAggregates { config "false"; type uint32; description "Number of Aggregates"; } // default-information originate command leaf defInfOriginate { type bgp_AdminSt; description "default-information originate"; } leaf defInfOrigRd { type mtx_array_community; description "Default-information Originate always Route Distinguisher"; } leaf defInfOrigRtt { type mtx_array_community; description "Default-information Originate always Route Target"; } // Dampen IGP metric leaf igpMetric { type bgp_igpMetric; description "Dampen IGP metric-related changes"; } // Suppress inactive leaf supprInactive { type bgp_AdminSt; description "Advertise only active routes to peers"; } // advertise-pip leaf advPip { type bgp_AdminSt; description "Advertise physical IP for type-5 routes"; } // Export Gateway IP to in Type-5 routes to neighbor leaf exportGwIp { type bgp_AdminSt; description "Export Gateway IP to Type-5 EVPN routes for VRF"; } // Wait for IGP convergence before starting bestpath computation leaf waitIgpConv { type bgp_AdminSt; description "Delay initial bestpath until redistributed IGPs have converged"; } // Allow allocation of option B labels leaf allocLblOptB { type bgp_AdminSt; default "enabled"; description "Allow allocation of option B labels"; } // prefix-priority leaf prfxPriority { type bgp_PrfxPriorityLevelT; default "none"; description "Enable prefix priority for AF"; } // RPKI origin-as validation leaf originAsValidate { type bgp_AdminSt; description "Enable RPKI origin-as validation for routes received from ebgp neighbors"; } // BGP bestpath selection will use RPKI origin-as validity leaf bestPathOriginAsUseValidity { type bgp_AdminSt; description "Enable BGP bestpath selection to use RPKI origin-as validity"; } // BGP bestpath selection will allow invalid origin-AS leaf bestPathOriginAsAllowInvalid { type bgp_AdminSt; description "Allow invalid origin-AS in BGP bestpath selection"; } // RPKI config for sending OriginAs Validation State ExtCommunity to ibgp leaf originAsValidateSignalIbgp { type bgp_AdminSt; description "Send Origin Validation State Extended Community to ibgp neighbors"; } leaf ldBalEgrFilterPolRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Filter-policy route-map for load-balance egress"; } leaf ldBalEgrMPathAutoPolRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Multipath auto-policy route-map for load-balance egress"; } // nexthop multisite for load-balance egress leaf nhLdBalEgrMultiSite { type bgp_AdminSt; description "Nexthop multisite for load-balance egress"; } // Type leaf type { type bgp_AfT; description "Address Family Type"; } // This object holds Bgp's Segment Routing configurations container segrt-items { list SgmtRtg-list { key "sr"; uses bgp_SgmtRtg-group; description "Object to hold BGP's MPLS Segment Routing configurations list"; } description "Object to hold BGP's MPLS Segment Routing configurations"; } // This object holds policy to control vpn af // information for a given vrf container ctrl-items { list VpnCtrlP-list { config "false"; key "type"; uses bgp_VpnCtrlP-group; description "Virtual Private Network Control Policy list"; } description "Virtual Private Network Control Policy"; } // Administrative distance is used by routers to select the best path when // there are two or more different routes to the same destination from // two different routing protocols container adminDist-items { uses bgp_AdminDist-group; description "Administrative Distance: This is the distance used by routers to select the best path when there are two or more different routes to the same destination from two different routing protocols."; } // Dampening is a BGP feature to suppress unstable routes container dampening-items { uses bgp_DampeningCtrl-group; description "Dampening Control: BGP route flap dampening parameters"; } // Bgp advertise to IP container prefix-items { list AdvPrefix-list { key "addr"; uses bgp_AdvPrefix-group; description "Advertise To Prefix list"; } description "Advertise To Prefix"; } // This object holds per address family per bgp vrf aggregate address information container aggaddr-items { list AggAddr-list { key "addr"; uses bgp_AggAddr-group; description "Configure BGP aggregate prefixes list"; } description "Configure BGP aggregate prefixes"; } // BGP Additional Paths feature allows the advertisement of multiple // paths through the same peering session for the same prefix without // the new paths implicitly replacing any previous paths container addlpath-items { uses bgp_AddlPath-group; description "Additional Paths: Advertise paths through the same peering session for the same prefix without the new implicitly replacing any previous paths."; } // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } // Show only Imported Routes // Ephemeral data container importedrt-items { uses bgp_ImportedRoutes-group; description "Display Imported Routes"; } // Show only Self-originated Routes // Ephemeral data container selforigrt-items { uses bgp_SelfOrigRoutes-group; description "Display Self-originated Routes"; } // Show only Injected Routes // Ephemeral data container injectedrt-items { uses bgp_InjectedRoutes-group; description "Display Injected Routes"; } // Ephemeral data container exportedrt-items { uses bgp_ExportedRoutes-group; description "Display Exported Routes"; } // Show only Received Paths Routes // Ephemeral data container rcvdpathsrt-items { uses bgp_RcvdPathsRoutes-group; description "Display Received Paths Routes"; } // This object holds the bgp routes matching route-map // Ephemeral data container rtmap-items { // Ephemeral data list RtMapRoutes-list { config "false"; key "name"; uses bgp_RtMapRoutes-group; description "Display Routes matching rtmap name list"; } description "Display Routes matching rtmap name"; } // This object holds the bgp routes matching filter-list // Ephemeral data container fltrlist-items { // Ephemeral data list FltrListRoutes-list { config "false"; key "name"; uses bgp_FltrListRoutes-group; description "Display Routes matching filter-list name list"; } description "Display Routes matching filter-list name"; } // This object holds the bgp routes matching prefix-list // Ephemeral data container pfxlist-items { // Ephemeral data list PfxListRoutes-list { config "false"; key "name"; uses bgp_PfxListRoutes-group; description "Display Routes matching prefix-list name list"; } description "Display Routes matching prefix-list name"; } // Show only Dampening Paths Routes // Ephemeral data container damppathsrt-items { uses bgp_DampPathsRoutes-group; description "Display Dampening Paths Routes"; } // Show only Dampening History Paths Routes // Ephemeral data container damphstpathsrt-items { uses bgp_DampHistPathsRoutes-group; description "Display Dampening History Paths Routes"; } // Show Routes by route-type // Ephemeral data container rttype-items { // Ephemeral data list RtTypeRoutes-list { config "false"; key "rtType"; uses bgp_RtTypeRoutes-group; description "Display routes by route-type 1-5 list"; } description "Display routes by route-type 1-5"; } // Show Evpn routes by vni-id // Ephemeral data container vnid-items { // Ephemeral data list EvpnVnIdRoutes-list { config "false"; key "vnid"; uses bgp_EvpnVnIdRoutes-group; description "Display Evpn routes by vni id 1-16777214 list"; } description "Display Evpn routes by vni id 1-16777214"; } // Show Evpn routes by mac address // Ephemeral data container mac-items { // Ephemeral data list EvpnMacAddrRoutes-list { config "false"; key "macaddr"; uses bgp_EvpnMacAddrRoutes-group; description "Display Evpn routes by mac address EE:EE:EE:EE:EE:EE list"; } description "Display Evpn routes by mac address EE:EE:EE:EE:EE:EE"; } // Show routes by RD // Ephemeral data container rd-items { // Ephemeral data list RdRoutes-list { config "false"; key "rd"; uses bgp_RdRoutes-group; description "Display RD routes by format ASN2:NN ASN4:NN IPV4:NN list"; } description "Display RD routes by format ASN2:NN ASN4:NN IPV4:NN"; } // Show routes by exact Prefix // Ephemeral data container pfx-items { // Ephemeral data list PfxRoutes-list { config "false"; key "pfx"; uses bgp_PfxRoutes-group; description "Display Prefix routes by format IPV4 and IPV6 addr list"; } description "Display Prefix routes by format IPV4 and IPV6 addr"; } // Show Evpn routes by Ethernet Segment // Ephemeral data container esid-items { // Ephemeral data list EvpnEsRoutes-list { config "false"; key "esid"; uses bgp_EvpnEsRoutes-group; description "Display Evpn Ethernet Segment routes by ESID list"; } description "Display Evpn Ethernet Segment routes by ESID"; } // Show nexthop routes // Ephemeral data container nh-items { // Ephemeral data list NextHopRoutes-list { config "false"; key "pfx"; uses bgp_NextHopRoutes-group; description "Display next hop routes list"; } description "Display next hop routes"; } // Show MCAST Routes by route-type // Ephemeral data container mrttype-items { // Ephemeral data list McastRtTypeRoutes-list { config "false"; key "rtType"; uses bgp_McastRtTypeRoutes-group; description "Display MCAST routes by route-type 1-7 list"; } description "Display MCAST routes by route-type 1-7"; } // This objects holds default route leak policy, // this is not needed for FCS in our solution container defrtleak-items { uses bgp_DefRtLeakP-group; description "Default Route Leak Policy"; } // Inter protocol route leak policy. This defines distribution // of routes from one protocol to another protocol container interleak-items { list InterLeakP-list { key "proto inst"; uses bgp_InterLeakP-group; description "Inter Protocol Leak Policy: Defines the distribution of routes from one protocol to another protocol list"; } description "Inter Protocol Leak Policy: Defines the distribution of routes from one protocol to another protocol"; } // Inject route leak policy route map container injname-items { list InjLeakP-list { key "name rtMap"; uses bgp_InjLeakP-group; description "Inject Route Policy list"; } description "Inject Route Policy"; } } grouping bgp_VpnCtrlP-group { description "Virtual Private Network Control Policy"; // Type leaf type { config "false"; type bgp_AfT; description "Address Family Type"; } } grouping bgp_AdminDist-group { description "Administrative Distance: This is the distance used by routers to select the best path when there are two or more different routes to the same destination from two different routing protocols."; // eBGP Distance leaf eDist { type bgp_Distance; default "20"; description "eBGP Distance"; } // iBGP Distance leaf iDist { type bgp_Distance; default "200"; description "iBGP Distance"; } // Local Distance leaf localDist { type bgp_Distance; default "220"; description "Local Distance"; } } grouping bgp_DampeningCtrl-group { description "Dampening Control: BGP route flap dampening parameters"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Apply route-map to specify dampening criteria"; } // Dampening decay half life leaf halfLife { type rtmap_DampHalfLife; description "Decay Half Life, range 1-45"; } // Dampening reuse limit leaf reuse { type rtmap_DampReuse; description "Dampening Reuse Limit"; } // Dampening suppress limit leaf suppress { type rtmap_DampSuppress; description "Dampening Suppress Limit"; } leaf maxSupprPenalty { config "false"; type uint32; description "Max Suppress Penalty"; } // Dampening max suppress time leaf maxSuppressTime { type rtmap_DampMaxSuppressTime; description "Max Suppress Time"; } } grouping bgp_AdvPrefix-group { description "Advertise To Prefix"; leaf addr { type address_Ip; description "IP address of the network or prefix to advertise"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map to modify attributes"; } leaf evpn { type bgp_AdminSt; description "Evpn to advertise route towards evpn side"; } } grouping bgp_AggAddr-group { description "Configure BGP aggregate prefixes"; leaf addr { type address_Ip; description "Aggregate Address"; } leaf adverMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Advertise Map: Route map used to select attribute information from selected routes"; } leaf attrMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Attribute Map: Route map to set attribute information of aggregate"; } // Generate AS set path info and community info from contributing paths leaf asSet { type bgp_AsSet; description "AS-SET"; } // Aggregate Address Summary only leaf summaryOnly { type bgp_SummaryOnly; description "Aggregate address Summary only"; } leaf supprMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Suppress Map to conditionally filter more-specific routes"; } } grouping bgp_AddlPath-group { description "Additional Paths: Advertise paths through the same peering session for the same prefix without the new implicitly replacing any previous paths."; // Capability leaf capability { type bgp_AddlPathCapT; description "Additional paths capability"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map name for path selection"; } } grouping bgp_ImportedRoutes-group { description "Display Imported Routes"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } } grouping bgp_SelfOrigRoutes-group { description "Display Self-originated Routes"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } } grouping bgp_InjectedRoutes-group { description "Display Injected Routes"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } } grouping bgp_ExportedRoutes-group { description "Display Exported Routes"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } } grouping bgp_RcvdPathsRoutes-group { description "Display Received Paths Routes"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_RtMapRoutes-group { description "Display Routes matching rtmap name"; // Ephemeral data leaf name { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "Route ctrl name"; } // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_FltrListRoutes-group { description "Display Routes matching filter-list name"; // Ephemeral data leaf name { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "Route ctrl name"; } // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_PfxListRoutes-group { description "Display Routes matching prefix-list name"; // Ephemeral data leaf name { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "Route ctrl name"; } // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } } grouping bgp_DampHistPathsRoutes-group { description "Display Dampening History Paths Routes"; // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_RtTypeRoutes-group { description "Display routes by route-type 1-5"; // EVPN and Linkstate route-type // Ephemeral data leaf rtType { config "false"; type bgp_EvpnRtType; description "EVPN route-type"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } } grouping bgp_EvpnVnIdRoutes-group { description "Display Evpn routes by vni id 1-16777214"; // EVPN route-type // Ephemeral data leaf vnid { config "false"; type bgp_Vnid; description "EVPN vnid (Value should be in the range 1-16777214 when the feature is enabled.)"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } } grouping bgp_EvpnMacAddrRoutes-group { description "Display Evpn routes by mac address EE:EE:EE:EE:EE:EE"; // Ephemeral data leaf macaddr { config "false"; type address_Mac; description "EVPN mac address"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } } grouping bgp_RdRoutes-group { description "Display RD routes by format ASN2:NN ASN4:NN IPV4:NN"; // Ephemeral data leaf rd { config "false"; type mtx_array_community; description "Route Distinguisher"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_PfxRoutes-group { description "Display Prefix routes by format IPV4 and IPV6 addr"; // Ephemeral data leaf pfx { config "false"; type address_Ip; description "Evpn/LnkState Prefix"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } } grouping bgp_EvpnEsRoutes-group { description "Display Evpn Ethernet Segment routes by ESID"; // Ephemeral data leaf esid { config "false"; type string { pattern "[!-~]{1,10}"; } description "Evpn Ethernet Segment ID"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } } grouping bgp_NextHopRoutes-group { description "Display next hop routes"; // Ephemeral data leaf pfx { config "false"; type address_Ip; description "Prefix"; } // This object holds the bgp route information // Ephemeral data container rt-items { // Ephemeral data list Route-list { config "false"; key "pfx"; uses bgp_Route-group; description "Route list"; } description "Route"; } // This object holds the bgp vpn route information // Ephemeral data container vpnrt-items { // Ephemeral data list VpnRoute-list { config "false"; key "pfx rd"; uses bgp_VpnRoute-group; description "VPN Route information list"; } description "VPN Route information"; } // Ephemeral data container lblrt-items { // Ephemeral data list LblRoute-list { config "false"; key "pfx"; uses bgp_LblRoute-group; description "Labeled Route list"; } description "Labeled Route"; } // Ephemeral data container lsrt-items { // Ephemeral data list LnkStRoute-list { config "false"; key "pfx"; uses bgp_LnkStRoute-group; description "Link State Route list"; } description "Link State Route"; } // EVPN route // Ephemeral data container evpnrt-items { // Ephemeral data list EvpnRoute-list { config "false"; key "pfx rd"; uses bgp_EvpnRoute-group; description "EVPN Route list"; } description "EVPN Route"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_McastRtTypeRoutes-group { description "Display MCAST routes by route-type 1-7"; // MCAST route-type // Ephemeral data leaf rtType { config "false"; type bgp_MvpnRtType; description "MVPN route-type"; } // MCAST-VPN route // Ephemeral data container mvpnrt-items { // Ephemeral data list MvpnRoute-list { config "false"; key "pfx rd"; uses bgp_MvpnRoute-group; description "MVPN Route list"; } description "MVPN Route"; } } grouping bgp_InterLeakP-group { description "Inter Protocol Leak Policy: Defines the distribution of routes from one protocol to another protocol"; // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; default "inter"; description "Scope"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map applied to redistributed routes"; } // Protocol from where the routes are leaked leaf proto { type rtleak_Proto; description "Protocol"; } // Routing protocol instance, the routing instance of the // protocol from where the routes are being leaked leaf inst { type rtleak_Inst; description "Instance"; } // Leak BGP routes from this Autonomous System (AS) <1-4294967295>|<1-65535>[.<0-65535>] Autonomous system number leaf asn { type rtleak_Asn { pattern "((none)|([1-9]{1}[0-9]{0,8}|[1-3]{1}[0-9]{1,9}|4{1}[0-1]{1}[0-9]{8}|4{1}2{1}[0-8]{1}[0-9]{7}|4{1}2{1}9{1}[0-3]{1}[0-9]{6}|4{1}2{1}9{1}4{1}[0-8]{1}[0-9]{5}|4{1}2{1}9{1}4{1}9{1}[0-5]{1}[0-9]{4}|4{1}2{1}9{1}4{1}9{1}6{1}[0-6]{1}[0-9]{3}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}[0-1]{1}[0-9]{2}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}[0-8]{1}[0-9]{1}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}9{1}[0-5]{1})|(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\.([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])))"; } description "Autonomous System Number"; } // SRv6 Prefix Type which is being leaked leaf srv6PrefixType { type rtleak_Srv6PrefixType; description "SRv6 Prefix Type; Valid only when proto is srv6"; } } grouping bgp_InjLeakP-group { description "Inject Route Policy"; // Copy attributes from aggregate leaf copyAttr { type bgp_AdminSt; description "Copy attributes from aggregate"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[!-~]{0,63}.*"; } description "Inject Route Map Name"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; description "Scope"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map which specifies prefixes to inject"; } } grouping bgp_BmpSvr-group { description "BMP server configuration"; // BMP server identifier leaf id { type bgp_SrvId; description "BMP Server Id"; } leaf addr { type address_Ip; description "IP address of the BMP server"; } leaf port { type uint16 { range "0..65535"; } description "Port number of the BMP server"; } leaf descr { type string { pattern "(.{1,80}).*|()"; } description "BMP server description string"; } leaf refreshIntvlDelay { type uint16 { range "30..720"; } default "30"; description "Route refresh trigger delay"; } leaf refreshIntvlSkip { type boolean; default "false"; description "Route refresh trigger skip"; } leaf delayIntvl { type uint16 { range "30..720"; } default "45"; description "Initial connect delay"; } leaf statIntvl { type uint16 { range "0..720"; } description "Statistics reporting interval"; } // BMP server session config leaf adminSt { type bgp_BmpSt; description "BMP server config state"; } // BMP server VRF config leaf vrfName { type l3_VrfName; default "default"; description "VRF for BMP server"; } // BMP server Source interface leaf srcIf { type nw_IfId; description "Source Interface for BMP server"; } } grouping bgp_Gr-group { description "Graceful Restart"; // Graceful restart controls leaf ctrl { type bgp_GrCtrl; description "Graceful Restart Control"; } // Restart interval leaf restartIntvl { type bgp_GrIntvl; description "Restart Time Advertised to Peer"; } // Stale interval for routes advertised by peer leaf staleIntvl { type bgp_GrStaleIntvl; description "Stale Time for Routes Advertised by Peer"; } } grouping bgp_Peer-group { description "BGP Peer: BGP information pertaining to a peer with ip"; leaf addr { type address_Ip; description "IP Address of the neighbor"; } leaf password { type string; description "Configure a password for neighbor"; } // Source interface leaf srcIf { type nw_IfId; description "Source interface of BGP session and updates"; } // Maximum peers for prefix leaf maxPeerCnt { type bgp_MaxPeerCnt; description "Maximum Peers For Prefix"; } // Bits in this property represent whether to inherit or // not to inherit from template. // To disable inheritance of an attribute from a template // of a neighbor, set the corresponding bit of this // property. // For example, to disable inheritance of 'keepalive and hold // timer' and BFD from a template, set this property with // values - 'timer' and 'bfd'. // A note that any attributes configured for the neighbor // take priority over any attributes inherited from a // template. leaf inheritContPeerCtrl { type bgp_InheritContPeerCtrlType; description "Inherit control of peer parameters"; } leaf name { type naming_Name256 { length "0..128"; pattern "(.{1,80}).*|()"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Administrative State"; } leaf asn { type string; description "Autonomous System Number, takes value from (1-4294967295 | 1-65535[.(0-65535)])"; } // Remote ASN Type - external or internal leaf asnType { type bgp_PeerAsnType; description "Specify peer ASN type as External or Internal"; } // Generate system message when any neighbor state changes leaf logNbrChgs { type bgp_LogNbrSt; description "Log messages for Neighbor up/down events"; } // Peer Fabric type leaf peerType { type bgp_PeerFabType; description "Neighbor Fabric Type"; } leaf passwdType { type bgp_PwdType; description "Password EnCrypt Type"; } // Peer controls leaf ctrl { type bgp_PeerControl; description "Peer Controls"; } // eBGP Multihop leaf ttl { type bgp_TtlVal; description "eBGP Multihop TTL value"; } // Keepalive interval, how often you send keepalives leaf kaIntvl { type bgp_KaIntvl; description "Keepalive Interval"; } // Hold interval, how long you wait before you declare the // neighbor down leaf holdIntvl { type bgp_HoldIntvl; description "Hold Interval"; } // Connection Mode leaf connMode { type bgp_ConnMode; description "BGP transport connection mode"; } leaf sessionContImp { type string { pattern ".*[!-~]{0,80}.*"; } description "Peer Session Template To Import From"; } leaf peerImp { type string { pattern ".*[!-~]{0,80}.*"; } description "Peer Template To Import From"; } // Remove Private ASN leaf privateASctrl { type bgp_PrivateASControl; description "Remove private AS number from outbound updates"; } // Egress Peer Engineering (EPE) for neighbor leaf epe { type bgp_AdminSt; description "Egress Peer Engineering EPE for neighbor"; } leaf epePeerSet { type string { pattern ".*[!-~]{0,63}.*"; } description "Egress Peer Engineering EPE Peer-Set name"; } // Low Memory Exempt leaf lowMemExempt { type bgp_AdminSt; description "Low Memory Exempt"; } // Capability Suppress leaf capSuppr4ByteAsn { type bgp_AdminSt; description "Capability Suppress 4-byte-as"; } leaf affGrp { type uint16; description "Affinity group for the neighbor."; } leaf ttlScrtyHops { type uint16 { range "0..254"; } description "Enable TTL Security Mechanism"; } // bmp-activate-server 1 leaf bmpSrvId1St { type bgp_AdminSt; description "Activate BMP Server 1"; } // bmp-activate-server 2 leaf bmpSrvId2St { type bgp_AdminSt; description "Activate BMP Server 2"; } // Dscp value, set it in tcp packets leaf dscp { type bgp_BgpDscp; description "Specify DSCP value for Locally Originated packets"; } // Forced BFD session type leaf bfdType { type bgp_BfdSessionType; description "Specify BFD session type"; } leaf dynRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Dynamic/Prefix Peer Route Map"; } // internal-vpn-client leaf internalVpnClient { type bgp_AdminSt; description "internal-vpn-client for iBGP PE-CE Support"; } // Operational state Maximum Prefix Peers leaf maxPfxPeers { config "false"; type bgp_PfxPeerCounts; description "Maximum Prefix Peers Count"; } // Current Prefix Peers leaf curPfxPeers { config "false"; type bgp_PfxPeerCounts; description "Current Prefix Peers Counts"; } // Active Prefix Peers leaf activePfxPeers { config "false"; type bgp_PfxPeerCounts; description "Active Prefix Peer Counts"; } // Maximum Current Peers leaf maxCurPeers { config "false"; type bgp_PfxPeerCounts; description "Maximum Current Peers Counts"; } // Total Prefix Peers leaf totalPfxPeers { config "false"; type bgp_PfxPeerCounts; description "Total Prefix Peers Counts"; } // This object holds the path attribute type container pathattr-items { list PathAttr-list { key "fltrType"; uses bgp_PathAttr-group; description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute list"; } description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute"; } // Mo to hold bfd multihop interval information container mhbfdintvl-items { uses bgp_MhBfdIntvl-group; description "Configure BFD session interval parameters"; } // Mo to hold bfd multihop Authenticationinformation container mhbfdauth-items { uses bgp_MhBfdAuth-group; description "Configure BFD authentication parameters"; } // This objects hold graceful shutdown informations container gs-items { uses bgp_Gs-group; description "Graceful shutdown activation/deactivation information under global, peer and template mode"; } // This object holds local AS information pertaining to a peer container localasn-items { uses bgp_LocalAsn-group; description "Local AS: local AS information pertaining to a peer"; } // This object holds bgp peer operational status information. container ent-items { list PeerEntry-list { config "false"; key "addr"; uses bgp_PeerEntry-group; description "BGP Peer Entry: BGP peer operational status information. list"; } description "BGP Peer Entry: BGP peer operational status information."; } // This object holds operational state information for // bgp segment routing egress peer engineering container epe-items { uses bgp_PeerEpeEntry-group; description "BGP Peer Egress Peer Engineering Entry"; } // This object holds per address family bgp peer information container af-items { list PeerAf-list { key "type"; uses bgp_PeerAf-group; description "Peer Address Family list"; } description "Peer Address Family"; } } grouping bgp_PeerEntry-group { description "BGP Peer Entry: BGP peer operational status information."; leaf addr { config "false"; type address_Ip; description "IP Address of Peer"; } // Peer Type leaf type { config "false"; type bgp_PeerType; description "Peer Link Type"; } // Peer router id leaf rtrId { config "false"; type ip_RtrId; description "Router ID"; } // Operational state leaf operSt { config "false"; type bgp_PeerOperSt; description "Operational State"; } // Previous Operational state leaf prevOperSt { config "false"; type bgp_PeerOperSt; description "Previous Operational State"; } // Shut state qualifier leaf shutStQual { config "false"; type bgp_ShutStQual; description "Shut State Qualifier"; } leaf lastFlapTs { config "false"; type union { type string; type uint64; } description "Last Flap Timestamp"; } leaf maxConnRetryIntvl { config "false"; type uint16; default "60"; description "Max Connect Retry Interval"; } // Flags leaf flags { config "false"; type bgp_PeerFlags; description "Flags"; } // Advertised capability leaf advCap { config "false"; type bgp_CapT; description "Advertised Capability"; } // Received capability leaf rcvCap { config "false"; type bgp_CapT; description "Received Capability"; } // Connected interface leaf connIf { config "false"; type nw_IfId; description "Directly Attached Interface"; } // Negotiated hold time leaf holdIntvl { config "false"; type bgp_HoldIntvl; description "Hold Interval in secs"; } // Negotiated keepalive interval leaf kaIntvl { config "false"; type bgp_KaIntvl; description "Keepalive Interval in secs"; } leaf localIp { config "false"; type address_Ip; description "Local IP"; } // Local L4 port leaf localPort { config "false"; type l4_Port; description "Local port number of the local host"; } // Remote L4 port leaf remotePort { config "false"; type l4_Port; description "Remote port number of the remote host"; } // Number of times connections established leaf connEst { config "false"; type cap_Quant; description "Connections Established"; } // Number of times connections dropped leaf connDrop { config "false"; type cap_Quant; description "Connections Dropped"; } leaf updateElapsedTs { config "false"; type union { type string; type uint64; } description "Last Update Received Timestamp"; } // FD to connect to peer leaf fd { config "false"; type bgp_SockFD; description "FD to Connect to Peer"; } // Peer Index leaf peerIdx { config "false"; type bgp_PeerIdx; description "Peer Index"; } // Connection Attempts leaf connAttempts { config "false"; type bgp_ConnAttempts; description "Connection Attempts"; } // Peer idle state reason leaf stReason { config "false"; type bgp_StReason; description "Peer Idle State Reason"; } // Current operational state of the peer regarding its dynamic status leaf operPeerIsDynamic { config "false"; type bgp_EnableSt; description "Operational state of the Peer regarding its dynamic status"; } // Indicate if password is set leaf passwdSet { config "false"; type bgp_PasswdSet; description "TCP MD5 Authentication"; } leaf operAsn { config "false"; type string; description "Operational Remote ASN value"; } // This objects hold graceful restart operational information. This // is valid per neighbor container gr-items { uses bgp_GrSt-group; description "Graceful Restart State"; } // This object holds peer event information container ev-items { uses bgp_PeerEvents-group; description "Peer Events"; } // This object holds operational state information for // bgp segment routing egress peer engineering container epe-items { uses bgp_PeerEpeEntry-group; description "BGP Peer Egress Peer Engineering Entry"; } // This object holds bgp peer af operational status info container af-items { list PeerAfEntry-list { config "false"; key "type"; uses bgp_PeerAfEntry-group; description "BGP Peer Address Family Entry list"; } description "BGP Peer Address Family Entry"; } // This object holds bgp peer statistics operational information. // This is a singleton within a peerEntry container peerstats-items { uses bgp_PeerEntryStats-group; description "Peer Entry Statistics"; } } grouping bgp_GrSt-group { description "Graceful Restart State"; // Graceful state leaf operSt { config "false"; type bgp_PeerGrSt; description "Operational State"; } // Graceful restart interval advertised by peer leaf restartIntvl { config "false"; type bgp_PeerGrIntvl; description "Peer Graceful Restart Interval"; } leaf grTs { config "false"; type union { type string; type uint64; } description "Graceful Restart Timestamp"; } } grouping bgp_PeerEvents-group { description "Peer Events"; // Major error during last reset sent leaf majErrRstSent { config "false"; type bgp_MajNotifErr; description "Major Error During Last Resent Sent"; } // Minor error during last reset sent leaf minErrRstSent { config "false"; type bgp_MinNotifErr; description "Minor Error During Last Reset Sent"; } // Last error value sent leaf lastErrValSent { config "false"; type bgp_LastErrVal; description "Last Error Value Sent"; } leaf rstSentTs { config "false"; type union { type string; type uint64; } description "Reset Sent Timestamp"; } // Major error during last reset received leaf majErrRstRsvd { config "false"; type bgp_MajNotifErr; description "Major Error During Last Reset Received"; } // Minor error during last reset received leaf minErrRstRsvd { config "false"; type bgp_MinNotifErr; description "Minor Error During Last Reset Received"; } // Last error value received leaf lastErrValRsvd { config "false"; type bgp_LastErrVal; description "Last Error Value Received"; } leaf rstRsvdTs { config "false"; type union { type string; type uint64; } description "Reset Received Timestamp"; } // Last error length received leaf lastErrLenRsvd { config "false"; type bgp_LastErrLen; description "Last Error Length Received"; } // Last error length sent leaf lastErrLenSent { config "false"; type bgp_LastErrLen; description "Last Error Length Sent"; } leaf lastErrDataRsvd { config "false"; type string; description "Last Error Data Received"; } leaf lastErrDataSent { config "false"; type string; description "Last Error Data Sent"; } } grouping bgp_PeerEpeEntry-group { description "BGP Peer Egress Peer Engineering Entry"; // Egress peer engineering leaf adminSt { config "false"; type bgp_EgressPeerEng; description "Egress Peer Engineering State"; } leaf sid { config "false"; type uint32; description "EPE Peer Segment ID"; } leaf rpcSetID { config "false"; type uint32; description "EPE Peer RPC Set ID"; } leaf peerSetName { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "EPE Peer Set Name"; } leaf peerSetSid { config "false"; type uint32; description "EPE Peer Set Segment ID"; } leaf peerSetRpcSetID { config "false"; type uint32; description "EPE Peer Set RPC Set ID"; } // Egress Peer Engineering Peer Adjacencies container epeadj-items { list PeerEpeAdj-list { config "false"; key "rpcSetID"; uses bgp_PeerEpeAdj-group; description "Egress Peer Engineering Peer Adjacencies list"; } description "Egress Peer Engineering Peer Adjacencies"; } } grouping bgp_PeerEpeAdj-group { description "Egress Peer Engineering Peer Adjacencies"; leaf localAddr { config "false"; type address_Ip; description "Local IP Address"; } leaf remoteAddr { config "false"; type address_Ip; description "Remote IP Address"; } // Interface index leaf ifIndex { config "false"; type nw_IfId; description "Interface Index"; } leaf rpcSetID { config "false"; type uint32; description "RPC Set ID"; } leaf sid { config "false"; type uint32; description "Adjcency Segment ID"; } } grouping bgp_PeerAfEntry-group { description "BGP Peer Address Family Entry"; // Local BGP table version leaf tblVer { config "false"; type bgp_TblVer; description "Local BGP Table Version"; } // Peer table version leaf peerTblVer { config "false"; type bgp_TblVer; description "Peer Table Version"; } // Table state leaf tblSt { config "false"; type bgp_TblSt; description "Table State"; } // Number of accepted paths leaf acceptedPaths { config "false"; type bgp_NumPaths; description "Number of accepted paths"; } // Number of denied paths leaf deniedPaths { config "false"; type bgp_NumPaths; description "Number of denied paths"; } // Number of withDrawn paths leaf withDrawnPaths { config "false"; type bgp_NumPaths; description "Number of withDrawn paths"; } // Number of treatAsWithdrawn paths leaf treatAswithDrawnPaths { config "false"; type bgp_NumPaths; description "Number of treat-as-withdrawn paths"; } // Memory consumed by the number of accepted paths leaf memAccPaths { config "false"; type bgp_MemConsumed; description "Memory consumed by the number of accepted paths"; } // Flags leaf flags { config "false"; type bgp_PeerAfFlags; description "Flags"; } // Prefixes Sent to peer leaf pfxSent { config "false"; type bgp_PfxSent; description "Prefixes sent to peer"; } // Prefixes Saved from peer leaf pfxSaved { config "false"; type bgp_PfxSaved; description "Prefixes saved from peer"; } // Prefixes Flushed from peer leaf pfxFlushed { config "false"; type bgp_PfxFlushed; description "Prefixes flushed from peer"; } leaf lastEorRcvdTs { config "false"; type union { type string; type uint64; } description "Last EOR Received Timestamp"; } leaf firstEorRcvdTs { config "false"; type union { type string; type uint64; } description "First EOR Received Timestamp"; } // Type leaf type { config "false"; type bgp_AfT; description "Address Family Type"; } } grouping bgp_PeerEntryStats-group { description "Peer Entry Statistics"; // BGP Peer Stats Number of BGP Open Messages sent leaf openSent { config "false"; type bgp_PeerCount; description "Number of Open Messages Sent"; } // Number of BGP Open Messages received leaf openRcvd { config "false"; type bgp_PeerCount; description "Number of Open Messages Received"; } // Number of BGP Update Messages sent leaf updateSent { config "false"; type bgp_PeerCount; description "Number of Update Messages Sent"; } // Number of BGP Update Messages received leaf updateRcvd { config "false"; type bgp_PeerCount; description "Number of Update Messages Received"; } // Number of BGP Keepalive Messages sent leaf kaSent { config "false"; type bgp_PeerCount; description "Number of Keepalive Messages Sent"; } // Number of BGP Keepalive Messages received leaf kaRcvd { config "false"; type bgp_PeerCount; description "Number of Keepalive Messages Received"; } // Number of BGP Route Refresh Messages sent leaf routeRefreshSent { config "false"; type bgp_PeerCount; description "Number of Route Refresh Messages Sent"; } // Number of BGP Route Refresh Messages received leaf routeRefreshRcvd { config "false"; type bgp_PeerCount; description "Number of Route Refresh Messages Received"; } // Number of BGP Capability Messages sent leaf capSent { config "false"; type bgp_PeerCount; description "Number of Capability Messages Sent"; } // Number of BGP Capability Messages received leaf capRcvd { config "false"; type bgp_PeerCount; description "Number of Capability Messages Received"; } // Number of BGP Notification Messages sent leaf notifSent { config "false"; type bgp_PeerCount; description "Number of Notification Messages Sent"; } // Number of BGP Notification Messages received leaf notifRcvd { config "false"; type bgp_PeerCount; description "Number of Notification Messages Received"; } // Number of BGP Messages sent leaf msgSent { config "false"; type bgp_PeerCount; description "Number of Messages Sent"; } // Number of BGP Messages received leaf msgRcvd { config "false"; type bgp_PeerCount; description "Number of Messages Received"; } // Number of BGP Message Bytes sent leaf byteSent { config "false"; type bgp_PeerCount; description "Number of Bytes Sent"; } // Number of BGP Message Bytes received leaf byteRcvd { config "false"; type bgp_PeerCount; description "Number of Bytes Received"; } // Bytes in send queue leaf byteInSendQ { config "false"; type bgp_PeerCount; description "Bytes in Send Queue"; } // Bytes in receive queue leaf byteInRecvQ { config "false"; type bgp_PeerCount; description "Bytes in Receive Queue"; } leaf connectRetryTs { config "false"; type union { type string; type uint64; } description "Connect Retry Timestamp"; } leaf kaTs { config "false"; type union { type string; type uint64; } description "Keepalive Timestamp"; } // Total Discarded Attributes leaf totalDiscardedAttributes { config "false"; type bgp_PeerCount; description "Total number of attributes discarded"; } } grouping bgp_PeerIf-group { description "BGP Peer: BGP information pertaining to a peer with interface"; // Peer interface id leaf id { type nw_IfId; description "Interface identifier of the neighbor"; } leaf password { type string; description "Configure a password for neighbor"; } leaf operIpAddr { config "false"; type address_Ip; description "IP Address of the interface"; } // Maximum peers for prefix leaf maxPeerCnt { type bgp_MaxPeerCnt; description "Maximum Peers For the interface"; } // Bits in this property represent whether to inherit or // not to inherit from template. // To disable inheritance of an attribute from a template // of a neighbor, set the corresponding bit of this // property. // For example, to disable inheritance of 'keepalive and hold // timer' and BFD from a template, set this property with // values - 'timer' and 'bfd'. // A note that any attributes configured for the neighbor // take priority over any attributes inherited from a // template. leaf inheritContPeerCtrl { type bgp_InheritContPeerCtrlType; description "Inherit control of peer parameters"; } leaf name { type naming_Name256 { length "0..128"; pattern "(.{1,80}).*|()"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Administrative State"; } leaf asn { type string; description "Autonomous System Number, takes value from (1-4294967295 | 1-65535[.(0-65535)])"; } // Remote ASN Type - external or internal leaf asnType { type bgp_PeerAsnType; description "Specify peer ASN type as External or Internal"; } // Generate system message when any neighbor state changes leaf logNbrChgs { type bgp_LogNbrSt; description "Log messages for Neighbor up/down events"; } // Peer Fabric type leaf peerType { type bgp_PeerFabType; description "Neighbor Fabric Type"; } leaf passwdType { type bgp_PwdType; description "Password EnCrypt Type"; } // Peer controls leaf ctrl { type bgp_PeerControl; description "Peer Controls"; } // eBGP Multihop leaf ttl { type bgp_TtlVal; description "eBGP Multihop TTL value"; } // Keepalive interval, how often you send keepalives leaf kaIntvl { type bgp_KaIntvl; description "Keepalive Interval"; } // Hold interval, how long you wait before you declare the // neighbor down leaf holdIntvl { type bgp_HoldIntvl; description "Hold Interval"; } // Connection Mode leaf connMode { type bgp_ConnMode; description "BGP transport connection mode"; } leaf sessionContImp { type string { pattern ".*[!-~]{0,80}.*"; } description "Peer Session Template To Import From"; } leaf peerImp { type string { pattern ".*[!-~]{0,80}.*"; } description "Peer Template To Import From"; } // Remove Private ASN leaf privateASctrl { type bgp_PrivateASControl; description "Remove private AS number from outbound updates"; } // Egress Peer Engineering (EPE) for neighbor leaf epe { type bgp_AdminSt; description "Egress Peer Engineering EPE for neighbor"; } leaf epePeerSet { type string { pattern ".*[!-~]{0,63}.*"; } description "Egress Peer Engineering EPE Peer-Set name"; } // Low Memory Exempt leaf lowMemExempt { type bgp_AdminSt; description "Low Memory Exempt"; } // Capability Suppress leaf capSuppr4ByteAsn { type bgp_AdminSt; description "Capability Suppress 4-byte-as"; } leaf affGrp { type uint16; description "Affinity group for the neighbor."; } leaf ttlScrtyHops { type uint16 { range "0..254"; } description "Enable TTL Security Mechanism"; } // bmp-activate-server 1 leaf bmpSrvId1St { type bgp_AdminSt; description "Activate BMP Server 1"; } // bmp-activate-server 2 leaf bmpSrvId2St { type bgp_AdminSt; description "Activate BMP Server 2"; } // Dscp value, set it in tcp packets leaf dscp { type bgp_BgpDscp; description "Specify DSCP value for Locally Originated packets"; } // Forced BFD session type leaf bfdType { type bgp_BfdSessionType; description "Specify BFD session type"; } leaf dynRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Dynamic/Prefix Peer Route Map"; } // internal-vpn-client leaf internalVpnClient { type bgp_AdminSt; description "internal-vpn-client for iBGP PE-CE Support"; } // Operational state Maximum Prefix Peers leaf maxPfxPeers { config "false"; type bgp_PfxPeerCounts; description "Maximum Prefix Peers Count"; } // Current Prefix Peers leaf curPfxPeers { config "false"; type bgp_PfxPeerCounts; description "Current Prefix Peers Counts"; } // Active Prefix Peers leaf activePfxPeers { config "false"; type bgp_PfxPeerCounts; description "Active Prefix Peer Counts"; } // Maximum Current Peers leaf maxCurPeers { config "false"; type bgp_PfxPeerCounts; description "Maximum Current Peers Counts"; } // Total Prefix Peers leaf totalPfxPeers { config "false"; type bgp_PfxPeerCounts; description "Total Prefix Peers Counts"; } // This object holds the path attribute type container pathattr-items { list PathAttr-list { key "fltrType"; uses bgp_PathAttr-group; description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute list"; } description "Configure peer to filter optional attributes on a BGP Update message and treat the BGP Update Message as Withdraw or Discard the attribute"; } // This objects hold graceful shutdown informations container gs-items { uses bgp_Gs-group; description "Graceful shutdown activation/deactivation information under global, peer and template mode"; } // This object holds local AS information pertaining to a peer container localasn-items { uses bgp_LocalAsn-group; description "Local AS: local AS information pertaining to a peer"; } // This object holds bgp peer operational status information. container ent-items { list PeerEntry-list { config "false"; key "addr"; uses bgp_PeerEntry-group; description "BGP Peer Entry: BGP peer operational status information. list"; } description "BGP Peer Entry: BGP peer operational status information."; } // This object holds per address family bgp peer information container af-items { list PeerAf-list { key "type"; uses bgp_PeerAf-group; description "Peer Address Family list"; } description "Peer Address Family"; } } grouping bgp_EvtHist-group { description "BGP customized buffer detail for event-history"; // Event-history buffer type leaf type { type bgp_EhType; description "Configure event-history {cli | events | periodic | detail | errors | socket | nve | objstore | prefixes | peer | urib | l2rib | rpki}"; } // Event-history buffer size leaf size { type bgp_Size; description "Configure event-history with buffer size"; } } grouping bgp_OperBgp-group { description "Top-level container to hold BGP runtime operational data"; // This object holds bgp operational information for L2. container l2-items { list OperRtctrlL2-list { config "false"; key "encap"; uses bgp_OperRtctrlL2-group; description "BGP operational data for L2 EVPN. This MO contains route control information for evpn prefixes. list"; } description "BGP operational data for L2 EVPN. This MO contains route control information for evpn prefixes."; } // This object holds bgp operational information for L3. container l3-items { list OperRtctrlL3-list { config "false"; key "encap"; uses bgp_OperRtctrlL3-group; description "BGP operational data for L3. This MO contains route control information for L3 prefixes belonging to address families IPv4 and IPv6 list"; } description "BGP operational data for L3. This MO contains route control information for L3 prefixes belonging to address families IPv4 and IPv6"; } } grouping bgp_OperRtctrlL2-group { description "BGP operational data for L2 EVPN. This MO contains route control information for evpn prefixes."; leaf assocDom { config "false"; type string { pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}"; } description "L2VNI's associated IP-VRF"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf rd { config "false"; type mtx_array_community; description "Route Distinguisher"; } leaf encap { config "false"; type string; description "Encapsulation"; } // Route target policy container rttp-items { list OperRttP-list { config "false"; key "type"; uses bgp_OperRttP-group; description "Operational Route Target Policy for import/export list"; } description "Operational Route Target Policy for import/export"; } } grouping bgp_OperRttP-group { description "Operational Route Target Policy for import/export"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Type leaf type { config "false"; type rtctrl_RttPType; description "Type"; } // List of route targets container entry-items { list OperRttEntry-list { config "false"; key "rtt"; uses bgp_OperRttEntry-group; description "Operational Route Target Entry list"; } description "Operational Route Target Entry"; } } grouping bgp_OperRttEntry-group { description "Operational Route Target Entry"; leaf rtt { config "false"; type mtx_array_community; description "Route Target"; } } grouping bgp_OperRtctrlL3-group { description "BGP operational data for L3. This MO contains route control information for L3 prefixes belonging to address families IPv4 and IPv6"; leaf assocDom { config "false"; type string { pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}"; } description "L3VNI's associated IP-VRF"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf rd { config "false"; type mtx_array_community; description "Route Distinguisher"; } leaf encap { config "false"; type string; description "Encapsulation"; } // This object holds per address family bgp vrf information container af-items { list OperDomAf-list { config "false"; key "type"; uses bgp_OperDomAf-group; description "Operational Address Family Domain list"; } description "Operational Address Family Domain"; } } grouping bgp_OperDomAf-group { description "Operational Address Family Domain"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type leaf type { config "false"; type bgp_AfT; description "Address Family Type"; } // This object holds policy to control vpn af // information for a given vrf container ctrl-items { list OperAfCtrl-list { config "false"; key "type"; uses bgp_OperAfCtrl-group; description "Operational Virtual Private Network Control Policy list"; } description "Operational Virtual Private Network Control Policy"; } } grouping bgp_OperAfCtrl-group { description "Operational Virtual Private Network Control Policy"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type leaf type { config "false"; type bgp_AfT; description "Address Family Type"; } // Route target policy container rttp-items { list OperRttP-list { config "false"; key "type"; uses bgp_OperRttP-group; description "Operational Route Target Policy for import/export list"; } description "Operational Route Target Policy for import/export"; } } grouping bgp_ConfSave-group { description "Used to store BGP config during replace"; leaf moSeqNumber { config "false"; type uint16; description "Sequence number for the config chunk"; } leaf confSegment { config "false"; type string; description "Segment of JSON formatted config string"; } } grouping bloggerd_Bloggerd-group { description "Bloggerd node, used as a placeholder for uniformity"; container inst-items { uses bloggerd_Inst-group; description "Bloggerd instance node, represents an instance of bloggerd"; } } grouping bloggerd_Inst-group { description "Bloggerd instance node, represents an instance of bloggerd"; // Log Dump for ALL services across ALL modules leaf logdumpAll { type bloggerd_Boolean; default "enabled"; description "Enable/Disable bloggerd log-dump for all services across all modules"; } container module-items { list Module-list { key "modId sapId"; uses bloggerd_Module-group; description "Enabling log-dump for given modules list"; } description "Enabling log-dump for given modules"; } } grouping bloggerd_Module-group { description "Enabling log-dump for given modules"; leaf modId { type uint32 { range "1..30"; } description "Enable bloggerd log-dump for given module Id"; } leaf sapId { type uint32 { range "0..65536"; } description "Enable bloggerd log-dump for given sap Id"; } leaf vdcId { type uint32; default "1"; description "Enable bloggerd log-dump for given vdc Id"; } // no_flag leaf noFlag { type bloggerd_Boolean; description "Enable/Disable no_flag for module/sap specific config"; } } grouping callhome_Callhome-group { description "Callhome node, used as a placeholder for uniformity"; container inst-items { uses callhome_Inst-group; description "Callhome instance node, represents an instance of callhome"; } } grouping callhome_Inst-group { description "Callhome instance node, represents an instance of callhome"; leaf callhomeEnable { type callhome_Boolean; default "disabled"; description "Enable/Disable callhome"; } leaf dupMsgThrottle { type callhome_Boolean; default "enabled"; description "Enable/Disable duplicate message throttling"; } leaf contractId { type callhome_StringRange; default ""; description "Service contract id of the customer"; } leaf customerId { type callhome_StringRange; default ""; description "Customer ID as specified in the service agreement"; } leaf emailId { type callhome_Email { length "0..255"; } description "Email address of the contact person"; } leaf phoneContact { type callhome_Phone { length "0..17"; } default ""; description "Contact person's phone number"; } leaf siteId { type callhome_StringRange; default ""; description "Site id of the network where switch is deployed"; } leaf streetAddress { type callhome_StringRange; default ""; description "Configure replacement part shipping address"; } leaf switchPri { type uint16 { range "0..7"; } default "7"; description "Priority of the switch"; } leaf periodicInvNotif { type callhome_Boolean; default "enabled"; description "Enable/Disable periodic inventory notification"; } leaf periodInvNotifInterval { type callhome_PeriodicSystemInventoryIntervalDays; default "7"; description "The time period for periodic inventory"; } leaf periodInvNotifTimeOfDayHour { type callhome_PeriodicSystemInventoryTimeOfDayHour; default "8"; description "The hour part of time period"; } leaf periodInvNotifTimeOfDayMinute { type callhome_PeriodicSystemInventoryTimeOfDayMinute; description "The minute part of time period"; } // mo for source interface container sourceinterface-items { uses callhome_SourceInterface-group; description "Source Interface node"; } // mo for alert group container alertgroup-items { list AlertGroup-list { key "alertGroup seqNum"; uses callhome_AlertGroup-group; description "Alert group node list"; } description "Alert group node"; } // mo for Destination profile container destprof-items { uses callhome_DestProf-group; description "Destination profile node with required delivery information for an alert notification"; } // mo for Transport container transport-items { uses callhome_Transport-group; description "Tranport node to configure transport related configuration"; } } grouping callhome_SourceInterface-group { description "Source Interface node"; leaf sourceInterface { type string { length "1..255"; } description "Source Interface for callhome transport"; } } grouping callhome_AlertGroup-group { description "Alert group node"; leaf alertGroup { type callhome_AlertGroupName; description "Grouped callhome alerts"; } leaf seqNum { type uint32 { range "1..5"; } description "Sequence number assosiated with user defined command"; } leaf userDefCmd { type string { length "1..600"; } description "User defined show commands for alert group action"; } } grouping callhome_DestProf-group { description "Destination profile node with required delivery information for an alert notification"; // mo for xml(CiscoTac1),full-text,short-text container predefprofile-items { list PredefinedProfile-list { key "predefProfile"; uses callhome_PredefinedProfile-group; description "Predefined destination profile node with required delivery information list"; } description "Predefined destination profile node with required delivery information"; } // mo for Custom Profile container custprof-items { list CustomProfile-list { key "profileName"; uses callhome_CustomProfile-group; description "User defined destination profile node list"; } description "User defined destination profile node"; } } grouping callhome_PredefinedProfile-group { description "Predefined destination profile node with required delivery information"; leaf predefProfile { type callhome_PredefProfileName; description "Predefined destination profile names"; } leaf transportMethodEmail { type callhome_Boolean; default "enabled"; description "Trnasport method as email "; } leaf transportMethodHttp { type callhome_Boolean; default "disabled"; description "Transport method as http"; } leaf messageLevel { type uint32 { range "0..9"; } default "0"; description "Callhome message-level for the configured profile"; } leaf messageSize { type uint32 { range "0..5000000"; } default "2500000"; description "Callhome message-size for the configured profile"; } leaf format { type callhome_Format; description "Callhome message format to be sent to configured profile"; } leaf alertGrpCiscoTac1 { type callhome_Boolean; description "Events which are meant for Cisco TAC only"; } leaf alertGrpConfiguration { type callhome_Boolean; description "Events related to Configuration"; } leaf alertGrpDiagnostic { type callhome_Boolean; description "Events related to Diagnostic"; } leaf alertGrpEEM { type callhome_Boolean; description "Events related to EEM"; } leaf alertGrpEnvironmental { type callhome_Boolean; description "Power,Fan,Temperature related events"; } leaf alertGrpInventory { type callhome_Boolean; description "Inventory Status Events"; } leaf alertGrpLinecard { type callhome_Boolean; description "Linecard related events"; } leaf alertGrpSupervisor { type callhome_Boolean; description "Supervisor related events"; } leaf alertGrpSyslogPort { type callhome_Boolean; description "Events related to syslog messages filed by port manager"; } leaf alertGrpSystem { type callhome_Boolean; description "Software related events"; } leaf alertGrpTest { type callhome_Boolean; description "User generated test events"; } leaf alertGrpLicense { type callhome_Boolean; description "Events related to licensing"; } leaf alertGrpAll { type callhome_Boolean; description "This alert group consists of all of the callhome messages"; } // mo for PredefProfile/PredefProfileName/Email container pdprofemail-items { list PredefProfEmail-list { key "seqNum"; uses callhome_PredefProfEmail-group; description "Email address node to send email notifications list"; } description "Email address node to send email notifications"; } // mo for PredefProfile/PredefProfileName/PredefProfHttp container pdprofhttp-items { list PredefProfHttp-list { key "seqNum"; uses callhome_PredefProfHttp-group; description "HTTP node with URL configuration for profile list"; } description "HTTP node with URL configuration for profile"; } } grouping callhome_PredefProfEmail-group { description "Email address node to send email notifications"; leaf seqNum { type uint32 { range "1..50"; } description "Sequence number associated with email-id"; } leaf emailAddr { type callhome_Email; description "Email address for the profile"; } } grouping callhome_PredefProfHttp-group { description "HTTP node with URL configuration for profile"; leaf seqNum { type uint32 { range "1..50"; } description "Sequence number associated with HTTP URL"; } leaf http { type string { length "11..255"; } description "HTTP URL configuration for the profile"; } } grouping callhome_CustomProfile-group { description "User defined destination profile node"; leaf profileName { type string { length "0..31"; } description "User defined destination profile name"; } leaf transportMethodEmail { type callhome_Boolean; default "enabled"; description "Trnasport method as email "; } leaf transportMethodHttp { type callhome_Boolean; default "disabled"; description "Transport method as http"; } leaf messageLevel { type uint32 { range "0..9"; } default "0"; description "Callhome message-level for the configured profile"; } leaf messageSize { type uint32 { range "0..5000000"; } default "2500000"; description "Callhome message-size for the configured profile"; } leaf format { type callhome_Format; description "Callhome message format to be sent to configured profile"; } leaf alertGrpCiscoTac1 { type callhome_Boolean; description "Events which are meant for Cisco TAC only"; } leaf alertGrpConfiguration { type callhome_Boolean; description "Events related to Configuration"; } leaf alertGrpDiagnostic { type callhome_Boolean; description "Events related to Diagnostic"; } leaf alertGrpEEM { type callhome_Boolean; description "Events related to EEM"; } leaf alertGrpEnvironmental { type callhome_Boolean; description "Power,Fan,Temperature related events"; } leaf alertGrpInventory { type callhome_Boolean; description "Inventory Status Events"; } leaf alertGrpLinecard { type callhome_Boolean; description "Linecard related events"; } leaf alertGrpSupervisor { type callhome_Boolean; description "Supervisor related events"; } leaf alertGrpSyslogPort { type callhome_Boolean; description "Events related to syslog messages filed by port manager"; } leaf alertGrpSystem { type callhome_Boolean; description "Software related events"; } leaf alertGrpTest { type callhome_Boolean; description "User generated test events"; } leaf alertGrpLicense { type callhome_Boolean; description "Events related to licensing"; } leaf alertGrpAll { type callhome_Boolean; description "This alert group consists of all of the callhome messages"; } // mo for CustomProfile/CustomEmail container custemail-items { list CustomEmail-list { key "seqNum"; uses callhome_CustomEmail-group; description "Email address node with delivery information for the custom profile list"; } description "Email address node with delivery information for the custom profile"; } // mo for CustomProfile/CustomHttp container custhttp-items { list CustomHttp-list { key "seqNum"; uses callhome_CustomHttp-group; description "HTTP node with the URL configuration for custom profile list"; } description "HTTP node with the URL configuration for custom profile"; } } grouping callhome_CustomEmail-group { description "Email address node with delivery information for the custom profile"; leaf seqNum { type uint32 { range "1..50"; } description "Sequence number associated with email-id"; } leaf emailAddr { type callhome_Email; description "Email address to send email notifications"; } } grouping callhome_CustomHttp-group { description "HTTP node with the URL configuration for custom profile"; leaf seqNum { type uint32 { range "1..50"; } description "Sequence number associated with http url"; } leaf http { type string { length "11..255"; } description "HTTP URL configuration for custom profile"; } } grouping callhome_Transport-group { description "Tranport node to configure transport related configuration"; leaf httpProxyEnable { type callhome_Boolean; default "disabled"; description "Enable HTTP proxy server to send messages"; } leaf proxyServer { type callhome_ServerType; description "Proxy server name or IP address"; } leaf proxyServerPort { type uint32 { range "1..65535"; } default "8080"; description "Configure proxy server port"; } leaf httpUseVrf { type string { length "1..32"; } default "default"; description "Configure HTTP VRF name"; } leaf emailFrom { type callhome_Email; description "Configure from email address"; } leaf emailReplyTo { type callhome_Email; description "Configure replyto email address"; } // mo for Email container emailserver-items { list EmailServer-list { key "emailServer"; uses callhome_EmailServer-group; description "Tranport email mail server node list"; } description "Tranport email mail server node"; } // mo for SMTP User container smtpuser-items { uses callhome_SmtpUser-group; description "Tranport secure email credentials"; } } grouping callhome_EmailServer-group { description "Tranport email mail server node"; leaf emailServer { type callhome_ServerType; description "SMTP server name or IP address"; } leaf mailServerPort { type uint32 { range "1..65535"; } default "25"; description "Configure SMTP server port"; } leaf mailServerPriority { type uint32 { range "0..100"; } default "50"; description "Configure SMTP server priority"; } leaf mailServerUseVrf { type string { length "1..32"; } default "default"; description "Configure SMTP mail server VRF name"; } } grouping callhome_SmtpUser-group { description "Tranport secure email credentials"; leaf userName { type string { length "1..255"; } description "User Name for SMTP Server"; } leaf passWord { type string { length "1..255"; } default "!"; description "Password for SMTP user"; } leaf encpType { type callhome_EncryptType; default "cleartext"; description "Password Encryption Type"; } } grouping cap_LogLevel-group { description "Config Capability logging level"; // logging level leaf loggingLevel { type cap_LoggingLevel; description "Logging Level"; } // logging type leaf loggingType { config "false"; type cap_LoggingType; description "Logging type"; } } grouping datetime_Clock-group { description "Clock Manager"; leaf protocol { type datetime_ClockProtocol; description "Protocol Type"; } leaf vdcId { type datetime_VdcId; description "Vdc"; } leaf format { type datetime_ClockFormat; description "Clock Format"; } leaf formatDebug { type boolean; description "enable/disable Clock Format for debug"; } leaf formatSyslog { type boolean; description "enable/disable Clock Format for syslog"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf adminSt { type datetime_AdminState; default "enabled"; description "Admin State"; } leaf authSt { type datetime_AdminState; description "Authentication State"; } container set-items { uses datetime_ClockSet-group; description "Clock Set"; } container timezone-items { uses datetime_Timezone-group; description "Clock Timezone"; } container summertime-items { uses datetime_SummerT-group; description "Clock Summer-time"; } container hpt-items { uses datetime_Hpt-group; description "Hpt configuration"; } container ttag-items { uses datetime_TTag-group; description "ttag configuration"; } } grouping datetime_ClockSet-group { description "Clock Set"; leaf time { type string; description "HH:MM:SS Current Time"; } leaf date { type datetime_Date; description "Day of the month"; } leaf month { type datetime_Month; description "Month of the year"; } leaf year { type datetime_Year; description "Year"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping datetime_Timezone-group { description "Clock Timezone"; leaf hours { type datetime_HourOffset; description "Hours offset from UTC"; } leaf minutes { type datetime_MinuteOffsetTz; description "Minutes offset from UTC"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf nameT { type string; description "Name of timezone"; } } grouping datetime_SummerT-group { description "Clock Summer-time"; leaf startWeek { type datetime_WeekNum; default "2"; description "Week number to start"; } leaf startDay { type string; default "Sun"; description "Weekday to start"; } leaf startMon { type string; default "Mar"; description "Month to start"; } leaf startTime { type string; default "02:00"; description "HH:MM Time to start"; } leaf endWeek { type datetime_WeekNum; default "1"; description "Week number to end"; } leaf endDay { type string; default "Sun"; description "Weekday to end"; } leaf endMon { type string; default "Nov"; description "Month to end"; } leaf endTime { type string; default "02:00"; description "HH:MM Time to end"; } leaf offsetMin { type datetime_MinuteOffsetSt; default "60"; description "Offset to add in minutes"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf nameT { type string; description "Name of timezone in summer"; } } grouping datetime_Hpt-group { description "Hpt configuration"; leaf deviceId { type uint16 { range "0..255"; } default "0"; description "Device ID in HPT trailer"; } container if-items { list ClkIfHpt-list { key "id"; uses datetime_ClkIfHpt-group; description "Interface configuration and management for Hpt list"; } description "Interface configuration and management for Hpt"; } } grouping datetime_ClkIfHpt-group { description "Interface configuration and management for Hpt"; // interface id leaf id { type nw_IfId; description "Interface id for hpt interface"; } leaf hpt { type boolean; default "false"; description "Enable hpt tagging on interface"; } } grouping datetime_TTag-group { description "ttag configuration"; leaf ethtype { type uint32 { range "0..35077"; } default "0"; description "Ethernet header type"; } leaf ttagMarkerInterval { type uint32 { range "1..4"; } default "1"; description "PTP ttag marker interval in seconds"; } container if-items { list ClkIf-list { key "id"; uses datetime_ClkIf-group; description "Interface configuration and management list"; } description "Interface configuration and management"; } } grouping datetime_ClkIf-group { description "Interface configuration and management"; // interface id leaf id { type nw_IfId; description "Interface id"; } leaf ttag { type boolean; default "false"; description "Ingress packet with ttag on interface"; } leaf ttagMarker { type boolean; default "false"; description "ttag marker packet on interface"; } } grouping datetime_ClkPol-group { description "Date Time Policy"; leaf flags { config "false"; type datetime_SysStatusFlags; description "System Status Flags (time sync status)"; } leaf leap { config "false"; type datetime_NTPLeapIndicator; description "Leap Indicator"; } leaf stratum { config "false"; type datetime_NTPStratum; description "Clock Stratum"; } leaf precision { config "false"; type int32; description "Clock Precision"; } leaf rootDelay { config "false"; type datetime_NTPSignedTimeValue; description "RootDelay"; } leaf rootDispersion { config "false"; type datetime_NTPUnsignedTimeValue; description "RootDispersion"; } leaf refId { config "false"; type datetime_NTPRefId; description "RefId"; } leaf refTime { config "false"; type union { type string; type uint64; } description "Reference Time"; } leaf refTimeRaw { config "false"; type uint64; description "Raw Reference Time"; } leaf poll { config "false"; type datetime_NTPPollInterval; description "Polling Interval"; } leaf peer { config "false"; type datetime_NTPAssocIdentifier; description "The Current Synchronization Source/Peer"; } leaf clock { config "false"; type union { type string; type uint64; } description "Clock"; } leaf clockRaw { config "false"; type uint64; description "Clock Raw [Raw NTPD format]"; } leaf srvStatus { config "false"; type datetime_NtpSrvStatus; description "NTP Daemon State"; } leaf logging { type datetime_AdminState; description "NTP Logging Status"; } leaf loggingLevel { type datetime_LoggingLevel; description "NTP Logging Level"; } leaf master { type datetime_AdminState; description "NTP Master Configuration"; } leaf masterStratum { type datetime_Stratum; default "8"; description "NTP Master Stratum Level"; } leaf passive { type datetime_AdminState; description "Enable/Disable Passive NTP Associations"; } leaf allowPrivate { type datetime_AdminState; description "Allow Private Mode NTP Packets"; } leaf allowControl { type datetime_AdminState; description "Allow Control Mode NTP Packets"; } leaf rateLimit { type datetime_allowCtrlRateLimit; description "Rate-Limit NTP Control Mode Packets"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf adminSt { type datetime_AdminState; default "enabled"; description "Admin State"; } leaf authSt { type datetime_AdminState; description "Authentication State"; } // NTP Client Autentication @@@ this is not exposed in logical model, we will start // @@@ using it when the logical model is enabled after all // @@@ the bug fixes container auth-items { list NtpAuth-list { key "id"; uses datetime_NtpAuth-group; description "Authentication Key list"; } description "Authentication Key"; } // NTP Secure Session IFF Key // // // // // // // // // // NTP Providers container prov-items { list NtpProvider-list { key "name"; uses datetime_NtpProvider-group; description "NTP Server Or Peer list"; } description "NTP Server Or Peer"; } // CSCvh50485 : removing from model until implemented // // // // // // // // // // // // // // NTP Access Group container accessgroup-items { uses datetime_AccessGroup-group; description "NTP Access Group"; } // This is used to store IP address of source of NTP packets container srcIp-items { uses datetime_NtpSrcIp-group; description "NTP source IP address"; } // This is used to store interface sending NTP packets container srcIf-items { uses datetime_NtpSrcIf-group; description "NTP source interface"; } } grouping datetime_NtpAuth-group { description "Authentication Key"; leaf isEncrypt { type datetime_Encrypt; description "Is Encrypted Flag"; } leaf authType { type datetime_NTPAuthType; description "TBD"; } leaf encryptType { type datetime_NTPEncryptType; description "TBD"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf key { type datetime_Key { length "0..128"; } description "Key"; } leaf id { type datetime_AuthKeyId; description "Auth Key Id"; } leaf trusted { type boolean; description "Trusted State"; } } grouping datetime_NtpProvider-group { description "NTP Server Or Peer"; // This property tells if the configured provider is NTP server Or peer leaf provT { type datetime_ProvT; description "NTP Server Or Peer"; } // vrf name leaf vrf { type l3_VrfName; description "VRF"; } leaf name { type pol_ObjName { length "1..80"; // Restriction copied from aaa:NtpHostname type NXOS has max limit of 80 chars, limiting to 64 here pattern ".*[a-zA-Z0-9][a-zA-Z0-9_\\.:-]{0,63}.*"; } description "NTP Server/Peer Name Or Address"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf preferred { type boolean; description "Preferred State"; } leaf minPoll { type datetime_Poll; default "4"; description "Min Poll"; } leaf maxPoll { type datetime_Poll; default "6"; description "Max Poll"; } leaf keyId { type datetime_KeyId; description "Key Id"; } // Status for NTP Providers container status-items { uses datetime_NtpProviderStatus-group; description "NTP Provider Status"; } container rsntpProviderToNtpAuth-items { list RsNtpProviderToNtpAuth-list { config "false"; key "tDn"; uses datetime_RsNtpProviderToNtpAuth_source-group; description "Ntp Authentication Attachment list"; } description "Ntp Authentication Attachment"; } } grouping datetime_NtpProviderStatus-group { description "NTP Provider Status"; leaf flags { config "false"; type datetime_PeerStatusFlags; description "Peer Specific Flags"; } leaf mode { config "false"; type datetime_NTPPeerMode; description "The Association Mode Of NTP Server"; } leaf stratum { config "false"; type datetime_NTPStratum; description "Stratum"; } leaf peerPoll { config "false"; type datetime_NTPPollInterval; description "PeerPoll"; } leaf hostPoll { config "false"; type datetime_NTPPollInterval; description "HostPoll"; } leaf reach { config "false"; type uint8; description "Reach"; } leaf delay { config "false"; type string; description "Delay"; } leaf delayRaw { config "false"; type int32; description "DelayRaw"; } leaf dispersion { config "false"; type datetime_NTPUnsignedTimeValue; description "Dispersion"; } } grouping datetime_AccessGroup-group { description "NTP Access Group"; leaf peer { type string; description "NTP Peer Access Group Name (max 63 characters)"; } leaf serveOnly { type string; description "NTP ServeOnly Access Group Name (max 63 characters)"; } leaf serve { type string; description "NTP Serve Access Group Name (max 63 characters)"; } leaf queryOnly { type string; description "NTP QueryOnly Access Group Name (max 63 characters)"; } leaf matchAll { type datetime_AdminState; description "Scan All NTP Access-Group Options"; } } grouping datetime_NtpSrcIp-group { description "NTP source IP address"; leaf srcIp { type address_Ipv4; description "Source IP Address"; } leaf srcIpv6 { type address_Ipv6; description "Source IPv6 Address"; } } grouping datetime_NtpSrcIf-group { description "NTP source interface"; // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } } grouping datetime_Ntpq-group { description "Ntp Concrete Details"; leaf tally { config "false"; type string; description "Tally"; } leaf remote { config "false"; type string; description "Remote"; } leaf refid { config "false"; type string; description "RefId"; } leaf stratum { config "false"; type string; description "Stratum"; } leaf t { config "false"; type string; description "Type"; } leaf when { config "false"; type string; description "When"; } leaf poll { config "false"; type string; description "Poll Interval"; } leaf reach { config "false"; type string; description "Reach"; } leaf delay { config "false"; type string; description "Delay"; } leaf offset { config "false"; type string; description "Offset"; } leaf jitter { config "false"; type string; description "Jitter"; } } grouping span_Entity-group { description "SPAN Entity"; // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } container monitor-items { list Monitor-list { key "id"; uses span_Monitor-group; description "Monitor MO for each SPAN session identified by session id list"; } description "Monitor MO for each SPAN session identified by session id"; } } grouping span_Monitor-group { description "Monitor MO for each SPAN session identified by session id"; // scalar:Enum8 Value Types leaf type { type span_Type; description "Type of the current monitor session"; } leaf operState { config "false"; type span_OperStQual; description "Actual State of the current session updated by SPAN process"; } leaf configState { type span_State; description "State of the current session as configured by the user"; } // string:Basic Value Types leaf description { type span_Description; description "Description for the current monitor session"; } leaf vrfName { type l3_VrfName; description "VRF name for the erspan-source session.(user specified name / default / manangement)"; } leaf aclName { type span_AclName; description "Name of the Access Control List applied on the current monitor session"; } // Uint Value Types leaf id { type span_SsnId; description "Session identification number for current monitor session."; } leaf mtu { type span_MtuValue; description "Value of Maximum transmission unit truncation size for SPAN packets"; } leaf allowSharing { type boolean; default "false"; description "Denotes whether sharing is enabled for the given filter ACL"; } leaf headerType { type span_HeaderVer; description "Denotes header type ver is enabled for the given erspan session"; } leaf isMarkerPacket { type boolean; default "false"; description "Denotes whether marker packet is enabled for the given erspan-source session"; } leaf isMarkerMilliSeconds { type boolean; default "false"; description "Denotes whether marker value given in millis seconds"; } leaf isFwdDropsRx { type boolean; default "false"; description "Denotes whether source forwarding drops rx is enabled for the given erspan-source session"; } leaf isFwdDropsRxLowPriority { type boolean; default "false"; description "Denotes whether source forwarding drops rx has low priority for the given erspan-source session"; } leaf fwdDropsDirection { type span_FwdDropSrcDirection; description "Denotes forwarding drop direction for the given erspan-source session None, Rx, Tx, Both"; } leaf erspanId { type span_ErspanId; description "ERSPAN identification number"; } leaf ipTtl { type span_IpTtl; description "ERSPAN IP time-to-live value"; } leaf ipDscp { type span_IpDscp; description "ERSPAN IP DSCP value"; } leaf markerPktInt { type span_MarkerPktInt; description "ERSPAN session send marker packet interval value"; } // Interface types leaf destinationPorts { type nw_IfId; description "Destination ports for the current session"; } leaf destinationIp { type address_Ip; description "Destination IP address for the current erspan session"; } leaf destinationIpv6 { type address_Ipv6; description "Destination IPv6 address for the current erspan session"; } leaf sourceIp { type address_Ip; description "Source IP address for the current erspan destination session"; } leaf sourceIpv6 { type address_Ipv6; description "Source IPv6 address for the current erspan destination session"; } leaf shutError { config "false"; type span_ErrorInt; description "failure code for raising a config fault during shut operation"; } container srcintf-items { list SourceIntf-list { key "id"; uses span_SourceIntf-group; description "Source interface configuration MO. list"; } description "Source interface configuration MO."; } container filter-items { list FilterVlan-list { key "vlan"; uses span_FilterVlan-group; description "Range of Filter VLANs specified for the current monitor sesion list"; } description "Range of Filter VLANs specified for the current monitor sesion"; } container src-items { list SourceVlan-list { key "vlan"; uses span_SourceVlan-group; description "Source configuration MO. list"; } description "Source configuration MO."; } container srcvsan-items { list SourceVsan-list { key "vsan"; uses span_SourceVsan-group; description "Source vsan configuration MO. list"; } description "Source vsan configuration MO."; } container filterip-items { uses span_FilterIpTx-group; description "Filter ip tx configuration MO for local and ERSPAN monitor session."; } container dstgrp-items { list DestinationGroup-list { key "grpid"; uses span_DestinationGroup-group; description "Destination group configuration MO for warp session. list"; } description "Destination group configuration MO for warp session."; } } grouping span_SourceIntf-group { description "Source interface configuration MO."; leaf direction { type span_SrcDirection; description "The direction of the source interface - Rx, Tx, Both"; } leaf id { type nw_IfId; description "The interface id for the session"; } leaf error { config "false"; type span_ErrorInt; description "failure code for raising a config fault during applying source interface"; } leaf allowPfc { type boolean; default "false"; description "Denotes whether allow-pfc is enabled for the given source"; } } grouping span_FilterVlan-group { description "Range of Filter VLANs specified for the current monitor sesion"; leaf vlan { type string; description "VLAN id for Filter VLAN"; } } grouping span_SourceVlan-group { description "Source configuration MO."; leaf vlan { type string; description "VLAN id for Source VLAN"; } leaf direction { type span_SrcDirection; description "The direction of the source VLAN - Rx, Tx, Both"; } } grouping span_SourceVsan-group { description "Source vsan configuration MO."; leaf vsan { type string; description "VSAN id for Source VSAN"; } leaf direction { type span_SrcDirection; description "The direction of the source VSAN - Rx, Tx, Both"; } } grouping span_FilterIpTx-group { description "Filter ip tx configuration MO for local and ERSPAN monitor session."; leaf sourceIp { type address_Ip; description "filter source ip for monitor session."; } leaf sourceMask { type address_Ip; description "filter mask for source ip of monitor session."; } leaf destinationIp { type address_Ip; description "filter destination ip for monitor session."; } leaf destinationMask { type address_Ip; description "filter mask for destination ip of monitor session."; } leaf isTxControlPkts { type boolean; description "Denotes whether filter tx control packets is enabled for the given monitor session"; } } grouping span_DestinationGroup-group { description "Destination group configuration MO for warp session."; leaf grpid { type span_GroupId; description "The group id for the destination port"; } } grouping span_ErspanOriginIp-group { description "Global MO of origin Ip address for every Erspan session"; leaf originIp { type address_Ip; description "Global origin IP address for all erspan sessions"; } leaf isGlobal { type boolean; default "false"; description "Denotes whether origin ip is global across all erspan sessions"; } leaf originIpv6 { type address_Ipv6; description "Global origin IPv6 address for all erspan sessions"; } leaf isGlobalv6 { type boolean; default "false"; description "Denotes whether origin ipv6 is global across all erspan sessions"; } } grouping dhcp_Entity-group { description "DHCP Entity"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // This objects hold per dhcp instance information. There is only // one instance of dhcp relay running in the system today container inst-items { uses dhcp_Inst-group; description "DHCP Instance"; } } grouping dhcp_Inst-group { description "DHCP Instance"; leaf v4RelayEnabled { type boolean; description "DHCPv4 Enabled"; } leaf relayDAIEnabled { type boolean; description "Dynamic ARP Inspection functionality with DHCP Relay is enabled"; } leaf relayV4overV6Enabled { type boolean; description "v4 over v6 relay transport"; } leaf v6RelayEnabled { type boolean; description "DHCPv6 Enabled"; } leaf relayV6IAPDRouteAddEnabled { type boolean; description "DHCPv6 IAPD route addition"; } leaf SnoopingEnabled { type boolean; description "Snooping Enabled"; } leaf SnoopingVerifyMacAddressEnabled { type boolean; default "true"; description "Snooping Verify Mac Address Enabled"; } leaf SnoopingInformationOptionEnabled { type boolean; description "Snooping Information Option Enabled"; } leaf RelayInformationOptionEnabled { type boolean; description "Relay Information Option Enabled"; } leaf RelayInformationOptionVpnEnabled { type boolean; description "Relay Information Option Vpn Enabled"; } leaf relayInformationOptionServerIdOverrideDisableEnabled { type uint32 { range "0..1"; } default "0"; description "Relay Information Option Server-id-override-disable Enabled"; } leaf RelayInformationOptionTrustEnabled { type boolean; description "Relay Information Option Trust Enabled"; } leaf RelayInformationTrustAllEnabled { type boolean; description "Relay Information Trust All Enabled"; } leaf RelaySubOptionCircuitIdCustomizedEnabled { type boolean; description "Relay Sub-Option Circuit-id Customized Enabled"; } leaf RelaySubOptionCircuitIdFormatString { type string; description "Relay Sub-Option Circuit-id Format String"; } leaf relaySubOptionFormatNonTLVEnabled { type boolean; description "Relay Option82 Sub-Option Format Non-TLV Enabled"; } leaf RelaySubOptionTypeCiscoEnabled { type boolean; description "Relay Sub-Option Type Cisco Enabled"; } leaf SmartRelayGlobalEnabled { type boolean; description "Smart Relay Global Enabled"; } leaf Ipv6RelayInformationOptionVpnEnabled { type boolean; description "IPv6 Relay Information Option Vpn Enabled"; } leaf Ipv6RelayOptionTypeCiscoEnabled { type boolean; description "IPv6 Relay Sub-Option Type Cisco Enabled"; } leaf ipv6RelayOption79Enabled { type boolean; description "IPv6 Relay Option79 Enabled"; } leaf daiValidateSrc { type boolean; description "DAI Validate Type: src-mac"; } leaf daiValidateDst { type boolean; description "DAI Validate Type: dst-mac"; } leaf daiValidateIp { type boolean; description "DAI Validate Type: ip"; } // Set DAI Log Buffer Entries leaf daiLogBufEntries { type dhcp_NumLogBuffers; description "DAI Log Buffer Entries"; } leaf pktStrictVal { type boolean; description "Pkt Strict Validation"; } leaf snoopSubOptionCircuitIdFormatString { type string; description "Snoop Sub-Option Circuit-id Format String"; } leaf snoopingSubOptionFormatNonTLVEnabled { type boolean; description "Snooping Option82 Sub-Option Format Non-TLV Enabled"; } leaf v6SmartRelayGlobalEnabled { type boolean; description "V6 Smart Relay Global Enabled"; } // IP ARP inspection on vlan, used for enabling ARP inspection on Vlan container daivlan-items { list DAIVlan-list { key "daiVlanNum"; uses dhcp_DAIVlan-group; description "DAI on Vlan list"; } description "DAI on Vlan"; } // DHCP DAI interface, // used for representing DAI functionality on // the interface container daiif-items { list DAIIf-list { key "id"; uses dhcp_DAIIf-group; description "DHCP DAI Interface list"; } description "DHCP DAI Interface"; } // DHCP client-if, used for representing client functionality on // the interface container clientif-items { list ClientIf-list { key "id"; uses dhcp_ClientIf-group; description "DHCP Client Interface list"; } description "DHCP Client Interface"; } // DHCP relay-if, used for representing relay functionality on // the interface container relayif-items { list RelayIf-list { key "id"; uses dhcp_RelayIf-group; description "DHCP Relay Interface list"; } description "DHCP Relay Interface"; } // Global Ipv4 Source Interface Config container srcif-items { uses dhcp_SourceIf-group; description "IPv4 Global DHCP Source Interface"; } // Global Ipv6 Source Interface Config container v6srcif-items { uses dhcp_V6SourceIf-group; description "IPv6 Global DHCP Source Interface"; } // DHCP IP source binding, // (ip source binding vlan interface // // // container vlan-items { list MacVlan-list { key "id"; uses l2_MacVlan-group; description "Per-VLAN MAC address configuration and management list"; } description "Per-VLAN MAC address configuration and management"; } // DN: sys/mac/if- container if-items { list MacIf-list { key "id"; uses l2_MacIf-group; description "Per-Interface MAC address configuration and management list"; } description "Per-Interface MAC address configuration and management"; } } grouping l2_Static-group { description "Static Mac Addresses"; // DN: sys/mac/static/vlan-[]-mac- container vlan-items { list StaticEntry-list { key "vlan staticMacAddress"; uses l2_StaticEntry-group; description "Static Mac Address Entry list"; } description "Static Mac Address Entry"; } // DN: sys/mac/static/vni--mac- container vni-items { list StaticEntryVni-list { key "vni staticMacAddress"; uses l2_StaticEntryVni-group; description "Static Mac Address Entry for vni interface list"; } description "Static Mac Address Entry for vni interface"; } } grouping l2_StaticEntry-group { description "Static Mac Address Entry"; leaf staticMacAddress { type address_Mac; description "MAC"; } leaf vlan { type string; description "Vlan"; } leaf dropAction { type boolean; default "true"; description "Drop"; } leaf interface { type nw_IfId; description "Interface"; } } grouping l2_StaticEntryVni-group { description "Static Mac Address Entry for vni interface"; leaf staticMacAddress { type address_Mac; description "MAC address for vni interface"; } leaf vni { type uint32 { range "1..16777215"; } description "Virtual Network Identifier"; } leaf peerIpv4 { type address_Ipv4; description "IPv4 Address of the Peer"; } } grouping l2_MacAddressTable-group { description "MAC Address Table"; // MacAddress DN: sys/mac/table/vlan-[vlan-x]-mac- container vlan-items { list MacAddressEntry-list { config "false"; key "vlan macAddress"; uses l2_MacAddressEntry-group; description "MAC Address Entry list"; } description "MAC Address Entry"; } } grouping l2_MacAddressEntry-group { description "MAC Address Entry"; leaf macAddress { config "false"; type address_Mac; description "MAC"; } // Primary, Gateway... leaf type { config "false"; type l2_MacType; description "Type"; } leaf vlan { config "false"; type string; description "Vlan"; } leaf static { config "false"; type boolean; description "Static"; } leaf secure { config "false"; type boolean; description "Secure"; } leaf ntfy { config "false"; type boolean; description "NTFY"; } leaf routed { config "false"; type boolean; description "Routed"; } leaf age { config "false"; type uint32; description "Age - seconds since last seen"; } leaf port { config "false"; type nw_IfId; description "Port"; } leaf macInfo { config "false"; type l2_MacInfo; description "Additional Information on the MAC"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Indicates the time at which the mac was first added"; } } grouping l2_MacVlan-group { description "Per-VLAN MAC address configuration and management"; leaf id { type string; description "Vlan ID for per-VLAN configuration and management"; } leaf vlanLimit { type uint32 { range "100..384000"; } default "196000"; description "Per-VLAN limit for learnt MAC addresses"; } } grouping l2_MacIf-group { description "Per-Interface MAC address configuration and management"; // naming property leaf id { type nw_IfId; description "Interface ID for per-interface configuration and management"; } leaf ifLimit { type uint32 { range "100..384000"; } default "196000"; description "Per-interface limit for learnt MAC addresses"; } } grouping cdp_Entity-group { description "CDP Entity"; // This objects hold per cdp instance information. There is // only one instance of cdp running in the system today container inst-items { uses cdp_Inst-group; description "CDP Instance"; } } grouping cdp_Inst-group { description "CDP Instance"; // CDP version supported by the device leaf ver { type cdp_Ver; description "Version"; } // What to advertise in the device id to the peer? // This will be the identifier of the local switch // to the remote peer leaf devIdType { type cdp_DevIdT; description "Device ID Type"; } // Sets the time that cdp holds onto neighbor // information before aging it out leaf holdIntvl { type cdp_HoldIntvl; description "Hold Interval"; } // Sets the transmission frequency of cdp // advertisements in seconds leaf txFreq { type cdp_TxFreq; description "Transmit Frequency"; } // System Name leaf sysName { config "false"; type cdp_SysName; description "System Name"; } leaf pnpStartVlan { type uint16 { range "1..4094"; } default "1"; description "pnp startup-vlan configuration"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds cdp information that is operated at a // interface level container if-items { list If-list { key "id"; uses cdp_If-group; description "CDP Interface list"; } description "CDP Interface"; } } grouping cdp_If-group { description "CDP Interface"; // Port description leaf portDesc { type naming_Descr; description "Port Description"; } // Operational state leaf operSt { config "false"; type cdp_OperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type cdp_OperStQual; description "Operational State Qualifier"; } // Native vlan leaf nativeVlan { config "false"; type cdp_VlanId; description "Native Vlan"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // This object holds cdp neighbor information container adj-items { list AdjEp-list { config "false"; key "index"; uses cdp_AdjEp-group; description "CDP Adjacency list"; } description "CDP Adjacency"; } // This object holds cdp intf statistics operational information. // This is a singleton within an intferace container ifstats-items { uses cdp_IfStats-group; description "Interface Statistics"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping cdp_AdjEp-group { description "CDP Adjacency"; // A unique value for each device from which CDP // messages are being received leaf index { config "false"; type cdp_DevIndex; description "Index"; } // Remote version leaf ver { config "false"; type cdp_NbrVer; description "Version"; } // Remote device ID leaf devId { config "false"; type cdp_DevId; description "Device ID"; } // Remote Port ID leaf portId { config "false"; type cdp_PortId; description "Port ID"; } // Remote Platform ID leaf platId { config "false"; type cdp_PlatId; description "Platform ID"; } // Capabilities leaf cap { config "false"; type cdp_CapT; description "Capabilities"; } // Duplex advertised by neighbor leaf duplex { config "false"; type cdp_Duplex; description "Duplex"; } // Native vlan advertised by neighbor leaf nativeVlan { config "false"; type cdp_VlanId; description "Native Vlan"; } // MTU advertised by neighbor leaf mtu { config "false"; type cdp_MTU; description "MTU"; } // System name advertised by neighbor leaf sysName { config "false"; type cdp_SysName; description "System Name"; } // System location advertised by neighbor leaf sysLoc { config "false"; type cdp_SysLoc; description "System Location"; } leaf localMAC { config "false"; type address_Mac; description "localMAC"; } leaf remoteMAC { config "false"; type address_Mac; description "remoteMAC"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Management address received from cdp neighbor container mgmt-items { list MgmtAddr-list { config "false"; key "addr"; uses cdp_MgmtAddr-group; description "Management Address list"; } description "Management Address"; } // Interface address received from cdp neighbor container intf-items { list IntfAddr-list { config "false"; key "addr"; uses cdp_IntfAddr-group; description "Interface Address list"; } description "Interface Address"; } // This object holds cdp adj statistics operational information. // This is a singleton within an adjacency container adjstats-items { uses cdp_AdjStats-group; description "Adjacency Statistics"; } } grouping cdp_MgmtAddr-group { description "Management Address"; leaf addr { config "false"; type address_Ip; description "Address"; } } grouping cdp_IntfAddr-group { description "Interface Address"; leaf addr { config "false"; type address_Ip; description "Address"; } } grouping cdp_AdjStats-group { description "Adjacency Statistics"; leaf adjExpTs { config "false"; type union { type string; type uint64; } description "Adjacency Expiration Timestamp"; } } grouping cdp_IfStats-group { description "Interface Statistics"; // CDP Interface Stats Number of v1 packets sent leaf v1Sent { config "false"; type nw_Counter32; description "Number of V1 Packets Sent"; } // Number of v2 packets sent leaf v2Sent { config "false"; type nw_Counter32; description "Number of V2 Packets Sent"; } // Number of packets failed to send leaf failedSent { config "false"; type nw_Counter32; description "Number of Packets Failed to Send"; } // Number of valid v1 packets received leaf validV1Rcvd { config "false"; type nw_Counter32; description "Number of Valid V1 Packets Received"; } // Number of v2 packets received leaf validV2Rcvd { config "false"; type nw_Counter32; description "Number of Valid V2 Packets Received"; } // Number of unsupported version packets received leaf unSupVerRcvd { config "false"; type nw_Counter32; description "Number of Unsupported Version Packets Received"; } // Number of checksum error packets received leaf cksumErrRcvd { config "false"; type nw_Counter32; description "Number of Checksum Error Packets Received"; } // Number of malformed packets received leaf malformRcvd { config "false"; type nw_Counter32; description "Number of Malform Packets Received"; } // Number of Interface flaps leaf flapCnt { config "false"; type nw_Counter32; description "Number of Interface flaps"; } } grouping lldp_Entity-group { description "LLDP Entity"; // This objects hold per lldp instance information. There is // only one instance of lldp running in the system today container inst-items { uses lldp_Inst-group; description "LLDP Instance"; } } grouping lldp_Inst-group { description "LLDP Instance"; // Amount of time in seconds that a receiving device // should hold the information sent by your device // before discarding it leaf holdTime { type lldp_HoldTime; description "Hold Time"; } // Delay time in seconds for lldp to initialize on any // interface leaf initDelayTime { type lldp_InitDelayTime; description "Init Delay Time"; } // Transmission frequency of lldp updates in seconds leaf txFreq { type lldp_TxFreq; description "Transmission Frequency"; } // Some tlvs are optional as per LLDP protocol (802.1AB) // specifications. Use these selectors to turn on/off leaf optTlvSel { type lldp_OptTlvSel; description "Optional TLV Selector"; } // System description leaf sysDesc { type naming_Descr; description "System Description"; } // PortId Subtype leaf portIdSubType { type lldp_PortIdSubType; description "PortId SubType"; } // Configuration to enable LLDP on Portchannel leaf pcEnable { type lldp_AdminSt; default "disabled"; description "LLDP enabled on PortChannel"; } // Configuration to enable multiple LLDP neighbors leaf multiPeerEnable { type lldp_AdminSt; default "disabled"; description "LLDP multi-neighbor configuration"; } // Configuration to enable advertisement of system chassis id to LLDP neighbors leaf advertiseSystemChassisIdEnable { type lldp_AdminSt; default "disabled"; description "LLDP chassis-id switch configuration"; } // Local management address container mgmt-items { list MgmtAddr-list { config "false"; key "addr"; uses lldp_MgmtAddr-group; description "Management Address list"; } description "Management Address"; } // This object holds lldp information that is operated at a // interface level container if-items { list If-list { key "id"; uses lldp_If-group; description "LLDP Interface list"; } description "LLDP Interface"; } // This object holds lldp inst statistics operational information. // This is a singleton within lldp container inststats-items { uses lldp_InstStats-group; description "LLDP Statistics"; } container rslldpInstPolCons-items { uses lldp_RsLldpInstPolCons_source-group; description "Lldp Instance Policy Consumption"; } } grouping lldp_MgmtAddr-group { description "Management Address"; leaf addr { config "false"; type address_Ip; description "Address"; } } grouping lldp_If-group { description "LLDP Interface"; // Receive admin state leaf adminRxSt { type lldp_AdminSt; description "Admin Receive State"; } // Transmit admin state leaf adminTxSt { type lldp_AdminSt; description "Admin Transmit State"; } // System description leaf sysDesc { type naming_Descr; description "System Description"; } leaf tlvSetVlan { type lldp_MgmtVlanId; description "Tlv vlan"; } leaf tlvSetMgmtIpv4 { type address_Ip; description "Tlv ipv4"; } leaf tlvSetMgmtIpv6 { type address_Ip; description "Tlv ipv6"; } // Port description leaf portDesc { type naming_Descr; description "Port Description"; } leaf mac { config "false"; type address_Mac; description "MAC"; } leaf portDCBXSt { config "false"; type boolean; description "Port DBCX enabled status"; } leaf portDCBXPVer { type lldp_DCBXPVerType; description "DCBXP Version"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { config "false"; type nw_IfAdminSt; description "Admin State"; } // This object holds lldp neighbor information container adj-items { list AdjEp-list { config "false"; key "id"; uses lldp_AdjEp-group; description "LLDP Adjacency Endpoint list"; } description "LLDP Adjacency Endpoint"; } // This object holds lldp intf statistics operational information. // This is a singleton within an interface container ifstats-items { uses lldp_IfStats-group; description "Interface Statistics"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping lldp_AdjEp-group { description "LLDP Adjacency Endpoint"; // Neighbor ID leaf id { config "false"; type lldp_AdjId; description "ID"; } // Neighbor chassis id type leaf chassisIdT { config "false"; type lldp_ChassisIdT; description "Chassis ID Type"; } // Neighbor chassis id value leaf chassisIdV { config "false"; type lldp_ChassisIdV; description "Chassis ID Value"; } // Neighbor port type leaf portIdT { config "false"; type lldp_PortIdT; description "Port ID Type"; } // Neighbor port value leaf portIdV { config "false"; type lldp_PortIdV; description "Port ID Value"; } // Neighbor TTL leaf ttl { config "false"; type lldp_TTL; description "TTL"; } // Neighbor system name leaf sysName { config "false"; type lldp_SysName; description "System Name"; } // Neighbor system description leaf sysDesc { config "false"; type lldp_NbrSysDesc; description "System Description"; } // Neighbor port description leaf portDesc { config "false"; type naming_Descr; description "Port Description"; } // Neighbor System Capability leaf capability { config "false"; type lldp_Capability; description "Capability"; } // Neighbor Enabled Capability leaf enCap { config "false"; type lldp_Capability; description "Enabled Capability"; } // Neighbor Management Address leaf mgmtIp { config "false"; type lldp_MgmtIp; description "Management Address"; } leaf mgmtPortMac { config "false"; type lldp_MgmtPortMac; description "Management Port MAC"; } // Org tlv, Neighbor port vlan leaf portVlan { config "false"; type lldp_PortVlan; description "Port Vlan"; } // Org tlv, Neighbor port max framesize leaf maxFramesize { config "false"; type lldp_PortVlan; description "Port Max Frame size(MTU)"; } leaf vlanName { config "false"; type string; description "Port Vlan Name (ID:Name)"; } leaf linkAggCap { config "false"; type string; description "Port Link Aggregation Capability"; } leaf linkAggStatus { config "false"; type string; description "Port Link Aggregation Status"; } leaf linkAggID { config "false"; type uint32; description "Port Link Aggregation ID"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // This object holds lldp adj statistics operational information. // This is a singleton within an adjacency container adjstats-items { uses lldp_AdjStats-group; description "Adjacency Statistics"; } } grouping lldp_AdjStats-group { description "Adjacency Statistics"; } grouping lldp_IfStats-group { description "Interface Statistics"; // LLDP Interface Stats Number of packets sent leaf pktSent { config "false"; type nw_Counter64; description "Number of Packets Sent"; } // Number of packets received leaf pktRcvd { config "false"; type nw_Counter64; description "Number of Packets Received"; } // Number of entries aged leaf entriesAged { config "false"; type nw_Counter64; description "Number of Entries Aged"; } // Number of packets received in error leaf errPktRcvd { config "false"; type nw_Counter64; description "Number of Packets Received in Error"; } // Number of packets discarded leaf pktDiscarded { config "false"; type nw_Counter64; description "Number of Packets Discarded"; } // Number of unrecognized TLVs leaf unrecogTLV { config "false"; type nw_Counter64; description "Number of Unrecognized TLVs"; } // Number of neighborship flaps leaf flapCnt { config "false"; type nw_Counter64; description "Number of Neighborship flaps"; } } grouping lldp_InstStats-group { description "LLDP Statistics"; // LLDP Inst Stats Number of packets sent leaf pktSent { config "false"; type nw_Counter64; description "Number of Packets Sent"; } // Number of packets received leaf pktRcvd { config "false"; type nw_Counter64; description "Number of Packets Received"; } // Number of entries aged leaf entriesAged { config "false"; type nw_Counter64; description "Number of Entries Aged"; } // Number of packets received in error leaf errPktRcvd { config "false"; type nw_Counter64; description "Number of Packets Received in Error"; } // Number of packets discarded leaf pktDiscarded { config "false"; type nw_Counter64; description "Number of Packets Discarded"; } // Number of unrecognized TLVs leaf unrecogTLV { config "false"; type nw_Counter64; description "Number of Unrecognized TLVs"; } // Number of neighborship flaps leaf flapCnt { config "false"; type nw_Counter64; description "Number of Neighborship flaps"; } } grouping vpc_Entity-group { description "VPC Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Holds VPC consistency parameters container cc-items { uses vpc_CC-group; description "VPC Consistency Params"; } // This objects hold per vpc instance information. There is only // one instance of vpcm running in the system today container inst-items { uses vpc_Inst-group; description "VPC Instance"; } } grouping vpc_CC-group { description "VPC Consistency Params"; container stp-items { uses vpc_StpVpcCC-group; description "VPC Consistency Spanning Tree Type 1 Params"; } container qos-items { uses vpc_QosVpcCC-group; description "VPC Consistency Qos Params"; } } grouping vpc_StpVpcCC-group { description "VPC Consistency Spanning Tree Type 1 Params"; container local-items { uses stp_StpGlobalLocal-group; description "VPC Consistency Spanning Tree Type 1 Global Local Params"; } container peer-items { uses stp_StpGlobalPeer-group; description "VPC Consistency Spanning Tree Type 1 Global Peer Params"; } } grouping stp_StpGlobalLocal-group { description "VPC Consistency Spanning Tree Type 1 Global Local Params"; // Spanning Tree operating mode leaf mode { config "false"; type stp_Mode; description "Spanning Tree Protocol Mode"; } leaf disabledVlans { config "false"; type string; description "Spanning Tree Disabled Vlans"; } // Spanning Tree MST Region name leaf mstRegName { config "false"; type stp_RegName; description "Spanning Tree MSTRegion Name"; } // Spanning Tree MST Region revision leaf rev { config "false"; type stp_RegRev; description "Spanning Tree MST Region Revision"; } // Spanning Tree loopguard options leaf loopguard { config "false"; type nw_AdminSt; default "disabled"; description "Spanning Tree loop guard on ports"; } // Spanning Tree bridge assurance leaf bridgeAssurance { config "false"; type nw_AdminSt; description "Spanning Tree bridge assurance on ports"; } // Spanning Tree MST simulate PVST leaf simPvst { config "false"; type stp_Simulate; description "Spanning Tree MST simulate PVST"; } // Spanning Tree port type leaf portType { config "false"; type stp_ModeType; description "Spanning Tree port type"; } // Spanning Tree port bpdu guard leaf bpduGuard { config "false"; type nw_AdminSt; default "disabled"; description "Spanning Tree port bpdu guard"; } // Spanning Tree port bpdu filter leaf bpduFilter { config "false"; type nw_AdminSt; default "disabled"; description "Spanning Tree port bpdu filter"; } } grouping stp_StpGlobalPeer-group { description "VPC Consistency Spanning Tree Type 1 Global Peer Params"; // Spanning Tree operating mode leaf mode { config "false"; type stp_Mode; description "Spanning Tree Protocol Mode"; } leaf disabledVlans { config "false"; type string; description "Spanning Tree Disabled Vlans"; } // Spanning Tree MST Region name leaf mstRegName { config "false"; type stp_RegName; description "Spanning Tree MSTRegion Name"; } // Spanning Tree MST Region revision leaf rev { config "false"; type stp_RegRev; description "Spanning Tree MST Region Revision"; } // Spanning Tree loopguard options leaf loopguard { config "false"; type nw_AdminSt; default "disabled"; description "Spanning Tree loop guard on ports"; } // Spanning Tree bridge assurance leaf bridgeAssurance { config "false"; type nw_AdminSt; description "Spanning Tree bridge assurance on ports"; } // Spanning Tree MST simulate PVST leaf simPvst { config "false"; type stp_Simulate; description "Spanning Tree MST simulate PVST"; } // Spanning Tree port type leaf portType { config "false"; type stp_ModeType; description "Spanning Tree port type"; } // Spanning Tree port bpdu guard leaf bpduGuard { config "false"; type nw_AdminSt; default "disabled"; description "Spanning Tree port bpdu guard"; } // Spanning Tree port bpdu filter leaf bpduFilter { config "false"; type nw_AdminSt; default "disabled"; description "Spanning Tree port bpdu filter"; } } grouping vpc_QosVpcCC-group { description "VPC Consistency Qos Params"; // VPC Qos Local Object container local-items { uses ipqos_QosLocal-group; description "VPC Qos local parameters"; } // VPC Qos Peer Object container peer-items { uses ipqos_QosPeer-group; description "VPC Qos peer parameters"; } } grouping ipqos_QosLocal-group { description "VPC Qos local parameters"; // VPC Qos - Cos to Qosgrp mapping Object container cos-items { uses ipqos_CosMap-group; description "VPC Qos - Cos to Qosgrp mapping parameters"; } // VPC Qos - UF to Qosgrp mapping Object container uf-items { uses ipqos_UfMap-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } // VPC Qos - Queuing to Qosgrp mapping Object container quein-items { uses ipqos_QueuingInput-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } // VPC Qos - Queuing to Qosgrp mapping Object container queout-items { uses ipqos_QueuingOutput-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } } grouping ipqos_CosMap-group { description "VPC Qos - Cos to Qosgrp mapping parameters"; leaf deviceType { config "false"; type ipqos_VpcParamDeviceType; description "VPC param vlaue type local/peer"; } leaf qosgrpCosMap1 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } leaf qosgrpCosMap2 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } leaf qosgrpCosMap3 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } leaf qosgrpCosMap4 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } leaf qosgrpCosMap5 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } leaf qosgrpCosMap6 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } leaf qosgrpCosMap7 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } leaf qosgrpCosMap8 { config "false"; type ipqos_QosgrpBitMap; description "Cos to qosgrp mapping values"; } } grouping ipqos_UfMap-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf deviceType { config "false"; type ipqos_VpcParamDeviceType; description "VPC param vlaue type local/peer"; } // VPC Qos - UF to Qosgrp mapping Object container qosgrpuf1-items { uses ipqos_QosGrpUf1-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } container qosgrpuf2-items { uses ipqos_QosGrpUf2-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } container qosgrpuf3-items { uses ipqos_QosGrpUf3-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } container qosgrpuf4-items { uses ipqos_QosGrpUf4-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } container qosgrpuf5-items { uses ipqos_QosGrpUf5-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } container qosgrpuf6-items { uses ipqos_QosGrpUf6-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } container qosgrpuf7-items { uses ipqos_QosGrpUf7-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } container qosgrpuf8-items { uses ipqos_QosGrpUf8-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } } grouping ipqos_QosGrpUf1-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QosGrpUf2-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QosGrpUf3-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QosGrpUf4-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QosGrpUf5-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QosGrpUf6-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QosGrpUf7-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QosGrpUf8-group { description "VPC Qos - Uf to Qosgrp mapping parameters"; leaf isPause { config "false"; type boolean; description "Pause value in UF to qosgrp mapping"; } leaf mtu { config "false"; type uint32; description "Mtu value in UF to qosgrp mapping"; } } grouping ipqos_QueuingInput-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf deviceType { config "false"; type ipqos_VpcParamDeviceType; description "VPC param vlaue type local/peer"; } // VPC Qos - Queuing to Qosgrp mapping Object container que1-items { uses ipqos_QosGrpQue1-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que2-items { uses ipqos_QosGrpQue2-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que3-items { uses ipqos_QosGrpQue3-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que4-items { uses ipqos_QosGrpQue4-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que5-items { uses ipqos_QosGrpQue5-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que6-items { uses ipqos_QosGrpQue6-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que7-items { uses ipqos_QosGrpQue7-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que8-items { uses ipqos_QosGrpQue8-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } } grouping ipqos_QosGrpQue1-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QosGrpQue2-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QosGrpQue3-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QosGrpQue4-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QosGrpQue5-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QosGrpQue6-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QosGrpQue7-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QosGrpQue8-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf priority { config "false"; type boolean; description "Priority value in Queuing to qosgrp mapping"; } leaf bandwidth { config "false"; type uint16; description "Bandwidth value in Queuing to qosgrp mapping"; } } grouping ipqos_QueuingOutput-group { description "VPC Qos - Queuing to Qosgrp mapping parameters"; leaf deviceType { config "false"; type ipqos_VpcParamDeviceType; description "VPC param vlaue type local/peer"; } // VPC Qos - Queuing to Qosgrp mapping Object container que1-items { uses ipqos_QosGrpQue1-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que2-items { uses ipqos_QosGrpQue2-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que3-items { uses ipqos_QosGrpQue3-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que4-items { uses ipqos_QosGrpQue4-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que5-items { uses ipqos_QosGrpQue5-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que6-items { uses ipqos_QosGrpQue6-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que7-items { uses ipqos_QosGrpQue7-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } container que8-items { uses ipqos_QosGrpQue8-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } } grouping ipqos_QosPeer-group { description "VPC Qos peer parameters"; // VPC Qos - Cos to Qosgrp mapping Object container cos-items { uses ipqos_CosMap-group; description "VPC Qos - Cos to Qosgrp mapping parameters"; } // VPC Qos - UF to Qosgrp mapping Object container uf-items { uses ipqos_UfMap-group; description "VPC Qos - Uf to Qosgrp mapping parameters"; } // VPC Qos - Queuing to Qosgrp mapping Object container quein-items { uses ipqos_QueuingInput-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } // VPC Qos - Queuing to Qosgrp mapping Object container queout-items { uses ipqos_QueuingOutput-group; description "VPC Qos - Queuing to Qosgrp mapping parameters"; } } grouping vpc_Inst-group { description "VPC Instance"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // configure orphan ports to be brought down on Secondary peerlink failure container orphan-items { list OrphanPort-list { key "id"; uses vpc_OrphanPort-group; description "Orphan Port Suspend list"; } description "Orphan Port Suspend"; } // This objects hold per vpc domain information. There is only // one vpc domain that is configurable in the system container dom-items { uses vpc_Dom-group; description "VPC Domain"; } } grouping vpc_OrphanPort-group { description "Orphan Port Suspend"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping vpc_Dom-group { description "VPC Domain"; // Domain id @@@ This property is internally set by PE leaf id { type vpc_DomId; description "Domain ID"; } leaf peerIp { type address_Ip; description "Peer IP"; } leaf virtualIp { type address_Ip; description "Virtual IP"; } // MCTless vPC DSCP value leaf dscp { type vpc_Dscp; description "DSCP"; } // system priority @@@ This comes from the lacp policy leaf sysPrio { type vpc_SysPrio; description "System Priority"; } leaf sysMac { type address_Mac; description "System MAC"; } // role priority @@@ This comes from the vpc policy leaf rolePrio { type vpc_RolePrio; description "Role Priority"; } // Interface vlans to exclude for peer gateway leaf peerGWExcludeVLAN { type vpc_ExcludeVLAN; description "Exclude VLAN List"; } // Enable L3 forwarding for packets destined to peer's gateway // mac-address. leaf peerGw { type nw_AdminSt; default "disabled"; description "Peer Gateway"; } // Enable graceful type-1 consistency check leaf grcflCnstncyChck { type nw_AdminSt; description "Graceful Type-1 Consistency Check"; } // Tracking object to suspend vPC if object goes down leaf track { type vpc_Track; description "Tracking object to suspend vPC if object goes down"; } // Enable auto recovery if peer is presumed non-operational leaf autoRecovery { type nw_AdminSt; default "disabled"; description "Auto Recovery"; } // Duration to wait before assuming peer dead and restoring vpcs leaf autoRecoveryIntvl { type vpc_AutoRecoveryIntvl; description "Auto Recovery interval"; } // Enable peer switch on vPC pair switches leaf peerSwitch { type nw_AdminSt; default "disabled"; description "vPC pair switches"; } // Delay in bringing up the vPC links leaf delayRestoreVPC { type vpc_DelayRestoreVPC; description "Delay restore for vPC links"; } // Delay in bringing-up interface-vlan leaf delayRestoreSVI { type vpc_DelayRestoreSVI; description "Delay restore for SVI"; } // Delay in bringing-up the peer-link leaf delayPeerLinkBringup { type vpc_DelayPeerLinkBringup; description "Peer link delay timer"; } // Delay restore: Orphan Port leaf delayRestoreOrphanPort { type vpc_DelayRestoreOrphanPort; description "Delay restore for orphan ports"; } leaf macBpduSrcVer2 { type boolean; default "false"; description "Version 2 bpdu source mac-address"; } // Interface vlans to exclude from suspension when dual-active leaf excludeSVI { type vpc_ExcludeSVI; description "SVI List excluded from suspension when dual-active"; } // Suspend vPC locally leaf adminSt { type nw_AdminSt; description "vPC suspend locally"; } // Enable auto recovery if peer is presumed non-operational leaf fastConvergence { type nw_AdminSt; default "disabled"; description "Fast Convergence"; } // Layer 3 Peer Router status leaf l3PeerRouter { type nw_AdminSt; default "disabled"; description "L3 Peer Router"; } // Layer 3 Peer Router Syslog Status leaf l3PeerRouterSyslog { type nw_AdminSt; default "disabled"; description "L3 Peer Router Syslog"; } // Layer 3 Peer Router Syslog Interval leaf l3PeerRouterSyslogInterval { type vpc_L3PeerRouterSyslogInterval; description "L3 Peer Router Syslog Interval"; } // summarized role leaf summOperRole { config "false"; type vpc_SummRole; description "Summarized Oper Role"; } // local system priority leaf localPrio { config "false"; type vpc_SysPrio; description "Local System Priority"; } // peer system priority leaf peerPrio { config "false"; type vpc_SysPrio; description "Peer System Priority"; } leaf localMAC { config "false"; type address_Mac; description "Local System MAC"; } leaf peerMAC { config "false"; type address_Mac; description "Peer System MAC"; } // Peer status reason code leaf peerStQual { config "false"; type vpc_PeerStQual; description "Peer Status Qualifier"; } // Dual active status leaf dualActiveSt { config "false"; type vpc_DualActiveSt; description "Dual Active Status"; } // Compatibility status leaf compatSt { config "false"; type vpc_CompatSt; description "Compatibility Status"; } // Type-2 compatibility status leaf type2CompatSt { config "false"; type vpc_CompatSt; description "Type-2 Compatibility Status"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } container if-items { list If-list { key "id"; uses vpc_If-group; description "VPC Interface list"; } description "VPC Interface"; } // vpc keepalive definitions container keepalive-items { uses vpc_Keepalive-group; description "VPC Keepalive Policy"; } container rsvpcInstPolCons-items { uses vpc_RsVpcInstPolCons_source-group; description "Vpc Instance Policy Attachment"; } } grouping vpc_If-group { description "VPC Interface"; // vpc id leaf id { type vpc_Id; description "VPC ID"; } // local operational status leaf localOperSt { config "false"; type vpc_OperSt; description "Local Operational State"; } // Compatibility status leaf compatSt { config "false"; type vpc_CompatSt; description "Compatibility Status"; } // Compatibility reason code leaf compatQual { config "false"; type vpc_CompatQual; default "1102512194"; description "Compatibility Qualifier"; } leaf compatQualStr { config "false"; type string; default "Consistency_Check_Not_Performed"; description "Compatibility Qualifier String"; } leaf upVlans { config "false"; type string; description "Up Vlans"; } container rsvpcConf-items { uses vpc_RsVpcConf_source-group; description "Port Channel Attachment"; } container rsvpcConfVeth-items { uses vpc_RsVpcConfVeth_source-group; description "Vethernet Attachment"; } } grouping vpc_Keepalive-group { description "VPC Keepalive Policy"; // vrf name leaf vrf { type l3_VrfName; description "VRF"; } leaf srcIp { type address_Ip; description "Source IP"; } leaf destIp { type address_Ip; description "Destination IP"; } // port number leaf udpPort { type comm_Port; description "UDP Port"; } // interval leaf interval { type vpc_KeepaliveInterval; description "Interval"; } // timeout leaf timeout { type vpc_KeepaliveTout; description "Timeout"; } // tos config type leaf tosCfgType { type vpc_TosCfgType; description "TOS Type"; } // tos byte leaf tosByte { type vpc_TosByte; description "TOS Byte"; } // tos value leaf tosValue { type vpc_TosValue; description "TOS Value"; } // tos type leaf tosType { type vpc_TosType; description "TOS Type"; } // precedence value leaf precValue { type vpc_PrecValue; description "Precedence Value"; } // precedence type leaf precType { type vpc_PrecType; description "Precedence Type"; } // flush timeout leaf flushTout { type vpc_FlushTout; description "Flush Timeout"; } // operational state leaf operSt { config "false"; type vpc_KeepaliveOperSt; description "Operational State"; } // send interface leaf sendIf { config "false"; type nw_IfId; description "Send Interface"; } // recv interface leaf recvIf { config "false"; type nw_IfId; description "Received Interface"; } leaf peerUpTime { config "false"; type string; description "Duration for which peer is alive for"; } leaf name { type naming_Name; description "Name"; } // Specify link used for peer communication container peerlink-items { uses vpc_PeerLink-group; description "Peer Link"; } } grouping vpc_PeerLink-group { description "Peer Link"; // Id of the peer link or peer link num leaf peerId { config "false"; type vpc_PeerId; description "Peer VPC ID for peer link communication"; } leaf activeVlans { config "false"; type string; description "Active Vlans in the peer link"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping xbar_LogLevel-group { description "Config Xbar logging level"; // logging level leaf loggingLevel { type xbar_LoggingLevel; description "Logging Level"; } // logging type leaf loggingType { config "false"; type xbar_LoggingType; description "Logging type"; } } grouping gold_Entity-group { description "Gold Entity"; // Diagnostic Bootup Level leaf diagBootLevel { type gold_bootLevel; description "Module Diagnostic Bootup Level"; } // Diagnostic Device Test log Level leaf diagMonitorSyslog { type gold_MonitorSyslog; description "Diagnostic Monitor Syslog"; } // Config for Gold container config-items { uses gold_Config-group; description "Gold Health monitoring configurations"; } // Module container module-items { list Module-list { key "id"; uses gold_Module-group; description "Gold Module list"; } description "Gold Module"; } } grouping gold_Config-group { description "Gold Health monitoring configurations"; // Diagnostic monitor module all leaf diagMonitorModuleAll { type gold_AdminSt; description "Diagnostic Monitor Module All Diagnostic All"; } // Test name leaf monitorTestName { type gold_Name; description "GOLD Health Monitoring Specific Test on All Modules"; } // Test monitor leaf monitorTestStatus { type gold_AdminSt; description "Health Monitor All Modules Specific Test Status"; } // Module Configuration container module-items { list ModuleConfig-list { key "modId"; uses gold_ModuleConfig-group; description " GOLD Module level health monitor configuration list"; } description " GOLD Module level health monitor configuration "; } } grouping gold_ModuleConfig-group { description " GOLD Module level health monitor configuration "; // Module id leaf modId { type gold_Id; description "GOLD helath monitoring Module Id Property has READ-Create access."; } // Test monitor leaf testMonitorAll { type gold_AdminSt; description "Health Monitor Module level Status"; } // Test Interval leaf testModuleInterval { type gold_TestTime; default "default"; description "Health Monitor Test Module Interval"; } // Test monitor container test-items { list TestMonitor-list { key "id"; uses gold_TestMonitor-group; description "Test monitor status list"; } description "Test monitor status"; } } grouping gold_TestMonitor-group { description "Test monitor status"; // Test id leaf id { type gold_Id; description "GOLD Health Monitoring Test Id Property has READ-Create access."; } // Test name leaf monitorTestName { type gold_Name; description "GOLD Health Monitoring Test Name"; } // Test monitor leaf monitorStatus { type gold_AdminSt; description "Health Monitor Status"; } // Test Interval leaf testInterval { type gold_TestTime; default "default"; description "Health Monitor Test Interval"; } } grouping gold_Module-group { description "Gold Module"; // Module id leaf id { type gold_Id; description "Module Id Property has READ-Create access."; } // Module name leaf description { config "false"; type gold_Name; description "Module Description"; } // Module Diag Status leaf diagStatus { config "false"; type gold_moduleDiagStatus; description "Module Diagnostic Status"; } // Test container test-items { list Test-list { key "id"; uses gold_Test-group; description "Test case list"; } description "Test case"; } } grouping gold_Test-group { description "Test case"; // Test id leaf id { type gold_Id; description "Test Id"; } // Test name leaf monitorTestName { config "false"; type gold_Name; description "Monitor Test Id to Test Name Mapping"; } // Test status container teststatus-items { uses gold_TestStatus-group; description "Test running status"; } } grouping gold_TestStatus-group { description "Test running status"; // Test name leaf name { config "false"; type gold_Name; description "Test Name"; } // Test first fail time leaf firstFailTime { config "false"; type gold_TestTime; description "Test First Failure Time"; } // Test last fail time leaf lastFailTime { config "false"; type gold_TestTime; description "Test Last Failure Time"; } // Test last execution time leaf lastExecutionTime { config "false"; type gold_TestTime; description "Test Last Execution Time"; } // Test last pass time leaf lastPassTime { config "false"; type gold_TestTime; description "Test Last Pass Time"; } // Test next execution time leaf nextExecutionTime { config "false"; type gold_TestTime; description "Test Next Execution Time"; } // Test result leaf result { config "false"; type gold_Result; description "Test Result"; } // Test failure reason leaf resultReason { config "false"; type gold_TestFailReason; description "Test Failure Reason"; } leaf runCount { config "false"; type uint32; description "Test Run Count"; } leaf failCount { config "false"; type uint32; description "Test Fail Count"; } leaf consecutiveFailCount { config "false"; type uint32; description "Test Consecutive Fail Count"; } // Aborted Ports leaf portsAborted { config "false"; type gold_PortList; description "List of Aborted Ports"; } // Error Disabled Ports leaf portsErrorDisabled { config "false"; type gold_PortList; description "List of Error Disabled Ports"; } // Failed Ports leaf portsFailing { config "false"; type gold_PortList; description "List of Failing Ports"; } // Incomplete Ports leaf portsIncomplete { config "false"; type gold_PortList; description "List of Incomplete Ports"; } // Passed Ports leaf portsPassing { config "false"; type gold_PortList; description "List of Passing Ports"; } // Untested Ports leaf portsUntested { config "false"; type gold_PortList; description "List of Untested Ports"; } leaf testAttributes { config "false"; type string; description "Test Attributes"; } // Test Interval leaf testInterval { config "false"; type gold_TestTime; description "Runtime Health Monitor Test Interval"; } // lowest allowed Test Interval leaf lowestAllowedTestInterval { config "false"; type gold_TestTime; description "Lowest Allowed Test Interval in Seconds"; } // Test Interval leaf runtimeMonitorStatus { config "false"; type gold_AdminSt; description "Runtime Health Monitor Test monitor status"; } } grouping igmp_Entity-group { description "IGMP Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This object holds igmp if db information // Ephemeral data container igmpifdb-items { // Ephemeral data list IgmpIfdb-list { config "false"; key "ifdbtype"; uses igmp_IgmpIfdb-group; description "Holds IGMP IF db information list"; } description "Holds IGMP IF db information"; } // This objects hold per igmp instance information. There is only // one instance of igmp running in the system today container inst-items { uses igmp_Inst-group; description "IGMP Instance"; } } grouping igmp_IgmpIfdb-group { description "Holds IGMP IF db information"; // Type of the repository // Ephemeral data leaf ifdbtype { config "false"; type igmp_ifdbT; description "represents repository type"; } // This objects hold per igmp domain (vrf) information // Ephemeral data container igmpdom-items { // Ephemeral data list IgmpDom-list { config "false"; key "name"; uses igmp_IgmpDom-group; description "Holds per PIM domain (vrf) information list"; } description "Holds per PIM domain (vrf) information"; } } grouping igmp_IgmpDom-group { description "Holds per PIM domain (vrf) information"; // Vrf name // Ephemeral data leaf name { config "false"; type l3_VrfName; description "Virtual Routing and Forwarding Name"; } // This object holds igmp information that is operated at a // interface level // Ephemeral data container igmpif-items { // Ephemeral data list IgmpIf-list { config "false"; key "id"; uses igmp_IgmpIf-group; description "Holds igmp information that is operated at a interface level list"; } description "Holds igmp information that is operated at a interface level"; } } grouping igmp_IgmpIf-group { description "Holds igmp information that is operated at a interface level"; // Ephemeral data leaf id { config "false"; type igmp_IfId; description "Interface Identifier of this endpoint"; } // This object holds the igmp interface related statistics // Ephemeral data container igmpifprop-items { uses igmp_IgmpIfProp-group; description "This object holds the IGMP interface related statistics"; } // IGMP Interface Stats Oper MO // Ephemeral data container igmpifstats-items { uses igmp_IgmpIfStats-group; description "Holds IGMP interface statistics"; } } grouping igmp_IgmpIfProp-group { description "This object holds the IGMP interface related statistics"; // Ephemeral data leaf ifName { config "false"; type string; description "IGMP enabled interface name"; } // Ephemeral data leaf ifStatus { config "false"; type string; description "IGMP enabled interface status"; } // Ephemeral data leaf addrSummary { config "false"; type string; description "IGMP enabled address summary"; } // Ephemeral data leaf querier { config "false"; type string; description "IGMP Querier address on interface"; } // Ephemeral data leaf querierVersion { config "false"; type string; description "IGMP Querier version on interface"; } // Ephemeral data leaf nextQuery { config "false"; type string; description "IGMP next Query on interface"; } // Ephemeral data leaf memembershipCount { config "false"; type uint32; description "IGMP Membership count on interface"; } // Ephemeral data leaf igmpVer { config "false"; type uint32; description "IGMP version on interface"; } // Ephemeral data leaf hostVer { config "false"; type uint32; description "IGMP host version on interface"; } // Ephemeral data leaf queryIntrvl { config "false"; type uint32; description "IGMP query Interval on interface"; } // Ephemeral data leaf cfgQueryIntrvl { config "false"; type uint32; description "IGMP Configured query Interval on interface"; } // Ephemeral data leaf maxRespTime { config "false"; type uint32; description "IGMP MAX RESPONSE TIME on interface"; } // Ephemeral data leaf cfgmaxRespTime { config "false"; type uint32; description "IGMP Configured MAX RESPONSE TIME on interface"; } // Ephemeral data leaf startUpQueryIntvl { config "false"; type uint32; description "IGMP startup query interval on interface"; } // Ephemeral data leaf startupQueryCnt { config "false"; type uint32; description "IGMP startup query count on interface"; } // Ephemeral data leaf cfgStartupQueryCnt { config "false"; type uint32; description "IGMP configured startup query count on interface"; } // Ephemeral data leaf lastMemMTR { config "false"; type uint32; description "IGMP last member mrt on interface"; } // Ephemeral data leaf lastMemQueryCnt { config "false"; type uint32; description "IGMP last member query Cnt on interface"; } // Ephemeral data leaf groupTimeOut { config "false"; type uint32; description "IGMP Group member timeout in secs"; } // Ephemeral data leaf cfgGrpTimeOut { config "false"; type uint32; description "IGMP configured grp member timeout on interface"; } // Ephemeral data leaf querierTimeOut { config "false"; type uint32; description "IGMP querier timeout on interface"; } // Ephemeral data leaf cfgquerierTimeOut { config "false"; type uint32; description "IGMP configured querier timeout on interface"; } // Ephemeral data leaf unsolicitedRprtIntvl { config "false"; type uint32; description "IGMP unsolicited report interval on interface"; } // Ephemeral data leaf robustness { config "false"; type uint32; description "IGMP robustness on interface"; } // Ephemeral data leaf cfgRobustness { config "false"; type uint32; description "IGMP configured robustness on interface"; } // Ephemeral data leaf reportingForLinkLocal { config "false"; type boolean; description "IGMP robustness on interface"; } // Ephemeral data leaf refCnt { config "false"; type uint32; description "IGMP reference count on interface"; } // Ephemeral data leaf igmpImmedLeave { config "false"; type boolean; description "IGMP immediate leave on interface"; } // Ephemeral data leaf rprtPolicy { config "false"; type string; description "IGMP Report policy on interface"; } } grouping igmp_IgmpIfStats-group { description "Holds IGMP interface statistics"; // Ephemeral data leaf v1RecvRprt { config "false"; type uint32; description "Number of IGMP v1 receiver report"; } // Ephemeral data leaf v2querSent { config "false"; type uint32; description "Number of IGMP v2 queries sent"; } // Ephemeral data leaf v2querRcvd { config "false"; type uint32; description "Number of IGMP v2 queries received"; } // Ephemeral data leaf v2rprtSent { config "false"; type uint32; description "Number of IGMP v2 reports sent"; } // Ephemeral data leaf v2leaveSent { config "false"; type uint32; description "Number of IGMP v2 leave sent"; } // Ephemeral data leaf v2leaveRcvd { config "false"; type uint32; description "Number of IGMP v2 leave received"; } // Ephemeral data leaf v2rprtRcvd { config "false"; type uint32; description "Number of IGMP v2 reports received"; } // Ephemeral data leaf v3querSent { config "false"; type uint32; description "Number of IGMP v3 queries sent"; } // Ephemeral data leaf v3querRcvd { config "false"; type uint32; description "Number of IGMP v3 queries received"; } // Ephemeral data leaf v3rprtSent { config "false"; type uint32; description "Number of IGMP v3 reports sent"; } // Ephemeral data leaf v3rprtRcvd { config "false"; type uint32; description "Number of IGMP v3 reports received"; } // Ephemeral data leaf v2gqDestFailures { config "false"; type uint32; description "Number of IGMP v2 Destinatation failures"; } // Ephemeral data leaf v3gqDestFailures { config "false"; type uint32; description "Number of IGMP v3 Destinatation failures"; } // Ephemeral data leaf checkSumErrors { config "false"; type uint32; description "Number of IGMP checksum errors"; } // Ephemeral data leaf pktlengtherrors { config "false"; type uint32; description "Number of IGMP packet length errors"; } // Ephemeral data leaf localsrcipPkts { config "false"; type uint32; description "Number of IGMP local source ip packets"; } // Ephemeral data leaf subnetChkFailures { config "false"; type uint32; description "Number of IGMP subnet check failures"; } // Ephemeral data leaf queryFromNonQuerier { config "false"; type uint32; description "Number of IGMP queries from non querier"; } // Ephemeral data leaf rprtVersionMismatch { config "false"; type uint32; description "IGMP report version mismatch stats"; } // Ephemeral data leaf queryVersionMismatch { config "false"; type uint32; description "IGMP query version mismatch stats"; } // Ephemeral data leaf unknownIgmpType { config "false"; type uint32; description "Number of unknown IGMP types"; } // Ephemeral data leaf v1GrpDestAddrMismatch { config "false"; type uint32; description "IGMP v1 group destination address mismatch stats"; } // Ephemeral data leaf v2GrpDestAddrMismatch { config "false"; type uint32; description "IGMP v2 group destination address mismatch stats"; } // Ephemeral data leaf v3DestInvalid { config "false"; type uint32; description "Number of IGMP v3 invalid destination addresses"; } // Ephemeral data leaf rapktDrop { config "false"; type uint32; description "Number of RApacket drops"; } } grouping igmp_Inst-group { description "IGMP Instance"; leaf heavyTemplate { type boolean; description "Enabling/Disabling IGMP Heavy Template"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Control leaf instCtrl { type ipmc_InstCtrl; description "Inst Controls"; } // Bootup route add delay to RIB leaf bootupDelay { type ipmc_BootupDelay; description "Bootup Route Add Delay"; } leaf flushRoute { type boolean; description "Flush Routes on Restart"; } leaf rtrAlert { type boolean; description "Enforce Router Alert"; } leaf anyQueryDest { type boolean; description "Allow any destination-IP for General Queries "; } // syslog-Threshold leaf syslogThreshold { type ipmc_SyslogThresT; description "IGMP table syslog threshold percentage"; } leaf spoofCheck { type boolean; description "Enable spoof check for IGMP"; } leaf strictQuerElect { type boolean; description "Consider subnet check for L3 igmp querier election"; } // This objects hold per igmp external domain information container extdom-items { list ExtDom-list { key "id"; uses igmp_ExtDom-group; description "This object holds IGMP external domain information list"; } description "This object holds IGMP external domain information"; } // This objects hold per igmp domain information container dom-items { list Dom-list { key "name"; uses igmp_Dom-group; description "This object holds IGMP domain information list"; } description "This object holds IGMP domain information"; } // IGMP database for show commands - container hostTrack-items { uses igmp_HostTrack-group; description "IGMP database for show ip igmp groups"; } container loglevel-items { uses igmp_LogLevel-group; description "Configure logging level"; } // IGMP database for show commands - needs to be ephemeral // Ephemeral data container routedb-items { uses igmp_RouteDb-group; description "IGMP database for show commands"; } } grouping igmp_ExtDom-group { description "This object holds IGMP external domain information"; // Id for this domain @@@ This comes from the Network id assigned by the // PE for the external domain leaf id { type top_RemoteNetworkId; description "Domain Identifier"; } // Igmp Version leaf ver { type mcast_Ver; description "IGMP Version"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This objects hold per igmp external interface information container extif-items { list ExtIf-list { key "id"; uses igmp_ExtIf-group; description "This object holds IGMP external interface information list"; } description "This object holds IGMP external interface information"; } } grouping igmp_ExtIf-group { description "This object holds IGMP external interface information"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping igmp_Dom-group { description "This object holds IGMP domain information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // IGMP databases container db-items { list Db-list { config "false"; key "type"; uses igmp_Db-group; description "IGMP Database list"; } description "IGMP Database"; } container eventHist-items { list EventHistory-list { key "type"; uses igmp_EventHistory-group; description "This object holds configuration details of event-history buffers list"; } description "This object holds configuration details of event-history buffers"; } // This objects hold per igmp interface information container if-items { list If-list { key "id"; uses igmp_If-group; description "This object holds per IGMP interface information list"; } description "This object holds per IGMP interface information"; } // This objects hold per igmp external interface information that // supports mvr configs container mvrif-items { list MvrIf-list { key "id"; uses igmp_MvrIf-group; description "This objects hold per igmp external interface information that supports mvr configs list"; } description "This objects hold per igmp external interface information that supports mvr configs"; } // This objects holds multicast vlan registration state container mvr-items { uses igmp_Mvr-group; description "This objects holds multicast vlan registration state"; } // This objects hold per igmp domain information container ssmxlate-items { list SSMXlate-list { key "srcAddr grpPfx"; uses igmp_SSMXlate-group; description "Holds Source Specific Multicast (SSM) translation information list"; } description "Holds Source Specific Multicast (SSM) translation information"; } } grouping igmp_Db-group { description "IGMP Database"; // Type of the repository leaf type { config "false"; type igmp_DbT; description "Database type for different show commands"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // IGMP Group/Src MOs container src-items { list Route-list { config "false"; key "src grp"; uses igmp_Route-group; description "Holds IGMP Route Information list"; } description "Holds IGMP Route Information"; } } grouping igmp_Route-group { description "Holds IGMP Route Information"; leaf src { config "false"; type address_Ip; description "Source Address"; } leaf grp { config "false"; type address_Ip; description "Group Address"; } // IGMP Oif MOs. We create one object per interface in the oif list container oif-items { list Oif-list { config "false"; key "oif"; uses igmp_Oif-group; description "Holds Outgoing Interface Information. Supported Interfaces Include Ethernet-like, Port/Channel, Vlan, Loopback Interfaces. list"; } description "Holds Outgoing Interface Information. Supported Interfaces Include Ethernet-like, Port/Channel, Vlan, Loopback Interfaces."; } } grouping igmp_Oif-group { description "Holds Outgoing Interface Information. Supported Interfaces Include Ethernet-like, Port/Channel, Vlan, Loopback Interfaces."; leaf oif { config "false"; type nw_IfId; description "Outgoing interface"; } } grouping igmp_EventHistory-group { description "This object holds configuration details of event-history buffers"; leaf type { type igmp_EhType; description "Configures type of event history"; } leaf size { type igmp_Size; description "Configures buffer size in text per kb"; } } grouping igmp_If-group { description "This object holds per IGMP interface information"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // Interface Control leaf ifCtrl { type ipmc_IfCtrl; description "Controls"; } // Interface version leaf ver { type mcast_Ver; description "Version"; } // Group Timeout leaf grpTimeout { type ipmc_GrpTimeout; description "Group Membership Timeout"; } leaf actQuer { config "false"; type address_Ip; description "IGMP active querier IP"; } leaf nextQuerTime { config "false"; type union { type string; type uint64; } description "IGMP next query time"; } // Flags leaf flags { config "false"; type ipmc_IfFlags; description "Flags"; } leaf entryCount { type uint32; description "Dynamic entry count"; } leaf stEntryCount { type uint32; description "Static Entry count"; } leaf querExpiry { config "false"; type union { type string; type uint64; } description "Querier expiry time"; } leaf reportLl { type boolean; description "Report link local"; } leaf immediateLeave { type boolean; description "Fast leave"; } // Allow v3 ASM leaf allowv3Asm { type ipmc_Allowv3AsmType; description "Allow v3 ASM"; } leaf suppressv3Gsq { type boolean; description "Suppress v3 GSQ"; } // IGMP Interface Stats Oper MO container IfStats-items { uses igmp_IfStats-group; description "Holds IGMP interface statistics"; } // This objects hold IP Multicast Group JoinType information container jointype-items { list JoinType-list { key "type"; uses igmp_JoinType-group; description "This Object Holds IP Multicast Group JoinType Information list"; } description "This Object Holds IP Multicast Group JoinType Information"; } // This object holds resource (router state) limit policy // to limit amount of multicast routing state on the router container limit-items { uses igmp_ResP-group; description "Holds Resource policy to limit amount of multicast routing state on the router"; } // This object holds igmp reports policy state per Interface container reppol-items { uses igmp_RepP-group; description "This object holds igmp reports policy state per Interface"; } // This object holds static igmp reports policy state per Interface container streppol-items { list StRepP-list { key "joinType"; uses igmp_StRepP-group; description "Holds Static IGMP report policy list"; } description "Holds Static IGMP report policy"; } // This object holds IGMP Host-proxy report policy state per Interface container hostproxy-items { uses igmp_HostProxyP-group; description "Holds IGMP Host-proxy properties"; } // This object holds querier information per interface container querierp-items { uses igmp_QuerierP-group; description "Holds IGMP querier information"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping igmp_IfStats-group { description "Holds IGMP interface statistics"; leaf v2querSent { config "false"; type uint32; description "Number of IGMP v2 queries sent"; } leaf v2querRcvd { config "false"; type uint32; description "Number of IGMP v2 queries received"; } leaf v3querSent { config "false"; type uint32; description "Number of IGMP v3 queries sent"; } leaf v3querRcvd { config "false"; type uint32; description "Number of IGMP v3 queries received"; } leaf v2rprtSent { config "false"; type uint32; description "Number of IGMP v2 reports sent"; } leaf v2rprtRcvd { config "false"; type uint32; description "Number of IGMP v2 reports received"; } leaf v3rprtSent { config "false"; type uint32; description "Number of IGMP v3 reports sent"; } leaf v3rprtRcvd { config "false"; type uint32; description "Number of IGMP v3 reports received"; } leaf v2leaveSent { config "false"; type uint32; description "Number of IGMP v2 leave sent"; } leaf v2leaveRcvd { config "false"; type uint32; description "Number of IGMP v2 leave received"; } } grouping igmp_JoinType-group { description "This Object Holds IP Multicast Group JoinType Information"; // Join Type of the groups leaf type { type ipmc_JoinType; description "Join Type of the Groups. Supported Types Include Static or Join."; } // This objects hold IP Multicast Group version information container ver-items { list Version-list { key "version"; uses igmp_Version-group; description "This Object Holds IP Multicast Group Version Information list"; } description "This Object Holds IP Multicast Group Version Information"; } } grouping igmp_Version-group { description "This Object Holds IP Multicast Group Version Information"; // IGMP version leaf version { type ipmc_Ver; description "IGMP Group Version"; } // This object holds igmp group configuration per Interface container group-items { list Group-list { key "grp"; uses igmp_Group-group; description "IGMP Group Information per Interface list"; } description "IGMP Group Information per Interface"; } } grouping igmp_Group-group { description "IGMP Group Information per Interface"; leaf grp { type address_Ip; description "Route IP Address for Choosing Groups"; } leaf useStaticOif { type boolean; default "true"; description "Indicates if Static Outgoing Interace is Being Used"; } // This object holds static igmp source per group container source-items { list Source-list { key "src"; uses igmp_Source-group; description "This Object Holds Static IGMP Source per Group list"; } description "This Object Holds Static IGMP Source per Group"; } } grouping igmp_Source-group { description "This Object Holds Static IGMP Source per Group"; leaf src { type address_Ip; description "IGMP Source IP Address"; } leaf useStaticOif { type boolean; default "true"; description "Indicates if Static Outgoing Interface is being used"; } } grouping igmp_ResP-group { description "Holds Resource policy to limit amount of multicast routing state on the router"; // Reserved entry Limit Status leaf rsvdEntries { config "false"; type igmp_LimitSt; description "Reserved entries availability status"; } // Regular entry Limit Status leaf regEntries { config "false"; type igmp_LimitSt; description "Regular entries availability status"; } leaf availRsvdEntries { config "false"; type uint32; description "Availble reserved entries"; } leaf availRegEntries { config "false"; type uint32; description "Available regular entries"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Maximum Multicast Entries leaf max { type mcast_NumEntries; description "Maximum Multicast Entries"; } // Reserved Multicast Entries leaf rsvd { type mcast_NumEntries; description "Reserved Multicast Entries"; } leaf rtMap { type string; description "Reserved Entries Route Map"; } } grouping igmp_RepP-group { description "This object holds igmp reports policy state per Interface"; leaf rtMap { type string; description "Route Map"; } leaf pfxList { type string; description "Prefix List"; } leaf useAccessGrpCommand { type boolean; description "Flag to use access-group"; } } grouping igmp_StRepP-group { description "Holds Static IGMP report policy"; leaf rtMap { type string; description "Route Map"; } leaf pfxList { type string; description "Prefix List"; } leaf useAccessGrpCommand { type boolean; description "Flag to use access-group"; } // Join Type of the groups leaf joinType { type ipmc_JoinType; description "Join Type of Groups"; } } grouping igmp_HostProxyP-group { description "Holds IGMP Host-proxy properties"; leaf enabled { type boolean; description "Host Proxy enabled or disabled"; } leaf rtMap { type string; description "Route Map"; } leaf pfxList { type string; description "Prefix List"; } // Unsolicited report time interval leaf unsolicited { type igmp_HostProxyUnsolicitTime; description "Unsolicited Join interval in seconds"; } leaf sgProxy { type boolean; description "IGMP Source group proxy "; } } grouping igmp_QuerierP-group { description "Holds IGMP querier information"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Querier version leaf ver { type mcast_Ver; description "Version"; } // Querier IP address leaf addr { type mcast_QuerierIp; description "Address"; } // Query interval leaf queryIntvl { type mcast_QueryIntvl; description "Query Interval"; } // Query response interval leaf rspIntvl { type mcast_QueryRspIntvl { range "1..25"; } description "Response Interval of Querier"; } // Robustness factor leaf robustFac { type mcast_RobustFactor; description "Robustness Factor"; } // Startup query interval leaf startQueryIntvl { type mcast_StartQueryIntvl; description "Startup Query Interval"; } // Startup query count leaf startQueryCnt { type mcast_QueryCnt; description "Startup Query Count"; } // Querier timeout leaf querierTimeout { type mcast_QuerierTimeout; description "Querier Timeout"; } // Last member query count leaf lastMbrCnt { type mcast_LastMbrQueryCnt; description "Last Member Query Count"; } // Last member response time leaf lastMbrRespTime { type mcast_LastMbrRespTime; description "Last Member Response Time"; } } grouping igmp_MvrIf-group { description "This objects hold per igmp external interface information that supports mvr configs"; leaf mvrRcvr { type boolean; description "Enable/disable MVR Receiver Port"; } leaf mvrSrc { type boolean; description "Enable/disable MVR Source Port"; } leaf vlan { type igmp_VlanIdT; description "Interface default multicast vlan configuration"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // This objects holds multicast vlan registration group // information container mvrgrp-items { list MvrGrp-list { key "ip"; uses igmp_MvrGrp-group; description "This objects holds multicast vlan registration group information list"; } description "This objects holds multicast vlan registration group information"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping igmp_MvrGrp-group { description "This objects holds multicast vlan registration group information"; leaf ip { type address_Ip; description "Multicast Group IP Address"; } leaf vlan { type igmp_VlanIdT; description "Global default MVR vlan identifier"; } leaf ipMask { type address_Ip; description "IP network mask in format m.m.m.m"; } leaf count { type uint32 { range "1..64"; } description "Number of contiguous groups"; } } grouping igmp_Mvr-group { description "This objects holds multicast vlan registration state"; leaf adminSt { type igmp_mvrAdminSt; description "Enable/disable multicast vlan registration capability"; } leaf vlan { type igmp_VlanIdT; description "Global default MVR vlan identifier"; } leaf suppressQuery { type l2_VlanBitmap; description "Suppress IGMP General query forwarding from vlans"; } // This objects holds multicast vlan registration group // information container mvrgrp-items { list MvrGrp-list { key "ip"; uses igmp_MvrGrp-group; description "This objects holds multicast vlan registration group information list"; } description "This objects holds multicast vlan registration group information"; } } grouping igmp_SSMXlate-group { description "Holds Source Specific Multicast (SSM) translation information"; // Group IP Prefix address leaf grpPfx { type mcast_GrpIp; description "Address"; } leaf srcAddr { type address_Ip; description "Address"; } } grouping igmp_HostTrack-group { description "IGMP database for show ip igmp groups"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository leaf type { config "false"; type rtdmc_DbT; description "Type"; } // This objects hold per igmp domain (vrf) information container igmpvrf-items { list IgmpVrf-list { config "false"; key "name"; uses igmp_IgmpVrf-group; description "This Objects holds per IGMP Virtual Routing and Forwarding (VRF) Information list"; } description "This Objects holds per IGMP Virtual Routing and Forwarding (VRF) Information"; } } grouping igmp_IgmpVrf-group { description "This Objects holds per IGMP Virtual Routing and Forwarding (VRF) Information"; // Vrf name leaf name { config "false"; type l3_VrfName; description "Virtual Routing and Forwarding Name"; } // This object holds igmp route group information container host-items { list Host-list { config "false"; key "rprtAddr"; uses igmp_Host-group; description "This Object holds IGMP host Information list"; } description "This Object holds IGMP host Information"; } } grouping igmp_Host-group { description "This Object holds IGMP host Information"; leaf rprtAddr { config "false"; type string; description "IGMP host-reporter IP Address"; } // This object holds igmp route group information container rtgrp-items { list RouteGrp-list { config "false"; key "grpAddrs"; uses igmp_RouteGrp-group; description "This Object holds IGMP Route Group Information list"; } description "This Object holds IGMP Route Group Information"; } } grouping igmp_RouteGrp-group { description "This Object holds IGMP Route Group Information"; leaf grpAddrs { config "false"; type address_Ip; description "Multicast Group IP Address"; } // This object holds igmp route source information container rtsrc-items { list RouteSrc-list { config "false"; key "srcAddrs"; uses igmp_RouteSrc-group; description "This Object holds IGMP Route Source Information list"; } description "This Object holds IGMP Route Source Information"; } } grouping igmp_RouteSrc-group { description "This Object holds IGMP Route Source Information"; leaf srcAddrs { config "false"; type address_Ip; description "IGMP Route Source IP Address"; } // IGMP Route Oif MOs. We create one object per interface in the oif list container rtinfo-items { uses igmp_RouteInfo-group; description "Holds Route Outgoing Interface(OIF) Details"; } } grouping igmp_RouteInfo-group { description "Holds Route Outgoing Interface(OIF) Details"; leaf isJoin { config "false"; type boolean; description "Indicates if the Route is Local"; } leaf isStatic { config "false"; type boolean; description "Indicates if the Route is Static"; } leaf isHostProxy { config "false"; type boolean; description "Indicates if Host is Proxy"; } leaf isLocal { config "false"; type boolean; description "Indicates if the Route is Local"; } leaf expiration { config "false"; type string; description "Route OIF Expiry Timestamp"; } // Interface info leaf interface { config "false"; type igmp_IfId; description "Interface Identifier of this endpoint"; } leaf ssmTranslate { config "false"; type boolean; description "Indicates if the Route is SSM."; } } grouping igmp_LogLevel-group { description "Configure logging level"; leaf type { type igmp_LogType; description "Configures logging type"; } leaf level { type igmp_LvlType; description "Configures log level"; } } grouping igmp_RouteDb-group { description "IGMP database for show commands"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository // Ephemeral data leaf type { config "false"; type rtdmc_DbT; description "Type"; } // This objects hold per igmp domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses igmp_Vrf-group; description "This Objects holds per IGMP Virtual Routing and Forwarding (VRF) Information list"; } description "This Objects holds per IGMP Virtual Routing and Forwarding (VRF) Information"; } } grouping igmp_Vrf-group { description "This Objects holds per IGMP Virtual Routing and Forwarding (VRF) Information"; // Vrf name // Ephemeral data leaf name { config "false"; type l3_VrfName; description "Virtual Routing and Forwarding Name"; } // This object holds igmp route group information // Ephemeral data container group-items { // Ephemeral data list RouteGroup-list { config "false"; key "grpAddr"; uses igmp_RouteGroup-group; description "This Object holds IGMP Route Group Information list"; } description "This Object holds IGMP Route Group Information"; } } grouping igmp_RouteGroup-group { description "This Object holds IGMP Route Group Information"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group IP Address"; } // This object holds igmp route source information // Ephemeral data container source-items { // Ephemeral data list RouteSource-list { config "false"; key "srcAddr"; uses igmp_RouteSource-group; description "This Object holds IGMP Route Source Information list"; } description "This Object holds IGMP Route Source Information"; } } grouping igmp_RouteSource-group { description "This Object holds IGMP Route Source Information"; // Ephemeral data leaf srcAddr { config "false"; type address_Ip; description "IGMP Route Source IP Address"; } // IGMP Route Oif MOs. We create one object per interface in the oif list // Ephemeral data container oif-items { // Ephemeral data list RouteOif-list { config "false"; key "oif"; uses igmp_RouteOif-group; description "Holds Route Outgoing Interface(OIF) Details list"; } description "Holds Route Outgoing Interface(OIF) Details"; } } grouping igmp_RouteOif-group { description "Holds Route Outgoing Interface(OIF) Details"; // Ephemeral data leaf local { config "false"; type boolean; description "Indicates if the Route is Local"; } // Ephemeral data leaf static { config "false"; type boolean; description "Indicates if the Route is Static"; } // Ephemeral data leaf hostProxy { config "false"; type boolean; description "Indicates if Host is Proxy"; } // Ephemeral data leaf expiryTime { config "false"; type string; description "Route OIF Expiry Timestamp"; } leaf oifUptime { config "false"; type string; description "Route OIF Uptime Timestamp"; } // Ephemeral data leaf rprtAddr { config "false"; type string; description "IGMP Route Source IP Address"; } // Ephemeral data leaf oif { config "false"; type nw_IfId; description "Outgoing interface"; } } grouping isis_Entity-group { description "Holds ISIS Control Plane Entity Information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per isis instance information. container inst-items { list Inst-list { key "name"; uses isis_Inst-group; description "Holds ISIS per Instance Information list"; } description "Holds ISIS per Instance Information"; } // This object holds isis logging information container syslog-items { uses isis_SysLog-group; description "Holds ISIS logging Information"; } // This object holds isis information that is operated at a // interface level container if-items { list InternalIf-list { key "id"; uses isis_InternalIf-group; description "Internal Model for ISIS Interface list"; } description "Internal Model for ISIS Interface"; } } grouping isis_Inst-group { description "Holds ISIS per Instance Information"; // Operational state leaf operSt { config "false"; type isis_OperSt; description "Holds ISIS Instance Operational State"; } leaf flushRoutes { type boolean; description "Flush ISIS Routes on non graceful controlled restart"; } leaf isolate { type boolean; description "Isolate ISIS Instance from other process tags"; } leaf name { type naming_Name256 { length "0..128"; pattern ".*[a-zA-Z0-9_-]{1,20}.*"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This objects hold per isis domain (vrf) information container dom-items { list Dom-list { key "name"; uses isis_Dom-group; description "IS-IS Domain list"; } description "IS-IS Domain"; } // This object holds event-history buffers information for ISIS container evthstry-items { list EvtHstry-list { key "type"; uses isis_EvtHstry-group; description "Holds ISIS event-history buffers Information for ISIS list"; } description "Holds ISIS event-history buffers Information for ISIS"; } } grouping isis_Dom-group { description "IS-IS Domain"; leaf name { type l3_VrfName; description "Vrf name"; } leaf net { type isis_Net; description "Holds ISIS Domain Net value"; } // LSP MTU leaf mtu { type isis_Mtu; description "Holds ISIS Domain Maximum Transmission Unit"; } // Bandwidth Reference leaf bwRef { type isis_BwRef; description "Holds ISIS Domain Bandwidth Reference"; } // Bandwidth Reference Unit leaf bwRefUnit { type isis_BwRefUnit; description "Holds ISIS Domain Bandwidth Reference Unit (Mbps or Gbps)"; } // Narrow/Wide Metric Style leaf metricStyle { type isis_MetricStyle; description "Holds ISIS Domain Metric Style"; } // IS Type leaf isType { type isis_IsT; description "Holds ISIS Domain IS[Level] Type"; } // Max LSP Lifetime leaf lspLifetime { type isis_MaxLSPLife; description "Holds ISIS Domain LSP Lifetime"; } // Shutdown VRF context in ISIS leaf adminSt { type nw_AdminSt; description "Holds ISIS Domain Administative state"; } // Dom controls leaf ctrl { type isis_DomControl; description "Holds ISIS Domain Control messages"; } leaf authCheckLvl1 { type boolean; default "true"; description "Authentication Check for ISIS DOM on Level-1"; } leaf authCheckLvl2 { type boolean; default "true"; description "Authentication Check for ISIS DOM on Level-2"; } // ISIS DOM Authentication Type for Level-1 leaf authTypeLvl1 { type isis_AuthT; description "Holds ISIS DOM Authentication-Type for Level-1"; } // ISIS DOM Authentication Type for Level-2 leaf authTypeLvl2 { type isis_AuthT; description "Holds ISIS DOM Authentication-Type for Level-2"; } // ISIS DOM Authentication Key for Level-1 leaf authKeyLvl1 { type isis_AuthKeyN { pattern ".*[!-~]{0,63}.*"; } description "Holds Authentication Key for ISIS DOM on Level-1"; } // ISIS DOM Authentication Key for Level-2 leaf authKeyLvl2 { type isis_AuthKeyN { pattern ".*[!-~]{0,63}.*"; } description "Holds Authentication Key for ISIS DOM on Level-2"; } // Passive Interface default level leaf passiveDflt { type isis_PassiveT; description "Holds ISIS Domain passive-interface default level"; } // Queue-limit retransmit leaf queueLimit { type isis_QueueLimitType; description "Holds the ISIS queue limit retransmit value"; } // Operational state leaf operSt { config "false"; type isis_OperSt; description "Operational State"; } // ISIS databases container db-items { list Db-list { config "false"; key "type"; uses isis_Db-group; description "IS-IS Database list"; } description "IS-IS Database"; } // This object holds overload information container overload-items { uses isis_Overload-group; description "Holds ISIS Domain Overload Policy"; } // This object holds per level isis vrf information container lvl-items { list DomLvl-list { key "type"; uses isis_DomLvl-group; description "Holds ISIS Domain Level Properties list"; } description "Holds ISIS Domain Level Properties"; } // This object holds per address family isis vrf information container af-items { list DomAf-list { key "type"; uses isis_DomAf-group; description "Holds ISIS Domain Address Family Domain related properties list"; } description "Holds ISIS Domain Address Family Domain related properties"; } // ISIS Distribute link-state container distrls-items { uses isis_DistrLs-group; description "Holds ISIS Distribute link-state information"; } // Fabric multicast (ftag) tree element container fmtree-items { list FmcastTree-list { config "false"; key "id"; uses isis_FmcastTree-group; description "IS-IS Fabric Multicast Tree list"; } description "IS-IS Fabric Multicast Tree"; } // This objects hold per graceful restart information container gr-items { uses isis_Gr-group; description "Graceful Restart Policy"; } // This object holds ospf information that is operated at an // interface level container if-items { list If-list { key "id"; uses isis_If-group; description "ISIS Interface list"; } description "ISIS Interface"; } // SUPER TLV MOs END This object holds the isis operational information container oper-items { uses isis_OperIsis-group; description "Top-level container to hold ISIS operational data"; } // This objects holds default route leak policy container defrtleak-items { uses isis_DefRtLeakP-group; description "Default Route Leak Policy"; } } grouping isis_Db-group { description "IS-IS Database"; // Type of the repository leaf type { config "false"; type isis_DbT; description "Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Database of fabric multicast group elements container grp-items { list GrpRec-list { config "false"; key "addr"; uses isis_GrpRec-group; description "Group Record list"; } description "Group Record"; } // Node records container node-items { list NodeRec-list { config "false"; key "sysId"; uses isis_NodeRec-group; description "Node Record list"; } description "Node Record"; } // LSP records container lsp-items { list LspRec-list { config "false"; key "sysId lanId frag"; uses isis_LspRec-group; description "LSP Record list"; } description "LSP Record"; } // This object holds the isis nexthop information container nh-items { list Nexthop-list { config "false"; key "nhIf addr"; uses isis_Nexthop-group; description "IS-IS Nexthop list"; } description "IS-IS Nexthop"; } // This object holds the isis route information container rt-items { list Route-list { config "false"; key "pfx"; uses isis_Route-group; description "IS-IS Route list"; } description "IS-IS Route"; } // Tunnel endpoints discovered through isis container dtep-items { list DTEp-list { config "false"; key "id"; uses isis_DTEp-group; description "Discovered Tunnel Endpoint list"; } description "Discovered Tunnel Endpoint"; } } grouping isis_GrpRec-group { description "Group Record"; // Group address leaf addr { config "false"; type mcast_GrpIp; description "Address"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Per FTAG OIF List Record container ftagoif-items { list FtagOifRec-list { config "false"; key "id"; uses isis_FtagOifRec-group; description "FTAG OIF Record list"; } description "FTAG OIF Record"; } // BD records active for this multicast group element container bd-items { list BdIdRec-list { config "false"; key "encap"; uses isis_BdIdRec-group; description "Bridge Domain ID Record list"; } description "Bridge Domain ID Record"; } // Fabric nodes active for this multicast group element container node-items { list NodeIdRec-list { config "false"; key "addr"; uses isis_NodeIdRec-group; description "Node ID Record list"; } description "Node ID Record"; } // Outgoing interface List on Leaf container oifleaf-items { list OifListLeaf-list { config "false"; key "idx"; uses isis_OifListLeaf-group; description "OIF List list"; } description "OIF List"; } // Outgoing interface List on Spine container oifspine-items { list OifListSpine-list { config "false"; key "idx"; uses isis_OifListSpine-group; description "OIF List list"; } description "OIF List"; } } grouping isis_FtagOifRec-group { description "FTAG OIF Record"; // Ftag ID leaf id { config "false"; type fmcast_Id; description "Ftag ID"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Outgoing interface List on Leaf container oifleaf-items { list OifListLeaf-list { config "false"; key "idx"; uses isis_OifListLeaf-group; description "OIF List list"; } description "OIF List"; } // Outgoing interface List on Spine container oifspine-items { list OifListSpine-list { config "false"; key "idx"; uses isis_OifListSpine-group; description "OIF List list"; } description "OIF List"; } } grouping isis_OifListLeaf-group { description "OIF List"; // Index leaf idx { config "false"; type fmcast_Id; description "Index"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_OifListSpine-group { description "OIF List"; // Index leaf idx { config "false"; type fmcast_Id; description "Index"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_BdIdRec-group { description "Bridge Domain ID Record"; leaf encap { config "false"; type string; description "Encapsulation"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_NodeIdRec-group { description "Node ID Record"; leaf addr { config "false"; type address_Ip; description "Address"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_NodeRec-group { description "Node Record"; leaf addr { config "false"; type address_Ip; description "Address"; } leaf sysId { config "false"; type address_Mac; description "System ID"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast groups identifier record container grp-items { list GrpIdRec-list { config "false"; key "addr"; uses isis_GrpIdRec-group; description "Group IP Record list"; } description "Group IP Record"; } } grouping isis_GrpIdRec-group { description "Group IP Record"; // Group address leaf addr { config "false"; type mcast_GrpIp; description "Address"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_LspRec-group { description "LSP Record"; leaf sysId { config "false"; type address_Mac; description "System ID"; } // LAN id leaf lanId { config "false"; type isis_LanId; description "LAN ID"; } // Fragment number leaf frag { config "false"; type isis_FragNum; description "Fragment Number"; } // Level type leaf type { config "false"; type isis_LvlT; description "Level Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Extended IS Record container extisrec-items { list ExtIsRec-list { config "false"; key "name"; uses isis_ExtIsRec-group; description "Extended IS Record list"; } description "Extended IS Record"; } // Generic TLV Record container tlvRec-items { list TlvRec-list { config "false"; key "type"; uses isis_TlvRec-group; description "Generic TLV Record list"; } description "Generic TLV Record"; } // IP Prefix record container iprec-items { list IpRec-list { config "false"; key "pfx"; uses isis_IpRec-group; description "IP Prefix Record list"; } description "IP Prefix Record"; } } grouping isis_ExtIsRec-group { description "Extended IS Record"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_TlvRec-group { description "Generic TLV Record"; // TLV Type leaf type { config "false"; type isis_TlvType; description "TLV"; } // TLV Value leaf value { config "false"; type isis_TlvVal; description "Value"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_IpRec-group { description "IP Prefix Record"; leaf pfx { config "false"; type address_Ip; description "Prefix"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_Nexthop-group { description "IS-IS Nexthop"; // Nexhop interface [Deprecated] leaf if { config "false"; type nw_Iod; description "Interface (IOD Internal)"; } // Nexhop interface leaf nhIf { config "false"; type nw_IfId; description "Interface"; } leaf addr { config "false"; type address_Ip; description "Address"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping isis_Route-group { description "IS-IS Route"; leaf pfx { config "false"; type address_Ip; description "Prefix"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } container rsnhAtt-items { list RsNhAtt-list { key "tDn"; uses isis_RsNhAtt_source-group; description "IS-IS Nexthop Attachment list"; } description "IS-IS Nexthop Attachment"; } } grouping isis_DTEp-group { description "Discovered Tunnel Endpoint"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Endpoint identifier leaf id { config "false"; type tunnel_EpId; description "ID"; } // Endpoint encapsulation type leaf encapt { config "false"; type tunnel_EncapT; description "Encapsulation Type"; } // Endpoint type leaf type { config "false"; type tunnel_EpT; description "Type"; } // Role of the remote endpoint leaf role { config "false"; type top_NodeRole; description "Role"; } } grouping isis_Overload-group { description "Holds ISIS Domain Overload Policy"; // Adminstrative state leaf adminSt { type isis_OverloadAdminSt; description "Admin State"; } // On at startup till the following duration leaf startupTime { type isis_StartupTime; description "Startup Time"; } leaf bgpAsNum { type uint16; description "BGP ASN - deprecated"; } // <1-4294967295>|<1-65535>[.<0-65535>] Autonomous system number leaf bgpAsNumStr { type rtleak_Asn; description "BGP AS Num in supported format"; } // Suppress information leaf suppress { type isis_SuppressControl; description "Suppress Internal/External"; } } grouping isis_DomLvl-group { description "Holds ISIS Domain Level Properties"; // Per level controls leaf ctrl { type isis_DomLvlControl; description "Controls"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type leaf type { type isis_LvlT; description "Type"; } // ISIS databases container db-items { list Db-list { config "false"; key "type"; uses isis_Db-group; description "IS-IS Database list"; } description "IS-IS Database"; } // This object holds lsp generation interval controls container lspgen-items { uses isis_LspGen-group; description "LSP Generation Controls"; } // This object holds spf computation frequency controls container spfcomp-items { uses isis_SpfComp-group; description "SPF Computation Controls"; } } grouping isis_LspGen-group { description "LSP Generation Controls"; // Initial wait interval leaf initIntvl { type isis_LspGenInitIntvl; description "Initial Wait Interval"; } // Second wait interval leaf secIntvl { type isis_LspGenSecIntvl; description "Second Wait Interval"; } // Maximum wait interval leaf maxIntvl { type isis_LspGenMaxIntvl; description "Maximum Wait Interval"; } } grouping isis_SpfComp-group { description "SPF Computation Controls"; // Initial wait inerval leaf initIntvl { type isis_SpfCompInitIntvl; description "Initial Wait Interval"; } // Second wait interval leaf secIntvl { type isis_SpfCompSecIntvl; description "Second Wait Interval"; } // Maximum wait interval leaf maxIntvl { type isis_SpfCompMaxIntvl; description "Maximum Wait Interval"; } } grouping isis_DomAf-group { description "Holds ISIS Domain Address Family Domain related properties"; // Per address family controls leaf ctrl { type isis_DomAfControl; description "Controls"; } // ISIS Multi-topology information leaf mtType { type isis_TopoT; description "Holds ISIS Domain address family Multi-topology information"; } leaf dist { type isis_Dist; description "Holds ISIS Domain address family Administrative Distance"; } // MAX ECMP leaf maxEcmp { type isis_Ecmp; description "Holds ISIS Domain address family Max ECMP value"; } // default-information originate command leaf defInfOrig { type isis_DefInfOrigSt; description "Holds ISIS Domain address family default-information originate state for Route"; } leaf defInfOrigRtMap { type string { pattern ".*[!-~]{1,63}.*"; } description "Holds Route-map name for ISIS Domain address family default-information originate"; } leaf enableBfd { type boolean; description "Enabling BFD on all ISIS domain interfaces"; } leaf tblMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Holds Route-map name to filter routes downloaded"; } // Configure table-map for Selective route download leaf tblMapFltr { type isis_AdminSt; description "Enables table-map for Selective route"; } leaf rtrIdIpAddr { type address_Ip; description "Holds ip address to become router id"; } // Router interface leaf rtrIdIf { type nw_IfId; description "Holds interface"; } leaf srMpls { type boolean; default "true"; description "Segment routing for MPLS"; } leaf advPassiveLvl1 { type boolean; default "true"; description "Prefix advertise passive only for level-1"; } leaf advPassiveLvl2 { type boolean; default "true"; description "Prefix advertise passive only level-2"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type leaf type { type isis_AfT; description "Type"; } // Distribute policy defines distribution of routes from one level to another level container distribute-items { list Distribute-list { key "source"; uses isis_Distribute-group; description "Holds ISIS Instance Distribution policy which distributes router from one level to another level list"; } description "Holds ISIS Instance Distribution policy which distributes router from one level to another level"; } // Advertise interface container advertiseint-items { list AdvertiseInt-list { key "advtIf"; uses isis_AdvertiseInt-group; description "Holds Advertise Interface medialist Level list"; } description "Holds Advertise Interface medialist Level"; } // Inter protocol route leak policy. This defines distribution // of routes from other protocols to isis container interleak-items { list InterLeakP-list { key "proto inst asn"; uses isis_InterLeakP-group; description "Inter Protocol Route Leak Policy list"; } description "Inter Protocol Route Leak Policy"; } // Leak controls related to the number of routes leaked container leakctrl-items { uses isis_LeakCtrlP-group; description "Leak Control Policy"; } // This objects hold summarization address. Any address // that maps to this prefix will be summarized through // this address container rtsum-items { list RtSum-list { key "addr"; uses isis_RtSum-group; description "Route Summarization Policy list"; } description "Route Summarization Policy"; } // This object holds ISIS Segment Routing configurations container segrt-items { list SgmRtg-list { key "sr"; uses isis_SgmRtg-group; description "Object to hold isis Segment Routing configurations list"; } description "Object to hold isis Segment Routing configurations"; } } grouping isis_Distribute-group { description "Holds ISIS Instance Distribution policy which distributes router from one level to another level"; // Source domain, level from which the routes are leaked leaf source { type isis_LvlT; description "Holds Source Domain for Routes Distribute Policy"; } // Destination domain, level to which the routes are leaked leaf destination { type isis_LvlT; description "Holds Destination Domain for Routes Distribute Policy"; } leaf all { type boolean; default "true"; description "Holds Distribution of all level-n routes"; } leaf rmap { type string { pattern ".*[!-~]{0,63}.*"; } description "Holds Route-map name for Distribute Policy"; } } grouping isis_AdvertiseInt-group { description "Holds Advertise Interface medialist Level"; // Interface leaf advtIf { type nw_IfId; description "Holds Advertise interface"; } // Level leaf advtLevel { type isis_AdvtLvl; description "Holds Advertise interface level"; } } grouping isis_InterLeakP-group { description "Inter Protocol Route Leak Policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; default "inter"; description "Scope"; } leaf rtMap { type string { pattern ".*[!-~]{1,63}.*"; } description "Route Map"; } // Protocol from where the routes are leaked leaf proto { type rtleak_Proto; description "Protocol"; } // Routing protocol instance, the routing instance of the // protocol from where the routes are being leaked leaf inst { type rtleak_Inst; description "Instance"; } // Leak BGP routes from this Autonomous System (AS) <1-4294967295>|<1-65535>[.<0-65535>] Autonomous system number leaf asn { type rtleak_Asn { pattern "((none)|([1-9]{1}[0-9]{0,8}|[1-3]{1}[0-9]{1,9}|4{1}[0-1]{1}[0-9]{8}|4{1}2{1}[0-8]{1}[0-9]{7}|4{1}2{1}9{1}[0-3]{1}[0-9]{6}|4{1}2{1}9{1}4{1}[0-8]{1}[0-9]{5}|4{1}2{1}9{1}4{1}9{1}[0-5]{1}[0-9]{4}|4{1}2{1}9{1}4{1}9{1}6{1}[0-6]{1}[0-9]{3}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}[0-1]{1}[0-9]{2}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}[0-8]{1}[0-9]{1}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}9{1}[0-5]{1})|(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\.([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])))"; } description "Autonomous System Number"; } // SRv6 Prefix Type which is being leaked leaf srv6PrefixType { type rtleak_Srv6PrefixType; description "SRv6 Prefix Type; Valid only when proto is srv6"; } } grouping isis_LeakCtrlP-group { description "Leak Control Policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Controls on what to do when the number of routes cross // the maximum route/prefix limit leaf ctrl { type rtleak_Ctrl; description "Controls"; } // Maximum limit on routes leaked leaf max { type rtleak_MaxPfx; description "Maximum Limit"; } // Threshold at which warning is issued when number of // routes crosses the threshold leaf thresh { type rtleak_Thresh; description "Threshold"; } // Maximum number of retries to retrieve the leaked routes, // this is applicable only when the routes are withdrawn leaf retries { type rtleak_Retries; description "Retries"; } // Duration between the retries leaf duration { type rtleak_Duration; description "Duration"; } } grouping isis_RtSum-group { description "Route Summarization Policy"; // Summary Level leaf sumLevel { type isis_SumLvl; description "Holds summary address level"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf addr { type address_Ip; description "Address"; } } grouping isis_SgmRtg-group { description "Object to hold isis Segment Routing configurations"; leaf sr { type isis_SgmntRtg; description "Support Segment-Routing options in ISIS"; } // This object holds ISIS Segment Routing Locator configuration container loc-items { list Locator-list { key "name"; uses isis_Locator-group; description "Object to hold ISIS Segment Routing SRv6 Locator configurations list"; } description "Object to hold ISIS Segment Routing SRv6 Locator configurations"; } } grouping isis_Locator-group { description "Object to hold ISIS Segment Routing SRv6 Locator configurations"; leaf name { type naming_Name256 { length "0..128"; pattern ".*[!-~]{1,58}.*"; } description "SRv6 Locator name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Indicates whether locator state is operational"; } } grouping isis_DistrLs-group { description "Holds ISIS Distribute link-state information"; leaf state { type boolean; default "true"; description "Holds State of ISIS Distribute Link-state"; } // Instance id of ISIS Distribute Link-state leaf instId { type isis_InstId; description "Holds Instance id of ISIS Distribute Link-state"; } // Level of ISIS Distribute Link-state leaf level { type isis_DistrLvl; description "Holds Level of ISIS Distribute Link-state"; } // Throttle timer of ISIS Distribute Link-state leaf throt { type isis_Throttle; description "Holds Throttle timer of ISIS Distribute Link-state"; } } grouping isis_FmcastTree-group { description "IS-IS Fabric Multicast Tree"; // Id leaf id { config "false"; type fmcast_Id; description "Tree ID"; } // Operational state leaf operSt { config "false"; type fmcast_OperSt; description "Operational State"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Fabric nodes active for this multicast group element container node-items { list NodeIdRec-list { config "false"; key "addr"; uses isis_NodeIdRec-group; description "Node ID Record list"; } description "Node ID Record"; } // Outgoing interface List on Leaf container oifleaf-items { list OifListLeaf-list { config "false"; key "idx"; uses isis_OifListLeaf-group; description "OIF List list"; } description "OIF List"; } // Outgoing interface List on Spine container oifspine-items { list OifListSpine-list { config "false"; key "idx"; uses isis_OifListSpine-group; description "OIF List list"; } description "OIF List"; } } grouping isis_Gr-group { description "Graceful Restart Policy"; // Graceful Restart leaf adminSt { type nw_AdminSt; description "Admin State"; } // T3 timer for graceful restart leaf grT3Intvl { type isis_GrT3Intvl; description "T3 Interval"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping isis_If-group { description "ISIS Interface"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // Circuit type leaf cktT { type isis_IsT; description "Holds ISIS interface Circuit Type"; } // Metric level-1 leaf metricLvl1 { type isis_Metric; description "Holds ISIS interface Metric level-1"; } // Metric level-2 leaf metricLvl2 { type isis_Metric; description "Holds ISIS interface Metric level-2"; } // Interface controls leaf ctrl { type isis_IfControl; description "Holds ISIS interface Control messages"; } leaf v4enable { type boolean; default "true"; description "Enabling ISIS router tag on Interface's IPV4 family"; } leaf v6enable { type boolean; default "true"; description "Enabling ISIS router tag on Interface's IPV6 family"; } leaf authCheckLvl1 { type boolean; default "true"; description "Enabling Authentication check for ISIS interface at Level1"; } leaf authCheckLvl2 { type boolean; default "true"; description "Enabling Authentication check for ISIS interface at Level2"; } leaf authCheck { type boolean; default "true"; description "Enabling Authentication check for ISIS interface without specific Level"; } // Enable P2P Interface leaf networkTypeP2P { type isis_NetworkTypeP2PSt; description "Enabling Point-to-Point Network Type on ISIS Interface"; } // LSP refresh Interval leaf lspRefreshIntvl { type isis_LspRefreshIntvl; description "Holds ISIS Interface LSP Refresh Interval"; } // LSP Retransmit Interval leaf retransInterval { type isis_RetransInterval; description "Holds ISIS Interface Retransmit Interval"; } // LSP Retransmit Throttle Interval leaf retransThrottleInterval { type isis_RetransThrottleInterval; description "Holds ISIS Interface Retransmit Throttle Interval"; } // IPv4 BFD leaf v4Bfd { type isis_BfdT; description "Holds ISIS Interface BFD Configruation"; } // IPv6 BFD leaf v6Bfd { type isis_BfdT; description "Holds Interface BFD Configruation for IPV6 family"; } // Passive-interface Info leaf passive { type isis_PassiveIntfT; description "Holds ISIS Passive Interface Info"; } // Interface Hello padding Info leaf helloPad { type isis_HelloPadT; description "Holds ISIS Interface Hello Padding Info"; } // Interface Hello Interval Info leaf helloIntvl { type isis_HelloIntvl; description "Holds Interface Hello Interval value"; } // ISIS Hello Interval for Level-1 leaf helloIntvlLvl1 { type isis_HelloIntvl; description "Holds ISIS interface Hello Interval Level-1 value"; } // ISIS Hello Interval for Level-2 leaf helloIntvlLvl2 { type isis_HelloIntvl; description "Holds ISIS interface Hello Interval Level-2 value"; } // Hello Multiplier leaf helloMult { type isis_HelloMult; description "Holds Interface Hello Multiplier value"; } // ISIS Hello Multiplier for Level-1 leaf helloMultLvl1 { type isis_HelloMult; description "Holds ISIS interface Hello Multiplier Level-1 value"; } // ISIS Hello Multiplier for Level-2 leaf helloMultLvl2 { type isis_HelloMult; description "Holds ISIS interface Hello Multiplier Level-2 value"; } // ISIS Priority for Level-1 leaf priorityLvl1 { type isis_CktPrio; description "Holds ISIS Interface Level-1 Circuit Priority"; } // ISIS Priority for Level-2 leaf priorityLvl2 { type isis_CktPrio; description "Holds ISIS Interface Level-2 Circuit Priority"; } // ISIS Wide Metric MT2[IPV6] topology for Level-1 leaf mt2MetricLvl1 { type isis_WideMetric; description "Holds ISIS interface IPV6 wide metric value for Level-1"; } // ISIS Wide Metric MT2[IPV6] topology for Level-2 leaf mt2MetricLvl2 { type isis_WideMetric; description "Holds ISIS interface IPV6 wide metric value for Level-2"; } // ISIS CSNP Interval for Level-1 leaf csnpIntvlLvl1 { type isis_CsnpIntvl; description "Holds ISIS Interface Level-1 CSNP Interval"; } // ISIS CSNP Interval for Level-2 leaf csnpIntvlLvl2 { type isis_CsnpIntvl; description "Holds ISIS Interface Level-2 CSNP Interval"; } leaf authType { type isis_AuthT; description "Holds Authentication Type value for ISIS Interface"; } // Authentication Type for Level-1 leaf authTypeLvl1 { type isis_AuthT; description "Holds ISIS Level-1 Authentication Type value for Interface"; } // Authentication Type for Level-2 leaf authTypeLvl2 { type isis_AuthT; description "Holds ISIS Level-2 Authentication Type value for Interface"; } // Authentication Key for ISIS Interface leaf authKey { type isis_AuthKeyN; description "Holds Authentication Key for ISIS Interface"; } // Authentication Key for ISIS Interface on Level-1 leaf authKeyLvl1 { type isis_AuthKeyN; description "Holds Authentication Key for ISIS Interface on Level-1"; } // Authentication Key for ISIS Interface on Level-2 leaf authKeyLvl2 { type isis_AuthKeyN; description "Holds Authentication Key for ISIS Interface on Level-2"; } leaf mtuCheckLvl1 { type boolean; default "true"; description "Enabling Mtu check for ISIS interface at Level1"; } leaf mtuCheckLvl2 { type boolean; default "true"; description "Enabling Mtu check for ISIS interface at Level2"; } leaf mtuCheck { type boolean; default "true"; description "Enabling Mtu check for ISIS interface without specific Level"; } leaf suppressedState { type boolean; default "true"; description "Suppress the prefix advertisement"; } leaf nFlagClear { type boolean; default "true"; description "Enabling N flag clear for ISIS interface"; } leaf meshGroupBlocked { type boolean; default "true"; description "Mesh group blocked value"; } // Mesh group ID leaf meshGroupId { type isis_MeshGroupType; description "Holds the ISIS mesh group ID value"; } // This object holds isis neighbor information container adj-items { list AdjEp-list { config "false"; key "type sysId"; uses isis_AdjEp-group; description "Adjacency list"; } description "Adjacency"; } // This object holds mesh group information per interface container meshgrp-items { uses isis_MeshGrp-group; description "Holds ISIS interface Mesh Group Policy"; } // This object holds per level isis interface information container lvl-items { list IfLvl-list { key "type"; uses isis_IfLvl-group; description "IS-IS Interface Policy Per Level list"; } description "IS-IS Interface Policy Per Level"; } // This object holds per IF States information container traffic-items { uses isis_IfTraffic-group; description "Interface Traffic Statistics"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping isis_AdjEp-group { description "Adjacency"; // Adjacency type leaf type { config "false"; type isis_LvlT; description "Level Type"; } leaf sysId { config "false"; type address_Mac; description "System ID"; } // Operational state of the adjacency leaf operSt { config "false"; type isis_AdjOperSt; description "Operational State"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } container addr-items { list PeerIpAddr-list { config "false"; key "addr"; uses isis_PeerIpAddr-group; description "Peer IP Address list"; } description "Peer IP Address"; } } grouping isis_PeerIpAddr-group { description "Peer IP Address"; leaf addr { config "false"; type address_Ip; description "Address"; } } grouping isis_MeshGrp-group { description "Holds ISIS interface Mesh Group Policy"; // Mesh Group Id leaf id { type isis_MeshGrpId; description "Holds ISIS Mesh Group ID per Interface"; } // Mesh group controls leaf ctrl { type isis_MeshGrpControl; description "Holds ISIS Mesh Group Control Info per Interface"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping isis_IfLvl-group { description "IS-IS Interface Policy Per Level"; // ISIS Wide Metric MT0[IPV4] topology for Level-1 leaf mt0MetricLvl1 { type isis_WideMetric; description "Holds ISIS interface IPV4 wide metric value for Level-1"; } // ISIS Wide Metric MT0[IPV4] topology for Level-2 leaf mt0MetricLvl2 { type isis_WideMetric; description "Holds ISIS interface IPV4 wide metric value for Level-2"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type leaf type { type isis_LvlT; description "Type"; } } grouping isis_IfTraffic-group { description "Interface Traffic Statistics"; } grouping isis_OperIsis-group { description "Top-level container to hold ISIS operational data"; leaf spfCalc { config "false"; type uint32; description "SPF Calculations count"; } leaf lspSourced { config "false"; type uint32; description "New LSPs Sourced Count"; } leaf lspRefreshed { config "false"; type uint32; description "LSPs Refreshed Count"; } leaf lspPurged { config "false"; type uint32; description "Identifies as how many LSPs are Purged"; } // This object holds isis neighbor information container adj-items { uses isis_Adj-group; description "Adjacency mo to display all details for all interfaces"; } // This object holds the isis interface operational information container operif-items { list OperIf-list { config "false"; key "id"; uses isis_OperIf-group; description "Container to hold ISIS interface operational data list"; } description "Container to hold ISIS interface operational data"; } // This object holds the per level isis lsp information container operdom-items { list OperDom-list { config "false"; key "level"; uses isis_OperDom-group; description "This mo holds per Level ISIS LSP information list"; } description "This mo holds per Level ISIS LSP information"; } // This object holds the isis global information container operglobal-items { uses isis_OperGlobal-group; description "This mo holds per Level global ISIS LSP information"; } } grouping isis_Adj-group { description "Adjacency mo to display all details for all interfaces"; // This object holds the level information container level-items { list Level-list { config "false"; key "cktType"; uses isis_Level-group; description "Holds the ISIS level list"; } description "Holds the ISIS level"; } } grouping isis_Level-group { description "Holds the ISIS level"; leaf cktType { config "false"; type isis_IsT; description "Level"; } container adjif-items { list AdjIf-list { config "false"; key "id"; uses isis_AdjIf-group; description "Adjacency details per interface list"; } description "Adjacency details per interface"; } } grouping isis_AdjIf-group { description "Adjacency details per interface"; leaf sysId { config "false"; type string; description "System identifier of the neighbour"; } leaf sysName { config "false"; type string; description "System name of the neighbor"; } // Adjacency type leaf level { config "false"; type isis_IsT; description "Adajacency Level Type value"; } // Operational state of the adjacency leaf operSt { config "false"; type isis_AdjOperSt; description "Operational State for adjacency"; } leaf holdTimer { config "false"; type string; description "Hold Timer timestamp"; } leaf id { config "false"; type string; description "Adjacency interface name"; } leaf snpa { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "Adjacency SNPA holder"; } leaf cktId { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "Circuit Type of the local system"; } leaf peerIpv4 { config "false"; type string; description "Adjacency peer IP address"; } leaf peerIpv6 { config "false"; type string; description "Adjacency peer IPv6 Address"; } leaf priority { config "false"; type uint32; description "Adajacency Priority value"; } leaf adjRestartSupport { config "false"; type uint32; description "Adjacency Restart Support flag"; } leaf adjRestartSuppress { config "false"; type uint32; description "Adjacency Restart Suppress flag"; } leaf multitopology { config "false"; type boolean; description "Multi-topology for an interface"; } leaf baseTopoIpv4 { config "false"; type boolean; description "Base topology ipv4 support on interface"; } leaf baseTopoIpv6 { config "false"; type boolean; description "Base topology ipv6 support on interface"; } leaf multiTopoIpv4 { config "false"; type boolean; description "Multi topology ipv4 support on interface"; } leaf multiTopoIpv6 { config "false"; type boolean; description "Multi topology ipv6 support on interface"; } leaf areaAddress { config "false"; type string; description "Holds the area address of the ISIS instance"; } leaf upTime { config "false"; type string; description "Holds the uptime since the adjacency/last transition happened"; } leaf extNbrCktId { config "false"; type uint32; description "Neighbor extended circuit identfier"; } leaf restartMode { config "false"; type boolean; description "Restart Request flag"; } } grouping isis_OperIf-group { description "Container to hold ISIS interface operational data"; leaf id { config "false"; type string; description "Interface Identifier"; } leaf disElections { config "false"; type uint32; description "Designated IS Election Count"; } // ISIS state on interface leaf isisState { config "false"; type isis_IsState; description "ISIS state on interface"; } // Interface functional state leaf ifCtrlState { config "false"; type isis_IfCtrlState; description "Interface functional state"; } // Interface down reason leaf ifDownReason { config "false"; type isis_IfCtrlReason; description "Interface down reason"; } leaf localCktId { config "false"; type uint8; description "Local circuit identfier"; } leaf extLocalCktId { config "false"; type uint32; description "Extended local circuit identfier"; } leaf ldpSyncRqrd { config "false"; type boolean; description "Whether LDP Sync Required"; } leaf ldpSyncAchieved { config "false"; type boolean; description "Whether LDP Sync Achieved"; } leaf adminGrp { config "false"; type uint32; description "Administrative Group"; } leaf adminGrpStale { config "false"; type boolean; description "Is administrative group stale"; } leaf passive { config "false"; type boolean; description "Interface passive state"; } // Interface hello padding leaf helloPad { config "false"; type isis_HelloPadT; description "Interface hello padding state"; } // Interface circuit type leaf cktType { config "false"; type isis_CktT; description "Interface circuit type"; } // This object holds the isis interface timer details container iftimers-items { uses isis_Iftimers-group; description "Container to hold ISIS interface timer details "; } // This object holds the isis interface BFD details container ifbfd-items { uses isis_IfBfd-group; description "Container to hold ISIS interface BFD details "; } // This object holds the level operational information container operlvl-items { list OperLevel-list { config "false"; key "cktType"; uses isis_OperLevel-group; description "Container to hold level operational data list"; } description "Container to hold level operational data"; } } grouping isis_Iftimers-group { description "Container to hold ISIS interface timer details "; leaf lspTime { config "false"; type uint16; description "LSP transmission interval in milli secs"; } } grouping isis_IfBfd-group { description "Container to hold ISIS interface BFD details "; leaf enable { config "false"; type boolean; description "Interface IPv4 BFD status "; } } grouping isis_OperLevel-group { description "Container to hold level operational data"; leaf cktType { config "false"; type isis_IsT; description "ISIS interface circuit type"; } leaf adjacencyCnt { config "false"; type uint32; description "Number of Adjacencies"; } leaf adjacencyUpCnt { config "false"; type uint32; description "Number of UP Adjacencies"; } leaf csnpIntvl { config "false"; type uint32; description "CSNP Interval in seconds"; } leaf lastLSPId { config "false"; type string; description "Last LSP Identifier value"; } leaf disSelf { config "false"; type boolean; description "Is local system Designated IS"; } leaf designatedIS { config "false"; type string; description "DIS system identifier"; } leaf active { config "false"; type boolean; description "Identifies if level is active"; } leaf cktId { config "false"; type string; description "Circuit Identifier for level"; } leaf enabled { config "false"; type boolean; description "Identifies if level is enabled"; } leaf passive { config "false"; type boolean; description "Identifies if level is passive"; } leaf priority { config "false"; type uint8; description "If level priority value"; } container adjacency-items { list Adjacency-list { config "false"; key "sysId"; uses isis_Adjacency-group; description "Adjacency details per interface list"; } description "Adjacency details per interface"; } // ISIS Hello PDU authentication container helloauth-items { uses isis_HelloAuth-group; description "Container to hold ISIS Hello PDU authentication"; } // ISIS PDU Stats container laniih-items { uses isis_StatLanIih-group; description "Container to hold ISIS LAN IIH Packet counters"; } container p2piih-items { uses isis_StatP2pIih-group; description "Container to hold ISIS P2P IIH Packet counters"; } container csnp-items { uses isis_StatCsnp-group; description "Container to hold ISIS CSNP Packet counters"; } container psnp-items { uses isis_StatPsnp-group; description "Container to hold ISIS PSNP Packet counters"; } container lsp-items { uses isis_StatLsp-group; description "Container to hold ISIS LSP Packet counters"; } container unknown-items { uses isis_StatUnknown-group; description "Container to hold unknown ISIS Packet counters"; } container time-items { uses isis_HelloTime-group; description "Container to hold ISIS Hello timer parameters"; } // This object holds the operational information for ISIS topologies container opertopo-items { list OperTopo-list { config "false"; key "topoId"; uses isis_OperTopo-group; description "Container to hold operational data for ISIS topologies list"; } description "Container to hold operational data for ISIS topologies"; } } grouping isis_Adjacency-group { description "Adjacency details per interface"; leaf sysId { config "false"; type string; description "System identifier of the neighbour"; } leaf sysName { config "false"; type string; description "System name of the neighbor"; } // Adjacency type leaf level { config "false"; type isis_IsT; description "Adjacency Level Type"; } // Operational state of the adjacency leaf operSt { config "false"; type isis_AdjOperSt; description "Operational State for adjacency"; } leaf holdTimer { config "false"; type string; description "Hold Timer timestamp"; } leaf id { config "false"; type string; description "Adjacency interface name"; } leaf snpa { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "Adjacency SNPA holder"; } leaf cktId { config "false"; type string { pattern ".*[!-~]{0,63}.*"; } description "Circuit Type of the local system"; } leaf peerIpv4 { config "false"; type string; description "Adjacency peer IP address"; } leaf peerIpv6 { config "false"; type string; description "Adjacency peer IPv6 Address"; } leaf priority { config "false"; type uint32; description "Adjacency Priority value"; } leaf adjRestartSupport { config "false"; type uint32; description "Adjacency Restart Support flag"; } leaf adjRestartSuppress { config "false"; type uint32; description "Adjacency Restart Suppress flag"; } leaf multitopology { config "false"; type boolean; description "Multi-topology for an interface"; } leaf areaAddress { config "false"; type string; description "Holds the area address of the ISIS instance"; } leaf upTime { config "false"; type string; description "Holds the uptime since the adjacency/last transition happened"; } leaf extNbrCktId { config "false"; type uint32; description "Neighbor extended circuit identfier"; } leaf restartMode { config "false"; type boolean; description "Restart Request flag"; } container adjtopo-items { list AdjTopo-list { config "false"; key "topoSupport"; uses isis_AdjTopo-group; description "MO for ISIS toplogy support information list"; } description "MO for ISIS toplogy support information"; } } grouping isis_AdjTopo-group { description "MO for ISIS toplogy support information"; leaf topoSupport { config "false"; type isis_TopoType; description "Identifies topology supported"; } } grouping isis_HelloAuth-group { description "Container to hold ISIS Hello PDU authentication"; leaf enabled { config "false"; type boolean; description "Identifies authentication is enabled"; } leaf keychain { config "false"; type string; description "Authentication key chain "; } leaf keyname { config "false"; type isis_AuthKeyN; description "Authentication key name "; } leaf type { config "false"; type isis_AuthT; description "Authentication type value"; } leaf mode { config "false"; type isis_AuthmodeT; description "Authentication mode value"; } leaf passwd { config "false"; type string; description "Authentication password value"; } } grouping isis_StatLanIih-group { description "Container to hold ISIS LAN IIH Packet counters"; leaf xmit { config "false"; type uint32; default "0"; description "Packet transmit counter"; } leaf recv { config "false"; type uint32; default "0"; description "Packet receive counter"; } leaf recvAuthErr { config "false"; type uint32; default "0"; description "Packet receive auth error counter"; } leaf recvErr { config "false"; type uint32; default "0"; description "Packet receive error counter"; } } grouping isis_StatP2pIih-group { description "Container to hold ISIS P2P IIH Packet counters"; leaf xmit { config "false"; type uint32; default "0"; description "Packet transmit counter"; } leaf recv { config "false"; type uint32; default "0"; description "Packet receive counter"; } leaf recvAuthErr { config "false"; type uint32; default "0"; description "Packet receive auth error counter"; } leaf recvErr { config "false"; type uint32; default "0"; description "Packet receive error counter"; } } grouping isis_StatCsnp-group { description "Container to hold ISIS CSNP Packet counters"; leaf xmit { config "false"; type uint32; default "0"; description "Packet transmit counter"; } leaf recv { config "false"; type uint32; default "0"; description "Packet receive counter"; } leaf recvAuthErr { config "false"; type uint32; default "0"; description "Packet receive auth error counter"; } leaf recvErr { config "false"; type uint32; default "0"; description "Packet receive error counter"; } } grouping isis_StatPsnp-group { description "Container to hold ISIS PSNP Packet counters"; leaf xmit { config "false"; type uint32; default "0"; description "Packet transmit counter"; } leaf recv { config "false"; type uint32; default "0"; description "Packet receive counter"; } leaf recvAuthErr { config "false"; type uint32; default "0"; description "Packet receive auth error counter"; } leaf recvErr { config "false"; type uint32; default "0"; description "Packet receive error counter"; } } grouping isis_StatLsp-group { description "Container to hold ISIS LSP Packet counters"; leaf reXmit { config "false"; type uint32; default "0"; description "LSP restransmit packet counter"; } leaf xmit { config "false"; type uint32; default "0"; description "Packet transmit counter"; } leaf recv { config "false"; type uint32; default "0"; description "Packet receive counter"; } leaf recvAuthErr { config "false"; type uint32; default "0"; description "Packet receive auth error counter"; } leaf recvErr { config "false"; type uint32; default "0"; description "Packet receive error counter"; } } grouping isis_StatUnknown-group { description "Container to hold unknown ISIS Packet counters"; leaf recv { config "false"; type uint32; default "0"; description "Unknown packet receive counter"; } } grouping isis_HelloTime-group { description "Container to hold ISIS Hello timer parameters"; leaf interval { config "false"; type uint32; default "0"; description "Hello interval timer value"; } leaf multipler { config "false"; type uint32; default "0"; description "Hello multiplier value"; } } grouping isis_OperTopo-group { description "Container to hold operational data for ISIS topologies"; // Topology identifier leaf topoId { config "false"; type isis_TopoId; description "Topology identifier value"; } leaf metric { config "false"; type uint32; description "metric value for topology"; } leaf metricCfg { config "false"; type boolean; description "Identifies if the metric value is configured"; } // Data Forwarding leaf dataForwarding { config "false"; type isis_AdminSt; description "Identifies if Data Forwarding is enabled"; } leaf ipv4Cfg { config "false"; type boolean; description "Identifies if IPv4 is configured"; } leaf ipv6Cfg { config "false"; type boolean; description "Identifies if IPv6 is configured"; } // IPv4 Multi-topology State leaf ipv4MT { config "false"; type isis_IfCtrlState; description "Identifies IPv4 multi-topology state"; } // IPv6 Multi-topology State leaf ipv6MT { config "false"; type isis_IfCtrlState; description "Identifies IPv6 multi-topology state"; } } grouping isis_OperDom-group { description "This mo holds per Level ISIS LSP information"; // LSP level leaf level { config "false"; type isis_LvlT; description "LSP Level for for holding lsp db information"; } leaf enabled { config "false"; type boolean; description "Identifies level is enabled"; } leaf metricStyle { config "false"; type isis_MetricStyle; description "Metric style wide or narrow"; } leaf authCheck { config "false"; type boolean; description "Authentication check for level"; } // This object holds the isis authentication details container authlvl-items { uses isis_Authlvl-group; description "Container to hold ISIS authentication details "; } // This object holds the isis database information container operdb-items { list OperDb-list { config "false"; key "lspId"; uses isis_OperDb-group; description "Container to hold ISIS database operational data list"; } description "Container to hold ISIS database operational data"; } } grouping isis_Authlvl-group { description "Container to hold ISIS authentication details "; leaf csnp { config "false"; type boolean; description "CSNP authentication state"; } leaf psnp { config "false"; type boolean; description "PSNP authentication state"; } leaf lsp { config "false"; type boolean; description "LSP authentication state"; } leaf enabled { config "false"; type boolean; description "Identifies authentication is enabled"; } leaf keychain { config "false"; type string; description "Authentication key chain "; } leaf keyname { config "false"; type isis_AuthKeyN; description "Authentication key name "; } leaf type { config "false"; type isis_AuthT; description "Authentication type value"; } leaf mode { config "false"; type isis_AuthmodeT; description "Authentication mode value"; } leaf passwd { config "false"; type string; description "Authentication password value"; } } grouping isis_OperDb-group { description "Container to hold ISIS database operational data"; leaf lspId { config "false"; type string; description "LSP Identifier value"; } leaf lspName { config "false"; type string; description "LSP name Identifier value"; } leaf seqNum { config "false"; type uint32; description "LSP sequence number value"; } leaf checkSum { config "false"; type uint16; description "LSP checksum calculated value"; } leaf timeStamp { config "false"; type uint64; description "LSP time stamp value property"; } leaf lifeTime { config "false"; type uint16; description "LSP life time value property"; } leaf timerType { config "false"; type isis_TimerType; description "LSP timer type value property"; } leaf attached { config "false"; type boolean; description "LSP attached attribute value"; } leaf partition { config "false"; type boolean; description "LSP partition attribute value"; } leaf overload { config "false"; type boolean; description "LSP overload attribute value"; } // LSP IS type leaf isType { config "false"; type isis_IsT; description "LSP IS type identifier"; } leaf instance { config "false"; type uint32; description "LSP instance identifier"; } leaf pduLen { config "false"; type uint16; description "LSP PDU length identifier"; } leaf digestOffset { config "false"; type uint16; description "LSP offset of digest dentifier"; } leaf selfOriginated { config "false"; type boolean; description "LSP self originated identifier"; } leaf maxAreaAddr { config "false"; type uint8; description "Number of area addresses permitted for this ISs area"; } leaf pduV1 { config "false"; type uint8; description "PDU version. This is set to 1"; } leaf pduV2 { config "false"; type uint8; description "PDU version 2. This is set to 1"; } leaf pduType { config "false"; type isis_PduType; description "Link State PDU type identifier"; } leaf idLen { config "false"; type uint8; description "Length of the ID field of NSAP addresses and NETs"; } // This MO holds the Top TLV MOs container tlv-items { list Tlv-list { config "false"; key "tlvId"; uses isis_Tlv-group; description "This holds TLV MOs list"; } description "This holds TLV MOs"; } // Unknown Main TLV container unknown-items { list Unknown-list { config "false"; key "tlvId"; uses isis_Unknown-group; description "Unknown TLV MO container list"; } description "Unknown TLV MO container"; } } grouping isis_Tlv-group { description "This holds TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } // TLV ISIS_TLV_LSP_HOSTNAME_TYPE container host-items { list Host-list { config "false"; key "name"; uses isis_Host-group; description "LSP hostname conatiner list"; } description "LSP hostname conatiner"; } // TLV ISIS_TLV_ROUTER_ID_TYPE container router-items { list Router-list { config "false"; key "id"; uses isis_Router-group; description "LSP router Id container list"; } description "LSP router Id container"; } // TLV ISIS_TLV_IP_ADDR_TYPE container ipv4-items { list IPv4-list { config "false"; key "addr"; uses isis_IPv4-group; description "Container to IP Address TLV data list"; } description "Container to IP Address TLV data"; } // ISIS_TLV_IPV6_ADDR_TYPE container ipv6-items { list IPv6-list { config "false"; key "addr"; uses isis_IPv6-group; description "Container to IP Address TLV data list"; } description "Container to IP Address TLV data"; } // ISIS_TLV_LSP_IS_NBR_TYPE container isnbr-items { list IsNbr-list { config "false"; key "idx"; uses isis_IsNbr-group; description "LSP Neignbhour IS neighbour operational data list"; } description "LSP Neignbhour IS neighbour operational data"; } // ISIS_TLV_LSP_ES_NBR_TYPE container esnbr-items { list EsNbr-list { config "false"; key "nbrSysId"; uses isis_EsNbr-group; description "LSP ES neighbour operational data list"; } description "LSP ES neighbour operational data"; } // ISIS_TLV_IP_IRI_TYPE container ipintreach-items { list IpIntReach-list { config "false"; key "prefix"; uses isis_IpIntReach-group; description "LSP internal reachability operational data list"; } description "LSP internal reachability operational data"; } // ISIS_TLV_IP_ERI_TYPE container ipextreach-items { list IpExtReach-list { config "false"; key "prefix"; uses isis_IpExtReach-group; description "LSP external reachability operational data list"; } description "LSP external reachability operational data"; } // ISIS_TLV_MT_TOPO_ID_TYPE container multtopoid-items { list MultTopoId-list { config "false"; key "topoId"; uses isis_MultTopoId-group; description "Container to MT Topology TLV data list"; } description "Container to MT Topology TLV data"; } // ISIS_TLV_AREA_ADDR_TYPE container area-items { list Area-list { config "false"; key "addr"; uses isis_Area-group; description "LSP area address container list"; } description "LSP area address container"; } // ISIS_TLV_PROT_SUPPORT_TYPE container protosupport-items { uses isis_ProtoSupport-group; description "LSP protocols support TLV"; } // ISIS_TLV_SRV6_LOCATOR_TYPE container srv6locator-items { list Srv6Locator-list { config "false"; key "topoId"; uses isis_Srv6Locator-group; description "Container to segment routing v6 locator TLV data list"; } description "Container to segment routing v6 locator TLV data"; } // ISIS_TLV_EXT_IS_RI_TYPE container extisreach-items { list ExtIsReach-list { config "false"; key "nodeId"; uses isis_ExtIsReach-group; description "Extended IS operational information list"; } description "Extended IS operational information"; } // ISIS_TLV_MT_EXT_IS_RI_TYPE container mtextisreachtopo-items { list MtExtIsReach-list { config "false"; key "topoId nodeId"; uses isis_MtExtIsReach-group; description "Extended MT IS reachability operational data list"; } description "Extended MT IS reachability operational data"; } // ISIS_TLV_AUTH_TYPE container auth-items { uses isis_Auth-group; description "Authentication operational data"; } // ISIS_TLV_IPV6_RI_TYPE container ipv6reach-items { list Ipv6Reach-list { config "false"; key "ipAddr"; uses isis_Ipv6Reach-group; description "ISIS IPv6 reachbility operational data list"; } description "ISIS IPv6 reachbility operational data"; } // ISIS_TLV_MT_IPV6_RI_TYPE container mtipv6reachtopoid-items { list MtIpv6Reach-list { config "false"; key "topoId ipAddr"; uses isis_MtIpv6Reach-group; description "ISIS MT IPv6 reachability operational data list"; } description "ISIS MT IPv6 reachability operational data"; } // ISIS_TLV_EXT_IP_RI_TYPE container extipreach-items { list ExtIpReach-list { config "false"; key "ipAddr"; uses isis_ExtIpReach-group; description "ISIS Ext IP reachability operational data list"; } description "ISIS Ext IP reachability operational data"; } container rtrcapinst-items { list RtrCapInst-list { config "false"; key "instance"; uses isis_RtrCapInst-group; description "ISIS router capability instances operational data list"; } description "ISIS router capability instances operational data"; } // ISIS_TLV_MT_CAPABILITY_TYPE container mtrtrcap-items { uses isis_MtRtrCap-group; description "ISIS MT capability operational data"; } // ISIS_TLV_MT_IPV4_RI_TYPE container mtipv4reach-items { list MtIpv4Reach-list { config "false"; key "mtId"; uses isis_MtIpv4Reach-group; description "ISIS MT IPv4 RI operational data list"; } description "ISIS MT IPv4 RI operational data"; } } grouping isis_Host-group { description "LSP hostname conatiner"; leaf name { config "false"; type string; description "LSP hostname identifier"; } } grouping isis_Router-group { description "LSP router Id container"; leaf id { config "false"; type string; description "LSP router identifier"; } } grouping isis_IPv4-group { description "Container to IP Address TLV data"; leaf addr { config "false"; type address_Ip; description "LSP IPv4 address identifier"; } } grouping isis_IPv6-group { description "Container to IP Address TLV data"; leaf addr { config "false"; type address_Ip; description "LSP IPv6 address identifier"; } } grouping isis_IsNbr-group { description "LSP Neignbhour IS neighbour operational data"; leaf nbrSysId { config "false"; type string; description "LSP neigbhor system identifier"; } leaf idx { config "false"; type uint16; description "LSP neigbhor system information index"; } leaf defMetric { config "false"; type uint8; description "LSP neigbhor default metric identifier"; } // Default metric type leaf defMetricType { config "false"; type isis_MetricType; description "LSP neigbhor default metric type "; } } grouping isis_EsNbr-group { description "LSP ES neighbour operational data"; leaf nbrSysId { config "false"; type string; description "LSP neigbhor system identifier"; } leaf defMetric { config "false"; type uint8; description "LSP neigbhor default metric identifier"; } // Default metric type leaf defMetricType { config "false"; type isis_MetricType; description "LSP neigbhor default metric type "; } } grouping isis_IpIntReach-group { description "LSP internal reachability operational data"; leaf prefix { config "false"; type address_Ip; description "LSP prefix id identifier"; } leaf defMetric { config "false"; type uint8; description "LSP neigbhor default metric identifier"; } // Default ext metric leaf extMetric { config "false"; type isis_MetricType; description "LSP default metric type"; } // Default updown status leaf operSt { config "false"; type isis_UpDown; description "LSP default up down status"; } } grouping isis_IpExtReach-group { description "LSP external reachability operational data"; leaf prefix { config "false"; type address_Ip; description "LSP prefix id identifier"; } leaf defMetric { config "false"; type uint8; description "LSP neigbhor default metric identifier"; } // Default ext metric leaf extMetric { config "false"; type isis_MetricType; description "LSP default metric type"; } // Default updown status leaf operSt { config "false"; type isis_UpDown; description "LSP default up down status"; } } grouping isis_MultTopoId-group { description "Container to MT Topology TLV data"; leaf topoId { config "false"; type uint16; description "MT topology id identifier"; } leaf attached { config "false"; type boolean; description "MT topology attached status identifier"; } leaf overload { config "false"; type boolean; description "MT topology overload status identifier"; } } grouping isis_Area-group { description "LSP area address container"; leaf addr { config "false"; type string; description "LSP area address identifier"; } } grouping isis_ProtoSupport-group { description "LSP protocols support TLV"; leaf ipv4 { config "false"; type boolean; description "LSP IPv4 support TLV"; } leaf ipv6 { config "false"; type boolean; description "LSP IPv4 support TLV"; } leaf clns { config "false"; type boolean; description "LSP CLNS support TLV"; } leaf trill { config "false"; type boolean; description "LSP TRILL support TLV"; } } grouping isis_Srv6Locator-group { description "Container to segment routing v6 locator TLV data"; leaf topoId { config "false"; type uint16; description "Topology identifier value"; } container entry-items { list Srv6Entry-list { config "false"; key "prefix"; uses isis_Srv6Entry-group; description "Container to segment routing v6 locator Entry TLV data list"; } description "Container to segment routing v6 locator Entry TLV data"; } } grouping isis_Srv6Entry-group { description "Container to segment routing v6 locator Entry TLV data"; leaf prefix { config "false"; type string; description "IP reachability prefix"; } leaf prefixLen { config "false"; type uint8; description "IP reachability prefix length"; } leaf metric { config "false"; type uint32; description "IP reachability metric"; } leaf algoirthm { config "false"; type uint8; description "Identifier for algorithm"; } leaf dFlag { config "false"; type isis_UpDown; description "Up/down bit TLV value"; } } grouping isis_ExtIsReach-group { description "Extended IS operational information"; leaf nodeId { config "false"; type string; description "System node identifier value"; } container extisreachinst-items { list ExtIsReachInst-list { config "false"; key "id"; uses isis_ExtIsReachInst-group; description "Extended IS reachable instance information list"; } description "Extended IS reachable instance information"; } container extisriunknown-items { list ExtIsRiUnknown-list { config "false"; key "tlvId"; uses isis_ExtIsRiUnknown-group; description "Extended IS reachable uknown TLVs list"; } description "Extended IS reachable uknown TLVs"; } } grouping isis_ExtIsReachInst-group { description "Extended IS reachable instance information"; leaf id { config "false"; type uint64; description "Extended IS instance id"; } leaf defMetric { config "false"; type uint32; description "Default metric for extended IS reachability"; } leaf nodeName { config "false"; type string; description "System pseudo node identifier name "; } // SUB TLV MOs container extisreachsubtlv-items { list ExtIsReachSubTlv-list { config "false"; key "tlvId"; uses isis_ExtIsReachSubTlv-group; description "This holds ExtIsReach Sub TLV MOs list"; } description "This holds ExtIsReach Sub TLV MOs"; } } grouping isis_ExtIsReachSubTlv-group { description "This holds ExtIsReach Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container extisriadmingroup-items { list ExtIsRiAdminGroup-list { config "false"; key "adminGroup"; uses isis_ExtIsRiAdminGroup-group; description "Extended IS reachable admin group list"; } description "Extended IS reachable admin group"; } container extisriaddresstype-items { uses isis_ExtIsRiAddressType-group; description "Extended IS reachable address type"; } container extisrinbraddresstype-items { uses isis_ExtIsRiNbrAddressType-group; description "Extended IS reachable neighbour type"; } container extisrimaxlinkbw-items { uses isis_ExtIsRiMaxLinkBw-group; description "Extended IS reachable maximum link bandwidth"; } container extisrireservlinkbw-items { uses isis_ExtIsRiReservLinkBw-group; description "Extended IS reachable reservable bandwidth"; } container extisriunreservlinkbw-items { list ExtIsRiUnReservLinkBw-list { config "false"; key "priority"; uses isis_ExtIsRiUnReservLinkBw-group; description "Extended IS reachable unreservable bandwidth list"; } description "Extended IS reachable unreservable bandwidth"; } container extisritemetric-items { uses isis_ExtIsRiTeMetric-group; description "Extended IS reachable TE metric"; } container extisrisrp2padj-items { list ExtIsRiSrP2PAdj-list { config "false"; key "sidValue"; uses isis_ExtIsRiSrP2PAdj-group; description "Extended IS reachable SR P2P adjacency list"; } description "Extended IS reachable SR P2P adjacency"; } container extisrisrlanadj-items { list ExtIsRiSrLanAdj-list { config "false"; key "sidValue"; uses isis_ExtIsRiSrLanAdj-group; description "Extended IS reachable SR LAN adjacency list"; } description "Extended IS reachable SR LAN adjacency"; } } grouping isis_ExtIsRiAdminGroup-group { description "Extended IS reachable admin group"; leaf adminGroup { config "false"; type uint32; description "Administrative Group TLV"; } } grouping isis_ExtIsRiAddressType-group { description "Extended IS reachable address type"; leaf interfaceIp { config "false"; type address_Ip; description "Interface IPv4 Address"; } } grouping isis_ExtIsRiNbrAddressType-group { description "Extended IS reachable neighbour type"; leaf nbrIp { config "false"; type address_Ip; description "Neighbor IPv4 address"; } } grouping isis_ExtIsRiMaxLinkBw-group { description "Extended IS reachable maximum link bandwidth"; leaf maxLinkBw { config "false"; type decimal64 { fraction-digits 6; } description "Maximum link bandwidth"; } } grouping isis_ExtIsRiReservLinkBw-group { description "Extended IS reachable reservable bandwidth"; leaf reservBw { config "false"; type decimal64 { fraction-digits 6; } description "Maximum reservable link bandwidth"; } } grouping isis_ExtIsRiUnReservLinkBw-group { description "Extended IS reachable unreservable bandwidth"; leaf unReservBw { config "false"; type decimal64 { fraction-digits 6; } description "Unreserved bandwidth for priority 1"; } leaf priority { config "false"; type uint8; description "Unreserved priority for priority 1"; } } grouping isis_ExtIsRiTeMetric-group { description "Extended IS reachable TE metric"; leaf teMetric { config "false"; type uint32; description "Traffic engineering default metric"; } } grouping isis_ExtIsRiSrP2PAdj-group { description "Extended IS reachable SR P2P adjacency"; leaf sidValue { config "false"; type uint32; description "Adjacency segment identifier"; } leaf weight { config "false"; type uint8; description "Weight of the adjacency segment identifier"; } container extisrisrp2padjflags-items { uses isis_ExtIsRiSrP2PAdjFlags-group; description "Extended IS reachable SR P2P adjacency flags"; } } grouping isis_ExtIsRiSrP2PAdjFlags-group { description "Extended IS reachable SR P2P adjacency flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf addrFamily { config "false"; type boolean; description "Adjacency Address-Family flag identifier"; } leaf backup { config "false"; type boolean; description "Adjacency Backup flag identifier"; } leaf set { config "false"; type boolean; description "Adjacency Set flag identifier"; } leaf persistent { config "false"; type boolean; description "Adjacency Persistent flag identifier"; } } grouping isis_ExtIsRiSrLanAdj-group { description "Extended IS reachable SR LAN adjacency"; leaf sidValue { config "false"; type uint32; description "Adjacency segment identifier"; } leaf weight { config "false"; type uint8; description "Weight of the adjacency segment identifier"; } container extisrisrlanadjflags-items { uses isis_ExtIsRiSrLanAdjFlags-group; description "Extended IS reachable SR LAN adjacency flags"; } } grouping isis_ExtIsRiSrLanAdjFlags-group { description "Extended IS reachable SR LAN adjacency flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf addrFamily { config "false"; type boolean; description "Adjacency Address-Family flag identifier"; } leaf backup { config "false"; type boolean; description "Adjacency Backup flag identifier"; } leaf set { config "false"; type boolean; description "Adjacency Set flag identifier"; } leaf persistent { config "false"; type boolean; description "Adjacency Persistent flag identifier"; } } grouping isis_ExtIsRiUnknown-group { description "Extended IS reachable uknown TLVs"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_MtExtIsReach-group { description "Extended MT IS reachability operational data"; leaf nodeId { config "false"; type string; description "Node identifier value"; } leaf topoId { config "false"; type uint16; description "Topology Id for MT extended reachability "; } container mtextisreachinst-items { list MtExtIsReachInst-list { config "false"; key "id"; uses isis_MtExtIsReachInst-group; description "Extended multi topology IS reachability Instance operational data list"; } description "Extended multi topology IS reachability Instance operational data"; } container mtextisriunknown-items { list MtExtIsRiUnknown-list { config "false"; key "tlvId"; uses isis_MtExtIsRiUnknown-group; description "Extended MT IS reachable unknown TLVs list"; } description "Extended MT IS reachable unknown TLVs"; } } grouping isis_MtExtIsReachInst-group { description "Extended multi topology IS reachability Instance operational data"; leaf id { config "false"; type uint64; description "Extended multi topology IS Instance id"; } leaf defMetric { config "false"; type uint32; description "Default metric for extended IS reachability"; } leaf nodeName { config "false"; type string; description "System pseudo node identifier name "; } // SUB TLV MOs container mtextisreachsubtlv-items { list MtExtIsReachSubTlv-list { config "false"; key "tlvId"; uses isis_MtExtIsReachSubTlv-group; description "This holds MtExtIsReach Sub TLV MOs list"; } description "This holds MtExtIsReach Sub TLV MOs"; } } grouping isis_MtExtIsReachSubTlv-group { description "This holds MtExtIsReach Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container mtextisriadmingroup-items { list MtExtIsRiAdminGroup-list { config "false"; key "adminGroup"; uses isis_MtExtIsRiAdminGroup-group; description "Extended MT IS reachable admin group list"; } description "Extended MT IS reachable admin group"; } container mtextisriaddresstype-items { uses isis_MtExtIsRiAddressType-group; description "Extended MT IS reachable address type"; } container mtextisrinbraddresstype-items { list MtExtIsRiNbrAddressType-list { config "false"; key "nbrIp"; uses isis_MtExtIsRiNbrAddressType-group; description "Extended MT IS reachable neighbour type list"; } description "Extended MT IS reachable neighbour type"; } container mtextisrimaxlinkbw-items { uses isis_MtExtIsRiMaxLinkBw-group; description "Extended MT IS reachable maximum link bandwidth"; } container mtextisrireservbw-items { uses isis_MtExtIsRiReservBw-group; description "Extended MT IS reachable reservable bandwidth"; } container mtextisriunreservbw-items { list MtExtIsRiUnReservBw-list { config "false"; key "priority"; uses isis_MtExtIsRiUnReservBw-group; description "Extended MT IS reachable unreservable bandwidth list"; } description "Extended MT IS reachable unreservable bandwidth"; } container mtextisritemetric-items { uses isis_MtExtIsRiTeMetric-group; description "Extended MT IS reachable TE metric"; } container mtextisrisrp2padj-items { list MtExtIsRiSrP2PAdj-list { config "false"; key "sidValue"; uses isis_MtExtIsRiSrP2PAdj-group; description "Extended MT IS reachable SR P2P adjacency list"; } description "Extended MT IS reachable SR P2P adjacency"; } container mtextisrisrlanadj-items { list MtExtIsRiSrLanAdj-list { config "false"; key "sidValue"; uses isis_MtExtIsRiSrLanAdj-group; description "Extended MT IS reachable LAN adjacency list"; } description "Extended MT IS reachable LAN adjacency"; } } grouping isis_MtExtIsRiAdminGroup-group { description "Extended MT IS reachable admin group"; leaf adminGroup { config "false"; type uint32; description "Administrative Group TLV"; } } grouping isis_MtExtIsRiAddressType-group { description "Extended MT IS reachable address type"; leaf interfaceIp { config "false"; type address_Ip; description "Interface IPv4 Address"; } } grouping isis_MtExtIsRiNbrAddressType-group { description "Extended MT IS reachable neighbour type"; leaf nbrIp { config "false"; type address_Ip; description "Neighbor IPv4 address"; } } grouping isis_MtExtIsRiMaxLinkBw-group { description "Extended MT IS reachable maximum link bandwidth"; leaf maxLinkBw { config "false"; type decimal64 { fraction-digits 6; } description "Maximum link bandwidth"; } } grouping isis_MtExtIsRiReservBw-group { description "Extended MT IS reachable reservable bandwidth"; leaf reservBw { config "false"; type decimal64 { fraction-digits 6; } description "Maximum reservable link bandwidth"; } } grouping isis_MtExtIsRiUnReservBw-group { description "Extended MT IS reachable unreservable bandwidth"; leaf unReservBw { config "false"; type decimal64 { fraction-digits 6; } description "Unreserved bandwidth for priority 1"; } leaf priority { config "false"; type uint8; description "Unreserved priority for priority 1"; } } grouping isis_MtExtIsRiTeMetric-group { description "Extended MT IS reachable TE metric"; leaf teMetric { config "false"; type uint32; description "Traffic engineering default metric"; } } grouping isis_MtExtIsRiSrP2PAdj-group { description "Extended MT IS reachable SR P2P adjacency"; leaf sidValue { config "false"; type uint32; description "Adjacency segment identifier"; } leaf weight { config "false"; type uint8; description "Weight of the adjacency segment identifier"; } container mtextisrisrp2padjflag-items { uses isis_MtExtIsRiSrP2PAdjFlags-group; description "Extended MT IS reachable LAN adjacency flags"; } } grouping isis_MtExtIsRiSrP2PAdjFlags-group { description "Extended MT IS reachable LAN adjacency flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf addrFamily { config "false"; type boolean; description "Adjacency Address-Family flag identifier"; } leaf backup { config "false"; type boolean; description "Adjacency Backup flag identifier"; } leaf set { config "false"; type boolean; description "Adjacency Set flag identifier"; } leaf persistent { config "false"; type boolean; description "Adjacency Persistent flag identifier"; } } grouping isis_MtExtIsRiSrLanAdj-group { description "Extended MT IS reachable LAN adjacency"; leaf sidValue { config "false"; type uint32; description "Adjacency segment identifier"; } leaf weight { config "false"; type uint8; description "Weight of the adjacency segment identifier"; } container mtextisrisrlanadjflag-items { uses isis_MtExtIsRiSrLanAdjFlags-group; description "Extended MT IS reachable LAN adjacency flags"; } } grouping isis_MtExtIsRiSrLanAdjFlags-group { description "Extended MT IS reachable LAN adjacency flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf addrFamily { config "false"; type boolean; description "Adjacency Address-Family flag identifier"; } leaf backup { config "false"; type boolean; description "Adjacency Backup flag identifier"; } leaf set { config "false"; type boolean; description "Adjacency Set flag identifier"; } leaf persistent { config "false"; type boolean; description "Adjacency Persistent flag identifier"; } } grouping isis_MtExtIsRiUnknown-group { description "Extended MT IS reachable unknown TLVs"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_Auth-group { description "Authentication operational data"; leaf type { config "false"; type isis_AuthT; description "Authentication type value"; } leaf len { config "false"; type uint8; description "Authentication data length"; } leaf keyName { config "false"; type string; description "Authentication keychain name"; } } grouping isis_Ipv6Reach-group { description "ISIS IPv6 reachbility operational data"; leaf ipAddr { config "false"; type address_Ip; description "IPv6 Interface Address"; } leaf sBit { config "false"; type boolean; description "Sub-TLV present bit flag"; } leaf metric { config "false"; type uint32; description "Metric value for reachability"; } leaf operSt { config "false"; type isis_UpDown; description "Up/down bit for reachability"; } leaf metricType { config "false"; type isis_MetricType; description "External original bit"; } // SUB TLV MOs container ipv6reachsubtlv-items { list Ipv6ReachSubTlv-list { config "false"; key "tlvId"; uses isis_Ipv6ReachSubTlv-group; description "This holds Ipv6Reach Sub TLV MOs list"; } description "This holds Ipv6Reach Sub TLV MOs"; } container ipv6riunknown-items { list Ipv6RiUnknown-list { config "false"; key "tlvId"; uses isis_Ipv6RiUnknown-group; description "ISIS IPv6 unknown tlv operational data list"; } description "ISIS IPv6 unknown tlv operational data"; } } grouping isis_Ipv6ReachSubTlv-group { description "This holds Ipv6Reach Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container ipv6reachadmin-items { list Ipv6ReachAdmin-list { config "false"; key "tagId"; uses isis_Ipv6ReachAdmin-group; description "IPv6 reachable admin group list"; } description "IPv6 reachable admin group"; } container ipv6reachsidprefix-items { list Ipv6ReachSidPrefix-list { config "false"; key "pfxSid"; uses isis_Ipv6ReachSidPrefix-group; description "IPv6 reachable SID prefix list"; } description "IPv6 reachable SID prefix"; } } grouping isis_Ipv6ReachAdmin-group { description "IPv6 reachable admin group"; leaf tagId { config "false"; type uint32; description "Tag associated with IP prefix"; } } grouping isis_Ipv6ReachSidPrefix-group { description "IPv6 reachable SID prefix"; leaf pfxSid { config "false"; type uint32; description "Prefix segment identifier"; } leaf pfxAlgo { config "false"; type uint16; description "Prefix segment algorithm"; } container ipv6reachsidprefixflags-items { uses isis_Ipv6ReachSidPrefixFlags-group; description "IPv6 reachable SID prefix flags"; } } grouping isis_Ipv6ReachSidPrefixFlags-group { description "IPv6 reachable SID prefix flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf reAdv { config "false"; type boolean; description "Prefix Re-advertisement flag identifier"; } leaf node { config "false"; type boolean; description "Prefix Node-SID flag identifier"; } leaf php { config "false"; type boolean; description "Prefix No-PHP flag identifier"; } leaf expNull { config "false"; type boolean; description "Prefix Explicit-Null Flag identifier"; } } grouping isis_Ipv6RiUnknown-group { description "ISIS IPv6 unknown tlv operational data"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_MtIpv6Reach-group { description "ISIS MT IPv6 reachability operational data"; leaf ipAddr { config "false"; type address_Ip; description "IPv6 Interface Address"; } leaf sBit { config "false"; type boolean; description "Sub-TLV present bit flag"; } leaf topoId { config "false"; type uint16; description "Topology identifier value"; } leaf metric { config "false"; type uint32; description "Metric value for reachability"; } leaf operSt { config "false"; type isis_UpDown; description "Up/down bit for reachability"; } leaf metricType { config "false"; type isis_MetricType; description "External original bit"; } // SUB TLV MOs container mtipv6reachsubtlv-items { list MtIpv6ReachSubTlv-list { config "false"; key "tlvId"; uses isis_MtIpv6ReachSubTlv-group; description "This holds MtIpv6Reach Sub TLV MOs list"; } description "This holds MtIpv6Reach Sub TLV MOs"; } container mtv6riunknown-items { list MtIpv6RiUnknown-list { config "false"; key "tlvId"; uses isis_MtIpv6RiUnknown-group; description "MT IPv6 reachability unknown tlva list"; } description "MT IPv6 reachability unknown tlva"; } } grouping isis_MtIpv6ReachSubTlv-group { description "This holds MtIpv6Reach Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container mtipv6reachadmin-items { list MtIpv6ReachAdmin-list { config "false"; key "tagId"; uses isis_MtIpv6ReachAdmin-group; description "MT IPv6 reachability admin group list"; } description "MT IPv6 reachability admin group"; } container mtipv6reachsidprefix-items { list MtIpv6ReachSidPrefix-list { config "false"; key "pfxSid"; uses isis_MtIpv6ReachSidPrefix-group; description "MT IPv6 reachability SID prefix list"; } description "MT IPv6 reachability SID prefix"; } } grouping isis_MtIpv6ReachAdmin-group { description "MT IPv6 reachability admin group"; leaf tagId { config "false"; type uint32; description "Tag associated with IP prefix"; } } grouping isis_MtIpv6ReachSidPrefix-group { description "MT IPv6 reachability SID prefix"; leaf pfxSid { config "false"; type uint32; description "Prefix segment identifier"; } leaf pfxAlgo { config "false"; type uint16; description "Prefix segment algorithm"; } container mtipv6reachsidprefixflags-items { uses isis_MtIpv6ReachSidPrefixFlags-group; description "MT IPv6 reachable SID prefix flags"; } } grouping isis_MtIpv6ReachSidPrefixFlags-group { description "MT IPv6 reachable SID prefix flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf reAdv { config "false"; type boolean; description "Prefix Re-advertisement flag identifier"; } leaf node { config "false"; type boolean; description "Prefix Node-SID flag identifier"; } leaf php { config "false"; type boolean; description "Prefix No-PHP flag identifier"; } leaf expNull { config "false"; type boolean; description "Prefix Explicit-Null Flag identifier"; } } grouping isis_MtIpv6RiUnknown-group { description "MT IPv6 reachability unknown tlva"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_ExtIpReach-group { description "ISIS Ext IP reachability operational data"; leaf ipAddr { config "false"; type address_Ip; description "IPv4 interface address"; } leaf metric { config "false"; type uint32; description "Metric value for reachability"; } leaf operSt { config "false"; type isis_UpDown; description "Up/down bit for reachability"; } leaf sBit { config "false"; type boolean; description "Sub-TLV present bit flag"; } // SUB TLV MOs container extipreachsubtlv-items { list ExtIpReachSubTlv-list { config "false"; key "tlvId"; uses isis_ExtIpReachSubTlv-group; description "This holds ExtIpReach Sub TLV MOs list"; } description "This holds ExtIpReach Sub TLV MOs"; } container extipriunknown-items { list ExtIpRiUnknown-list { config "false"; key "tlvId"; uses isis_ExtIpRiUnknown-group; description "Ext IP reachability unknown tlv list"; } description "Ext IP reachability unknown tlv"; } } grouping isis_ExtIpReachSubTlv-group { description "This holds ExtIpReach Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container extipreachadmin-items { list ExtIpReachAdmin-list { config "false"; key "tagId"; uses isis_ExtIpReachAdmin-group; description "Ext IP reachability admin group list"; } description "Ext IP reachability admin group"; } container extipreachsidprefix-items { list ExtIpReachSidPrefix-list { config "false"; key "pfxSid"; uses isis_ExtIpReachSidPrefix-group; description "Ext IP reachability SID prefix list"; } description "Ext IP reachability SID prefix"; } } grouping isis_ExtIpReachAdmin-group { description "Ext IP reachability admin group"; leaf tagId { config "false"; type uint32; description "Tag associated with IP prefix"; } } grouping isis_ExtIpReachSidPrefix-group { description "Ext IP reachability SID prefix"; leaf pfxSid { config "false"; type uint32; description "Prefix segment identifier"; } leaf pfxAlgo { config "false"; type uint16; description "Prefix segment algorithm"; } container extipreachsidprefixflags-items { uses isis_ExtIpReachSidPrefixFlags-group; description "Ext IP reachable SID prefix flags"; } } grouping isis_ExtIpReachSidPrefixFlags-group { description "Ext IP reachable SID prefix flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf reAdv { config "false"; type boolean; description "Prefix Re-advertisement flag identifier"; } leaf node { config "false"; type boolean; description "Prefix Node-SID flag identifier"; } leaf php { config "false"; type boolean; description "Prefix No-PHP flag identifier"; } leaf expNull { config "false"; type boolean; description "Prefix Explicit-Null Flag identifier"; } } grouping isis_ExtIpRiUnknown-group { description "Ext IP reachability unknown tlv"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_RtrCapInst-group { description "ISIS router capability instances operational data"; leaf instance { config "false"; type uint32; description "Router instance identifier value"; } // ISIS_TLV_ROUTER_CAPABILITY_TYPE container rtrcap-items { uses isis_RtrCap-group; description "ISIS router capability operational data"; } } grouping isis_RtrCap-group { description "ISIS router capability operational data"; leaf routerId { config "false"; type string; description "Router identifier value"; } leaf flags { config "false"; type uint8; description "Flags value for router capability"; } // SUB TLV MOs container rtrcapsubtlv-items { list RtrCapSubTlv-list { config "false"; key "tlvId"; uses isis_RtrCapSubTlv-group; description "This holds RtrCap Sub TLV MOs list"; } description "This holds RtrCap Sub TLV MOs"; } container rtrcapunknown-items { list RtrCapUnknown-list { config "false"; key "tlvId"; uses isis_RtrCapUnknown-group; description "Router capability unknown TLVs list"; } description "Router capability unknown TLVs"; } } grouping isis_RtrCapSubTlv-group { description "This holds RtrCap Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container rtrcapsrcaps-items { uses isis_RtrCapSrCaps-group; description "Segment routing router capability"; } container rtrcapsrv6caps-items { uses isis_RtrCapSrV6Caps-group; description "Segment routing v6 router capability"; } container rtrcapsrareacaps-items { uses isis_RtrCapSrAreaCaps-group; description "Segment routing area router capability"; } } grouping isis_RtrCapSrCaps-group { description "Segment routing router capability"; leaf ipv4 { config "false"; type boolean; description "SR capability I(MPLS IPv4) Flag"; } leaf ipv6 { config "false"; type boolean; description "SR capability V(MPLS IPv6) Flag"; } leaf ipv6Sr { config "false"; type boolean; description "SR IPv6 capability Flag"; } container rtrcapsrcapsrange-items { list RtrCapSrCapsRange-list { config "false"; key "srRange"; uses isis_RtrCapSrCapsRange-group; description "Segment routing router capability label ranges list"; } description "Segment routing router capability label ranges"; } } grouping isis_RtrCapSrCapsRange-group { description "Segment routing router capability label ranges"; leaf srStartLabel { config "false"; type uint32; description "Start segment label identifier"; } leaf srRange { config "false"; type uint32; description "Range segment identifier"; } } grouping isis_RtrCapSrV6Caps-group { description "Segment routing v6 router capability"; leaf sr6ZeroBit { config "false"; type boolean; description "Support O-bit in segment routing header"; } } grouping isis_RtrCapSrAreaCaps-group { description "Segment routing area router capability"; leaf algoId { config "false"; type uint8; description "Identifier for algorithm used for flooding"; } leaf algoName { config "false"; type string; description "Name of the algorithm used for flooding"; } leaf priority { config "false"; type uint8; description "Priority of the area leader"; } } grouping isis_RtrCapUnknown-group { description "Router capability unknown TLVs"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_MtRtrCap-group { description "ISIS MT capability operational data"; leaf topoId { config "false"; type string; description "Multi topology identifier"; } // SUB TLV MOs container mtrtrcapsubtlv-items { list MtRtrCapSubTlv-list { config "false"; key "tlvId"; uses isis_MtRtrCapSubTlv-group; description "This holds MtRtrCap Sub TLV MOs list"; } description "This holds MtRtrCap Sub TLV MOs"; } } grouping isis_MtRtrCapSubTlv-group { description "This holds MtRtrCap Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container mtrtrcapsrcaps-items { uses isis_MtRtrCapSrCaps-group; description "MT segment routing router capability"; } container mtrtrcapsrv6caps-items { uses isis_MtRtrCapSrV6Caps-group; description "MT segment routing v6 router capability"; } container mtrtrcapunknown-items { list MtRtrCapUnknown-list { config "false"; key "tlvId"; uses isis_MtRtrCapUnknown-group; description "MT segment routing router capability unknown tlv list"; } description "MT segment routing router capability unknown tlv"; } } grouping isis_MtRtrCapSrCaps-group { description "MT segment routing router capability"; leaf ipv4 { config "false"; type boolean; description "SR capability I(MPLS IPv4) Flag"; } leaf ipv6 { config "false"; type boolean; description "SR capability V(MPLS IPv6) Flag"; } leaf ipv6Sr { config "false"; type boolean; description "SR IPv6 capability Flag"; } container mtrtrcapsrcapsrange-items { list MtRtrCapSrCapsRange-list { config "false"; key "srRange"; uses isis_MtRtrCapSrCapsRange-group; description "MT Segment routing router capability ranges list"; } description "MT Segment routing router capability ranges"; } } grouping isis_MtRtrCapSrCapsRange-group { description "MT Segment routing router capability ranges"; leaf srStartSid { config "false"; type uint32; description "Start segment label identifier"; } leaf srRange { config "false"; type uint32; description "Range segment identifier"; } } grouping isis_MtRtrCapSrV6Caps-group { description "MT segment routing v6 router capability"; leaf sr6ZeroBit { config "false"; type boolean; description "Support O-bit in segment routing header"; } } grouping isis_MtRtrCapUnknown-group { description "MT segment routing router capability unknown tlv"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_MtIpv4Reach-group { description "ISIS MT IPv4 RI operational data"; leaf ipAddr { config "false"; type address_Ip; description "Interface IP identifier"; } leaf mtId { config "false"; type uint16; description "Multi topology identifier"; } leaf metric { config "false"; type uint32; description "Metric value for reachability"; } leaf operSt { config "false"; type isis_UpDown; description "Up/down bit for reachability"; } leaf metricType { config "false"; type isis_MetricType; description "External original bit"; } // SUB TLV MOs container mtipv4reachsubtlv-items { list MtIpv4ReachSubTlv-list { config "false"; key "tlvId"; uses isis_MtIpv4ReachSubTlv-group; description "This holds MtIpv4Reach Sub TLV MOs list"; } description "This holds MtIpv4Reach Sub TLV MOs"; } } grouping isis_MtIpv4ReachSubTlv-group { description "This holds MtIpv4Reach Sub TLV MOs"; leaf tlvId { config "false"; type uint8; description "TLV identifier for the MO"; } container mtipv4reachadmin-items { list MtIpv4ReachAdmin-list { config "false"; key "tagId"; uses isis_MtIpv4ReachAdmin-group; description "MT IPv4 reachable admin group list"; } description "MT IPv4 reachable admin group"; } container mtipv4reachsidprefix-items { list MtIpv4ReachSidPrefix-list { config "false"; key "pfxSid"; uses isis_MtIpv4ReachSidPrefix-group; description "MT IPv4 reachable SID prefix list"; } description "MT IPv4 reachable SID prefix"; } container mtipv4unknown-items { list MtIpv4Unknown-list { config "false"; key "tlvId"; uses isis_MtIpv4Unknown-group; description "MT IPv4 reachable unknown tlv list"; } description "MT IPv4 reachable unknown tlv "; } } grouping isis_MtIpv4ReachAdmin-group { description "MT IPv4 reachable admin group"; leaf tagId { config "false"; type uint32; description "Tag associated with IP prefix"; } } grouping isis_MtIpv4ReachSidPrefix-group { description "MT IPv4 reachable SID prefix"; leaf pfxSid { config "false"; type uint32; description "Prefix segment identifier"; } leaf pfxAlgo { config "false"; type uint16; description "Prefix segment algorithm"; } container mtipv4reachsidprefixflags-items { uses isis_MtIpv4ReachSidPrefixFlags-group; description "MT IPv4 reachable SID prefix flags"; } } grouping isis_MtIpv4ReachSidPrefixFlags-group { description "MT IPv4 reachable SID prefix flags"; leaf value { config "false"; type boolean; description "Prefix Value flag identifier"; } leaf local { config "false"; type boolean; description "Prefix Local Flag identifier"; } leaf reAdv { config "false"; type boolean; description "Prefix Re-advertisement flag identifier"; } leaf node { config "false"; type boolean; description "Prefix Node-SID flag identifier"; } leaf php { config "false"; type boolean; description "Prefix No-PHP flag identifier"; } leaf expNull { config "false"; type boolean; description "Prefix Explicit-Null Flag identifier"; } } grouping isis_MtIpv4Unknown-group { description "MT IPv4 reachable unknown tlv "; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_Unknown-group { description "Unknown TLV MO container"; leaf tlvId { config "false"; type uint8; description "Identifier for the TLV"; } leaf tlvLen { config "false"; type uint8; description "Length of the TLV information"; } leaf tlvVal { config "false"; type string; description "String contains TLV data"; } } grouping isis_OperGlobal-group { description "This mo holds per Level global ISIS LSP information"; leaf lspLifetime { config "false"; type isis_MaxLSPLife; description "Time interval in seconds that specifies lsp lifetime"; } leaf instance { config "false"; type uint16; description "ISIS instance identifier"; } leaf net { config "false"; type isis_Net; description "ISIS network entity title (NET)"; } leaf levelCap { config "false"; type isis_IsT; description "ISIS level capability(level-1, level-2, level-1-2)."; } leaf maxAreaAddress { config "false"; type isis_MaxArea; description "ISIS Maximum areas supported."; } leaf refBW { config "false"; type isis_BwRef; description "ISIS Reference Bandwidth value"; } leaf grOperSt { config "false"; type isis_GrOperSt; description "Graceful restart operational state"; } leaf mtuSize { config "false"; type isis_Mtu; description "The maximum size in bytes of an IS-IS Link state PDU."; } leaf igpLdpSync { config "false"; type isis_LdpSyncOperSt; description "When enabled, rely on IGP/LDP synchronization"; } // Segment Routing container sr-items { uses isis_SegmentRouting-group; description "ISIS operational state relating to segment routing"; } // Overload bit container overloadbit-items { uses isis_OverloadBit-group; description "Overload bit operational data"; } // AFI-SAFI container afi-items { list AfiSafi-list { config "false"; key "afi safi"; uses isis_AfiSafi-group; description "Address-family specific operational data list"; } description "Address-family specific operational data"; } } grouping isis_SegmentRouting-group { description "ISIS operational state relating to segment routing"; leaf srOperSt { config "false"; type isis_SrOperSt; description "When this leaf is set to true, the segment routing extensions are utilised within the IGP."; } } grouping isis_OverloadBit-group { description "Overload bit operational data"; leaf setBit { config "false"; type isis_ObitSetSt; description "If set IS-IS overload bit is set"; } leaf setBitOnBoot { config "false"; type isis_ObitSetOnBootSt; description "If set the IS-IS overload bit is set on system boot."; } // Overload bit Reset-trigger container resettrigger-items { list ResetTrigger-list { config "false"; key "resetTrigger"; uses isis_ResetTrigger-group; description "Overload bit Reset trigger operational data list"; } description "Overload bit Reset trigger operational data"; } } grouping isis_ResetTrigger-group { description "Overload bit Reset trigger operational data"; leaf resetTrigger { config "false"; type isis_ReTri; description "Overload bit reset trigger type"; } leaf delay { config "false"; type uint32; description "Resetting the overload bit for the specified number of seconds after the trigger occurs."; } } grouping isis_AfiSafi-group { description "Address-family specific operational data"; leaf afi { config "false"; type isis_AfT; description "Address family operational data"; } leaf safi { config "false"; type isis_SafT; description "Subsequent address family operational data"; } container state-items { uses isis_AfiSafiState-group; description "Address-family and subsequent address-family operational data"; } container mtaf-items { uses isis_MtAfiSafi-group; description "Multitopology Address-family and subsequent address-family operational data"; } } grouping isis_AfiSafiState-group { description "Address-family and subsequent address-family operational data"; leaf afi { config "false"; type isis_AfT; description "Address family operational data"; } leaf safi { config "false"; type isis_SafT; description "Subsequent address family operational data"; } leaf afOperSt { config "false"; type isis_AfOperSt; description "Address family enable operational data"; } } grouping isis_MtAfiSafi-group { description "Multitopology Address-family and subsequent address-family operational data"; leaf afi { config "false"; type isis_AfT; description "MT Address family operational data"; } leaf safi { config "false"; type isis_SafT; description "MT Subsequent address family operational data"; } leaf mtAfstate { config "false"; type isis_MtAfOperSt; description "MT Address family enable state"; } } grouping isis_DefRtLeakP-group { description "Default Route Leak Policy"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { config "false"; type rtleak_Scope; default "defrt"; description "Scope"; } leaf rtMap { config "false"; type string; description "Route Map"; } } grouping isis_EvtHstry-group { description "Holds ISIS event-history buffers Information for ISIS"; // Holds type of event history leaf type { type isis_EhType; description "configures type of event history"; } leaf size { type isis_EhSize; description "configures buffer size in text/kb"; } } grouping isis_SysLog-group { description "Holds ISIS logging Information"; // Logging level for IS-IS leaf logLevel { type isis_LogL; description "Holds ISIS Logging Level"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping isis_InternalIf-group { description "Internal Model for ISIS Interface"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // Circuit type leaf cktT { type isis_IsT; description "Holds ISIS interface Circuit Type"; } // Metric level-1 leaf metricLvl1 { type isis_Metric; description "Holds ISIS interface Metric level-1"; } // Metric level-2 leaf metricLvl2 { type isis_Metric; description "Holds ISIS interface Metric level-2"; } // Interface controls leaf ctrl { type isis_IfControl; description "Holds ISIS interface Control messages"; } leaf v4enable { type boolean; default "true"; description "Enabling ISIS router tag on Interface's IPV4 family"; } leaf v6enable { type boolean; default "true"; description "Enabling ISIS router tag on Interface's IPV6 family"; } leaf authCheckLvl1 { type boolean; default "true"; description "Enabling Authentication check for ISIS interface at Level1"; } leaf authCheckLvl2 { type boolean; default "true"; description "Enabling Authentication check for ISIS interface at Level2"; } leaf authCheck { type boolean; default "true"; description "Enabling Authentication check for ISIS interface without specific Level"; } // Enable P2P Interface leaf networkTypeP2P { type isis_NetworkTypeP2PSt; description "Enabling Point-to-Point Network Type on ISIS Interface"; } // LSP refresh Interval leaf lspRefreshIntvl { type isis_LspRefreshIntvl; description "Holds ISIS Interface LSP Refresh Interval"; } // LSP Retransmit Interval leaf retransInterval { type isis_RetransInterval; description "Holds ISIS Interface Retransmit Interval"; } // LSP Retransmit Throttle Interval leaf retransThrottleInterval { type isis_RetransThrottleInterval; description "Holds ISIS Interface Retransmit Throttle Interval"; } // IPv4 BFD leaf v4Bfd { type isis_BfdT; description "Holds ISIS Interface BFD Configruation"; } // IPv6 BFD leaf v6Bfd { type isis_BfdT; description "Holds Interface BFD Configruation for IPV6 family"; } // Passive-interface Info leaf passive { type isis_PassiveIntfT; description "Holds ISIS Passive Interface Info"; } // Interface Hello padding Info leaf helloPad { type isis_HelloPadT; description "Holds ISIS Interface Hello Padding Info"; } // Interface Hello Interval Info leaf helloIntvl { type isis_HelloIntvl; description "Holds Interface Hello Interval value"; } // ISIS Hello Interval for Level-1 leaf helloIntvlLvl1 { type isis_HelloIntvl; description "Holds ISIS interface Hello Interval Level-1 value"; } // ISIS Hello Interval for Level-2 leaf helloIntvlLvl2 { type isis_HelloIntvl; description "Holds ISIS interface Hello Interval Level-2 value"; } // Hello Multiplier leaf helloMult { type isis_HelloMult; description "Holds Interface Hello Multiplier value"; } // ISIS Hello Multiplier for Level-1 leaf helloMultLvl1 { type isis_HelloMult; description "Holds ISIS interface Hello Multiplier Level-1 value"; } // ISIS Hello Multiplier for Level-2 leaf helloMultLvl2 { type isis_HelloMult; description "Holds ISIS interface Hello Multiplier Level-2 value"; } // ISIS Priority for Level-1 leaf priorityLvl1 { type isis_CktPrio; description "Holds ISIS Interface Level-1 Circuit Priority"; } // ISIS Priority for Level-2 leaf priorityLvl2 { type isis_CktPrio; description "Holds ISIS Interface Level-2 Circuit Priority"; } // ISIS Wide Metric MT2[IPV6] topology for Level-1 leaf mt2MetricLvl1 { type isis_WideMetric; description "Holds ISIS interface IPV6 wide metric value for Level-1"; } // ISIS Wide Metric MT2[IPV6] topology for Level-2 leaf mt2MetricLvl2 { type isis_WideMetric; description "Holds ISIS interface IPV6 wide metric value for Level-2"; } // ISIS CSNP Interval for Level-1 leaf csnpIntvlLvl1 { type isis_CsnpIntvl; description "Holds ISIS Interface Level-1 CSNP Interval"; } // ISIS CSNP Interval for Level-2 leaf csnpIntvlLvl2 { type isis_CsnpIntvl; description "Holds ISIS Interface Level-2 CSNP Interval"; } leaf authType { type isis_AuthT; description "Holds Authentication Type value for ISIS Interface"; } // Authentication Type for Level-1 leaf authTypeLvl1 { type isis_AuthT; description "Holds ISIS Level-1 Authentication Type value for Interface"; } // Authentication Type for Level-2 leaf authTypeLvl2 { type isis_AuthT; description "Holds ISIS Level-2 Authentication Type value for Interface"; } // Authentication Key for ISIS Interface leaf authKey { type isis_AuthKeyN; description "Holds Authentication Key for ISIS Interface"; } // Authentication Key for ISIS Interface on Level-1 leaf authKeyLvl1 { type isis_AuthKeyN; description "Holds Authentication Key for ISIS Interface on Level-1"; } // Authentication Key for ISIS Interface on Level-2 leaf authKeyLvl2 { type isis_AuthKeyN; description "Holds Authentication Key for ISIS Interface on Level-2"; } leaf mtuCheckLvl1 { type boolean; default "true"; description "Enabling Mtu check for ISIS interface at Level1"; } leaf mtuCheckLvl2 { type boolean; default "true"; description "Enabling Mtu check for ISIS interface at Level2"; } leaf mtuCheck { type boolean; default "true"; description "Enabling Mtu check for ISIS interface without specific Level"; } leaf suppressedState { type boolean; default "true"; description "Suppress the prefix advertisement"; } leaf nFlagClear { type boolean; default "true"; description "Enabling N flag clear for ISIS interface"; } leaf meshGroupBlocked { type boolean; default "true"; description "Mesh group blocked value"; } // Mesh group ID leaf meshGroupId { type isis_MeshGroupType; description "Holds the ISIS mesh group ID value"; } // Instance name leaf instance { type isis_InstanceName { pattern ".*[a-zA-Z0-9_-]{0,20}.*"; } description "Instance to which the interface belongs to"; } // Dom name leaf dom { type isis_DomName; description "Dom to which the interface belongs to"; } // This object holds mesh group information per interface container meshgrp-items { uses isis_MeshGrp-group; description "Holds ISIS interface Mesh Group Policy"; } // This object holds per level isis interface information container lvl-items { list IfLvl-list { key "type"; uses isis_IfLvl-group; description "IS-IS Interface Policy Per Level list"; } description "IS-IS Interface Policy Per Level"; } // This object holds per IF States information container traffic-items { uses isis_IfTraffic-group; description "Interface Traffic Statistics"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping itd_Entity-group { description "ITD Entity"; container inst-items { uses itd_Inst-group; description "ITD Instance"; } } grouping itd_Inst-group { description "ITD Instance"; container devgrp-items { list DeviceGroup-list { key "dgName"; uses itd_DeviceGroup-group; } } container prtgrp-items { list PortGroup-list { key "pgName"; uses itd_PortGroup-group; } } container service-items { list Service-list { key "name"; uses itd_Service-group; } } container sessiondevgrp-items { list SessionDevGrp-list { key "devGroupName"; uses itd_SessionDevGrp-group; } } container refreshacl-items { list AclAction-list { key "aclName"; uses itd_AclAction-group; } } container stats-items { list StatsAction-list { key "svcName"; uses itd_StatsAction-group; } } } grouping itd_DeviceGroup-group { leaf dgName { type itd_DevGrpNameType; description "TBD"; } leaf propFaultBitmap { config "false"; type itd_dgFaultBitmapT; description "Error state for the device-group."; } leaf holdDownThreshCount { type itd_threshCountType; description "TBD"; } leaf holdDownThreshTime { type itd_threshTimeType; description "TBD"; } leaf vrf { type itd_dgVrfName; description "TBD"; } container nodev4-items { list Nodev4-list { key "ip"; uses itd_Nodev4-group; } } container nodev6-items { list Nodev6-list { key "ip"; uses itd_Nodev6-group; } } container probe-items { uses itd_Probe-group; } } grouping itd_Nodev4-group { leaf ip { type address_Ipv4; } leaf weight { type uint32; } leaf mode { type itd_nodeModeType; description "TBD"; } leaf propFaultBitmap { config "false"; type itd_nodeFaultBitmapT; description "Error state for the IPV4 nodes."; } leaf port { type address_PortNumber { range "0..65535"; } description "TBD"; } leaf cluster { type itd_ClusterIdType; description "TBD"; } leaf clusterDescription { type naming_Descr; description "TBD"; } leaf adminState { type itd_nodeAdminSt; description "TBD"; } leaf holdDownThreshCount { type itd_threshCountType; description "TBD"; } leaf holdDownThreshTime { type itd_threshTimeType; description "TBD"; } container stbynodev4-items { list StandbyNodev4-list { key "ip"; uses itd_StandbyNodev4-group; } } container probe-items { uses itd_Probe-group; } container nodeoperdata-items { uses itd_Nodeoperdata-group; } } grouping itd_StandbyNodev4-group { leaf ip { type address_Ipv4; } leaf propFaultBitmap { config "false"; type itd_standbyNodeFaultBitmapT; description "Error state for the standby IPV4 nodes."; } leaf adminState { type itd_nodeAdminSt; description "TBD"; } leaf holdDownThreshCount { type itd_threshCountType; description "TBD"; } leaf holdDownThreshTime { type itd_threshTimeType; description "TBD"; } container probe-items { uses itd_Probe-group; } container nodeoperdata-items { uses itd_Nodeoperdata-group; } } grouping itd_Probe-group { leaf protocol { type itd_protocolType; description "TBD"; } leaf port { type address_PortNumber { range "0..65535"; } default "0"; description "TBD"; } leaf frequency { type uint32 { range "0..604800"; } default "0"; } leaf retryDownCount { type uint32 { range "0..5"; } default "0"; } leaf retryUpCount { type uint32 { range "0..5"; } default "0"; } leaf timeout { type uint32 { range "0..604800"; } default "0"; } leaf dnshost { type itd_DnsHostType; description "TBD"; } leaf probeIp { type address_Ipv4; } leaf httpGetStr { type itd_HttpStringType; description "TBD"; } leaf ctrlStatusEnable { type itd_ctrlType; description "TBD"; } leaf propFaultBitmap { config "false"; type itd_probeFaultBitmapT; description "Error state for probes."; } leaf trackID { type uint32 { range "0..512"; } default "0"; } } grouping itd_Nodeoperdata-group { leaf generatedTrackID { config "false"; type itd_TrackId; description "Software auto generated track id"; } leaf generatedSlaID { config "false"; type itd_SlaId; description "Software auto generated sla id"; } leaf probestatus { config "false"; type itd_ProbeStatus; description "runtime state of node probe"; } leaf egressIntf { config "false"; type nw_IfId; description "egress interface of node"; } } grouping itd_Nodev6-group { leaf ip { type address_Ipv6; } leaf weight { type uint32; } leaf mode { type itd_nodeModeType; description "TBD"; } leaf propFaultBitmap { config "false"; type itd_nodeFaultBitmapT; description "Error state for the IPV6 nodes."; } leaf cluster { type itd_ClusterIdType; description "TBD"; } leaf clusterDescription { type naming_Descr; description "TBD"; } leaf adminState { type itd_nodeAdminSt; description "TBD"; } leaf holdDownThreshCount { type itd_threshCountType; description "TBD"; } leaf holdDownThreshTime { type itd_threshTimeType; description "TBD"; } container stbynodev6-items { list StandbyNodev6-list { key "ip"; uses itd_StandbyNodev6-group; } } container probe-items { uses itd_Probe-group; } container nodeoperdata-items { uses itd_Nodeoperdata-group; } } grouping itd_StandbyNodev6-group { leaf ip { type address_Ipv6; } leaf propFaultBitmap { config "false"; type itd_standbyNodeFaultBitmapT; description "Error state for the standby IPV6 nodes."; } leaf adminState { type itd_nodeAdminSt; description "TBD"; } leaf holdDownThreshCount { type itd_threshCountType; description "TBD"; } leaf holdDownThreshTime { type itd_threshTimeType; description "TBD"; } container probe-items { uses itd_Probe-group; } container nodeoperdata-items { uses itd_Nodeoperdata-group; } } grouping itd_PortGroup-group { leaf pgName { type itd_PortGrpNameType; description "TBD"; } container if-items { list L2If-list { key "name"; uses itd_L2If-group; } } } grouping itd_L2If-group { leaf name { type nw_IfId; description "TBD"; } } grouping itd_Service-group { leaf name { type itd_SvcNameType; description "TBD"; } leaf adminSt { type itd_AdminSt; description "TBD"; } leaf defaultDevGroup { type itd_DevGrpNameType; description "TBD"; } leaf defaultPortGroup { type itd_PortGrpNameType; description "TBD"; } leaf excludeACL { type itd_AclNameType; description "TBD"; } leaf dropACL { type itd_AclNameType; description "TBD"; } leaf vrf { type itd_vrfName; description "TBD"; } leaf failactionMode { type itd_failactionType; description "TBD"; } leaf dropOnAllFail { type boolean; } leaf lbMethod { type itd_LBMethod; description "TBD"; } leaf lbProtocol { type itd_protocolType; description "TBD"; } leaf rangeX { type address_PortNumber { range "0..65535"; } description "TBD"; } leaf rangeY { type address_PortNumber { range "0..65535"; } description "TBD"; } leaf bucket { type itd_BucketNumType; description "TBD"; } leaf maskPosition { type itd_MaskPosType; description "TBD"; } leaf natDestination { type itd_ctrlType; description "TBD"; } leaf peerLocalServiceName { type itd_SvcNameType; description "TBD"; } leaf sourceIntf { type nw_IfId; description "Source interface for probe generation."; } leaf leastBit { type boolean; } leaf propFaultBitmap { config "false"; type itd_serviceFaultBitmapT; description "Error state for service."; } leaf serviceStatus { config "false"; type itd_ServiceStatusStates; description "Runtime Status of service."; } container if-items { list IngressIf-list { key "name"; uses itd_IngressIf-group; } } container vlan-items { list SourceVlan-list { key "name"; uses itd_SourceVlan-group; } } container acl-items { list Accesslist-list { key "name"; uses itd_Accesslist-group; } } container vipv4-items { list VirtualIPv4-list { key "ip subnet protocol port"; uses itd_VirtualIPv4-group; } } container vipv6-items { list VirtualIPv6-list { key "ip prefix protocol port"; uses itd_VirtualIPv6-group; } } container operstats-items { uses itd_Operstats-group; } } grouping itd_IngressIf-group { leaf name { type nw_IfId; description "TBD"; } leaf propFaultBitmap { config "false"; type itd_ingressIfFaultBitmapT; description "Error state for the ingress interface."; } leaf generatedTrackID { config "false"; type itd_TrackId; description "Software auto generated track id"; } leaf probestatus { config "false"; type itd_ProbeStatus; description "runtime state of interface probe"; } } grouping itd_SourceVlan-group { leaf name { type l2_DomId; description "TBD"; } } grouping itd_Accesslist-group { leaf name { type itd_AclNameType; description "TBD"; } leaf deviceGroup { type itd_DevGrpNameType; description "TBD"; } leaf isIPv6 { type boolean; } container operstats-items { uses itd_Operstats-group; } } grouping itd_Operstats-group { leaf runtimeBuckets { config "false"; type itd_BucketNumType; description "software computed runtime bucket size "; } container bucket-items { list Bucket-list { config "false"; key "bucketNo"; uses itd_Bucket-group; } } } grouping itd_Bucket-group { leaf bucketNo { config "false"; type itd_BucketNumType; description "index for the software generated bucket"; } leaf name { config "false"; type itd_AclNameType; description "Software generated name for the bucket"; } leaf mode { config "false"; type itd_ItdStatusStates; description "runtime traffic forwarding mode"; } leaf reassignedNode { config "false"; type itd_ReassignedNodeType; description "reassigned node the bucket"; } leaf originalNode { config "false"; type itd_ReassignedNodeType; description "original node assigned to the bucket"; } } grouping itd_VirtualIPv4-group { leaf ip { type address_Ipv4; } leaf subnet { type address_Ipv4; } leaf advertise { type boolean; } leaf active { type boolean; } leaf deviceGroup { type itd_DevGrpNameType; description "TBD"; } leaf protocol { type itd_protocolType; description "TBD"; } leaf port { type address_PortNumber; description "TBD"; } container operstats-items { uses itd_Operstats-group; } } grouping itd_VirtualIPv6-group { leaf ip { type address_Ipv6; } leaf prefix { type itd_Prefix; description "TBD"; } leaf advertise { type boolean; } leaf active { type boolean; } leaf deviceGroup { type itd_DevGrpNameType; description "TBD"; } leaf protocol { type itd_protocolType; description "TBD"; } leaf port { type address_PortNumber; description "TBD"; } container operstats-items { uses itd_Operstats-group; } } grouping itd_SessionDevGrp-group { leaf devGroupName { type itd_DevGrpNameType; description "TBD"; } leaf sessAction { type itd_sessActionType; description "TBD"; } leaf actionSet { config "false"; type boolean; } container nodev4-items { list SessNodev4-list { key "ip"; uses itd_SessNodev4-group; } } container nodev6-items { list SessNodev6-list { key "ip"; uses itd_SessNodev6-group; } } } grouping itd_SessNodev4-group { leaf ip { type address_Ipv4; } leaf action { type itd_sessNodeActionType; description "TBD"; } leaf cluster { type itd_ClusterIdType; description "TBD"; } leaf clusterDescription { type naming_Descr; description "TBD"; } leaf weight { type uint32; } container probe-items { uses itd_Probe-group; } } grouping itd_SessNodev6-group { leaf ip { type address_Ipv6; } leaf action { type itd_sessNodeActionType; description "TBD"; } leaf cluster { type itd_ClusterIdType; description "TBD"; } leaf clusterDescription { type naming_Descr; description "TBD"; } leaf weight { type uint32; } container probe-items { uses itd_Probe-group; } } grouping itd_AclAction-group { leaf aclName { type itd_AclNameType; description "TBD"; } leaf refreshSet { config "false"; type boolean; } } grouping itd_StatsAction-group { leaf svcName { type itd_SvcNameType; description "TBD"; } leaf startStats { type itd_statsActionType; description "TBD"; } leaf clearStats { type boolean; } leaf statsSet { config "false"; type boolean; } } grouping lacp_Entity-group { description "LACP Entity"; // This objects hold per lacp instance information. There is only // one instance of lacp running in the system today container inst-items { uses lacp_Inst-group; description "LACP Instance"; } } grouping lacp_Inst-group { description "LACP Instance"; // Administrative system priority leaf adminPrio { type lacp_SysPrio; description "LACP instance adminstrative priority"; } // Administrative System mac leaf adminSysMac { type lacp_SysMac; description "System MAC"; } // Administrative Role leaf adminRole { type lacp_SysRole; description "System Role"; } // Administrative FP Based Port Numbering leaf adminFpPortNum { type lacp_FpPortNum; description "LACP FP Based Port Numbering"; } // Instance Control Fields leaf lacpctrl { type lacp_LACPInstCtrl; description "Instance Control"; } // Operational system priority leaf operPrio { config "false"; type lacp_SysPrio; description "Specifies the LACP instance operational system priority"; } // System mac leaf sysMac { config "false"; type lacp_SysMac; description "System MAC"; } // Operational Role leaf operRole { config "false"; type lacp_SysRole; description "System Role"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds lacp information that is operated at a // interface (member port of the port channel) level container if-items { list If-list { key "id"; uses lacp_If-group; description "LACP Interface list"; } description "LACP Interface"; } } grouping lacp_If-group { description "LACP Interface"; // Port priority - LACP uses the port priority to decide // which ports should be put in standby mode when there // is a limitation that prevents all compatible ports // from aggregating and which ports should be put into // active mode. A higher port priority value means a // lower priority for LACP leaf prio { type lacp_PortPrio; description "Specifies the LACP Interface Port Priority"; } // Transmit rate, the rate at which the packets are // transmitted leaf txRate { type lacp_TxRate; description "Specifies the rate at which the LACP Packets are transmitted"; } // Activity flags leaf activityFlags { config "false"; type lacp_ActivityFlags; description "Specifies the LACP interface activity flags"; } leaf lastActive { config "false"; type union { type string; type uint64; } description "Indicates the last operationally active timestamp on the LACP interface"; } // Local port num leaf port { config "false"; type lacp_PortNum; description "Specifies the LACP interface local port number"; } // Operational port priority leaf operPrio { config "false"; type lacp_PortPrio; description "Specifies the LACP Interface Operational Port Priority"; } // Operational Mode leaf operMode { config "false"; type lacp_PortMode; description "Specifies the LACP interface Operational Mode"; } // Operational key leaf key { config "false"; type lacp_Key; description "Specifies the LACP Interface Operational Key"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // This object holds lacp neighbor information container adj-items { uses lacp_AdjEp-group; description "Adjacency"; } // This object holds lacp intf statistics operational information. // This is a singleton within an intferace container ifstats-items { uses lacp_IfStats-group; description "Interface Statistics"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping lacp_AdjEp-group { description "Adjacency"; // Neighbor system priority leaf sysPrio { config "false"; type lacp_SysPrio; description "Specifies the Adjacency Neighbor System Priority"; } // Neighbor system id leaf sysId { config "false"; type lacp_SysMac; description "Specifies the Adjacency Neighbor System ID"; } // Neighbor Port number leaf port { config "false"; type lacp_PortNum; description "Specifies the Adjacency Neighbor Port Number"; } // Neighbor port priority leaf portPrio { config "false"; type lacp_PortPrio; description "Neighbor Port Priority"; } // Neighbor activity flags leaf activityFlags { config "false"; type lacp_ActivityFlags; description "Specifies the LACP Adjacency Neighbor Activity Flags"; } // Neighbor oper key leaf key { config "false"; type lacp_Key; description "Specifies the Adjacency Neighbor Operational Key"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } } grouping lacp_IfStats-group { description "Interface Statistics"; // LACP Interface Stats Number of LACP pdus sent leaf pduSent { config "false"; type nw_Counter64; description "Number of PDUs Sent"; } // Number of LACP pdus received leaf pduRcvd { config "false"; type nw_Counter64; description "Number of PDUs Received"; } // Number of marker sent leaf markerSent { config "false"; type nw_Counter64; description "Number of Markers Sent"; } // Number of marker received leaf markerRcvd { config "false"; type nw_Counter64; description "Number of Markers Received"; } // Number of marker response sent leaf markerRspSent { config "false"; type nw_Counter64; description "Number of Marker Responses Sent"; } // Number of marker reponse received leaf markerRspRcvd { config "false"; type nw_Counter64; description "Number of Marker Responses Received"; } // Number of error packets received leaf errPktRcvd { config "false"; type nw_Counter64; description "Number of Error Packets Received"; } // Number of PDU timeout count leaf pduTimeoutCount { config "false"; type nw_Counter64; description "Number of PDU timeout received"; } // Number of flaps leaf flapCount { config "false"; type nw_Counter64; description "Number of flaps on this port"; } } grouping mgmt_MgmtIf-group { description "Management Interface"; leaf mediaType { type enumeration { enum sfp { value 7; } enum rj45 { value 8; } enum auto { value 9; } } default "auto"; description "Configuring the interface media-type"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024 { length "0..254"; } description "descr"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative port state @@@ Comes from port out-of-service policy leaf adminSt { type l1_AdminSt; description "Administrative Port State"; } // Administrative port speed @@@ This comes from the host interface // @@@ configuration policy leaf speed { type l1_Speed; description "Administrative Port Speed"; } // Administrative port duplex @@@ This comes from the host interface // @@@ configuration policy leaf duplex { type l1_Duplex; description "Duplex"; } // DWDM C optic ITU Channel @@@ This comes from the host interface // @@@ configuration policy leaf ituChannel { type l1_ItuChannel; description "ITU Channel to support DWDM XCVR"; } // Administrative port auto-negotiation @@@ It comes from the host interface configuration // @@@ policy. It is used for automatically negotiating // @@@ the speed leaf autoNeg { type l1_AutoNeg; description "Administrative Port Auto-Negotiation"; } // Administrative port mtu @@@ This comes from QOS Policy leaf mtu { type l1_Mtu; description "Administrative port MTU"; } // Administrative port snmp trap state @@@ This is a port level config. but it could go in // @@@ SNMP policy in IFC leaf snmpTrapSt { type l1_SnmpTrapSt; description "Administrative Port Snmp Trap State"; } // Mgmt interface container mgmt-items { uses im_MgmtIf-group; description "Managment Interface"; } // Mgmt0 interface capabilities container portcap-items { uses im_PortCap-group; description "Port Capability"; } container rtrtdMgmtConf-items { uses mgmt_RtRtdMgmtConf_target-group; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container dbgIfIn-items { uses rmon_IfIn-group; description "Interface Input Counters"; } container dbgIfOut-items { uses rmon_IfOut-group; description "Interface Output Counters"; } container dbgIpIn-items { uses rmon_IpIn-group; description "IPV4 Input Counters"; } container dbgDot1d-items { uses rmon_Dot1d-group; description "Dot1d Counters"; } container dbgEtherStats-items { uses rmon_EtherStats-group; description "Ethernet Statistic Counters"; } container dbgDot3Stats-items { uses rmon_Dot3Stats-group; description "Dot3 Statistics Counters"; } container dbgIfHCIn-items { uses rmon_IfHCIn-group; description "Interface HC Input Counters"; } container dbgIfHCOut-items { uses rmon_IfHCOut-group; description "Interface HC Output Counters"; } container dbgIpv6IfStats-items { uses rmon_Ipv6IfStats-group; description "Ipv6 Interface Statistics Counters"; } container dbgIfStorm-items { uses rmon_IfStorm-group; description "Interface Storm Drop Counters"; } container dbgMacsecStats-items { uses rmon_MacsecStats-group; description "Macsec Statistic Counters"; } } grouping im_MgmtIf-group { description "Managment Interface"; // Operational port state leaf operSt { config "false"; type l1_OperSt; description "Runtime state of the object or policy"; } // Operational port status reason leaf operStQual { config "false"; type l1_OperStQual; description "Chassis Operational Port Status Qualifier"; } // Operational port speed leaf operSpeed { config "false"; type l1_Speed; description "Operational Port Speed"; } // Operational duplex leaf operDuplex { config "false"; type l1_Duplex; description "Operational Duplex"; } // Operational physical port layer leaf operPhyLayer { config "false"; type l1_PhyLayer; description "Operational Physical Port Layer"; } leaf backplaneMac { config "false"; type address_Mac; description "Port Backplane Mac"; } leaf operRouterMac { config "false"; type address_Mac; description "Operational Port Router Mac"; } leaf portInitEvalFlag { config "false"; type uint8; description "Port Initialize Evaluation Flag"; } // Operational Mtu leaf operMtu { config "false"; type l1_Mtu; description "Operational Mtu"; } leaf iod { config "false"; type uint64; description "Specifies the IOD"; } // Vdc id leaf vdcId { config "false"; type l2_VdcId; description "Vdc Id"; } leaf lastLinkStChg { config "false"; type union { type string; type uint64; } description "Holds the Last Link State Change"; } } grouping im_PortCap-group { description "Port Capability"; leaf portCap { config "false"; type uint32; description "Port Capability Flags"; } } grouping logging_Logging-group { description "Logging root node for logging operations"; container loglevel-items { uses logging_LogLevel-group; description "Logging level root node for all facilities"; } } grouping logging_LogLevel-group { description "Logging level root node for all facilities"; leaf all { type logging_LoggingEnableAll; default "unspecified"; description "Logging level all state disabled/enabled"; } leaf severityLevel { type syslog_Severity; description "Logging severity level for all the facilites"; } container facility-items { list Facility-list { key "facilityName"; uses logging_Facility-group; description "Syslog Logging Levels For Individual Facilities list"; } description "Syslog Logging Levels For Individual Facilities"; } } grouping logging_Facility-group { description "Syslog Logging Levels For Individual Facilities"; leaf facilityName { type comp_DelimitedString; description "Facility Name of individual processes subscribed for logging level"; } leaf severityLevel { type syslog_Severity; description "Logging severity level for individual facility name"; } } grouping snmp_Entity-group { description "SNMP Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per snmp instance information container inst-items { uses snmp_Inst-group; description "SNMP Instance"; } // Snmp server system shutdown control MO container servershutdown-items { uses snmp_ServerShutdown-group; description "SNMP server system shutdown"; } } grouping snmp_Inst-group { description "SNMP Instance"; // Logging Level leaf loggingLevel { type snmp_SnmpLogLevel; description "Set level for SNMP syslog messages"; } // Engine Id leaf engId { type snmp_EngId; description "Engine Id"; } leaf unknownEngId { type snmp_Boolean; default "no"; description "Indicates the Unknown Engine Id MO thats needs to be created"; } leaf unknownUser { type snmp_Boolean; default "no"; description "Indicates the Unknown User MO thats needs to be created"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf adminSt { type nw_AdminSt; default "disabled"; description "Admin State"; } // Access control based on ip addresses and communities. // This is valid only with v1/v2c security Client group container clgrp-items { list ClientGrp-list { key "name"; uses snmp_ClientGrp-group; description "Client Group list"; } description "Client Group"; } container globals-items { uses snmp_Globals-group; description "The global info maintained by SNMP"; } container host-items { list Host-list { key "hostName udpPortID"; uses snmp_Host-group; description "Snmp Host Configuration MO list"; } description "Snmp Host Configuration MO"; } container rmon-items { uses snmp_Rmon-group; description "Snmp RMON configurations"; } // Security policy using communities. Uses a community // string match for authentication container community-items { list CommSecP-list { key "name"; uses snmp_CommSecP-group; description "Community Security Policy list"; } description "Community Security Policy"; } // Authentication policy using user names container user-items { list UserSecP-list { key "name"; uses snmp_UserSecP-group; description "User Security Policy list"; } description "User Security Policy"; } // This objects holds snmp context information container ctx-items { list Ctx-list { key "name"; uses snmp_Ctx-group; description "Context list"; } description "Context"; } // This object is used to create kstack sockets for the respective vrf/namespace container lvrf-items { list LUseVrf-list { key "vrfName"; uses snmp_LUseVrf-group; description "Used for Kstack support list"; } description "Used for Kstack support"; } container sysinfo-items { uses snmp_SysInfo-group; description "The System Info maintained by SNMP"; } container traps-items { uses snmp_Traps-group; description "Snmp Trap COnfiguration"; } container rmtUser-items { list RemoteUser-list { key "userName usrengineId"; uses snmp_RemoteUser-group; description "Snmp remote user notification target list"; } description "Snmp remote user notification target"; } container lclUser-items { list LocalUser-list { key "userName"; uses snmp_LocalUser-group; description "Snmp local user list"; } description "Snmp local user"; } } grouping snmp_ClientGrp-group { description "Client Group"; // The vrf that this client group belongs to leaf vrf { type l3_VrfName; description "VRF"; } // Operational state leaf operSt { config "false"; type nw_OSSum; description "Operational State"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf epgDn { config "false"; type string; } container client-items { list Client-list { key "addr"; uses snmp_Client-group; description "Client Entry list"; } description "Client Entry"; } container rscommSecPClientGrpAtt-items { list RsCommSecPClientGrpAtt-list { config "false"; key "tDn"; uses snmp_RsCommSecPClientGrpAtt_source-group; description "Community Security Policy Attachment list"; } description "Community Security Policy Attachment"; } } grouping snmp_Client-group { description "Client Entry"; // Operational state leaf operSt { config "false"; type nw_OSSum; description "Operational State"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf addr { type address_Ip; description "Client Address"; } } grouping snmp_Globals-group { description "The global info maintained by SNMP"; leaf aaaUserCacheTimeout { type snmp_AaaUserCacheTimeout; description "Timeout for AAA Cache"; } leaf protocolEnable { type snmp_Boolean; description "Enable/Disable snmp protocol operations"; } leaf counterCacheEnable { type snmp_Boolean; description "Enable port stats cache"; } leaf counterCacheTimeout { type snmp_CounterCacheTimeout; description "Timeout for port stats cache"; } // If-mib Ifalias long setting leaf enableIfAliasLong { type snmp_Boolean; default "no"; description "Enable long description upto 256 characters for interface alias"; } // SNMP SERVER enforce privacy protocol leaf enforcePrivacy { type snmp_Boolean; default "no"; description "Globally enforce privacy for all the users"; } // SNMP SERVER Packet Size leaf pktSize { type snmp_PktSizeT; description "Packet size config"; } // tcp-session auth config leaf tcpSessionAuth { type snmp_tcpSessionAuthT; description "tcp-session auth config"; } // SNMP-AAA user synchronisation config leaf disableSnmpAaaSync { type snmp_Boolean; default "no"; description "Disable sync of user creation/updation between SNMP and AAA"; } container srcInterfaceTraps-items { uses snmp_SourceInterfaceTraps-group; description "SNMP source interface for traps"; } container srcInterfaceInforms-items { uses snmp_SourceInterfaceInforms-group; description "SNMP source interface for informs"; } } grouping snmp_SourceInterfaceTraps-group { description "SNMP source interface for traps"; leaf ifname { type nw_IfId; description "Source interface name for Traps"; } } grouping snmp_SourceInterfaceInforms-group { description "SNMP source interface for informs"; leaf ifname { type nw_IfId; description "Source interface name for informs"; } } grouping snmp_Host-group { description "Snmp Host Configuration MO"; // Host name leaf hostName { type snmp_hostNameT; description "snmp-server host name"; } // Community name leaf commName { type snmp_commNameT; description "community to be associated to the host"; } // Ctrl bits to decide Traps / Informs leaf notifType { type snmp_NotificationType; description "Ctrl bits indicating traps/informs config"; } // Ctrl bits to decide version leaf version { type snmp_Version; description "Ctrl bits indicating version"; } // Control bitmask for deciding auth/ priv/ noauth for v3 leaf secLevel { type snmp_V3SecLvl; description "Ctrl bits indicating auth/ priv/ noauth for v3"; } // udp-port ID leaf udpPortID { type snmp_PortIdT; description "snmp-server host udp-port"; } // Source interface setting for hosts container hostsourceinterface-items { uses snmp_HostSrcInterface-group; description "SNMP source interface for host"; } container usevrf-items { list UseVrf-list { key "vrfname"; uses snmp_UseVrf-group; description "SNMP VRF for host list"; } description "SNMP VRF for host"; } // Filter VRF setting container filtervrf-items { list FilterVrf-list { key "vrfName"; uses snmp_FilterVrf-group; description "Filter notifications to host receiver based on the configured VRF list"; } description "Filter notifications to host receiver based on the configured VRF"; } } grouping snmp_HostSrcInterface-group { description "SNMP source interface for host"; // If Name of the interface leaf ifName { type nw_IfId; description "Source interface name for host"; } } grouping snmp_UseVrf-group { description "SNMP VRF for host"; leaf vrfname { type l3_VrfName; description "vrfname to be used by host"; } } grouping snmp_FilterVrf-group { description "Filter notifications to host receiver based on the configured VRF"; // VRF name property leaf vrfName { type l3_VrfName; description "VRF name to be used by host"; } } grouping snmp_Rmon-group { description "Snmp RMON configurations"; container event-items { list Event-list { key "num"; uses snmp_Event-group; description "Snmp RMON Event configurations list"; } description "Snmp RMON Event configurations"; } container alarm-items { list Alarm-list { key "num"; uses snmp_Alarm-group; description "Snmp RMON Alarm configurations list"; } description "Snmp RMON Alarm configurations"; } container hcalarm-items { list HcAlarm-list { key "num"; uses snmp_HcAlarm-group; description "Configure high capacity RMON alarm list"; } description "Configure high capacity RMON alarm"; } } grouping snmp_Event-group { description "Snmp RMON Event configurations"; // Event Number leaf num { type snmp_EventNum; description "rmon event number"; } // To generate / not log when alarm event is fired leaf log { type snmp_LogEnableType; description "Whether to generate / not log when alarm event is fired"; } leaf owner { type snmp_OwnerType; description "rmon event owner"; } leaf description { type snmp_DescType; description "rmon event description"; } leaf trap { type snmp_TrapCommType; description "rmon event description"; } } grouping snmp_Alarm-group { description "Snmp RMON Alarm configurations"; // Alarm Number leaf num { type snmp_EventNum; description "rmon alarm number"; } leaf oid { type string; description "rmon alarm oid"; } // Sample Interval leaf sampleInterval { type snmp_smplIntvl; description "rmon alarm sample interval"; } // Sample Type leaf sampleType { type snmp_smplType; description "rmon alarm sample interval type"; } // Rising Threshold leaf risingThr { type snmp_thrshld; description "rmon alarm rising threshold"; } // Rising Threshold Event Index leaf risingEvntIndx { type snmp_EventIndx; description "rmon alarm rising threshold event index"; } // Falling Threshold leaf fallingThr { type snmp_thrshld; description "rmon alarm falling threshold"; } // Falling Threshold Event Index leaf fallingEvntIndx { type snmp_EventIndx; description "rmon alarm falling threshold event index"; } // Owner Name leaf owner { type snmp_OwnerType; description "rmon alarm owner"; } } grouping snmp_HcAlarm-group { description "Configure high capacity RMON alarm"; // Alarm Number leaf num { type snmp_EventNum; description "RMON alarm number"; } leaf oid { type string { pattern ".*[0-9\\.]+.*"; } description "MIB object to monitor"; } // Sample Interval leaf sampleInterval { type snmp_smplIntvl; description "RMON alarm sample interval"; } // Sample Type leaf sampleType { type snmp_smplType; description "RMON sample interval type"; } // Startup alarm leaf startupAlarm { type snmp_startupAlarmType; description "RMON startup alarm"; } // Rising Threshold leaf risingThr { type snmp_HcThrshld; description "Alarm rising threshold value"; } // Rising Threshold Event Index leaf risingEvntIndx { type snmp_EventIndx; description "RMON alarm rising threshold event crossing"; } // Falling Threshold leaf fallingThr { type snmp_HcThrshld; description "RMON alarm falling threshold"; } // Falling Threshold Event Index leaf fallingEvntIndx { type snmp_EventIndx; description "RMON alarm falling threshold event crossing"; } // Owner Name leaf owner { type snmp_OwnerType; description "RMON alarm owner"; } } grouping snmp_CommSecP-group { description "Community Security Policy"; // Group to which community belongs to leaf grpName { type snmp_GrpNameT; description "SNMP community group"; } leaf contextName { type string; description "Name of the SNMP context"; } // Community Access leaf commAcess { type snmp_CommAcessT; description "SNMP community group"; } // Operational state leaf operSt { config "false"; type nw_OSSum; description "Operational State"; } leaf name { type pol_ObjName { length "0..32"; pattern "[^\\s@]{1,32}"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // This object hold the ACl informations container acl-items { uses snmp_Acl-group; description "snmp community acl"; } container rscommToCtxAtt-items { uses snmp_RsCommToCtxAtt_source-group; } } grouping snmp_Acl-group { description "snmp community acl"; // SNMP ACL name leaf useAclName { type snmp_AclNameT; description "SNMP community acl name"; } // SNMP ACL name leaf useIpv4AclName { type snmp_AclNameT; description "SNMP community acl name"; } // SNMP ACL name leaf useIpv6AclName { type snmp_AclNameT; description "SNMP community acl name"; } } grouping snmp_UserSecP-group { description "User Security Policy"; // Operational state leaf operSt { config "false"; type nw_OSSum; description "Operational State"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z][a-zA-Z0-9_\\.@-]{0,31}.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Authentication type leaf authType { type snmp_AuthType; description "Authentication Type"; } // Authentication key leaf authKey { type snmp_AuthKey; description "Authentication Key"; } // Privacy (encryption) type leaf privType { type snmp_PrivType; description "Privacy"; } // Privacy key leaf privKey { type snmp_PrivKey; description "Privacy Key"; } } grouping snmp_Ctx-group { description "Context"; leaf ctxInstance { type string; description "Protocol instance associated with the SNMP context"; } leaf ctxTopology { type string; description "Topology associated with the SNMP context"; } leaf vrf { type string; description "VRF associated with the SNMP context"; } // Operational state leaf operSt { config "false"; type nw_OSSum; description "Operational State"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping snmp_LUseVrf-group { description "Used for Kstack support"; leaf vrfName { type string; description "Vrf name in which local SNMP polling is enabled"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping snmp_SysInfo-group { description "The System Info maintained by SNMP"; leaf sysLocation { type snmp_SnmpSysLoc; description "System Location"; } leaf sysContact { type snmp_SnmpSysContact; description "System Contact"; } leaf sysDescription { type snmp_SnmpSysDescr; description "System Description"; } } grouping snmp_Traps-group { description "Snmp Trap COnfiguration"; leaf enableAllViaCLI { type snmp_AllTrapsType; description "Enable/Disable all traps"; } // Default traps List Starts From Here StormControl trap container stormcontrol-items { uses snmp_TstormControl-group; description "StormControl Traps"; } // Default traps List Starts From Here AAA trap container aaa-items { uses snmp_Taaa-group; description "AAA Traps"; } // Bfd trap container bfd-items { uses snmp_Tbfd-group; description "Bfd Traps"; } // Bridge trap container bridge-items { uses snmp_Tbridge-group; description "Bridge Traps"; } // Callhome trap container callhome-items { uses snmp_Tcallhome-group; description "Callhome Traps"; } // Syslog trap container syslog-items { uses snmp_Tsyslog-group; description "Syslog Traps"; } // CFS trap container cfs-items { uses snmp_Tcfs-group; description "CFS Traps"; } // Config trap container config-items { uses snmp_Tconfig-group; description "Entity Traps"; } // Entity trap container entity-items { uses snmp_Tentity-group; description "Entity Traps"; } // Feature-control trap container featurecontrol-items { uses snmp_Tfeaturecontrol-group; description "Feature-control Traps"; } // hsrp trap container hsrp-items { uses snmp_Thsrp-group; description "Hsrp Traps"; } // generic trap container generic-items { uses snmp_Tgeneric-group; description "Generic Traps"; } // ip trap container ip-items { uses snmp_Tip-group; description "Ip Traps"; } // license trap container license-items { uses snmp_Tlicense-group; description "license Traps"; } // poe trap container poe-items { uses snmp_Tpoe-group; description "poe Traps"; } // link trap container link-items { uses snmp_Tlink-group; description "link Traps"; } // lldp trap container lldp-items { uses snmp_Tlldp-group; description "lldp Traps"; } // msdp trap container msdp-items { uses snmp_Tmsdp-group; description "msdp Traps"; } // mmode trap container mmode-items { uses snmp_Tmmode-group; description "mmode Traps"; } // pim trap container pim-items { uses snmp_Tpim-group; description "pim Traps"; } // rf trap container rf-items { uses snmp_Trf-group; description "rf Traps"; } // rmon trap container rmon-items { uses snmp_Trmon-group; description "rmon Traps"; } // snmp trap container snmp-items { uses snmp_Tsnmp-group; description "snmp Traps"; } // stpx trap container stpx-items { uses snmp_Tstpx-group; description "lldp Traps"; } // sysmgr trap container sysmgr-items { uses snmp_Tsysmgr-group; description "sysmgr Traps"; } // system trap container system-items { uses snmp_Tsystem-group; description "system Traps"; } // upgrade trap container upgrade-items { uses snmp_Tupgrade-group; description "upgrade Traps"; } // vsan trap container vsan-items { uses snmp_Tvsan-group; description "vsan Traps"; } // vtp trap container vtp-items { uses snmp_Tvtp-group; description "vtp Traps"; } // port-security trap container portsecurity-items { uses snmp_Tportsecurity-group; description "port-security Traps"; } // mpls trap container mpls-items { uses snmp_Tmpls-group; description "mpls Traps"; } // Zone trap container zone-items { uses snmp_Tzone-group; description "zone Traps"; } // fcns trap container fcns-items { uses snmp_Tfcns-group; description "fcns Traps"; } // rscn trap container rscn-items { uses snmp_Trscn-group; description "rscn Traps"; } // fcdomain trap container fcdomain-items { uses snmp_Tfcdomain-group; description "SNMP FC domain traps"; } // fdmi trap container fdmi-items { uses snmp_Tfdmi-group; description "SNMP FDMI traps"; } // fspf trap container fspf-items { uses snmp_Tfspf-group; description "SNMP FSPF traps"; } // fctrace trap container fctrace-items { uses snmp_Tfctrace-group; description "SNMP FCTrace traps"; } // fcs trap container fcs-items { uses snmp_Tfcs-group; description "SNMP FCS traps"; } // scsi trap container scsi-items { uses snmp_Tscsi-group; description "SNMP SCSI traps"; } } grouping snmp_TstormControl-group { description "StormControl Traps"; // SNMP trap-rate leaf traprate { type snmp_TrapRateT; description "Number of traps per minute"; } // snmp authentication trap container cpscEventRev1-items { uses snmp_CpscEventRev1-group; description "storm-control cpscEventRev1 Traps"; } } grouping snmp_CpscEventRev1-group { description "storm-control cpscEventRev1 Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Taaa-group { description "AAA Traps"; // AAA server-state-change trap container serverstatechange-items { uses snmp_ServerStateChange-group; description "AAA server-state-change Traps"; } } grouping snmp_ServerStateChange-group { description "AAA server-state-change Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tbfd-group { description "Bfd Traps"; // Bfd session-down trap container sessiondown-items { uses snmp_SessionDown-group; description "Bfd session-down Traps"; } // Bfd session-up trap container sessionup-items { uses snmp_SessionUp-group; description "Bfd session-up Traps"; } } grouping snmp_SessionDown-group { description "Bfd session-down Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_SessionUp-group { description "Bfd session-up Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tbridge-group { description "Bridge Traps"; // Bridge newroot trap container newroot-items { uses snmp_NewRoot-group; description "Bridge Newroot"; } // Bridge topologychange trap container topologychange-items { uses snmp_TopologyChange-group; description "Bridge Newroot"; } } grouping snmp_NewRoot-group { description "Bridge Newroot"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_TopologyChange-group { description "Bridge Newroot"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tcallhome-group { description "Callhome Traps"; // callhome event-notify trap container eventnotify-items { uses snmp_EventNotify-group; description "Callhome event-notify Traps"; } // callhome smtp-send-fail trap container smtpsendfail-items { uses snmp_SmtpSendFail-group; description "Callhome smtp-send-fail Traps"; } } grouping snmp_EventNotify-group { description "Callhome event-notify Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_SmtpSendFail-group { description "Callhome smtp-send-fail Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tsyslog-group { description "Syslog Traps"; // syslog message-generated trap container messagegenerated-items { uses snmp_MessageGenerated-group; description "Syslog message-generated Traps"; } } grouping snmp_MessageGenerated-group { description "Syslog message-generated Traps"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tcfs-group { description "CFS Traps"; // cfs state-change-notif trap container statechangenotif-items { uses snmp_StateChangeNotif-group; description "cfs state-change-notif Traps"; } // cfs merge-failure trap container mergefailure-items { uses snmp_MergeFailure-group; description "cfs merge-failure Traps"; } } grouping snmp_StateChangeNotif-group { description "cfs state-change-notif Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_MergeFailure-group { description "cfs merge-failure Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tconfig-group { description "Entity Traps"; // config CLIRunningConfigChange trap container ccmCLIRunningConfigChanged-items { uses snmp_CLIRunningConfigChange-group; description "config CLIRunningConfigChange Traps"; } } grouping snmp_CLIRunningConfigChange-group { description "config CLIRunningConfigChange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tentity-group { description "Entity Traps"; // entity entitymibchange trap container entitymibchange-items { uses snmp_EntityMIBChange-group; description "entity entitymibchange Traps"; } // entity entitymodulestatuschange trap container entitymodulestatuschange-items { uses snmp_EntityModuleStatusChange-group; description "entity entitymodulestatuschange Traps"; } // entity entitypowerstatuschange trap container entitypowerstatuschange-items { uses snmp_EntityPowerStatusChange-group; description "entity entitypowerstatuschange Traps"; } // entity entitymoduleinserted trap container entitymoduleinserted-items { uses snmp_EntityModuleInserted-group; description "entity entitymoduleinserted Traps"; } // entity entitymoduleremoved trap container entitymoduleremoved-items { uses snmp_EntityModuleRemoved-group; description "entity entitymoduleremoved Traps"; } // entity entityunrecognisedmodule trap container entityunrecognisedmodule-items { uses snmp_EntityUnrecognisedModule-group; description "entity entityunrecognisedmodule Traps"; } // entity entityfanstatuschange trap container entityfanstatuschange-items { uses snmp_EntityFanStatusChange-group; description "entity entityfanstatuschange Traps"; } // entity entitypoweroutchange trap container entitypoweroutchange-items { uses snmp_EntityPowerOutChange-group; description "entity entitypoweroutchange Traps"; } // entity entitysensor trap container entitysensor-items { uses snmp_EntitySensor-group; description "entity entitysensor Traps"; } // entity entitymibenablestatusnotification trap container cefcMIBEnableStatusNotification-items { uses snmp_EntityMIBEnableStatusNotification-group; description "entity entitymibenablestatusnotification Traps"; } } grouping snmp_EntityMIBChange-group { description "entity entitymibchange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityModuleStatusChange-group { description "entity entitymodulestatuschange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityPowerStatusChange-group { description "entity entitypowerstatuschange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityModuleInserted-group { description "entity entitymoduleinserted Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityModuleRemoved-group { description "entity entitymoduleremoved Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityUnrecognisedModule-group { description "entity entityunrecognisedmodule Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityFanStatusChange-group { description "entity entityfanstatuschange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityPowerOutChange-group { description "entity entitypoweroutchange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntitySensor-group { description "entity entitysensor Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_EntityMIBEnableStatusNotification-group { description "entity entitymibenablestatusnotification Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tfeaturecontrol-group { description "Feature-control Traps"; // feature-control FeatureOpStatusChange trap container FeatureOpStatusChange-items { uses snmp_FeatureOpStatusChange-group; description "feature-control FeatureOpStatusChange Traps"; } // feature-control CiscoFeatOpStatusChange trap container ciscoFeatOpStatusChange-items { uses snmp_CiscoFeatOpStatusChange-group; description "feature-control ciscoFeatOpStatusChange Traps"; } } grouping snmp_FeatureOpStatusChange-group { description "feature-control FeatureOpStatusChange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_CiscoFeatOpStatusChange-group { description "feature-control ciscoFeatOpStatusChange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Thsrp-group { description "Hsrp Traps"; // hsrp statechange trap container statechange-items { uses snmp_StateChange-group; description "hsrp statechange Traps"; } } grouping snmp_StateChange-group { description "hsrp statechange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tgeneric-group { description "Generic Traps"; // generic coldstart trap container coldStart-items { uses snmp_ColdStart-group; description "generic coldstart Traps"; } // generic warmstart trap container warmStart-items { uses snmp_WarmStart-group; description "generic warmstart Traps"; } } grouping snmp_ColdStart-group { description "generic coldstart Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_WarmStart-group { description "generic warmstart Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tip-group { description "Ip Traps"; // ip sla trap container sla-items { uses snmp_Sla-group; description "ip sla Traps"; } } grouping snmp_Sla-group { description "ip sla Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tlicense-group { description "license Traps"; // license Notify licenseexpiry trap container notifylicenseexpiry-items { uses snmp_NotifyLicenseExpiry-group; description "Notify license LicenseExpiry Traps"; } // license Notify LicenseExpiryWarning trap container notifylicenseexpirywarning-items { uses snmp_NotifyLicenseExpiryWarning-group; description "license Notify LicenseExpiryWarning Traps"; } // license Notify licensefilemissing trap container notifylicensefilemissing-items { uses snmp_NotifyLicenseFileMissing-group; description "license Notify licensefilemissing Traps"; } // license Notifynolicenceforfeature trap container notifynolicenseforfeature-items { uses snmp_NotifyNoLicenceForFeature-group; description "license Notify nolicenceforfeature Traps"; } } grouping snmp_NotifyLicenseExpiry-group { description "Notify license LicenseExpiry Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_NotifyLicenseExpiryWarning-group { description "license Notify LicenseExpiryWarning Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_NotifyLicenseFileMissing-group { description "license Notify licensefilemissing Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_NotifyNoLicenceForFeature-group { description "license Notify nolicenceforfeature Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tpoe-group { description "poe Traps"; // POE police notify trap container policenotify-items { uses snmp_PoliceNotify-group; description "POE police notify Traps"; } // POE control enable notify trap container controlenable-items { uses snmp_ControlEnable-group; description "POE control enable notify Traps"; } } grouping snmp_PoliceNotify-group { description "POE police notify Traps"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ControlEnable-group { description "POE control enable notify Traps"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tlink-group { description "link Traps"; // link Ciscoxcvrmonstatuschange trap container ciscoxcvrmonstatuschg-items { uses snmp_CiscoXcvrMonStatusChange-group; description "link Ciscoxcvrmonstatuschange Traps"; } // link linkdown trap container linkDown-items { uses snmp_LinkDown-group; description "link linkdown Traps"; } // link linkup trap container linkUp-items { uses snmp_LinkUp-group; description "link linkup Traps"; } // link extended linkdown trap container extendedlinkDown-items { uses snmp_ExtendedLinkDown-group; description "link Extended linkdown Traps"; } // link extended linkup trap container extendedlinkUp-items { uses snmp_ExtendedLinkUp-group; description "link extended linkup Traps"; } // link cielinkdown trap container cieLinkDown-items { uses snmp_CieLinkDown-group; description "link Cie linkdown Traps"; } // link Cie linkup trap container cieLinkUp-items { uses snmp_CieLinkUp-group; description "link Cie linkup Traps"; } // link delayedlinkstatechange trap container delayedlinkstatechange-items { uses snmp_DelayedLinkStateChange-group; description "link DelayedLinkStateChange Traps"; } // link cErrDisableInterfaceEventRev1 trap container cerrdisableinterfaceeventrev1-items { uses snmp_CErrDisableInterfaceEventRev1-group; description "link cErrDisableInterfaceEventRev1 Traps"; } // link cmnMacMoveNotification trap container cmnmacmovenotification-items { uses snmp_CmnMacMoveNotification-group; description "link cmnMacMoveNotification Traps"; } } grouping snmp_CiscoXcvrMonStatusChange-group { description "link Ciscoxcvrmonstatuschange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_LinkDown-group { description "link linkdown Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_LinkUp-group { description "link linkup Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ExtendedLinkDown-group { description "link Extended linkdown Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ExtendedLinkUp-group { description "link extended linkup Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_CieLinkDown-group { description "link Cie linkdown Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_CieLinkUp-group { description "link Cie linkup Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_DelayedLinkStateChange-group { description "link DelayedLinkStateChange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_CErrDisableInterfaceEventRev1-group { description "link cErrDisableInterfaceEventRev1 Traps"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_CmnMacMoveNotification-group { description "link cmnMacMoveNotification Traps"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tlldp-group { description "lldp Traps"; // lldp RemTablesChange trap container lldpRemTablesChange-items { uses snmp_LldpRemTablesChange-group; description "lldp LldpRemTablesChange Traps"; } } grouping snmp_LldpRemTablesChange-group { description "lldp LldpRemTablesChange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tmsdp-group { description "msdp Traps"; // msdp BackwardTransition trap container msdpBackwardTransition-items { uses snmp_MsdpBackwardTransition-group; description "msdp BackwardTransition Traps"; } } grouping snmp_MsdpBackwardTransition-group { description "msdp BackwardTransition Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tmmode-group { description "mmode Traps"; // mmode CseMaintModeChangeNotify trap container cseMaintModeChangeNotify-items { uses snmp_CseMaintModeChangeNotify-group; description "mmode CseMaintModeChangeNotify Traps"; } // mmode CseNormalModeChangeNotify trap container cseNormalModeChangeNotify-items { uses snmp_CseNormalModeChangeNotify-group; description "mmode CseNormalModeChangeNotify Traps"; } } grouping snmp_CseMaintModeChangeNotify-group { description "mmode CseMaintModeChangeNotify Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_CseNormalModeChangeNotify-group { description "mmode CseNormalModeChangeNotify Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tpim-group { description "pim Traps"; // pim PimNeighborloss trap container pimNeighborLoss-items { uses snmp_PimNeighborLoss-group; description "pim PimNeighborloss Traps"; } } grouping snmp_PimNeighborLoss-group { description "pim PimNeighborloss Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Trf-group { description "rf Traps"; // rf redundancyframework trap container redundancyframework-items { uses snmp_RedundancyFramework-group; description "rf redundancyframework Traps"; } } grouping snmp_RedundancyFramework-group { description "rf redundancyframework Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Trmon-group { description "rmon Traps"; // rmon RisingAlarm trap container risingAlarm-items { uses snmp_RisingAlarm-group; description "rmon RisingAlarm Traps"; } // rmon FallingAlarm trap container fallingAlarm-items { uses snmp_FallingAlarm-group; description "rmon FallingAlarm Traps"; } // rmon HcRisingAlarm trap container hcRisingAlarm-items { uses snmp_HcRisingAlarm-group; description "rmon HcRisingAlarm Traps"; } // rmon HcFallingAlarm trap container hcFallingAlarm-items { uses snmp_HcFallingAlarm-group; description "rmon HcFallingAlarm Traps"; } } grouping snmp_RisingAlarm-group { description "rmon RisingAlarm Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_FallingAlarm-group { description "rmon FallingAlarm Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_HcRisingAlarm-group { description "rmon HcRisingAlarm Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_HcFallingAlarm-group { description "rmon HcFallingAlarm Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tsnmp-group { description "snmp Traps"; // snmp authentication trap container authentication-items { uses snmp_Authentication-group; description "snmp authentication Traps"; } } grouping snmp_Authentication-group { description "snmp authentication Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tstpx-group { description "lldp Traps"; // stpx inconsistency trap container inconsistency-items { uses snmp_Inconsistency-group; description "stpx inconsistency Traps"; } // stpx rootinconsistency trap container rootinconsistency-items { uses snmp_RootInconsistency-group; description "stpx root inconsistency Traps"; } // stpx Loopinconsistency trap container loopinconsistency-items { uses snmp_LoopInconsistency-group; description "stpx loop inconsistency Traps"; } } grouping snmp_Inconsistency-group { description "stpx inconsistency Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_RootInconsistency-group { description "stpx root inconsistency Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_LoopInconsistency-group { description "stpx loop inconsistency Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tsysmgr-group { description "sysmgr Traps"; // sysmgr CseFailSwCoreNotifyExtended trap container cseFailSwCoreNotifyExtended-items { uses snmp_CseFailSwCoreNotifyExtended-group; description "sysmgr CseFailSwCoreNotifyExtended Traps"; } } grouping snmp_CseFailSwCoreNotifyExtended-group { description "sysmgr CseFailSwCoreNotifyExtended Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tsystem-group { description "system Traps"; // system ClockChangeNotification trap container Clockchangenotification-items { uses snmp_ClockChangeNotification-group; description "system ClockChangeNotification Traps"; } } grouping snmp_ClockChangeNotification-group { description "system ClockChangeNotification Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tupgrade-group { description "upgrade Traps"; // upgrade UpgradeJobStatusNotify trap container UpgradeJobStatusNotify-items { uses snmp_UpgradeJobStatusNotify-group; description "upgrade UpgradeJobStatusNotify Traps"; } } grouping snmp_UpgradeJobStatusNotify-group { description "upgrade UpgradeJobStatusNotify Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tvsan-group { description "vsan Traps"; // vsan PortMembershipChange trap container vsanPortMembershipChange-items { uses snmp_VsanPortMembershipChange-group; description "vsan PortMembershipChange Traps"; } // vsan vsanStatusChange trap container vsanStatusChange-items { uses snmp_VsanStatusChange-group; description "vsan vsanStatusChange Traps"; } } grouping snmp_VsanPortMembershipChange-group { description "vsan PortMembershipChange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_VsanStatusChange-group { description "vsan vsanStatusChange Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tvtp-group { description "vtp Traps"; // vtp notifs trap container notifs-items { uses snmp_Notifs-group; description "vtp notifs Traps"; } // vtp vlancreate trap container vlancreate-items { uses snmp_Vlancreate-group; description "vtp vlancreate Traps"; } // vtp vlandelete trap container vlandelete-items { uses snmp_Vlandelete-group; description "vtp vlandelete Traps"; } } grouping snmp_Notifs-group { description "vtp notifs Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Vlancreate-group { description "vtp vlancreate Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Vlandelete-group { description "vtp vlandelete Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tportsecurity-group { description "port-security Traps"; // port-security access-secure-mac-violation container accesssecuremacviolation-items { uses snmp_AccessSecureMacViolation-group; description "port-security access-secure-mac-violation Traps"; } // port-security trunk-secure-mac-violation container trunksecuremacviolation-items { uses snmp_TrunkSecureMacViolation-group; description "port-security trunk-secure-mac-violation Traps"; } } grouping snmp_AccessSecureMacViolation-group { description "port-security access-secure-mac-violation Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_TrunkSecureMacViolation-group { description "port-security trunk-secure-mac-violation Traps"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tmpls-group { description "mpls Traps"; // ldp trap container ldp-items { uses snmp_Ldp-group; description "Enable LDP notifications"; } // vpn trap container vpn-items { uses snmp_Vpn-group; description "Enable VPN notifications"; } } grouping snmp_Ldp-group { description "Enable LDP notifications"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } // ldp session-down trap container ldpsessiondown-items { uses snmp_LdpSessiondown-group; description "MPLS LDP Session Down Notification"; } // ldp session-up trap container ldpsessionup-items { uses snmp_LdpSessionup-group; description "MPLS LDP Session Up Notification"; } } grouping snmp_LdpSessiondown-group { description "MPLS LDP Session Down Notification"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_LdpSessionup-group { description "MPLS LDP Session Up Notification"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Vpn-group { description "Enable VPN notifications"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } // vpn vrf-down trap container vpnvrfdown-items { uses snmp_VpnVrfdown-group; description "MPLS VPN VRF Down Notification"; } // Vpn vrf-up trap container vpnvrfup-items { uses snmp_VpnVrfup-group; description "MPLS VPN VRF Up Notification"; } // vpn max-thresh-cleared trap container vpnmaxthreshcleared-items { uses snmp_VpnMaxThreshcleared-group; description "MPLS VPN max thresh cleared notification"; } // vpn max-thresh-exceeded trap container vpnmaxthreshexceeded-items { uses snmp_VpnMaxThreshexceeded-group; description "MPLS VPN max thresh exceeded notification"; } // vpn mid-thresh-exceeded trap container vpnmidthreshexceeded-items { uses snmp_VpnMidThreshexceeded-group; description "MPLS VPN mid thresh exceeded notification"; } } grouping snmp_VpnVrfdown-group { description "MPLS VPN VRF Down Notification"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_VpnVrfup-group { description "MPLS VPN VRF Up Notification"; leaf toggleState { config "false"; type uint16; description "1 for enable / 2 for disable"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_VpnMaxThreshcleared-group { description "MPLS VPN max thresh cleared notification"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_VpnMaxThreshexceeded-group { description "MPLS VPN max thresh exceeded notification"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_VpnMidThreshexceeded-group { description "MPLS VPN mid thresh exceeded notification"; leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tzone-group { description "zone Traps"; // Zone Request-Reject1 trap container requestreject1-items { uses snmp_ZoneRequestReject1-group; description "Zone request-reject1 Traps"; } // Zone Merge-Success trap container mergesuccess-items { uses snmp_ZoneMergeSuccess-group; description "Zone Merge Success Notification Traps"; } // Zone Merge-Failure trap container mergefailure-items { uses snmp_ZoneMergeFailure-group; description "Zone Merge Failure Notification Traps"; } // Zone Default-Zone-Behavior-Change trap container defaultzonebehaviorchange-items { uses snmp_ZoneDefBehaviorChange-group; description "Zone Default-Zone-Behavior-Change Notification Traps"; } // Zone Unsupp-mem trap container unsuppmem-items { uses snmp_ZoneUnsuppmem-group; description "Zone Unsupp-mem Notification Traps"; } // Zone Enhanced Zone Db change trap container enhancedzonedbchange-items { uses snmp_ZoneEnhanceddb-group; description "Zone Enhanced-Zone-db-Change Notification Traps"; } } grouping snmp_ZoneRequestReject1-group { description "Zone request-reject1 Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable Zone request-reject1 Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ZoneMergeSuccess-group { description "Zone Merge Success Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable ZoneMergeSuccess Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ZoneMergeFailure-group { description "Zone Merge Failure Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable ZoneMergeFailure Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ZoneDefBehaviorChange-group { description "Zone Default-Zone-Behavior-Change Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable ZoneDefBehaviorChange Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ZoneUnsuppmem-group { description "Zone Unsupp-mem Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable ZoneUnsuppmem Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_ZoneEnhanceddb-group { description "Zone Enhanced-Zone-db-Change Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable ZoneEnhanceddb Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tfcns-group { description "fcns Traps"; // Fcns Reject-Reg trap container rejectregreq-items { uses snmp_FcnsRejectReg-group; description "Fcns Reject-Reg Notification Traps"; } // Fcns Local-Entry-Change trap container localentrychange-items { uses snmp_FcnsLocalEntChange-group; description "Fcns Local-Entry-Change Notification Traps"; } // Fcns Db-Full trap container dbfull-items { uses snmp_FcnsDbFull-group; description "Fcns Db-Full Notification Traps"; } // Fcns Remote Entry Change trap container remoteentrychange-items { uses snmp_FcnsRemEntryChange-group; description "Fcns Remote Entry Change Notification Traps"; } } grouping snmp_FcnsRejectReg-group { description "Fcns Reject-Reg Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable FcnsRejectReg Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_FcnsLocalEntChange-group { description "Fcns Local-Entry-Change Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable FcnsLocalEntChange Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_FcnsDbFull-group { description "Fcns Db-Full Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable Fcns Db-Full Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_FcnsRemEntryChange-group { description "Fcns Remote Entry Change Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable Fcns Remote Entry Change Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Trscn-group { description "rscn Traps"; // Rscn ElsRejectReqNotify trap container rscnelsrejectreqnotify-items { uses snmp_RscnElsRejectReqNotify-group; description "Rscn ElsRejectReqNotify Notification Traps"; } // Rscn Ils-Reject-Req-Notify trap container rscnilsrejectreqnotify-items { uses snmp_RscnIlsRejectReqNotify-group; description "Rscn Ils-Reject-Req-Notify Notification Traps"; } // Rscn ElsRxRejectReqNotify trap container rscnelsrxrejectreqnotify-items { uses snmp_RscnElsRxRejectReqNotify-group; description "Rscn ElsRxRejectReqNotify Notification Traps"; } // Rscn Remote Entry Change trap container rscnilsrxrejectreqnotify-items { uses snmp_RscnIlsRxRejectReqNotify-group; description "Rscn Remote Entry Change Notification Traps"; } } grouping snmp_RscnElsRejectReqNotify-group { description "Rscn ElsRejectReqNotify Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable Rscn ElsRejectReqNotify Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_RscnIlsRejectReqNotify-group { description "Rscn Ils-Reject-Req-Notify Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable Rscn Ils-Reject-Req-Notify Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_RscnElsRxRejectReqNotify-group { description "Rscn ElsRxRejectReqNotify Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable Rscn ElsRxRejectReqNotify Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_RscnIlsRxRejectReqNotify-group { description "Rscn Remote Entry Change Notification Traps"; leaf toggleState { config "false"; type uint16; description "enable/disable RscnIlsRxRejectReqNotify Traps"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tfcdomain-group { description "SNMP FC domain traps"; // Fcdomain dmNewPrincipalSwitchNotify trap container dmnewprincipalswitchnotify-items { uses snmp_DmNewPrincipalSwitchNotify-group; description "SNMP Fcdomain Principal Switch Notification Trap"; } // Fcdomain DmDomainIdNotAssignedNotify trap container dmdomainidnotassignednotify-items { uses snmp_DmDomainIdNotAssignedNotify-group; description "SNMP Fcdomain Domain Id Not Assigned Notification Trap"; } // Fcdomain dmFabricChangeNotify trap container dmfabricchangenotify-items { uses snmp_DmFabricChangeNotify-group; description "SNMP Fcdomain Fabric Change Notification Notification Trap"; } } grouping snmp_DmNewPrincipalSwitchNotify-group { description "SNMP Fcdomain Principal Switch Notification Trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP Fcdomain Principal Switch Notification Trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_DmDomainIdNotAssignedNotify-group { description "SNMP Fcdomain Domain Id Not Assigned Notification Trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP Fcdomain Domain Id Not Assigned Notification Trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_DmFabricChangeNotify-group { description "SNMP Fcdomain Fabric Change Notification Notification Trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP Fcdomain Fabric Change Notification Notification Trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tfdmi-group { description "SNMP FDMI traps"; // Fdmi CfdmiRejectRegNotify trap container cfdmirejectregnotify-items { uses snmp_CfdmiRejectRegNotify-group; description "SNMP Fdmi Notification Trap"; } } grouping snmp_CfdmiRejectRegNotify-group { description "SNMP Fdmi Notification Trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP Fdmi Notification Trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tfspf-group { description "SNMP FSPF traps"; // Fspf FspfNbrStateChangeNotify trap container fspfnbrstatechangenotify-items { uses snmp_FspfNbrStateChangeNotify-group; description "SNMP FSPF NBR State Change Notification Trap"; } } grouping snmp_FspfNbrStateChangeNotify-group { description "SNMP FSPF NBR State Change Notification Trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP FSPF NBR State Change Notification Trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tfctrace-group { description "SNMP FCTrace traps"; // Fctrace route-test-complete trap container routetestcomplete-items { uses snmp_FctraceRouteTestComplete-group; description "SNMP Fctrace Trace Route notification Trap"; } } grouping snmp_FctraceRouteTestComplete-group { description "SNMP Fctrace Trace Route notification Trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP Fctrace Trace Route Notification Trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tfcs-group { description "SNMP FCS traps"; // Fcs request-reject trap container requestreject-items { uses snmp_FcsRequestReject-group; description "SNMP Fcs request-reject trap"; } // Fcs discovery-complete trap container discoverycomplete-items { uses snmp_FcsDiscoveryComplete-group; description "SNMP Fcs discovery-complete trap"; } } grouping snmp_FcsRequestReject-group { description "SNMP Fcs request-reject trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP Fcs request-reject notification trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_FcsDiscoveryComplete-group { description "SNMP Fcs discovery-complete trap"; leaf toggleState { config "false"; type uint16; description "enable/disable SNMP Fcs discovery-complete trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_Tscsi-group { description "SNMP SCSI traps"; // Scsi scsi-lunDiscovery-complete trap container scsilundiscoverycomplete-items { uses snmp_ScsiLunDiscoveryComplete-group; description "SNMP scsi discovery complete notification Trap"; } } grouping snmp_ScsiLunDiscoveryComplete-group { description "SNMP scsi discovery complete notification Trap"; leaf toggleState { config "false"; type uint16; description "enable/disable scsi discovery complete notification trap"; } leaf toggleStateCount { config "false"; type uint16; description "Incremental counter for triggering BI"; } leaf trapstatus { type snmp_SnmpTrapSt; description "Status to show enabled/disable trap"; } leaf isToggleAction { config "false"; type uint16; description "whether it is default config"; } } grouping snmp_RemoteUser-group { description "Snmp remote user notification target"; leaf hashedauthpwd { config "false"; type snmp_AuthPasswd; description "Hashed Auth Password"; } leaf encrptprivpwd { config "false"; type snmp_AuthPasswd; description "Encrypted Priv Password"; } leaf ishashmode { config "false"; type snmp_EncrypModeT; description "To set localizedV1/V2"; } leaf deleteUser { config "false"; type snmp_UserDeleteType; description "Marked to delete user MO"; } leaf pwdTypeOper { config "false"; type uint16; default "0"; description "Password Type of user"; } // User name leaf userName { type snmp_userNameT; description "snmp-server user name"; } leaf authpwd { type snmp_AuthPasswd; description "Auth Password"; } leaf authtype { type snmp_AuthTypeT; description "Auth Protocol Type"; } leaf privpwd { type snmp_PrivPasswd; description "Priv Password"; } leaf privtype { type snmp_PrivTypeT; description "Priv Protocol Type"; } leaf islocalizedkey { type boolean; description "whether localized key configured"; } leaf isenforcepriv { type boolean; description "whether enforce priv con"; } leaf usrengineId { type snmp_EngId; description "Configured Engine Id"; } leaf usrengineIdlen { type snmp_EngIdLen; description "Configured Engine Id len"; } leaf islocalizedV2key { type boolean; description "whether localized V2 key configured"; } leaf pwd_type { type uint16; default "0"; description "Password encryption type"; } } grouping snmp_LocalUser-group { description "Snmp local user"; // SNMP IPV4 ACL name leaf ipv4AclName { type snmp_AclNameT; description "IPv4 ACL name to filter SNMP requests"; } // SNMP IPV6 ACL name leaf ipv6AclName { type snmp_AclNameT; description "IPv6 ACL name to filter SNMP requests"; } leaf hashedauthpwd { config "false"; type snmp_AuthPasswd; description "Hashed Auth Password"; } leaf encrptprivpwd { config "false"; type snmp_AuthPasswd; description "Encrypted Priv Password"; } leaf ishashmode { config "false"; type snmp_EncrypModeT; description "To set localizedV1/V2"; } leaf deleteUser { config "false"; type snmp_UserDeleteType; description "Marked to delete user MO"; } leaf pwdTypeOper { config "false"; type uint16; default "0"; description "Password Type of user"; } // User name leaf userName { type snmp_userNameT; description "snmp-server user name"; } leaf authpwd { type snmp_AuthPasswd; description "Auth Password"; } leaf authtype { type snmp_AuthTypeT; description "Auth Protocol Type"; } leaf privpwd { type snmp_PrivPasswd; description "Priv Password"; } leaf privtype { type snmp_PrivTypeT; description "Priv Protocol Type"; } leaf islocalizedkey { type boolean; description "whether localized key configured"; } leaf isenforcepriv { type boolean; description "whether enforce priv con"; } leaf usrengineId { type snmp_EngId; description "Configured Engine Id"; } leaf usrengineIdlen { type snmp_EngIdLen; description "Configured Engine Id len"; } leaf islocalizedV2key { type boolean; description "whether localized V2 key configured"; } leaf pwd_type { type uint16; default "0"; description "Password encryption type"; } container group-items { list UserGroup-list { key "groupName"; uses snmp_UserGroup-group; description "Snmp user group configuration MO list"; } description "Snmp user group configuration MO"; } } grouping snmp_UserGroup-group { description "Snmp user group configuration MO"; // Group name leaf groupName { type snmp_userNameT; description "snmp-server user name"; } } grouping snmp_ServerShutdown-group { description "SNMP server system shutdown"; leaf sysShutdown { type snmp_Boolean; default "no"; description "SNMP server system shutdown control"; } } grouping syslog_Acct-group { description "Syslog Accounting"; leaf timerTick { config "false"; type uint32; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } } grouping syslog_Syslog-group { description "syslog root node"; container timestamp-items { uses syslog_TimeStamp-group; description "Syslog TimeStamp Format"; } // MO for Rfc Strict support for syslog formats container rfcstrict-items { uses syslog_RfcStrict-group; description "RFC Logging Format, with this option set to a supported syslog RFC number, all syslogs from the device will follow configured RFC format"; } container level-items { list Level-list { key "facility"; uses syslog_Level-group; description "Level list"; } description "Level"; } container monitor-items { uses syslog_TermMonitor-group; description "Terminal Monitor"; } container console-items { uses syslog_Console-group; description "Console"; } container originid-items { uses syslog_Originid-group; description "Hostname,IP address,or string to append to syslog msgs"; } container logginghistory-items { uses syslog_LoggingHistory-group; description "Logging history level and size"; } // dns-refresh-interval container dnsinterval-items { uses syslog_DnsInterval-group; description "Specifies the server dns-refresh-interval"; } // logging rate-limit container loggingratelimit-items { uses syslog_LoggingRateLimit-group; description "Specifies the Logging Rate limit"; } container rdst-items { list RemoteDest-list { key "host"; uses syslog_RemoteDest-group; description "Syslog Remote Destination list"; } description "Syslog Remote Destination"; } container source-items { uses syslog_SourceInterface-group; description "Source Interface"; } container file-items { uses syslog_File-group; description "File"; } container inst-items { uses syslog_Inst-group; description "Logging Instances"; } } grouping syslog_TimeStamp-group { description "Syslog TimeStamp Format"; leaf format { type syslog_TimeStampFormat; description "Format"; } } grouping syslog_RfcStrict-group { description "RFC Logging Format, with this option set to a supported syslog RFC number, all syslogs from the device will follow configured RFC format"; // Syslogs will be complaint to the RFC number specifie for this below property leaf format { type syslog_RfcStrictFormat; description "Rfc number to which syslogs are compliant"; } } grouping syslog_Level-group { description "Level"; leaf facility { type syslog_Facility; description "Facility Name"; } // Default value handled in local MO type leaf severity { // Type is a Local-MO-Defined-Type type syslog_Severity_Level_severity; description "Severity"; } } grouping syslog_TermMonitor-group { description "Terminal Monitor"; leaf adminState { type mon_AdminState; description "TBD"; } leaf severity { type syslog_Severity; description "Severity"; } } grouping syslog_Originid-group { description "Hostname,IP address,or string to append to syslog msgs"; leaf idtype { type syslog_OriginIdType; description "OriginId type for Hostname, IP or String"; } leaf idvalue { type syslog_OriginIdValue; description "OriginId value for Hostname, IP or String"; } } grouping syslog_LoggingHistory-group { description "Logging history level and size"; leaf level { type syslog_Severity; default "errors"; description "Logging history loglevel"; } leaf size { type uint32 { range "0..500"; } default "1"; description "Logging history size"; } } grouping syslog_DnsInterval-group { description "Specifies the server dns-refresh-interval"; leaf dnsRefreshInterval { type uint32 { range "10..1440"; } default "60"; description "DNS refresh interval for remote syslog server hostnames"; } } grouping syslog_LoggingRateLimit-group { description "Specifies the Logging Rate limit"; leaf ratelimit { type callhome_Boolean; default "enabled"; description "rate-limit of syslog messages"; } } grouping syslog_SourceInterface-group { description "Source Interface"; leaf adminState { type mon_AdminState; description "TBD"; } leaf ifName { type nw_IfId; description "Interface"; } leaf operState { config "false"; type syslog_OperState; description "TBD"; } } grouping syslog_Inst-group { description "Logging Instances"; leaf modAdminState { type mon_AdminState; description "TBD"; } leaf modSeverity { type syslog_Severity; description "Severity level"; } } grouping nat_Entity-group { description "NAT entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } container inst-items { uses nat_Inst-group; description "NAT instance"; } } grouping nat_Inst-group { description "NAT instance"; // Holds TCP Time-Out values leaf tcpTimeout { type nat_NatTimeout; description "NAT tcp timeout values "; } // Holds UDP Time-Out values leaf udpTimeout { type nat_NatTimeout; description "NAT udp timeout value"; } // Holds ICMP Time-out values leaf icmpTimeout { type nat_NatTimeout; description "NAT icmp timeout value"; } // Holds DYN Time-out value leaf timeout { type nat_NatTimeout; description "NAT timeout value"; } // Holds Sampling Timeout value leaf samplingTimeout { type nat_SamplingTimeout; description "Sampling Timeout value"; } // Holds FINRST Timeout value leaf finRstTimeout { type nat_FinSynTimeout; description "FIN or RST wait timeout"; } // Holds SYN Timeout value leaf synTimeout { type nat_FinSynTimeout; description "SYN wait timeout value"; } leaf configError { config "false"; type nat_ConfigErrNat; default "noerror"; description "Config error for FIN/RST SYN timers"; } leaf loggingLevel { type arp_LoggingLevel; default "warning"; description "Logging level information for NAT"; } leaf creationDelay { type nat_BatchTimeout; description "Creation delay timeout for NAT"; } leaf maxTranslation { type nat_NatMaxTranslation; description "NAT max translations"; } leaf allHost { type nat_NatMaxTranslationAllHost; description "NAT max translations all host"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Holds NAT global statistics information // Ephemeral data container globalstats-items { uses nat_GlobalStats-group; description "NAT global statistics info"; } container dom-items { list Dom-list { key "name"; uses nat_Dom-group; description "This Object Holds Per Domain (vrf) Information list"; } description "This Object Holds Per Domain (vrf) Information"; } container pool-items { list Pool-list { key "poolname"; uses nat_Pool-group; description "Pool instance to define pool-addresses list"; } description "Pool instance to define pool-addresses"; } } grouping nat_GlobalStats-group { description "NAT global statistics info"; // Holds max permitted and presently active NAT tranlslation infromation // Ephemeral data container nattransstats-items { uses nat_NatTransStats-group; description "Max and present active translation stats"; } // Ephemeral data container nattransexpiredstats-items { uses nat_NatTransExpiredStats-group; description "Nat translation expired statistics"; } // Ephemeral data container natpacketstats-items { uses nat_NatPacketStats-group; description "Packets statistics hits/misses,software translation/drops"; } // TCP session statistics // Ephemeral data container nattcpstats-items { uses nat_NatTcpStats-group; description " Total TCP session statistics"; } // NAT packet drops statistics // Ephemeral data container natpktdrops-items { uses nat_NatPktDrops-group; description "Dynamic nat Address pool usage statistics"; } // NAT address pool statistics // Ephemeral data container acl-items { // Ephemeral data list NatAclPooldb-list { config "false"; key "aclName"; uses nat_NatAclPooldb-group; description "Dynamic nat address pool usage statistics list"; } description "Dynamic nat address pool usage statistics"; } // NAT interface statistics // Ephemeral data container natifstats-items { uses nat_NatIfStats-group; description " NAT Inside/outside interfaces stats"; } } grouping nat_NatTransStats-group { description "Max and present active translation stats"; // Ephemeral data leaf maxDynTransAllowed { config "false"; type uint64; description "Maximum number of dynamic translation allowed"; } // Ephemeral data leaf maxPerHostTransAllowed { config "false"; type uint64; description "Maximum number of translation allowed per host IP"; } // Ephemeral data leaf noOfActiveStatic { config "false"; type uint64; description "Present number of active static translation"; } // Ephemeral data leaf noOfActiveDyanamic { config "false"; type uint64; description "Present number of active dyanamic translation"; } // Ephemeral data leaf noOfActiveICMP { config "false"; type uint64; description "Present number of active ICMP translation"; } } grouping nat_NatTransExpiredStats-group { description "Nat translation expired statistics"; // Ephemeral data leaf totalNoOfExpiredTranslations { config "false"; type uint64; description "Total number of expired translations"; } // Ephemeral data leaf noOfSynTimerExpired { config "false"; type uint64; description "No of translations exired due to SYN timer expiry"; } // Ephemeral data leaf noOfFinRstTimerExpired { config "false"; type uint64; description "No of translations exired due to FIN-RST timer expiry"; } // Ephemeral data leaf noOfInactiveTimerExpired { config "false"; type uint64; description "No of translations exired due to inactive timer expiry"; } } grouping nat_NatPacketStats-group { description "Packets statistics hits/misses,software translation/drops"; // Ephemeral data leaf totalHits { config "false"; type uint64; description "Total number packet hit count"; } // Ephemeral data leaf hitInToOut { config "false"; type uint64; description "Total number packet hit count in to out flow"; } // Ephemeral data leaf hitOutToIn { config "false"; type uint64; description "Total number packet hit count out to In flow"; } // Ephemeral data leaf totalMisses { config "false"; type uint64; description "Total number packet miss count"; } // Ephemeral data leaf missInToOut { config "false"; type uint64; description "Total number packet miss count in to out flow"; } // Ephemeral data leaf missOutToIn { config "false"; type uint64; description "Total number packet miss count out to in flow"; } // Ephemeral data leaf totalSwTranslation { config "false"; type uint64; description "Total number packet software translation"; } // Ephemeral data leaf swTranslationInToOut { config "false"; type uint64; description "Total number packet software translation in to out flow"; } // Ephemeral data leaf swTranslationOutToIn { config "false"; type uint64; description "Total number packet software translation out to in flow"; } } grouping nat_NatTcpStats-group { description " Total TCP session statistics"; // Ephemeral data leaf tcpEstablished { config "false"; type uint64; description "Total TCP session established"; } // Ephemeral data leaf tcpClosed { config "false"; type uint64; description "Total TCP session closed"; } } grouping nat_NatPktDrops-group { description "Dynamic nat Address pool usage statistics"; // Ephemeral data leaf addrAllocDrops { config "false"; type uint64; description "Address allocation failure drops"; } // Ephemeral data leaf portAllocDrops { config "false"; type uint64; description "Port allocation failure drops"; } // Ephemeral data leaf maxLimitDrops { config "false"; type uint64; description "Dynamic translation max limit drops"; } // Ephemeral data leaf icmpMaxLimitDrops { config "false"; type uint64; description "ICMP Translation max limit drops"; } // Ephemeral data leaf allowedHostLimitDrops { config "false"; type uint64; description "Allowed host per max limit drops"; } // Ephemeral data leaf totalSwDrops { config "false"; type uint64; description "Total number packet software drops"; } // Ephemeral data leaf swDropInToOut { config "false"; type uint64; description "Total number packet software drops in to out flow"; } // Ephemeral data leaf swDropOutToIn { config "false"; type uint64; description "Total number packet software drops out to in flow"; } } grouping nat_NatAclPooldb-group { description "Dynamic nat address pool usage statistics"; // nat acl name // Ephemeral data leaf aclName { config "false"; type nat_stringtype; description "Nat ACL name"; } // nat oveload leaf overload { config "false"; type nat_stringtype; description "Overload ip address,PAT"; } // nat pool name // Ephemeral data leaf poolName { config "false"; type nat_stringtype; description "Nat pool name"; } // Nat rule type inside/outside // Ephemeral data leaf ruleType { config "false"; type nat_stringtype; description "Inside/outside rule"; } // Ephemeral data leaf noOfAddrInPool { config "false"; type uint64; description "Total number of Addresses in pool"; } // Ephemeral data leaf noOfAllocated { config "false"; type uint64; description "Pool address allocated in percentage"; } // Ephemeral data leaf noOfMissed { config "false"; type uint64; description "Pool address missed in percentage"; } // Ephemeral data leaf ifOverloadName { config "false"; type nat_stringtype; description "Interface overloaded"; } // Ephemeral data leaf ifOverloadAddr { config "false"; type address_Ip; description "Overloaded interface IP address"; } // Ephemeral data leaf ifOverloadState { config "false"; type nat_stringtype; description "Interface status"; } } grouping nat_NatIfStats-group { description " NAT Inside/outside interfaces stats"; // Ephemeral data leaf noOfInsideInterface { config "false"; type uint64; description "Number of nat inside interface"; } // Ephemeral data leaf noOfOutsideInterface { config "false"; type uint64; description "Number of nat outside interface"; } } grouping nat_Dom-group { description "This Object Holds Per Domain (vrf) Information"; leaf encap { config "false"; type string; description "Encapsulation"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // NAT Interface config MO container if-items { list If-list { key "id"; uses nat_If-group; description "NAT interface config inside/outside list"; } description "NAT interface config inside/outside"; } container xlate-items { list IpNat-list { key "xlateType"; uses nat_IpNat-group; description "IP NAT instance for config list"; } description "IP NAT instance for config"; } // ip nat alias MO // Ephemeral data container natalias-items { // Ephemeral data list IpNatAlias-list { config "false"; key "ipAddr"; uses nat_IpNatAlias-group; description "Ip nat alias information list"; } description "Ip nat alias information"; } // Holds NAT translation information // Ephemeral data container proto-items { // Ephemeral data list TranslationDb-list { config "false"; key "protocol insideGlobalAddress insideGlobalPort insideLocalAddress insideLocalPort outsideLocalAddress outsideLocalPort outsideGlobalAddress outsideGlobalPort"; uses nat_TranslationDb-group; description "Nat Translation Database list"; } description "Nat Translation Database"; } } grouping nat_If-group { description "NAT interface config inside/outside"; leaf natIf { type nat_NatTrafficDir; description "NAT interface config inside/outside"; } leaf configErrIf { config "false"; type nat_ConfigErrNat; default "noerror"; description "Config error in nat interface. "; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping nat_IpNat-group { description "IP NAT instance for config"; // Properties Starts here leaf xlateType { type nat_InterfaceType; description "Xlate type to define translation"; } // static mo starts here container protocol-items { list StaticNat-list { key "protocol localIp localPort globalIp globalPort"; uses nat_StaticNat-group; description "Static NAT config mo list"; } description "Static NAT config mo"; } // dynamicnat mo starts here container list-items { list DynamicNat-list { key "aclName"; uses nat_DynamicNat-group; description "Dynamic NAT MO for config list"; } description "Dynamic NAT MO for config"; } } grouping nat_StaticNat-group { description "Static NAT config mo"; leaf protocol { type nat_ProtocolType; description "Specifies tcp/udp/any protocol"; } leaf localIp { type address_Ip; description "Local ip address of a network"; } leaf globalIp { type address_Ip; description "Global ip address of a network"; } leaf localPort { type nat_port; description "Port number for localip "; } leaf globalPort { type nat_port; description "Port number for global ip"; } leaf noAlias { type nat_booltype; description "no-alias flag disables addition of alias"; } leaf configErrStaticNat { config "false"; type nat_ConfigErrNat; default "noerror"; description "Config error in static nat."; } leaf groupId { type nat_twicenatgroup; description "Group id for Twice-Nat"; } leaf dynamic { type nat_booltype; description "Dynamic flag for Twice-Nat"; } leaf matchInVrf { type nat_booltype; description "Match in vrf, flag used in vrf-aware Nat"; } leaf addRoute { type nat_booltype; description "Adds route for translations"; } } grouping nat_DynamicNat-group { description "Dynamic NAT MO for config"; leaf aclName { type nat_stringtype; description "To define ACL allowing set of addresses Property has READ-Create access."; } leaf interface { type nw_IfId; description "Interface name for overload case"; } leaf poolName { type nat_NatPoolname; description "Defines set of address-range"; } leaf overload { type nat_booltype; description "Allows usage of same ip , with different port numbers"; } leaf configErrDynamicNat { config "false"; type nat_ConfigErrNat; default "noerror"; description "Config error in Dynamic nat"; } leaf groupId { type nat_twicenatgroup; description "Group id for Twice-Nat"; } leaf dynamic { type nat_booltype; description "Dynamic flag for Twice-Nat"; } leaf matchInVrf { type nat_booltype; description "Match in vrf, flag used in vrf-aware Nat"; } leaf addRoute { type nat_booltype; description "Adds route for translations"; } } grouping nat_IpNatAlias-group { description "Ip nat alias information"; // Ephemeral data leaf ipAddr { config "false"; type address_Ip; description "Nat alias ip address"; } // Ephemeral data leaf interfaceName { config "false"; type string; description "Nat alias interface name"; } } grouping nat_TranslationDb-group { description "Nat Translation Database"; // Ephemeral data leaf protocol { config "false"; type string; description "Protocol , tcp/udp/any"; } // Ephemeral data leaf insideGlobalAddress { config "false"; type address_Ip; description "Inside global address"; } // Ephemeral data leaf insideGlobalPort { config "false"; type uint32; description "Inside global port"; } // Ephemeral data leaf insideLocalAddress { config "false"; type address_Ip; description "Inside local address"; } // Ephemeral data leaf insideLocalPort { config "false"; type uint32; description "Inside local port"; } // Ephemeral data leaf outsideLocalAddress { config "false"; type address_Ip; description "Outside local address"; } // Ephemeral data leaf outsideLocalPort { config "false"; type uint32; description "Outside local port"; } // Ephemeral data leaf outsideGlobalAddress { config "false"; type address_Ip; description "Outside global address"; } // Ephemeral data leaf outsideGlobalPort { config "false"; type uint32; description "Outside global port"; } // Ephemeral data leaf groupId { config "false"; type uint32; description "Group ID for Twice-Nat"; } // Ephemeral data leaf entryId { config "false"; type uint32; description "Entry ID to identify unique translation."; } // Ephemeral data leaf inStats { config "false"; type uint32; description "In statistics count"; } // Ephemeral data leaf outStats { config "false"; type uint32; description "Out statistics count"; } // Ephemeral data leaf timeLeft { config "false"; type nat_NatTimeLeft; description "Inactive time left"; } // Ephemeral data leaf synTimer { config "false"; type nat_FinSynTimeoutOper; description "TCP syn timer left"; } // Ephemeral data leaf finTimer { config "false"; type nat_FinSynTimeoutOper; description "TCP fin timer left"; } } grouping nat_Pool-group { description "Pool instance to define pool-addresses"; // Properties Starts here leaf poolname { type nat_NatPoolname; description "Defines set of address "; } leaf mask { type address_Ip; description "NAT netmask for pool-range "; } leaf prefixlen { type nat_NatPrefixType; description "NAT prefix len for pool-range"; } leaf noalias { type nat_booltype; description "no-alias flag disables addition of alias"; } container startip-items { list PoolAddress-list { key "startip endip"; uses nat_PoolAddress-group; description "NAT pool address instance list"; } description "NAT pool address instance"; } } grouping nat_PoolAddress-group { description "NAT pool address instance"; leaf startip { type address_Ip; description "NAT start ip address for pool-range"; } leaf endip { type address_Ip; description "NAT end ip address for pool-range"; } leaf configErr { config "false"; type nat_ConfigErrNat; default "noerror"; description "Config error pool address"; } leaf poolAddrDeleted { config "false"; type nat_booltype; description "Pool address deleted"; } } grouping ospf_Entity-group { description "Holds OSPF control plane entity information"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per OSPF instance information container inst-items { list Inst-list { key "name"; uses ospf_Inst-group; description "This object holds per OSPF instance information list"; } description "This object holds per OSPF instance information"; } } grouping ospf_Inst-group { description "This object holds per OSPF instance information"; leaf name { type naming_Name256 { length "0..128"; pattern "[A-Za-z0-9_][A-Za-z0-9_-]{0,19}"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls // Default value handled in local MO type leaf ctrl { // Type is a Local-MO-Defined-Type type nw_InstCtrl_Inst_ctrl; description "Holds OSPF instance controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Memory alert level leaf memAlert { config "false"; type nw_MemAlertLevel; description "Specifies the memory alert level"; } // This objects hold per OSPF domain (vrf) information container dom-items { list Dom-list { key "name"; uses ospf_Dom-group; description "This object holds per OSPF VRF information list"; } description "This object holds per OSPF VRF information"; } // This object holds the size of the Logfiles for // various types of OSPF events container evtlogs-items { list EventLogs-list { key "eventType"; uses ospf_EventLogs-group; description "Object holding the size of the Logfiles for various types of OSPF events list"; } description "Object holding the size of the Logfiles for various types of OSPF events "; } // This object holds per domain mpls te information container mpls-items { uses ospf_Mpls-group; description "OSPF support information for MPLS TE and LDP per Instance"; } } grouping ospf_Dom-group { description "This object holds per OSPF VRF information"; leaf name { type naming_Name256 { length "1..128"; pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}"; } description "This object holds name information"; } // Router id for this domain, if this is not specified // the router-id is automatically picked up based on the // first interface that comes up in that domain leaf rtrId { type ip_RtrId; description "Router identifier for this domain"; } // Dom controls leaf ctrl { type ospf_DomControl; description "Holds the controls bfd, name-lookup, default-passive and Segment Routing"; } // DNS Server Vrf name leaf nameLookupVrf { type ospf_NameLookupVrf; description "Holds vrf name of dns-server for name-lookup"; } leaf defRtNssaPbitClear { type boolean; description "Override RFC 3101 behaviour and add default route on ABR even if P-bit is clear in received type-7 default route LSA"; } // Admin state leaf adminSt { type nw_AdminSt; description "Holds the administrative state of domain"; } // Administrative distance preference leaf dist { type ospf_Dist; description "Administrative distance preference"; } // MAX ECMP leaf maxEcmp { type ospf_Ecmp; description "Maximum Equal Cost Multi Path(ECMP)"; } // Bandwidth Reference value. If bwRefUnit is mbps, then the // range is 1 to 4000000 and if bwRefUnit is gbps, then the // range is 1 to 4000 leaf bwRef { type ospf_BwRef; description "Bandwidth reference value, holds the range from 1-4000000 if unit is mbps and holds range from 1-4000 if unit is gbps"; } // Bandwidth Reference Unit leaf bwRefUnit { type ospf_BwRefUnit; description "Bandwidth reference unit (Mbps or Gbps)"; } // Default Metric for redistributed routes leaf defMetric { type ospf_Metric; description "Default metric cost for redistributed routes"; } leaf rfc1583Compat { type boolean; description "RFC 1583 compatibility for external path preferences"; } leaf rfc1583CompatIos { type boolean; description "RFC 1583 compatibility to IOS for external path preferences"; } // Adjacency change logging level leaf adjChangeLogLevel { type ospf_AdjChangeLogLevel; description "Adjacency change logging level"; } // L3VM Operational state leaf operSt { config "false"; type ospf_OperSt; description "Operational state of Layer 3 virtualization related commands(l3vm)"; } // Operational Router id for this dom, if it is not specified // the router-id is automatically picked up based on the // first interface that comes up in that domain leaf operRtrId { config "false"; type ip_RtrId; description "Operational router identifier for this domain"; } // Operational SRGB minimum label leaf operSrgbStart { config "false"; type ulib_LabelVal; description "Operational Segment Routing Global Block(SRGB) start index for OSPF"; } // Operational SRGB maximum label leaf operSrgbEnd { config "false"; type ulib_LabelVal; description "Operational Segment Routing Global Block(SRGB) end index for OSPF"; } // Operational State of Segment Routing MPLS in OSPF Dom/VRF leaf operStSgmntRtgMpls { config "false"; type ospf_SgmntRtgMplsOperSt; description "Operational state of Segment Routing MPLS in OSPF VRF which is Enable/Disable"; } // Discard Route Bits leaf discardRoute { type ospf_DiscardRoute; description "Control bits for discard-route external and internal"; } leaf downbitIgnore { type boolean; description "Holds the status of Down-bit ignore"; } // Capability vrf-lite leaf capVrfLite { type ospf_VrfLiteControl; description "Capability vrf-lite for L3VPN or Ethernet VPN "; } // This object holds OSPF information that is operated at a // interface level container area-items { list Area-list { key "id"; uses ospf_Area-group; description "This object holds OSPF area properties information list"; } description "This object holds OSPF area properties information"; } // OSPF databases container db-items { list Db-list { config "false"; key "type"; uses ospf_Db-group; description "This object holds OSPF link state databases (LSDB) list"; } description "This object holds OSPF link state databases (LSDB)"; } // This object holds spf computation frequency controls, none // of these need to be exposed to the user container spfcomp-items { uses ospf_SpfComp-group; description "Shortest Path First(SPF) computation frequency controls"; } // This object holds lsa related frequency controls, none of // these need to be exposed to the user container lsactrl-items { uses ospf_LsaCtrl-group; description "Link State Advertisement(LSA) related frequency controls"; } // This object holds L3VPN OSPF Primary domain and domain-tag info container l3vpndomainpri-items { uses ospf_L3vpnDomainPrimary-group; description "This object holds L3VPN OSPF Primary domain and domain-tag info"; } // This object holds L3VPN OSPF Secondary domain info container l3vpndomainsec-items { list L3vpnDomainSecondary-list { key "domainType domainId"; uses ospf_L3vpnDomainSecondary-group; description "This object holds L3VPN OSPF Secondary domain info list"; } description "This object holds L3VPN OSPF Secondary domain info"; } // This object holds the OSPF VRF related statistics container domstats-items { uses ospf_DomStats-group; description "This object holds the OSPF VRF related statistics"; } // This object holds per OSPF VRF graceful restart information container gr-items { uses ospf_Gr-group; description "Object holding per OSPF VRF graceful restart information"; } // This object holds OSPF information that is operated at a // interface level container if-items { list If-list { key "id"; uses ospf_If-group; description "Object holds OSPF information that is operated at interface level list"; } description "Object holds OSPF information that is operated at interface level"; } // This object holds per domain max-lsa information container maxlsap-items { uses ospf_MaxLsaP-group; description "Max-LSA(Link State Advertisement) Database overflow for each domain or VRF"; } // This object holds per domain max-lsa information container maxmetriclsap-items { uses ospf_MaxMetricLsaP-group; description "Max-Metric Link State Advertisement information per Domain/VRF"; } // This objects holds default route leak policy, // this is not needed for FCS in our solution container defrtleak-items { uses ospf_DefRtLeakP-group; description "Default Route leak or the distribution policy"; } // Inter protocol route leak policy. This defines distribution // of routes from other protocols to ospf container interleak-items { list InterLeakP-list { key "proto inst asn"; uses ospf_InterLeakP-group; description "This defines distribution of routes from other protocols to OSPF list"; } description "This defines distribution of routes from other protocols to OSPF"; } // Leak controls related to the number of routes leaked container leakctrl-items { uses ospf_LeakCtrlP-group; description "Leak controls related to the number of routes leaked"; } container ribleak-items { uses ospf_RibLeakP-group; description "OSPF to Route Information Base(RIB) Route Leak/distribution Policy Per Domain or VRF"; } // External route summarization is specific to external // routes that are injected into OSPF using route leak. // Configure external route summarization on ASBRs that // are leaking routes into OSPF container extrtsum-items { list ExtRtSum-list { key "addr"; uses ospf_ExtRtSum-group; description "External Route Summarization on ASBRs that are Leaking Routes into OSPF list"; } description "External Route Summarization on ASBRs that are Leaking Routes into OSPF"; } // This object holds the OSPF traffic related information container trstats-items { uses ospf_TrafficStats-group; description "This object holds the OSPF traffic related information"; } } grouping ospf_Area-group { description "This object holds OSPF area properties information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Area id leaf id { type ospf_AreaId; description "Area identifier to which a network or interface belongs"; } // Area type (stub | nssa | backbone, etc) leaf type { type ospf_AreaT; description "Area types can be stub, nssa, backbone etc."; } // Area controls leaf ctrl { type ospf_AreaControl; description "Area controls can be ABRs originate summary LSAs into other areas, redistributed LSAs or suppress forwarding address"; } // Area cost, specifies cost for default summary LSAs. // Used with nssa/stub area types. Not applicable in // our fabric solution leaf cost { type ospf_AreaCost; description "Area cost, specifies cost for default summary LSAs, Used with nssa/stub area types"; } // Segment Routing control leaf sgmntRtgMpls { type ospf_SegRtControl; description "Segment routing mpls control"; } // NSSA translator role leaf nssaTransRole { type ospf_NssaTransRole; description "Not-so-stubby area(NSSA) translator role"; } // Border router count leaf brCnt { config "false"; type ospf_BrCnt; description "Area border router count"; } // AS Border router count leaf asbrCnt { config "false"; type ospf_AsbrCnt; description "Autonomous system border router count"; } // LSA checksum sum leaf lsaCksumSum { config "false"; type ospf_LsaCksumSum; description "Link-state advertisement(LSA) checksum sum"; } // NSSA translator state leaf nssaTransSt { config "false"; type ospf_NssaTransSt; description "Not-so-stubby area (NSSA) translator state"; } // NSSA translator stability interval leaf nssaTransStabIntvl { config "false"; type ospf_NssaTransStabIntvl; description "Not-so-stubby area (NSSA) translator stability interval"; } // Operational State of Segment Routing MPLS in OSPF Area leaf operStSgmntRtgMpls { config "false"; type ospf_SgmntRtgMplsOperSt; description "Segment routing MPLS operational state in OSPF area which is Enable/Disable"; } // Authentication type leaf authType { type ospf_AuthT; description "Authentication type can be simple, none or md5"; } // This object holds the OSPF area related statistics container areastats-items { uses ospf_AreaStats-group; description "Object holding the OSPF area related statistics"; } // OSPF databases container db-items { list Db-list { config "false"; key "type"; uses ospf_Db-group; description "This object holds OSPF link state databases (LSDB) list"; } description "This object holds OSPF link state databases (LSDB)"; } // This object holds OSPF information about OSPF virtual // links container vlink-items { list VLink-list { key "nbrRtrId"; uses ospf_VLink-group; description "This object holds information about OSPF virtual links list"; } description "This object holds information about OSPF virtual links"; } // This object holds OSPF information about OSPF sham // links container slink-items { list SLink-list { key "srcAddr dstAddr"; uses ospf_SLink-group; description "This object holds information about OSPF sham links list"; } description "This object holds information about OSPF sham links"; } container slinksrc-items { list SlinkNew-list { key "srcAddr dstAddr"; uses ospf_SlinkNew-group; description "This object holds information about OSPF sham links list"; } description "This object holds information about OSPF sham links"; } // Lsa Leak concrete class. container lsaleakp-items { uses ospf_LsaLeakP-group; description "Thi object holds link-state advertisement(LSA) leak policies"; } // Lsa Leak Control concrete class. container lsaleakctrlp-items { list LsaLeakCtrlP-list { key "dir"; uses ospf_LsaLeakCtrlP-group; description "This object holds link-state advertisement(LSA) leak control policies list"; } description "This object holds link-state advertisement(LSA) leak control policies"; } // This objects holds default route leak policy, // this is not needed for FCS in our solution container defrtleak-items { uses ospf_DefRtLeakP-group; description "Default Route leak or the distribution policy"; } // Inter-area route summarization. This is configured // on ABRs, summarizing routes between areas in the // autonomous system container iartsum-items { list InterAreaRtSum-list { key "addr"; uses ospf_InterAreaRtSum-group; description "Inter-area Route Summarization on ABRs, summarizing routes between areas in the autonomous system list"; } description "Inter-area Route Summarization on ABRs, summarizing routes between areas in the autonomous system"; } } grouping ospf_AreaStats-group { description "Object holding the OSPF area related statistics"; leaf areaCreatedTs { config "false"; type union { type string; type uint64; } description "Timestamp of the area created"; } // Number of SPF runs leaf spfRuns { config "false"; type ospf_Counter32; description "Number of Shortest Path First (SPF) runs"; } // LSA count leaf lsaCnt { config "false"; type ospf_Counter32; description "Count of link-state advertisements(LSA)"; } leaf lastSpfDuration { config "false"; type uint32; description "Duration of last Shortest Path First (SPF)"; } // Total number of interfaces leaf ifCnt { config "false"; type ospf_Counter32; description "Total number of interfaces"; } // Number of active interfaces leaf activeIfCnt { config "false"; type ospf_Counter32; description "Number of active interfaces"; } // Number of passive interfaces leaf passiveIfCnt { config "false"; type ospf_Counter32; description "Number of passive interfaces"; } // Number of loopback interfaces leaf lpbkIfCnt { config "false"; type ospf_Counter32; description "Number of loopback interfaces"; } // Number of adjacency leaf adjCnt { config "false"; type ospf_Counter32; description "Number of adjacencies formed"; } // Number of peers in hitless helper mode leaf grHelperPeerCnt { config "false"; type ospf_Counter32; description "Gracefull restart helper peer count"; } } grouping ospf_Db-group { description "This object holds OSPF link state databases (LSDB)"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository leaf type { config "false"; type ospf_DbT; description "Type of database repository"; } // LSA records container lsa-items { list LsaRec-list { config "false"; key "type id advRtr"; uses ospf_LsaRec-group; description "This object holds Link-state advertisement (LSA) database definitions list"; } description "This object holds Link-state advertisement (LSA) database definitions"; } // This object holds the OSPF route information container rt-items { list Route-list { config "false"; key "pfx"; uses ospf_Route-group; description "Open Shortest Path First (OSPF) Route information list"; } description "Open Shortest Path First (OSPF) Route information"; } } grouping ospf_LsaRec-group { description "This object holds Link-state advertisement (LSA) database definitions"; // Lsa type leaf type { config "false"; type ospf_LsaT; description "Holds Link-state advertisement (LSA) type"; } // Lsa id leaf id { config "false"; type ospf_LsaId; description "Holds Link-state advertisement (LSA) Id"; } // Router id leaf advRtr { config "false"; type ospf_LsaAdvRtr; description "Link-state advertisement (LSA) advertising router"; } // Sequence number leaf seq { config "false"; type ospf_LsaSeq; description "Holds Link-state advertisement (LSA) sequence number"; } // Age leaf age { config "false"; type ospf_LsaAge; description "Holds the age of Link-state advertisement (LSA)"; } leaf arrivalTs { config "false"; type union { type string; type uint64; } description "Holds the arrival timestamp of LSA"; } // Checksum leaf cksum { config "false"; type ospf_LsaCksum; description "Link-state advertisement (LSA) checksum "; } // Advertisement leaf advert { config "false"; type ospf_LsaAdvert; description "Link-state advertisement (LSA) Advertisement"; } // Router Information (RI) LSA records container ri-items { uses ospf_RiLsaRec-group; description "Router Information LSA Record"; } // Extended Prefix LSA records container epl-items { list ExtPfxRec-list { config "false"; key "ipPfx"; uses ospf_ExtPfxRec-group; description "Extended Prefix LSA Record list"; } description "Extended Prefix LSA Record"; } // Extended Link TLV records container ell-items { uses ospf_ExtLinkRec-group; description "Extended Link LSA Record"; } } grouping ospf_RiLsaRec-group { description "Router Information LSA Record"; // Graceful Restart Capability leaf grRestartCap { config "false"; type ospf_CapFlag; description "Graceful Restart Capability Flag"; } // Graceful Restart Helper Capability leaf grRestartHelperCap { config "false"; type ospf_CapFlag; description "Graceful Restart Helper Capability Flag"; } // Stub Router Support Capability leaf stubRouterCap { config "false"; type ospf_CapFlag; description "Stub Router Support Capability Flag"; } // Traffic Engineering Support Capability leaf teCap { config "false"; type ospf_CapFlag; description "Traffic Engineering Support Capability Flag"; } // Point to Point over LAN Support Capability leaf p2pOverLanCap { config "false"; type ospf_CapFlag; description "Point to Point over LAN Support Capability Flag"; } // Experimental Traffic Engineering Support Capability leaf expTeCap { config "false"; type ospf_CapFlag; description "Experimental Traffic Engineering Support Capability Flag"; } leaf sgmntRtgGlobalRange { config "false"; type uint32; description "Segment Routing Global Block Range"; } leaf sgmntRtgGlobalRangeStart { config "false"; type uint32; description "Segment Routing Global Block Range Start Label"; } leaf sgmntRtgLocalRange { config "false"; type uint32; description "Segment Routing Local Block Range"; } leaf sgmntRtgLocalRangeStart { config "false"; type uint32; description "Segment Routing Local Block Range Start Label"; } } grouping ospf_ExtPfxRec-group { description "Extended Prefix LSA Record"; leaf ipPfx { config "false"; type address_Ip; description "ip address with mask"; } leaf addressFamily { config "false"; type uint16; description "Extended Prefix Address Family - Ipvx"; } // Extended Prefix Route Type, Intra, Inter, External, NSSA leaf routeType { config "false"; type ospf_PathT; description "Extended Prefix Route Type, Intra, Inter, External, NSSA"; } // Extended Prefix Flags leaf pfxFlags { config "false"; type ospf_PfxFlags; description "Extended Prefix Flags, Attach/Node Flag as in rfc7684"; } // Segment Routing Prefix SID TLV record container sid-items { list SgmntRtgPfxSidRec-list { config "false"; key "sgmntRtgAlgo"; uses ospf_SgmntRtgPfxSidRec-group; description "Segment Routing Prefix SID TLV Record list"; } description "Segment Routing Prefix SID TLV Record"; } } grouping ospf_SgmntRtgPfxSidRec-group { description "Segment Routing Prefix SID TLV Record"; // Segment Routing MPLS Prefix Sid Flags leaf sgmntRtgPfxSidFlags { config "false"; type ospf_PfxSidFlags; description "Segment Routing MPLS Prefix Sid Flags, NP/M/E/V/L"; } leaf sgmntRtgMtid { config "false"; type uint16; description "Segment Routing MPLS Multi-Topology ID (as defined in RFC4915)"; } leaf sgmntRtgAlgo { config "false"; type uint16; description "Segment Routing Algorithm Type"; } leaf sgmntRtgAlgoName { config "false"; type string; description "Segment Routing Algorithm Name ; Name if it's a supported else Unsupported"; } // Segment Routing MPLS SID/Index/Label leaf sgmntRtgPfxSid { config "false"; type ospf_SidIndex; description "Segment Routing MPLS SID/Index/Label based on Flag"; } } grouping ospf_ExtLinkRec-group { description "Extended Link LSA Record"; // Extended Link TLV, Link Type leaf linkType { config "false"; type ospf_NwT; description "OSPFv2 Link type as per rfc7684"; } leaf linkId { config "false"; type address_Ip; description "OSPFv2 Link ID as per rfc7684"; } leaf linkData { config "false"; type address_Ip; description "OSPFv2 Link Data as per rfc7684"; } // Segment Routing Adjacency SID TLV record container sid-items { list SgmntRtgAdjSidRec-list { config "false"; key "sgmntRtgAdjSidLabel"; uses ospf_SgmntRtgAdjSidRec-group; description "Segment Routing Adjacency SID TLV Record list"; } description "Segment Routing Adjacency SID TLV Record"; } } grouping ospf_SgmntRtgAdjSidRec-group { description "Segment Routing Adjacency SID TLV Record"; // Segment Routing Adjacency SID Type leaf adjSidTlvType { config "false"; type ospf_AdjSidTlvType; description "Segment Routing Adjacency SID TLV type"; } leaf sgmntRtgMtid { config "false"; type uint16; description "Segment Routing MPLS Multi-Topology ID (as defined in RFC4915)"; } leaf sgmntRtgWeight { config "false"; type uint16; description "Segment Routing MPLS Multi-Topology ID (as defined in RFC4915)"; } // Segment Routing Adjacency SID TLV Flags leaf sgmntRtgAdjSidFlags { config "false"; type ospf_AdjSidFlags; description "Segment Routing Adjacency SID TLV Flags"; } leaf sgmntRtgAdjSidNbrId { config "false"; type address_Ip; description "Segment Routing Adjacency SID TLV Neighbor ID"; } // Segment Routing Adjacency SID TLV SID/Index/Label leaf sgmntRtgAdjSidLabel { config "false"; type ospf_AdjSidLabel; description "Segment Routing Adjacency SID TLV SID/Index/Label"; } } grouping ospf_Route-group { description "Open Shortest Path First (OSPF) Route information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf pfx { config "false"; type address_Ip; description "Specifies the prefix IP address"; } // Path type leaf pathT { config "false"; type ospf_PathT; description "Specifies the path type of route"; } // Area id leaf area { config "false"; type ospf_AreaId; description "Specifies the Area identifier (ID)"; } // Flags leaf flags { config "false"; type ospf_RtFlags; description "Specifies the route flags"; } // Unicast cost leaf ucastCost { config "false"; type ospf_RtCost; description "Holds the unicast route cost"; } // Multicast cost leaf mcastCost { config "false"; type ospf_RtCost; description "Holds the multicast route cost"; } // Route Tag leaf tag { config "false"; type ospf_RtTag; description "Specifies the route tag information"; } // Administrative distance preference leaf dist { config "false"; type ospf_Dist; description "Administrative distance preference"; } // MPLS Segment ID leaf sgmntRtgMplsSid { config "false"; type ospf_SgmntRtgMplsLabel; description "Segment routing MPLS segment ID"; } // Segment Routing MPLS in-label leaf sgmntRtgMplsInLabel { config "false"; type ospf_SgmntRtgMplsLabel; description "Segment Routing MPLS in-label"; } // Unicast nexthop container ucnh-items { list UcNexthop-list { config "false"; key "if addr"; uses ospf_UcNexthop-group; description "Open Shortest Path First (OSPF) Unicast nexthop information list"; } description "Open Shortest Path First (OSPF) Unicast nexthop information"; } // Multicast nexthop container mcnh-items { list McNexthop-list { config "false"; key "if addr"; uses ospf_McNexthop-group; description "Holds OSPF Multicast nexthop information list"; } description "Holds OSPF Multicast nexthop information"; } } grouping ospf_UcNexthop-group { description "Open Shortest Path First (OSPF) Unicast nexthop information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Nexhop interface leaf if { config "false"; type nw_IfId; description "Specifies the nexhop interface"; } leaf addr { config "false"; type address_Ip; description "Specifies the nexhop interface IP address"; } // Flags leaf flags { config "false"; type ospf_NhFlags; description "Specifies nexhop interface flags"; } // Segment Routing MPLS out-label leaf sgmntRtgMplsOutLabel { config "false"; type ospf_SgmntRtgMplsLabel; description "Segment-routing Multiprotocol Label Switching(MPLS) out-label"; } } grouping ospf_McNexthop-group { description "Holds OSPF Multicast nexthop information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Nexhop interface leaf if { config "false"; type nw_IfId; description "Specifies the nexhop interface"; } leaf addr { config "false"; type address_Ip; description "Specifies the nexhop interface IP address"; } // Flags leaf flags { config "false"; type ospf_NhFlags; description "Specifies nexhop interface flags"; } // Segment Routing MPLS out-label leaf sgmntRtgMplsOutLabel { config "false"; type ospf_SgmntRtgMplsLabel; description "Segment-routing Multiprotocol Label Switching(MPLS) out-label"; } } grouping ospf_VLink-group { description "This object holds information about OSPF virtual links"; // Router id associated with virtual link neighbor leaf nbrRtrId { type ip_RtrId; description "Router id associated with virtual link neighbor"; } // Hello interval, interval between hello packets that // OSPF sends on the interface leaf helloIntvl { type ospf_HelloIntvl; description "Hello interval, interval between hello packets that OSPF sends on the interface"; } // Dead interval, interval during which at least one // hello packet must be received from a neighbor before // the router declares that neighbor as down leaf deadIntvl { type ospf_DeadIntvl; description "Dead interval, interval after which router declares that neighbor as down"; } // Retransmit interval, time between LSA retransmissions. // When a router sends an LSA to its neighbor, it keeps // the LSA until it receives an acknowledgement from the // neighbor. If the router receives no acknowldegement // within the retransmit interval, the local router // resends the LSA leaf rexmitIntvl { type ospf_RexmitIntvl; description "Retransmit interval, time between LSA retransmissions"; } // Transmit delay, estimated time needed to send an LSA // update packet leaf xmitDelay { type ospf_XmitDelay; description "Transmit delay, estimated time needed to send an LSA update packet"; } // This object holds OSPF neighbor information container adj-items { list AdjEp-list { config "false"; key "id"; uses ospf_AdjEp-group; description "This object holds OSPF adjacency information list"; } description "This object holds OSPF adjacency information"; } // This object holds authentication new policy information container authnew-items { uses ospf_AuthNewP-group; description "This object holds authentication new policy information"; } } grouping ospf_AdjEp-group { description "This object holds OSPF adjacency information"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Neighbor's router id leaf id { config "false"; type ospf_AdjId; description "OSPF adjacency neighbor's router id"; } // Neighbor's interface id leaf ifId { config "false"; type ospf_AdjIfId; description "Neighbor's interface id"; } // Adjacency state leaf operSt { config "false"; type ospf_AdjOperSt; description "Operational state of OSPF adjacency"; } // BFD state leaf bfdSt { config "false"; type ospf_BfdOperSt; description "Operational Bidirectional Forwarding Detection(BFD) State"; } // Area id leaf area { config "false"; type ospf_AreaId; description "OSPF adjacency operational area ID"; } // Neighbor priority leaf prio { config "false"; type ospf_DesigPrio; description "Operational neighbor priority"; } // Designated router address leaf dr { config "false"; type ospf_DesigAddr; description "Designated router address(DR)"; } // Backup designated router address leaf bdr { config "false"; type ospf_DesigAddr; description "Backup designated router address(BDR)"; } leaf peerIp { config "false"; type address_Ip; description "Adjacency peer IP address"; } // Peer options from hello packet leaf helloOptions { config "false"; type ospf_Options; description "Peer options from hello packet"; } // Peer options from DBD packet leaf dbdOptions { config "false"; type ospf_Options; description "Peer options from database descriptor(DBD) packet"; } // Flags leaf flags { config "false"; type ospf_AdjFlags; description "Adjacency flags can be master-self,all-dbds-sent,all-dbds-acked and peer-gr-helper"; } leaf peerName { config "false"; type string; description "OSPf adjacency Neighbor name"; } // Segment Routing Adjacency sid label leaf sgmntRtgMplsAdjSidLabel { config "false"; type ospf_AdjSidLabel; description "Segment routing adjacency label absolute value"; } // Segment Routing Adjacency sid flags leaf sgmntRtgMplsAdjSidFlags { config "false"; type ospf_AdjSidFlags; description "Segment routing adjacency sid flags"; } // This object holds the OSPF neighbor related statistics container adjstats-items { uses ospf_AdjStats-group; description "Object holds OSPF neighbor adjacency related statistics"; } // This object holds OSPF graceful restart operational // information container gr-items { uses ospf_GrSt-group; description "Object holds OSPF Graceful Restart operational Information"; } } grouping ospf_AdjStats-group { description "Object holds OSPF neighbor adjacency related statistics"; // State change count leaf stChgCnt { config "false"; type ospf_Counter32; description "Number of states changed during OSPF adjacency"; } leaf lastStChgTs { config "false"; type union { type string; type uint64; } description "Timestamp of the latest state change"; } leaf lastNonHelloPktTs { config "false"; type union { type string; type uint64; } description "Timestamp of the last non hello packet received"; } // DBD Sequence number leaf dbdSeqNum { config "false"; type ospf_Counter32; description "Database descriptor(DBD) sequence number"; } // Number of LSAs on request list leaf reqLsaCnt { config "false"; type ospf_Counter32; description "Number of link-state advertisement(LSAs) on request list"; } // Outstanding LSAs from last request leaf outstandingLsaCnt { config "false"; type ospf_Counter32; description "Number of outstanding LSAs from last request"; } // Number of retransmissions of LSA request leaf lsaReqRexmitCnt { config "false"; type ospf_Counter32; description "Number of retransmissions of LSA request"; } leaf deadTimerExpTs { config "false"; type union { type string; type uint64; } description "Timestamp of the dead timer expiry"; } } grouping ospf_GrSt-group { description "Object holds OSPF Graceful Restart operational Information"; // Peer restart helper Status leaf helperSt { config "false"; type ospf_HelperSt; description "Peer restart helper status"; } // Peer restart helper age leaf helperAge { config "false"; type ospf_HelperAge; description "Peer restart helper age"; } // Peer restart helper exit qualifier leaf helperExitQual { config "false"; type ospf_HelperExitQual; description "Peer restart helper exit qualifier"; } } grouping ospf_AuthNewP-group { description "This object holds authentication new policy information"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Authentication type leaf type { type ospf_AuthT; description "Authentication types can be simple, md5 or none."; } // Authentication key id leaf keyId { type ospf_AuthKeyId; description "Key id used for authentication"; } // Authentication key leaf key { type ospf_AuthKey; description "Key used for authenticatoin"; } // Authentication key added for visibility in DME DB leaf keyNew { type ospf_AuthKeyNew; description "Key used for authenticatoin"; } leaf keySecureMode { type boolean; default "false"; description "Encrypted authentication key or plain text key"; } // Authentication md5 key leaf md5key { type ospf_AuthKey; description "Authentication md5 key"; } // Authentication md5 key added for visibility in DME DB leaf md5keyNew { type ospf_AuthKeyNew; description "Authentication md5 key"; } leaf md5keySecureMode { type boolean; default "false"; description "Encrypted authentication md5 key or plain text key"; } leaf keychain { type string; description "Authentication keychain"; } } grouping ospf_SLink-group { description "This object holds information about OSPF sham links"; leaf srcAddr { type address_Ip; description "Sham-link source"; } leaf dstAddr { type address_Ip; description "Sham-link destination"; } leaf demandCkt { config "false"; type boolean; description "Demand Circuit"; } // Hello interval, interval between hello packets that // OSPF sends on the interface leaf helloIntvl { type ospf_HelloIntvl; description "Hello interval, interval between hello packets that OSPF sends on the interface"; } // Dead interval, interval during which at least one // hello packet must be received from a neighbor before // the router declares that neighbor as down leaf deadIntvl { type ospf_DeadIntvl; description "Dead interval, interval after which router declares that neighbor as down"; } // Retransmit interval, time between LSA retransmissions. // When a router sends an LSA to its neighbor, it keeps // the LSA until it receives an acknowledgement from the // neighbor. If the router receives no acknowldegement // within the retransmit interval, the local router // resends the LSA leaf rexmitIntvl { type ospf_RexmitIntvl; description "Retransmit interval, time between LSA retransmissions"; } // Transmit delay, estimated time needed to send an LSA // update packet leaf xmitDelay { type ospf_XmitDelay; description "Transmit delay, estimated time needed to send an LSA update packet"; } // Cost of the interface leaf cost { type ospf_IfCost; description "Specifies the cost of interface"; } } grouping ospf_SlinkNew-group { description "This object holds information about OSPF sham links"; leaf srcAddr { type address_Ipv4; description "Sham-link source IP address"; } leaf dstAddr { type address_Ipv4; description "Sham-link destination IP address"; } leaf demandCkt { type boolean; description "Specifies whether a OSPF sham-link interface is a demand circuit or not"; } // Hello interval, interval between hello packets that // OSPF sends on the interface leaf helloIntvl { type ospf_HelloIntvl; description "Hello interval, interval between hello packets that OSPF sends on the interface"; } // Dead interval, interval during which at least one // hello packet must be received from a neighbor before // the router declares that neighbor as down leaf deadIntvl { type ospf_DeadIntvl; description "Dead interval, interval after which router declares that neighbor as down"; } // Retransmit interval, time between LSA retransmissions. // When a router sends an LSA to its neighbor, it keeps // the LSA until it receives an acknowledgement from the // neighbor. If the router receives no acknowldegement // within the retransmit interval, the local router // resends the LSA leaf rexmitIntvl { type ospf_RexmitIntvl; description "Retransmit interval, time between LSA retransmissions"; } // Transmit delay, estimated time needed to send an LSA // update packet leaf xmitDelay { type ospf_XmitDelay; description "Transmit delay, estimated time needed to send an LSA update packet"; } // Cost of the interface leaf cost { type ospf_IfCost; description "Specifies the cost of interface"; } // This object holds authentication new policy information container authnew-items { uses ospf_AuthNewP-group; description "This object holds authentication new policy information"; } } grouping ospf_LsaLeakP-group { description "Thi object holds link-state advertisement(LSA) leak policies"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { config "false"; type rtleak_Scope; description "Scope"; } leaf rtMap { config "false"; type string; description "Route Map"; } // Operational state leaf operSt { config "false"; type ospf_LsaLeakOperSt; description "Operational state of LSA leak"; } } grouping ospf_LsaLeakCtrlP-group { description "This object holds link-state advertisement(LSA) leak control policies"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; description "Scope"; } leaf rtMap { type string; description "Route Map"; } leaf dir { type rtleak_RtCtrlDir; description "Holds route control directory information"; } // Operational state leaf operSt { config "false"; type ospf_LsaLeakOperSt; description "Operational state of LSA leak"; } } grouping ospf_DefRtLeakP-group { description "Default Route leak or the distribution policy"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; default "defrt"; description "Scope"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map for default-information originate"; } // DefRtLeak always advertise leaf always { type ospf_Always; description "Always advertise default route leak"; } } grouping ospf_InterAreaRtSum-group { description "Inter-area Route Summarization on ABRs, summarizing routes between areas in the autonomous system"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf addr { type address_Ip; description "Address"; } // Summary address no Advertise leaf ctrl { type ospf_SumControl; description "Summary address no advertise"; } // Number of component routes leaf compRtCnt { config "false"; type nw_Counter32; description "Number of component routes"; } // Route summary cost leaf operCost { config "false"; type ospf_SumCost; description "Route summary operational cost"; } // Area range cost leaf cost { type ospf_SumCost; description "Area range cost for route summarization"; } } grouping ospf_SpfComp-group { description "Shortest Path First(SPF) computation frequency controls"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Initial spf schedule delay interval leaf initIntvl { type ospf_SpfCompInitIntvl; description "Initial SPF schedule delay interval"; } // Minimum hold time between spf calculations leaf holdIntvl { type ospf_SpfCompHoldIntvl; description "Minimum hold time interval between SPF calculations"; } // Maximum wait time between spf calculations leaf maxIntvl { type ospf_SpfCompMaxIntvl; description "Maximum wait time between SPF calculations"; } } grouping ospf_LsaCtrl-group { description "Link State Advertisement(LSA) related frequency controls"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // LSA group pacing interval leaf gpPacingIntvl { type ospf_LsaGpPacingIntvl; description "LSA group pacing interval"; } // Minimum interval between arrival of a LSA leaf arrivalIntvl { type ospf_LsaArrivalIntvl; description "Minimum interval between arrival of a LSA"; } // LSA generation throttle start wait interval leaf startIntvl { type ospf_LsaThStartIntvl; description "LSA generation throttle start wait interval"; } // LSA generation throttle hold interval leaf holdIntvl { type ospf_LsaThHoldIntvl; description "LSA generation throttle hold interval"; } // LSA generation throttle maximum interval leaf maxIntvl { type ospf_LsaThMaxIntvl; description "LSA generation throttle maximum interval"; } } grouping ospf_L3vpnDomainPrimary-group { description "This object holds L3VPN OSPF Primary domain and domain-tag info"; // L3VPN OSPF Domain Type leaf domainType { type ospf_DomainType; description "L3VPN Domain Type 0x0005/0x0105/0x0205/0x8005"; } // L3VPN Domain Identifier leaf domainId { type ospf_DomainId; description "L3VPN Domain Identifier which can be ipv4 addr or 12 Hex Char or Null"; } // L3VPN Domain Tag (AS number) leaf domainTag { type ospf_DomainTag; description "L3VPN Domain Tag (AS number) in the range of 0-2147483647"; } } grouping ospf_L3vpnDomainSecondary-group { description "This object holds L3VPN OSPF Secondary domain info"; // L3VPN OSPF Domain Type leaf domainType { type ospf_DomainType; description "L3VPN Domain Type 0x0005/0x0105/0x0205/0x8005"; } // L3VPN Domain Identifier leaf domainId { type ospf_DomainId; description "L3VPN Domain Identifier which can be ipv4 addr or 12 Hex Char or Null"; } } grouping ospf_DomStats-group { description "This object holds the OSPF VRF related statistics"; // Interface count leaf ifCnt { config "false"; type ospf_Counter32; description "Holds the count of interfaces"; } // Area count leaf areaCnt { config "false"; type ospf_Counter32; description "Holds the number of area's configured"; } // Stub area count leaf stubAreaCnt { config "false"; type ospf_Counter32; description "Holds the count of stub areas"; } // NSSA area count leaf nssaAreaCnt { config "false"; type ospf_Counter32; description "Count of not-so-stubby area(NSSA) area"; } // External area count leaf extAreaCnt { config "false"; type ospf_Counter32; description "Holds the count of external areas"; } // Active stub area count leaf activeStubAreaCnt { config "false"; type ospf_Counter32; description "Holds the count of active stub areas"; } // Active NSSA area count leaf activeNssaAreaCnt { config "false"; type ospf_Counter32; description "Active not-so-stubby area(NSSA) area count"; } // Active external area count leaf activeExtAreaCnt { config "false"; type ospf_Counter32; description "Holds the active external area count"; } // Active Area count leaf activeAreaCnt { config "false"; type ospf_Counter32; description "Holds the count of active areas"; } leaf lastStatsClearTs { config "false"; type union { type string; type uint64; } description "Holds the last statistics clear timestamp"; } // Neighbor count leaf peerCnt { config "false"; type ospf_Counter32; description "Holds the neighbor/peer count"; } // External LSA count leaf extLsaCnt { config "false"; type ospf_Counter32; description "Holds the external link-state advertisement(LSA) count"; } // Opaque AS LSA count leaf opaqueAsLsaCnt { config "false"; type ospf_Counter32; description "Holds the count of opaque AS LSAs"; } // Total AS LSA count leaf totalAsLsaCnt { config "false"; type ospf_Counter32; description "Holds the total AS link-state advertisement(LSA) count"; } // New LSA Rx count leaf newLsaRxCnt { config "false"; type ospf_Counter32; description "Holds the Rx count of new link-state advertisement(LSA)"; } // New LSA Tx count leaf newLsaTxCnt { config "false"; type ospf_Counter32; description "Holds the Tx count of new link-state advertisement(LSA)"; } // Area Border Router Status leaf areaBdrRtr { config "false"; type ospf_AreaBdrRtr; description "Status of Area Border Router(ABR)"; } // ASBR Router Status leaf asBdrRtr { config "false"; type ospf_ASBdrRtr; description "Holds the status of Autonomous System Boundary Router(ASBR)"; } } grouping ospf_Gr-group { description "Object holding per OSPF VRF graceful restart information"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Graceful restart controls leaf ctrl { type ospf_GrCtrl; description "Graceful restart controls like planned, complete and disabled state"; } leaf helper { type boolean; default "true"; description "Graceful restart helper mode"; } // Graceful restart period leaf gracePeriod { type ospf_GrPeriod; description "Graceful restart period in seconds starting from 5 to 1800"; } } grouping ospf_If-group { description "Object holds OSPF information that is operated at interface level"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { config "false"; type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // Interface controls leaf ctrl { type ospf_IfControl; description "Interface controls can be MTU ignore, Advertise subnet"; } // Passive interface control leaf passiveCtrl { type ospf_PassiveControl; description "Passive interface control. Interface can be configured as passive or non-passive"; } // BFD control leaf bfdCtrl { type ospf_BfdControl; description "Bidirectional Forwarding Detection (BFD) control"; } // Network type leaf nwT { type ospf_NwT; description "Holds the network type as point2point or broadcast"; } // Priority, used in determining the designated router on // this network leaf prio { type ospf_DesigPrio; description "Priority, used in determining the designated router on this network"; } // Cost of the interface leaf cost { type ospf_IfCost; description "Cost of the interface ranging from 0 to 65535"; } // Transmit delay, estimated time needed to send an LSA // update packet leaf xmitDelay { type ospf_XmitDelay; description "Transmit delay, estimated time needed to send an LSA update packet"; } // Area to which this interface belongs to leaf area { type ospf_AreaId; description "Area to which this interface belongs to"; } leaf advertiseSecondaries { type boolean; default "true"; description "Advertise secondary IP addresses"; } // Node Flag, determines if prefix attribute // should have the node flag or not leaf nodeFlag { type ospf_FlagStatus; description "Node flag, determines if prefix attribute should have the node flag or not"; } // Operational state leaf operSt { config "false"; type ospf_IfOperSt; description "Operational state of the interface"; } // Operational failed state qualifier leaf failStQual { config "false"; type ospf_FailStQual; description "Operational failed state qualifier"; } // Interface type leaf type { config "false"; type ospf_IfType; description "Type of the interface, loopback, p2p, p2mp, nbma, bcast etc."; } // Flags leaf flags { config "false"; type ospf_IfFlags; description "Interface flags, Admin up or Proto up"; } leaf addr { config "false"; type address_Ip; description "Interface IPv4 address"; } leaf dr { config "false"; type address_Ip; description "Designated router(DR) IP address"; } leaf bdr { config "false"; type address_Ip; description "Backup designated router(BDR) Ip address"; } // Designated router id leaf drId { config "false"; type ip_RtrId; description "Designated router(DR) identifier"; } // Backup designated router id leaf bdrId { config "false"; type ip_RtrId; description "Backup designated router (BDR) identifier"; } // LSA checksum sum leaf lsaCksumSum { config "false"; type ospf_LsaCksumSum; description " Link-state advertisement(LSA) checksum sum"; } // Operational Cost leaf operCost { config "false"; type ospf_IfCost; description "Operational cost of interface"; } // Operational Dead interval leaf operDeadIntvl { config "false"; type ospf_OperDeadIntvl; description "Interface operational dead interval"; } // Operational SID value for this interface leaf operSidIndex { config "false"; type ospf_SidIndex; description "Operational Segment-Routing prefix SID value. It is relative value to SRBG start."; } leaf sgmntRtgMplsEllLsid { config "false"; type address_Ip; description "Segment Routing MPLS Extended Link LSA Link State ID"; } // Explicit-NULL leaf explicitNull { config "false"; type ospf_Active; description "Holds the Explicit-NULL state as active or not active"; } // Hello interval, interval between hello packets that // OSPF sends on the interface leaf helloIntvl { type ospf_HelloIntvl; description "Hello interval, interval between hello packets that OSPF sends on the interface"; } // Dead interval, interval during which at least one // hello packet must be received from a neighbor before // the router declares that neighbor as down leaf deadIntvl { type ospf_DeadIntvl; description "Dead interval, interval after which router declares that neighbor as down"; } // Retransmit interval, time between LSA retransmissions. // When a router sends an LSA to its neighbor, it keeps // the LSA until it receives an acknowledgement from the // neighbor. If the router receives no acknowldegement // within the retransmit interval, the local router // resends the LSA leaf rexmitIntvl { type ospf_RexmitIntvl; description "Retransmit interval, time between LSA retransmissions"; } // This object holds OSPF neighbor information container adj-items { list AdjEp-list { config "false"; key "id"; uses ospf_AdjEp-group; description "This object holds OSPF adjacency information list"; } description "This object holds OSPF adjacency information"; } // This object holds authentication policy information container auth-items { uses ospf_AuthP-group; description "This object holds authentication policy information"; } // This object holds authentication new policy information container authnew-items { uses ospf_AuthNewP-group; description "This object holds authentication new policy information"; } // OSPF databases container db-items { list Db-list { config "false"; key "type"; uses ospf_Db-group; description "This object holds OSPF link state databases (LSDB) list"; } description "This object holds OSPF link state databases (LSDB)"; } // This object holds the OSPF interface related statistics container ifstats-items { uses ospf_IfStats-group; description "Object holds the OSPF interface related Statistics"; } // This object holds multi-area information // at a interface level container multiarea-items { list MultiArea-list { key "multiareaid"; uses ospf_MultiArea-group; description "This object holds multi-area information operated at interface level list"; } description "This object holds multi-area information operated at interface level"; } // This object holds the OSPF traffic related information container trstats-items { uses ospf_TrafficStats-group; description "This object holds the OSPF traffic related information"; } container rtospfIfDefToOspfIf-items { list RtOspfIfDefToOspfIf-list { config "false"; key "tDn"; uses ospf_RtOspfIfDefToOspfIf_target-group; } } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping ospf_AuthP-group { description "This object holds authentication policy information"; // Authentication type leaf type { config "false"; type ospf_AuthT; description "Authentication types can be simple, md5 or none."; } // Authentication key id leaf keyId { config "false"; type ospf_AuthKeyId; description "Key id used for authentication"; } // Authentication key. This property will be deprecated in // Future releases leaf key { config "false"; type ospf_AuthKey; description "Key used for authenticatoin"; } // Authentication key added for visibility in DME DB leaf keyNew { config "false"; type ospf_AuthKeyNew; description "Key used for authentication"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping ospf_IfStats-group { description "Object holds the OSPF interface related Statistics"; // If events count leaf evCnt { config "false"; type ospf_Counter32; description "Interface events count"; } // LSA count leaf lsaCnt { config "false"; type ospf_Counter32; description "Link-state advertisement(LSA) count"; } // Neighbor count leaf peerCnt { config "false"; type ospf_Counter32; description "Holds the count of peers/neighbors"; } // Flood to neighbor count leaf floodToPeerCnt { config "false"; type ospf_Counter32; description "Flood to neighbor count"; } // Number of adjacency leaf adjCnt { config "false"; type ospf_Counter32; description "Holds the count of adjacency"; } // Number of peers in hitless helper mode leaf grHelperPeerCnt { config "false"; type ospf_Counter32; description "Number of peers in GR hitless helper mode"; } } grouping ospf_MultiArea-group { description "This object holds multi-area information operated at interface level"; // Multi Area id leaf multiareaid { type ospf_AreaId; description "Holds multi area identifier (ID)"; } } grouping ospf_TrafficStats-group { description "This object holds the OSPF traffic related information"; // Total packets received leaf totalPktsRcvd { config "false"; type ospf_Counter32; description "Total number of packets received"; } // Hello packets received leaf helloPktsRcvd { config "false"; type ospf_Counter32; description "Total number of hello packets received"; } // Database description packets received leaf dbdPktsRcvd { config "false"; type ospf_Counter32; description "Database description packets received"; } // Link-state request packets received leaf lsReqPktsRcvd { config "false"; type ospf_Counter32; description "Link-state request packets received"; } // Link-state update packets received leaf lsUpdPktsRcvd { config "false"; type ospf_Counter32; description "Link-state update packets received"; } // Link-state ack packets received leaf lsAckPktsRcvd { config "false"; type ospf_Counter32; description "Link-state ACK packets received"; } // Received packets dropped leaf rcvdPktsDropped { config "false"; type ospf_Counter32; description "Count of received packets dropped"; } // Error packets rcvd leaf errPktsRcvd { config "false"; type ospf_Counter32; description "Count of Error packets received"; } // Error hello packets received leaf errHelloPktsRcvd { config "false"; type ospf_Counter32; description "Number of Error hello packets received"; } // Error database description packets received leaf errDbdPktsRcvd { config "false"; type ospf_Counter32; description "Error database description packets received"; } // Error link-state request packets received leaf errLsReqPktsRcvd { config "false"; type ospf_Counter32; description "Error link-state request packets received"; } // Error link-state update packets received leaf errLsUpdPktsRcvd { config "false"; type ospf_Counter32; description "Error link-state update packets received"; } // Error link-state ack packets received leaf errLsAckPktsRcvd { config "false"; type ospf_Counter32; description "Error LSACK Packets Received"; } // Unknown packets received leaf unknownPktsRcvd { config "false"; type ospf_Counter32; description "Count of unknown packets received"; } // Duplicate routerid packets received leaf dupRtrIdPktsRcvd { config "false"; type ospf_Counter32; description "Duplicate router-id packets received"; } // Duplicate source addr packets received leaf dupSrcAddrPktsRcvd { config "false"; type ospf_Counter32; description "Duplicate source address packets received"; } // Wrong area packets received leaf wrongAreaPktsRcvd { config "false"; type ospf_Counter32; description "Wrong Area Packets Received"; } // Invalid source addr packets received leaf invalidSrcAddrPktsRcvd { config "false"; type ospf_Counter32; description "Invalid Source Addr Packets Received"; } // Invalid destination addr packets received leaf invalidDestAddrPktsRcvd { config "false"; type ospf_Counter32; description "Invalid Destination Addr Packets Received"; } // Bad CRC packets received leaf badCRCPktsRcvd { config "false"; type ospf_Counter32; description "Bad CRC Packets Received"; } // Bad version packets received leaf badVersionPktsRcvd { config "false"; type ospf_Counter32; description "Bad Version Packets Received"; } // Bad reserved fields packets received leaf badResvFieldPktsRcvd { config "false"; type ospf_Counter32; description "Bad Reserved Field Packets Received"; } // Changed neighbor routerId or ip address packets received leaf peerRtrIdChgdPktsRcvd { config "false"; type ospf_Counter32; description "Peer RouterId Changed Packets Received"; } // Non hello received packets for which neighbor is not found leaf peerNotFoundPktsRcvd { config "false"; type ospf_Counter32; description "Peer Not Found Packets Received"; } // Authentication failed packets received leaf badAuthPktsRcvd { config "false"; type ospf_Counter32; description "Bad Authentication Packets Received"; } // Bad length packets received leaf badLenPktsRcvd { config "false"; type ospf_Counter32; description "Bad Length Packets Received"; } // Packets received on passive interface leaf passiveIntfPktsRcvd { config "false"; type ospf_Counter32; description "Passive Interface Packets Received"; } // Packets received on OSPF not enabled interface leaf noOspfIntfPktsRcvd { config "false"; type ospf_Counter32; description "No OSPF Interface Packets Received"; } // Received LSA packets ignored leaf rcvdLsaPktsIgnored { config "false"; type ospf_Counter32; description "Received LSA Packets Ignored"; } // Number of LSA packets dropped during SPF run leaf droppedLsaPktsWhileSPF { config "false"; type ospf_Counter32; description "LSA Packets Dropped During SPF"; } // Number of LSA packets dropped during graceful restart leaf droppedLsaPktsWhileGR { config "false"; type ospf_Counter32; description "LSA Packets Dropped During GR"; } // Total packets sent leaf totalPktsSent { config "false"; type ospf_Counter32; description "Total number of packets sent"; } // Hello packets sent leaf helloPktsSent { config "false"; type ospf_Counter32; description "Total number of hello packets sent"; } // Database description packets sent leaf dbdPktsSent { config "false"; type ospf_Counter32; description "Database description packets sent"; } // Link-state request packets sent leaf lsReqPktsSent { config "false"; type ospf_Counter32; description "Link-state request packets sent"; } // Link-state update packets sent leaf lsUpdPktsSent { config "false"; type ospf_Counter32; description "Link-state update packets sent"; } // Link-state ack packets sent leaf lsAckPktsSent { config "false"; type ospf_Counter32; description "Link-state ACK packets sent"; } // Dropped send packets leaf droppedSendPkts { config "false"; type ospf_Counter32; description "Total number of dropped send packets"; } // Error send packets leaf errSendPkts { config "false"; type ospf_Counter32; description "Total number of error send packets"; } // Number of first transmission of LSU packets leaf lsuFirstTxPkts { config "false"; type ospf_Counter32; description "Number of first transmission of LSU packets"; } // Number of retransmissions of LSU packets leaf lsuRexmitPkts { config "false"; type ospf_Counter32; description "Number of retransmissions of LSU packets"; } // Number of LSU packets sent in response to LSREQ packets leaf lsuForLsreqPkts { config "false"; type ospf_Counter32; description "Number of LSU packets sent in response to LSREQ packets"; } // Number of LSU packets sent to a neighbor specifically leaf lsuPeerTxPkts { config "false"; type ospf_Counter32; description "Number of LSU packets sent to a neighbor specifically"; } // Number of times flooding packets dropped due to IP queue throttling leaf floodPktSendIpThrottle { config "false"; type ospf_Counter32; description "Number of times flooding packets dropped due to IP queue throttling"; } // Number of times flooding packets dropped due to token throttling leaf floodPktSendTokenThrottle { config "false"; type ospf_Counter32; description "Number of times flooding packets dropped due to token throttling"; } leaf lastStatsClearTs { config "false"; type union { type string; type uint64; } description "Last traffic statistics clear timestamp"; } } grouping ospf_MaxLsaP-group { description "Max-LSA(Link State Advertisement) Database overflow for each domain or VRF"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // maximum number of non self-generated LSAs leaf maxLsa { type ospf_MaxLsa; description "Maximum number of non self-generated LSAs"; } // Threshold value (%) at which to generate a warning message leaf thresh { type ospf_MaxLsaThresh; description "Max LSA threshold value (%) at which to generate a warning message"; } // Specifies the number of times the OSPF process can // consecutively be placed into the sleep state. leaf sleepCnt { type ospf_SleepCnt; description "Specifies the number of times the OSPF process can consecutively be placed into the sleep state"; } // Specifies the time (in minutes) to ignore all neighbors after // the maximum limit of LSAs has been exceeded leaf sleepIntvl { type ospf_SleepIntvl; description "Specifies time interval(in minutes) to ignore all neighbors after the maximum limit of LSAs has been exceeded"; } // Specifies the time, in minutes, after which the // sleep count is reset to zero. leaf resetIntvl { type ospf_ResetIntvl; description "Specifies the time, in minutes, after which the sleep count reset to zero"; } leaf action { type ospf_MaxLsaAct; description "Specifies the Max LSA action"; } leaf operSt { config "false"; type ospf_MaxLsaOperSt; description "Operational state of max LSA"; } leaf operStQual { config "false"; type ospf_MaxLsaOperStQual; description "Operational state qualifier for max LSA"; } leaf nonSelfLsaCnt { config "false"; type ospf_NonSelfLsaCnt; description "Current number of non self-generated LSAs"; } leaf currSleepCnt { config "false"; type ospf_CurrSleepCnt; description "Current number of sleep LSAs"; } } grouping ospf_MaxMetricLsaP-group { description "Max-Metric Link State Advertisement information per Domain/VRF"; // Max metric controls - specifies when to send max // metric LSAs and for which routes/links leaf ctrl { type ospf_MaxMetricControl; description "Maximum Metric Controls - specifies when to send max-metric LSAs"; } // Max metric value to be used for external LSAs leaf maxMetricExtLsa { type ospf_MaxMetric; description "Maximum metric value for external LSAs"; } // Max metric value to be used for summary LSAs leaf maxMetricSummLsa { type ospf_MaxMetric; description "Maximum metric value for summary LSAs"; } // Time (in secs) for which max metric should be advertised // at startup leaf startupIntvl { type ospf_StartupIntvl; description "Time (in secs) for which max metric should be advertised at startup"; } // At startup, advertise max metric until convergence of BGP ASN leaf awaitConvBgpAsn { type rtleak_Asn; description "At startup, advertise max metric until convergence of BGP ASN"; } } grouping ospf_InterLeakP-group { description "This defines distribution of routes from other protocols to OSPF"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; default "inter"; description "Scope"; } leaf rtMap { type string { pattern ".*[!-~]{1,63}.*"; } description "Route-map for Inter protocol route leak"; } // Protocol from where the routes are leaked leaf proto { type rtleak_Proto; description "Protocol"; } // Routing protocol instance, the routing instance of the // protocol from where the routes are being leaked leaf inst { type rtleak_Inst; description "Instance"; } // Leak BGP routes from this Autonomous System (AS) <1-4294967295>|<1-65535>[.<0-65535>] Autonomous system number leaf asn { type rtleak_Asn { pattern "((none)|([1-9]{1}[0-9]{0,8}|[1-3]{1}[0-9]{1,9}|4{1}[0-1]{1}[0-9]{8}|4{1}2{1}[0-8]{1}[0-9]{7}|4{1}2{1}9{1}[0-3]{1}[0-9]{6}|4{1}2{1}9{1}4{1}[0-8]{1}[0-9]{5}|4{1}2{1}9{1}4{1}9{1}[0-5]{1}[0-9]{4}|4{1}2{1}9{1}4{1}9{1}6{1}[0-6]{1}[0-9]{3}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}[0-1]{1}[0-9]{2}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}[0-8]{1}[0-9]{1}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}9{1}[0-5]{1})|(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\.([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])))"; } description "Autonomous System Number"; } // SRv6 Prefix Type which is being leaked leaf srv6PrefixType { type rtleak_Srv6PrefixType; description "SRv6 Prefix Type; Valid only when proto is srv6"; } // DefRtLeak always advertise leaf always { type ospf_Always; description "Always advertise default route leak"; } } grouping ospf_LeakCtrlP-group { description "Leak controls related to the number of routes leaked"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Controls on what to do when the number of routes cross // the maximum route/prefix limit leaf ctrl { type rtleak_Ctrl; description "Controls"; } // Maximum limit on routes leaked leaf max { type rtleak_MaxPfx; description "Maximum Limit"; } // Threshold at which warning is issued when number of // routes crosses the threshold leaf thresh { type rtleak_Thresh; description "Threshold"; } // Maximum number of retries to retrieve the leaked routes, // this is applicable only when the routes are withdrawn leaf retries { type rtleak_Retries; description "Retries"; } // Duration between the retries leaf duration { type rtleak_Duration; description "Duration"; } } grouping ospf_RibLeakP-group { description "OSPF to Route Information Base(RIB) Route Leak/distribution Policy Per Domain or VRF"; leaf rtMap { type string { pattern ".*[!-~]{1,63}.*"; } description "Route map used in distribution of routes"; } // If always is set to false, only routes that are permitted // by the route map(rtMap) configuration are downloaded to the // routing information base (RIB). leaf always { type rtleak_Always; description "Filter routes into RIB"; } } grouping ospf_ExtRtSum-group { description "External Route Summarization on ASBRs that are Leaking Routes into OSPF"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf addr { type address_Ip; description "Address"; } // Summary address no Advertise leaf ctrl { type ospf_SumControl; description "Summary address no advertise"; } // Number of component routes leaf compRtCnt { config "false"; type nw_Counter32; description "Number of component routes"; } // Route summary cost leaf operCost { config "false"; type ospf_SumCost; description "Route summary operational cost"; } // Summary address tag leaf tag { type ospf_RtTag; description "Route tag of external route"; } } grouping ospf_EventLogs-group { description "Object holding the size of the Logfiles for various types of OSPF events "; // Event LogType leaf eventType { type ospf_EventType; description "Holds the type of event logging"; } // Event LogSize leaf logSize { type ospf_EventLogSize; description "Holds the size of event logging"; } // Event Log size in bytes leaf logSizeKBytes { type ospf_EventLogSizeKBytes; description "Event Log Size in KBytes"; } } grouping ospf_Mpls-group { description "OSPF support information for MPLS TE and LDP per Instance"; // Router ID associated with TE leaf teRtrId { type nw_IfId; description "Routable Interface ID associated with MPLS TE. Supported interfaces include Ethernet-like, port/channel, loopback and vlan interfaces."; } leaf teMcast { type boolean; description "MPLS TE multicast support."; } leaf ldpSync { type boolean; default "false"; description "MPLS LDP Sync Control."; } leaf ldpSend { type boolean; default "false"; description "MPLS LDP Send Control."; } // This object holds per domain mpls te information container area-items { list MplsOspfArea-list { key "id"; uses ospf_MplsOspfArea-group; description "OSPF support Area information for MPLS TE and LDP per Instance list"; } description "OSPF support Area information for MPLS TE and LDP per Instance"; } } grouping ospf_MplsOspfArea-group { description "OSPF support Area information for MPLS TE and LDP per Instance"; // Area id leaf id { type ospf_AreaId; description "Area identifier to which a network or interface belongs"; } leaf teCap { type boolean; description "MPLS TE capability flag per Area"; } leaf ldp { type boolean; default "false"; description "MPLS LDP support flag per Area"; } } grouping ospf_SnmpTrapsEntity-group { description "Holds OSPF SNMP Traps control plane entity information"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // ospf trap container inst-items { list Tospf-list { key "ospfInstName"; uses ospf_Tospf-group; description "Configure SNMP OSPF traps list"; } description "Configure SNMP OSPF traps"; } } grouping ospf_Tospf-group { description "Configure SNMP OSPF traps"; // SNMP OSPF trap for // inst leaf ospfInstName { type ospf_SnmpInstanceName; description "OSPF instance name or 'all' which means for all the processes"; } leaf trapLsa { type boolean; default "true"; description "SNMP OSPF trap for ospf lsa"; } leaf trapAll { type boolean; default "false"; description "SNMP OSPF trap for all ospv3 instances"; } // SNMP OSPF trap for OSPF window Type leaf trapWindow { type ospf_WindowType; description "SNMP OSPF trap for window type from 1 to 60"; } // SNMP OSPF trap for OSPF rate leaf trapRate { type ospf_RateType; description "SNMP OSPF trap for Rate"; } } grouping rtctrl_L2Evpn-group { description "L2EVPN Entity"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This object holds Bridge Domain // Ethernet VPN instance information container bdevi-items { list BDEvi-list { key "encap"; uses rtctrl_BDEvi-group; description "Bridge Domain Ethernet VPN Instance list"; } description "Bridge Domain Ethernet VPN Instance"; } container encap_mpls-items { uses nvo_EncapMpls-group; description "Configuration of MPLS-based segment routing encapsulation"; } } grouping rtctrl_BDEvi-group { description "Bridge Domain Ethernet VPN Instance"; leaf operRd { config "false"; type mtx_array_community; description "Operational Route Distinguisher"; } leaf tblMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route-map name for table-map command to filter routes."; } leaf tblMapFltr { type boolean; description "Filter option used with table-map configuration for selective route download."; } leaf operSecondaryRd { config "false"; type mtx_array_community; description "Operational Secondary RD for vxlan multisite border gateway"; } leaf rd { type mtx_array_community; description "Route Distinguisher"; } leaf encap { type string; description "Encapsulation"; } // Route policy holds all route policy entries and route controls container rttp-items { list RttP-list { key "type"; uses rtctrl_RttP-group; description "Route Policy list"; } description "Route Policy"; } } grouping rtctrl_RttP-group { description "Route Policy"; leaf operRttAuto { config "false"; type mtx_array_community; description "Operational Route Target Import Auto Evpn"; } // Type leaf type { type rtctrl_RttPType; description "Type"; } // List of route policy entries container ent-items { list RttEntry-list { key "rtt"; uses rtctrl_RttEntry-group; description "Route Entry list"; } description "Route Entry"; } // Route control map policy for routes imported/exported // into an AF. Control is through route maps. container rtctrlmap-items { uses rtctrl_MapP-group; description "Route Control Map Policy"; } // Route control map policy for routes imported/exported // into an AF in the default VRF. Control is through route maps. container rtctrldefmap-items { uses rtctrl_DomDefMapP-group; description "Route Control Map Policy for the default VRF"; } // Route control policy for routes imported/exported // into an AF in the non-default VRF container rtctrlnondef-items { uses rtctrl_DomNonDefP-group; description "Route Control Policy for the non-default VRF"; } } grouping rtctrl_RttEntry-group { description "Route Entry"; leaf rtt { type mtx_array_community; description "Route Target"; } } grouping rtctrl_MapP-group { description "Route Control Map Policy"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping rtctrl_DomDefMapP-group { description "Route Control Map Policy for the default VRF"; leaf pfxLimit { type uint32 { range "0..2147483647"; } default "0"; description "Default Vrf Prefix Limit"; } leaf allowVpn { type boolean; description "Allow VPN to be considered for route leaking"; } leaf advtVpn { type boolean; description "Allow leaked routes to be advertised to VPN"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping rtctrl_DomNonDefP-group { description "Route Control Policy for the non-default VRF"; leaf allowVpn { type boolean; description "Allow VPN to be considered for route leaking"; } leaf advtVpn { type boolean; description "Allow leaked routes to be advertised to VPN"; } } grouping nvo_EncapMpls-group { description "Configuration of MPLS-based segment routing encapsulation"; leaf encapCfg { type boolean; description "Enable/disable segment routing encapsulation"; } leaf sourceIf { type nw_IfId; description "Source interface associated with segment routing encapsulation."; } leaf mplsControlWord { type boolean; default "false"; description "Enable/disable Control Word for segment routing encapsulation"; } leaf operPrimaryIp { config "false"; type address_Ip; description "Indicates primary IP address of source interface."; } leaf operSecondaryIp { config "false"; type address_Ip; description "Indicates secondary IP address of source interface."; } leaf operFlags { config "false"; type uint32; description "Indicates internal operational flags set"; } leaf operSmSt { config "false"; type nvo_SrStateT; description "Indicates operational FSM state"; } leaf operEncapT { config "false"; type nvo_MplsEncapT; description "Indicates encapsulation type"; } leaf operDownReason { config "false"; type string; description "Indicates the reason the encapsulation is down (if applicable)."; } } grouping comm_Entity-group { description "Communication Entity"; container ssh-items { uses comm_Ssh-group; description "Ssh Service"; } container telnet-items { uses comm_Telnet-group; description "Telnet Service"; } } grouping comm_Ssh-group { description "Ssh Service"; leaf loginAttempts { type uint32 { range "1..10"; } default "3"; description "Max number of login attempts allowed before SSH session is reset"; } leaf loginGraceTime { type uint32 { range "0..3600"; } default "120"; description "Maximum grace time of SSH login"; } leaf enWeakCiphers { type aaa_Boolean; default "no"; description "Enable or Disable weak Ciphers"; } leaf keyExchangeAlgorithms { type aaa_Boolean; default "no"; description "Enable Or Disable All Key Exchange methods"; } leaf ciphers { type aaa_Boolean; default "no"; description "Enable Or Disable All Ciphers"; } leaf messageAuthCodes { type aaa_Boolean; default "no"; description "Enable Or Disable All Message Authentication Codes"; } leaf keyTypes { type aaa_Boolean; default "no"; description "Enable Or Disable All Public Key Algorithms"; } // Operational properties leaf configErrSshPort { config "false"; type comm_SshPortfaultBitmapT; default "noerror"; description "Error for SSH port config."; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } default "ssh"; description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf port { type comm_Port { range "22..65535"; } default "22"; description "Port"; } leaf adminSt { type comm_AdminState; description "Admin State"; } // need protocol for creating iptable rule leaf proto { config "false"; type comm_Protocol; default "tcp"; description "TBD"; } container key-items { list SshKey-list { key "type"; uses comm_SshKey-group; description "Ssh Keys list"; } description "Ssh Keys"; } container rekey-items { uses comm_Rekey-group; description "SSH rekey container"; } container sshsession-items { uses comm_SshSession-group; description "SSH Session Idle Timeout"; } } grouping comm_SshKey-group { description "Ssh Keys"; leaf type { type comm_SshKeyType; description "SSH server key type"; } leaf keyLen { type uint32 { range "0..4096"; } default "1024"; description "Length of the key in bytes"; } } grouping comm_Rekey-group { description "SSH rekey container"; leaf maxData { type comm_RekeyDataType; default "0"; description "SSH max-data"; } leaf maxTime { type comm_RekeyDataType; default "0"; description "SSH max-time"; } } grouping comm_SshSession-group { description "SSH Session Idle Timeout"; leaf idleTimeout { type uint32 { range "0..120"; } default "0"; description "Idle Timeout value in Seconds"; } leaf keepAliveCount { type uint32 { range "0..5"; } default "0"; description "Count of KeepAlive packets to be sent to SSH Client"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf port { type comm_Port; description "Port"; } leaf adminSt { type comm_AdminState; description "Admin State"; } // need protocol for creating iptable rule leaf proto { config "false"; type comm_Protocol; default "tcp"; description "TBD"; } } grouping comm_Telnet-group { description "Telnet Service"; leaf loginAttempts { type uint32 { range "1..10"; } default "3"; description "Max number of login attempts allowed before TELNET session is reset"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } default "telnet"; description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf port { type comm_Port; default "23"; description "Port"; } leaf adminSt { type comm_AdminState; default "disabled"; description "Admin State"; } // need protocol for creating iptable rule leaf proto { config "false"; type comm_Protocol; default "tcp"; description "TBD"; } } grouping aaa_Accounting-group { description "Accounting log Inst"; // Ephemeral data container log-items { uses aaa_Log-group; description "Accounting log for commands"; } } grouping aaa_Log-group { description "Accounting log for commands"; // Ephemeral data container sequence-items { // Ephemeral data list Sequence-list { config "false"; key "sequenceNumber"; uses aaa_Sequence-group; description "Accounting log incremental updates list"; } description "Accounting log incremental updates"; } } grouping aaa_Sequence-group { description "Accounting log incremental updates"; // Ephemeral data leaf dateTime { config "false"; type string; description "Date of command execution"; } // Ephemeral data leaf type { config "false"; type aaa_ConfigType; description "executed command type of update or modify"; } // Ephemeral data leaf identity { config "false"; type string; description "Session identity from where command is executed"; } // Ephemeral data leaf user { config "false"; type aaa_UserName { pattern ".*[a-zA-Z0-9_][a-zA-Z0-9_\\.'-\\\\\\+=$@]{0,31}.*"; } description "Username of the command executed"; } // Ephemeral data leaf command { config "false"; type aaa_CommandType; description "command executed by the user"; } // Ephemeral data leaf status { config "false"; type aaa_CommandStatus; description "Configuration status of success or failure"; } // Ephemeral data leaf sequenceNumber { config "false"; type uint32; description "Index value of each log"; } } grouping aaa_UserEp-group { description "User Management"; leaf pwdStrengthCheck { type aaa_Boolean; description "Password Strength Check"; } leaf pwdSecureMode { type aaa_Boolean; description "Password secure-mode"; } leaf pwdMinLength { type uint16; default "8"; description "Password min length"; } leaf pwdMaxLength { type uint16; default "127"; description "Password max length"; } leaf svcPwdRecovery { type aaa_Boolean; description "Service Password Recovery"; } leaf maxLogins { type uint32 { range "0..7"; } default "0"; description "Maximum Simultaneous Logins"; } leaf pwdLifeTime { type aaa_PwdLifeTime; default "99999"; description "lifetime of user passphrase (in days)"; } leaf pwdWarningTime { type aaa_PwdLifeTime; default "14"; description "warning time of user passphrase (in days)"; } leaf pwdGraceTime { type aaa_PwdLifeTime; default "3"; description "grace time of user passphrase (in days)"; } leaf keyBoardSequence { type aaa_SequenceKeyBoardLength; default "0"; description "disallow sequential keyboard characters in password"; } leaf alphabetSequence { type aaa_AlphabetSequenceLength; default "0"; description "disallow sequential alphabetical characters in password"; } leaf minUnique { type aaa_PwdUnique; default "0"; description "count for number of old password history accepted"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container radiusext-items { uses aaa_RadiusEp-group; description "Default Radius Authentication Settings"; } container ldapext-items { uses aaa_LdapEp-group; description "Default LDAP Authentication Settings"; } container tacacsext-items { uses aaa_TacacsPlusEp-group; description "Default TACACS+ Authentication Settings"; } container authrealm-items { uses aaa_AuthRealm-group; description "AAA Authentication"; } // This MO represents an AAA (accounting/authorization/accounting) // domain. The AAA configuration can be configured per domain. container logindomain-items { list LoginDomain-list { key "name"; uses aaa_LoginDomain-group; description "Login Domain list"; } description "Login Domain"; } // This MO represents System login for block with attempts fail values. container loginprotection-items { uses aaa_LoginProtection-group; description "Specifies the System login block for attempts and within"; } // Banner presented to the user post login container postloginbanner-items { uses aaa_PostLoginBanner-group; description "Post Login Banner"; } // Banner presented to the user prior to the console, serial and ssh login prompts container preloginbanner-items { uses aaa_PreLoginBanner-group; description "Pre Login Banner"; } container remoteuser-items { list RemoteUser-list { key "name"; uses aaa_RemoteUser-group; description "Remote User list"; } description "Remote User"; } container user-items { list User-list { key "name"; uses aaa_User-group; description "Local User list"; } description "Local User"; } container role-items { list Role-list { key "name"; uses aaa_Role-group; description "Role list"; } description "Role"; } container factoryrole-items { list FactoryRole-list { key "name"; uses aaa_FactoryRole-group; description "Role list"; } description "Role"; } container domain-items { list Domain-list { key "name"; uses aaa_Domain-group; description "Security Domain list"; } description "Security Domain"; } container privsecret-items { list PrivSecret-list { key "privLvl"; uses aaa_PrivSecret-group; description "Enable user to a higher privilege after prompting for secret password list"; } description "Enable user to a higher privilege after prompting for secret password"; } // This MO stores information about password constratints // applicable to all the local users. container pwdprofile-items { uses aaa_PwdProfile-group; description "Password Change/Expiration Policy"; } // Role feature-group configuration container rolefeaturegroup-items { list RoleFeatureGroup-list { key "groupName"; uses aaa_RoleFeatureGroup-group; description "Create or Modify role feature group list"; } description "Create or Modify role feature group"; } // PKI config: keyrings and CA certs container pkiext-items { uses pki_Ep-group; description "Public Key Management"; } container rtfabricResUserEp-items { list RtFabricResUserEp-list { config "false"; key "tDn"; uses fabric_RtFabricResUserEp_target-group; } } container rtaaaUserEp-items { list RtAaaUserEp-list { config "false"; key "tDn"; uses aaa_RtAaaUserEp_target-group; } } } grouping aaa_RadiusEp-group { description "Default Radius Authentication Settings"; leaf deadtime { type aaa_TimeMin; description "Duration for which non-reachable server is skipped"; } leaf key { type aaa_EncKey; description "Global RADIUS server shared secret"; } leaf keyEnc { type aaa_KeyEnc; description "Default key encryption"; } leaf loggingLevel { type aaa_LoggingLevel; description "Radius Logging level"; } leaf encryptedKeyType { config "false"; type aaa_KeyEnc; description "encryption type used for key in radius"; } leaf encryptedKey { config "false"; type aaa_EncKey; description "Stored encrypted key in radiusext from radius"; } leaf secureMode { type aaa_SecureModeType; description "Global RADIUS server secure mode"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // add units for timeout. This helps display in CLI leaf timeout { type aaa_TimeSec; description "Timeout in Seconds"; } leaf retries { type aaa_Retries; description "Retries"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } container radiusprovider-items { list RadiusProvider-list { key "name"; uses aaa_RadiusProvider-group; description "RADIUS Provider list"; } description "RADIUS Provider"; } // This MO represents a group of AAA RADIUS servers. // A member of this group is represented by ProviderRef MO container radiusprovidergroup-items { list RadiusProviderGroup-list { key "name"; uses aaa_RadiusProviderGroup-group; description "RADIUS Provider Group list"; } description "RADIUS Provider Group"; } container radiusservermonitor-items { uses aaa_RadiusServerMonitor-group; description "Periodic server monitoring for Radius"; } container dynamicradiusauthserver-items { uses aaa_DynamicRadiusAuthServer-group; description "dynamic authorization local server configuration object"; } container rtfabricResRadiusEp-items { list RtFabricResRadiusEp-list { config "false"; key "tDn"; uses fabric_RtFabricResRadiusEp_target-group; } } } grouping aaa_RadiusProvider-group { description "RADIUS Provider"; leaf useType { type aaa_RadSrvUseType; description "Usage for the radius server"; } leaf authPort { type aaa_RadPort; default "1812"; description "authPort"; } leaf acctPort { type aaa_RadPort; default "1813"; description "acctPort"; } leaf authProtocol { type aaa_authenticationProtocol; default "pap"; description "Authentication Protocol"; } leaf monitoringIdleTime { type aaa_IdleTimer; default "0"; description "Idle timer to monitor radius server"; } leaf monitoringPasswordType { type aaa_LdapPwdEnc; description "Monitoring password type"; } leaf encryptedKeyType { config "false"; type aaa_KeyEnc; description "encryption type used for key in radius server"; } leaf encryptedKey { config "false"; type aaa_EncKey; description "Stored encrypted key for radius server"; } leaf tlsIdleTimeout { type aaa_TlsIdleTimeOutSec; description "TLS Timeout in seconds"; } leaf tlsClientTrustpoint { type pki_KeyLabel; description "Client trustpoint name"; } leaf dtlsIdleTimeout { type aaa_DtlsIdleTimeOutSec; description "DTLS Timeout in seconds"; } leaf dtlsClientTrustpoint { type pki_KeyLabel; description "DTLS Client trustpoint name"; } leaf name { type pol_ObjName { length "0..64"; pattern "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(([a-zA-Z]|[a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z0-9-]*[A-Za-z0-9])|((([0-9a-fA-F]{1,4}:){6}(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((::([0-9a-fA-F]{1,4}:){5})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){4})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:)?[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){3})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){2})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4})?::[0-9a-fA-F]{1,4}:)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4})?::)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4})?::)[0-9a-fA-F]{1,4})|((([0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4})?::))"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf key { type aaa_EncKey; description "Key"; } // Default value handled in local MO type leaf keyEnc { // Type is a Local-MO-Defined-Type type aaa_KeyEnc_RadiusProvider_keyEnc; description "Default key encryption"; } // The following two properties are also defined in Ep MO. // Here they reperesent per server configuration which would // take precedence over global configuration defined in Ep MO // Default value handled in local MO type leaf timeout { // Type is a Local-MO-Defined-Type type aaa_TimeSec_RadiusProvider_timeout { range "0..60"; } description "Timeout in Seconds"; } // Default value handled in local MO type leaf retries { // Type is a Local-MO-Defined-Type type aaa_Retries_RadiusProvider_retries; description "Retries"; } leaf monitoringUser { type aaa_MonitoringUserType { length "1..32"; } description "Periodic Server Monitoring Username"; } leaf monitoringPassword { type aaa_MonitoringPasswordType; description "Periodic Server Monitoring Password"; } leaf epgDn { config "false"; type string; description "Reachability EpG"; } leaf snmpIndex { config "false"; type aaa_ProviderSnmpIndex; description "Provider SNMP Index"; } container rssecProvToEpg-items { uses aaa_RsSecProvToEpg_source-group; } } grouping aaa_RadiusProviderGroup-group { description "RADIUS Provider Group"; leaf deadtime { type aaa_ProviderGroupDeadtime; description "Duration for which non-reachable server is skipped"; } leaf name { type pol_ObjName { length "0..127"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf snmpIndex { config "false"; type aaa_ProviderGroupSnmpIndex; description "Provider Group SNMP Index"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } leaf vrf { type l3_VrfName; default "default"; description "VRF"; } // The MO represents member of ProviderGroup container providerref-items { list ProviderRef-list { key "name"; uses aaa_ProviderRef-group; description "Provider Group Member list"; } description "Provider Group Member"; } } grouping aaa_ProviderRef-group { description "Provider Group Member"; // This property dicates the order in which the Provider // referred by this MO will be tried within the ProviderGroup leaf order { type aaa_Order; description "Order in which Providers are Tried"; } leaf snmpIndex { config "false"; type aaa_ProviderSnmpIndex; description "Provider SNMP Index"; } leaf name { type pol_ObjName { // Copied from "ProviderName" type length "0..64"; pattern "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(([a-zA-Z]|[a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z0-9-]*[A-Za-z0-9])|((([0-9a-fA-F]{1,4}:){6}(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((::([0-9a-fA-F]{1,4}:){5})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){4})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:)?[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){3})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){2})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4})?::[0-9a-fA-F]{1,4}:)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4})?::)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4})?::)[0-9a-fA-F]{1,4})|((([0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4})?::))"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_RadiusServerMonitor-group { description "Periodic server monitoring for Radius"; leaf pwd { type aaa_MonitoringPasswordType; description "Password"; } leaf passwordType { type aaa_LdapPwdEnc; description "Radius Server Monitor Password type"; } leaf idleTime { type aaa_IdleTimer; default "0"; description "Idle timer to monitor tacacs/radius server"; } leaf name { type pol_ObjName { // Copied from "aaa:User" type length "0..64"; pattern ".*[a-zA-Z0-9][a-zA-Z0-9_\\.-\\\\\\+=$@]{0,31}.*"; } default "test"; description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_DynamicRadiusAuthServer-group { description "dynamic authorization local server configuration object"; leaf port { type uint32 { range "0..65535"; } default "1700"; description "Configuration for port number"; } leaf key { type string { length "0..63"; } description "Configuration for server key"; } leaf keyEnc { type aaa_KeyEnc; description "server key Encription type"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container dynamicauthclient-items { list DynamicAuthClient-list { key "name"; uses aaa_DynamicAuthClient-group; description "dynamic authorization local client configuration object list"; } description "dynamic authorization local client configuration object"; } } grouping aaa_DynamicAuthClient-group { description "dynamic authorization local client configuration object"; leaf key { type string { length "0..63"; } description "serverkey for dynamic-author client"; } leaf keyEnc { type aaa_KeyEnc; description "Default key encryption type"; } leaf vrf { type l3_VrfName; description "vrf name for dynamic-author client"; } leaf name { type pol_ObjName { length "0..128"; } description "just for verifying purpose overriding this"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_LdapEp-group { description "Default LDAP Authentication Settings"; leaf deadtime { type aaa_TimeMin { range "0..60"; } default "0"; description "LDAP Global Deadtime"; } leaf port { type aaa_Port; default "389"; description "Port"; } leaf attribute { type aaa_LdapAttribute; default "CiscoAVPair"; description "LDAP Attribute"; } leaf basedn { type aaa_LdapDn; default ""; description "LDAP Base DN"; } leaf filter { type aaa_LdapFilter; default "cn=$userid"; description "LDAP Filter"; } leaf loggingLevel { type aaa_LdapLogLevel; description "LDAP Logging level"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // add units for timeout. This helps display in CLI leaf timeout { type aaa_TimeSec; description "Timeout in Seconds"; } leaf retries { type aaa_Retries; description "Retries"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } // This MO represents a group of AAA LDAP servers. // A member of this group is represented by ProviderRef MO container ldapprovidergroup-items { list LdapProviderGroup-list { key "name"; uses aaa_LdapProviderGroup-group; description "LDAP Provider Group list"; } description "LDAP Provider Group "; } container ldapprovider-items { list LdapProvider-list { key "name"; uses aaa_LdapProvider-group; description "LDAP Provider list"; } description "LDAP Provider"; } container searchmap-items { list LdapSearchMap-list { key "name"; uses aaa_LdapSearchMap-group; description "Search Map list"; } description "Search Map"; } container rtfabricResLdapEp-items { list RtFabricResLdapEp-list { config "false"; key "tDn"; uses fabric_RtFabricResLdapEp_target-group; } } } grouping aaa_LdapProviderGroup-group { description "LDAP Provider Group "; leaf deadtime { type aaa_ProviderGroupDeadtime; description "LDAP Provider Group Deadtime"; } leaf enAuthCompare { type boolean; default "true"; description "Enable LDAP Compare Operation"; } leaf enCertDnMatch { type boolean; default "true"; description "Enable Cert-DN matching"; } leaf enUserServerGroup { type boolean; default "true"; description "Enable Group Validation"; } leaf enAuthBindFirst { type boolean; default "true"; description "Enable Authentication Bind First"; } leaf authBaseDnAppendStr { type string { length "0..63"; } description "LDAP Append with Base DN String"; } leaf authComparePasswdAttribute { type string { length "1..63"; } default "userPassword"; description "LDAP password attribute"; } leaf authMechanism { type aaa_AuthMechanism; description "Authentication Mechanism"; } leaf searchMap { type string { length "0..127"; } description "Ldap Search Map"; } leaf name { type pol_ObjName { length "0..127"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf snmpIndex { config "false"; type aaa_ProviderGroupSnmpIndex; description "Provider Group SNMP Index"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } leaf vrf { type l3_VrfName; default "default"; description "VRF"; } // The MO represents member of ProviderGroup container providerref-items { list ProviderRef-list { key "name"; uses aaa_ProviderRef-group; description "Provider Group Member list"; } description "Provider Group Member"; } } grouping aaa_LdapProvider-group { description "LDAP Provider"; leaf rootdn { type aaa_LdapDn; default ""; description "Root DN"; } leaf rootdnPwd { type aaa_EncKey { length "0..64"; pattern ".*"; } default ""; description "Root DN Password"; } leaf pwdEncryptType { type aaa_LdapPwdEnc; default "0"; description "Password Encryption Type"; } leaf port { type aaa_Port; default "389"; description "Port"; } leaf enableSSL { type boolean; default "true"; description "Enable SSL"; } leaf disableReferral { type boolean; default "true"; description "LDAP Server Disable Referrals"; } leaf SSLValidationLevel { type aaa_LdapSSLStrictnessLevel; description "SSL certificate validation level"; } // This property names the attribute to be downloaded // which has user's roles and domains information. // The value of this property takes precendence over the // value of 'attribute' property in LdapEp MO leaf attribute { type aaa_LdapAttribute; default ""; description "LDAP Attribute"; } // LDAP Base DN to be used while searching for the user. // The value of this property takes precendence over the value // of 'basedn' property in LdapEp MO leaf basedn { type aaa_LdapDn; default ""; description "LDAP Base DN"; } // Ldap filter to be used while searching for the user. // The value of this property takes precendence over the // value of 'filter' property in LdapEp MO leaf filter { type aaa_LdapFilter; description "LDAP Filter"; } leaf monitoringPasswordType { type aaa_LdapPwdEnc; description "Monitoring password encryption type"; } leaf monitoringIdleTime { type aaa_IdleTimer; default "0"; description "Idle timer to monitor ldap server"; } leaf monitoringRootdn { type aaa_LdapDn; default "dc=test,dc=com"; description "Root DN"; } leaf name { type pol_ObjName { length "0..64"; pattern "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(([a-zA-Z]|[a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z0-9-]*[A-Za-z0-9])|((([0-9a-fA-F]{1,4}:){6}(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((::([0-9a-fA-F]{1,4}:){5})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){4})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:)?[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){3})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){2})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4})?::[0-9a-fA-F]{1,4}:)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4})?::)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4})?::)[0-9a-fA-F]{1,4})|((([0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4})?::))"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf key { type aaa_EncKey; description "Key"; } leaf keySet { config "false"; type boolean; description "Key Set"; } // Default value handled in local MO type leaf keyEnc { // Type is a Local-MO-Defined-Type type aaa_KeyEnc_LdapProvider_keyEnc; description "Default key encryption"; } // The following two properties are also defined in Ep MO. // Here they reperesent per server configuration which would // take precedence over global configuration defined in Ep MO // Default value handled in local MO type leaf timeout { // Type is a Local-MO-Defined-Type type aaa_TimeSec_LdapProvider_timeout { range "0..60"; } description "Timeout in Seconds"; } // Default value handled in local MO type leaf retries { // Type is a Local-MO-Defined-Type type aaa_Retries_LdapProvider_retries; description "Retries"; } leaf operState { config "false"; type aaa_ProviderState; description "Provider Operational State"; } leaf monitoringUser { type aaa_MonitoringUserType { length "1..32"; } description "Periodic Server Monitoring Username"; } leaf monitoringPassword { type aaa_MonitoringPasswordType; description "Periodic Server Monitoring Password"; } leaf epgDn { config "false"; type string; description "Reachability EpG"; } // The vrf that this client group belongs to leaf vrfName { config "false"; type l3_VrfName; description "Vrf Name"; } leaf snmpIndex { config "false"; type aaa_ProviderSnmpIndex; description "Provider SNMP Index"; } container rssecProvToEpg-items { uses aaa_RsSecProvToEpg_source-group; } } grouping aaa_LdapSearchMap-group { description "Search Map"; leaf name { type pol_ObjName { length "0..128"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container entry-items { list LdapSearchMapEntry-list { key "type"; uses aaa_LdapSearchMapEntry-group; description "Search Map Entry list"; } description "Search Map Entry"; } } grouping aaa_LdapSearchMapEntry-group { description "Search Map Entry"; leaf type { type aaa_SearchMapEntryType; description "Search Map Filter type"; } leaf baseDn { type aaa_LdapDn; default ""; description "LDAP Base DN"; } leaf attribute { type aaa_LdapAttribute; default ""; description "LDAP Attribute"; } leaf searchFilter { type aaa_LdapFilter; default "cn=$userid"; description "LDAP Filter"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_TacacsPlusEp-group { description "Default TACACS+ Authentication Settings"; leaf deadtime { type aaa_TimeMin; description "Duration for which non-reachable server is skipped"; } leaf key { type aaa_EncKey; description "Global TACACS+ server shared secret"; } leaf keyEnc { type aaa_KeyEnc; description "Default key encryption"; } leaf loggingLevel { type aaa_LoggingLevel; description "Tacacs Logging level"; } leaf encryptedKeyType { config "false"; type aaa_KeyEnc; description "encryption type used for key from tacacs"; } leaf encryptedKey { config "false"; type aaa_EncKey; description "Stored encrypted key for tacacsprovider in tacacs"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // add units for timeout. This helps display in CLI leaf timeout { type aaa_TimeSec; description "Timeout in Seconds"; } leaf retries { type aaa_Retries; description "Retries"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } container tacacsplusprovider-items { list TacacsPlusProvider-list { key "name"; uses aaa_TacacsPlusProvider-group; description "TACACS+ Provider list"; } description "TACACS+ Provider"; } // This MO represents a group of AAA TACACS+ servers. container tacacsplusprovidergroup-items { list TacacsPlusProviderGroup-list { key "name"; uses aaa_TacacsPlusProviderGroup-group; description "TACACS+ Provider Group list"; } description "TACACS+ Provider Group"; } container tacacsservermonitor-items { uses aaa_TacacsServerMonitor-group; description "Periodic server monitoring for Radius/tacacs"; } container rtfabricResTacacsPlusEp-items { list RtFabricResTacacsPlusEp-list { config "false"; key "tDn"; uses fabric_RtFabricResTacacsPlusEp_target-group; } } } grouping aaa_TacacsPlusProvider-group { description "TACACS+ Provider"; leaf port { type aaa_Port; default "49"; description "Port"; } leaf authProtocol { type aaa_authenticationProtocol; default "pap"; description "TACACS+ Authentication Protocol"; } leaf singleConnection { type aaa_Boolean; default "no"; description "TACACS+ single connection mode enabled"; } leaf monitoringIdleTime { type aaa_IdleTimer; default "0"; description "Idle timer to monitor tacacs server"; } leaf monitoringPasswordType { type aaa_LdapPwdEnc; description "Monitoring password type"; } leaf encryptedKeyType { config "false"; type aaa_KeyEnc; description "encryption type used for key"; } leaf encryptedKey { config "false"; type aaa_EncKey; description "Stored encrypted key for tacacsplusprovider"; } leaf name { type pol_ObjName { length "0..64"; pattern "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(([a-zA-Z]|[a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z0-9-]*[A-Za-z0-9])|((([0-9a-fA-F]{1,4}:){6}(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((::([0-9a-fA-F]{1,4}:){5})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){4})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:)?[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){3})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){2})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4})?::[0-9a-fA-F]{1,4}:)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4})?::)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4})?::)[0-9a-fA-F]{1,4})|((([0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4})?::))"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf key { type aaa_EncKey; description "Key"; } // Default value handled in local MO type leaf keyEnc { // Type is a Local-MO-Defined-Type type aaa_KeyEnc_TacacsPlusProvider_keyEnc; description "Default key encryption"; } // The following two properties are also defined in Ep MO. // Here they reperesent per server configuration which would // take precedence over global configuration defined in Ep MO // Default value handled in local MO type leaf timeout { // Type is a Local-MO-Defined-Type type aaa_TimeSec_TacacsPlusProvider_timeout { range "0..60"; } description "Timeout in Seconds"; } // Default value handled in local MO type leaf retries { // Type is a Local-MO-Defined-Type type aaa_Retries_TacacsPlusProvider_retries; description "Retries"; } leaf monitoringUser { type aaa_MonitoringUserType { length "1..32"; } description "Periodic Server Monitoring Username"; } leaf monitoringPassword { type aaa_MonitoringPasswordType; description "Periodic Server Monitoring Password"; } leaf epgDn { config "false"; type string; description "Reachability EpG"; } leaf snmpIndex { config "false"; type aaa_ProviderSnmpIndex; description "Provider SNMP Index"; } container rssecProvToEpg-items { uses aaa_RsSecProvToEpg_source-group; } } grouping aaa_TacacsPlusProviderGroup-group { description "TACACS+ Provider Group"; leaf deadtime { type aaa_ProviderGroupDeadtime; description "Duration for which non-reachable server is skipped"; } leaf name { type pol_ObjName { length "0..127"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf snmpIndex { config "false"; type aaa_ProviderGroupSnmpIndex; description "Provider Group SNMP Index"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } leaf vrf { type l3_VrfName; default "default"; description "VRF"; } // The MO represents member of ProviderGroup container providerref-items { list ProviderRef-list { key "name"; uses aaa_ProviderRef-group; description "Provider Group Member list"; } description "Provider Group Member"; } } grouping aaa_TacacsServerMonitor-group { description "Periodic server monitoring for Radius/tacacs"; leaf pwd { type aaa_MonitoringPasswordType; description "Password"; } leaf passwordType { type aaa_LdapPwdEnc; description "Tacacs Server Monitor Password type"; } leaf idleTime { type aaa_IdleTimer; default "0"; description "Idle timer to monitor tacacs/radius server"; } leaf name { type pol_ObjName { // Copied from "aaa:User" type length "0..64"; pattern ".*[a-zA-Z0-9][a-zA-Z0-9_\\.-\\\\\\+=$@]{0,31}.*"; } default "test"; description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_AuthRealm-group { description "AAA Authentication"; // default role policy for remote user leaf defRolePolicy { type aaa_NoRolePolicy; default "assign-default-role"; description "Default Role Policy"; } leaf radDirectedReq { type aaa_Boolean; default "no"; description "Enable direct authentication requests to server"; } leaf tacDirectedReq { type aaa_Boolean; default "no"; description "Enable direct authentication requests to server"; } // for aaa logging level leaf loggingLevel { type aaa_LoggingLevel; description "AAA Logging level"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container aaagroup-items { list AaaServerGroup-list { config "false"; key "name"; uses aaa_AaaServerGroup-group; description "Server groups list"; } description "Server groups"; } // MO representing the Default Authentication configuration for // all logins container defaultauth-items { uses aaa_DefaultAuth-group; description "Default Authentication Method for all Logins"; } container defaultauthor-items { list DefaultAuthor-list { key "cmdType"; uses aaa_DefaultAuthor-group; description "Authorization Method for the domain list"; } description "Authorization Method for the domain"; } container consoleauthor-items { list ConsoleAuthor-list { key "cmdType"; uses aaa_ConsoleAuthor-group; description "Console Authorization Method for the domain list"; } description "Console Authorization Method for the domain"; } container defaultacc-items { uses aaa_DefaultAcc-group; description "Accounting Method for the domain"; } container pkisshcert-items { uses aaa_PkiSSHCertificate-group; description "Authorization Method for the application"; } container pkisshpubkey-items { uses aaa_PkiSSHPublicKey-group; description "Authorization Method for the application"; } container loginstatuslogging-items { uses aaa_LoginStatusLogging-group; description "Logging options for failed and successful login attempts"; } container authreject-items { uses aaa_AuthReject-group; description "Maximum number of rejected authentication attempts"; } container bypassuser-items { list ByPassUser-list { key "userName"; uses aaa_ByPassUser-group; description "Option to bypass AAA for user list"; } description "Option to bypass AAA for user"; } // MO representing the Authentication configuration for Console // Login container consoleauth-items { uses aaa_ConsoleAuth-group; description "Console Authentication Method"; } container rtfabricResAuthRealm-items { list RtFabricResAuthRealm-list { config "false"; key "tDn"; uses fabric_RtFabricResAuthRealm_target-group; } } } grouping aaa_AaaServerGroup-group { description "Server groups"; leaf name { config "false"; type aaa_ProviderGroupName; description "server Group"; } leaf protocol { config "false"; type aaa_ProviderGroupProtocol; description "server Group protocol"; } } grouping aaa_DefaultAuth-group { description "Default Authentication Method for all Logins"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { type aaa_Realm; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } leaf invalidUserLog { type boolean; default "true"; description "Enable logging for invalid users"; } leaf errEn { type boolean; default "true"; description "Enable display of error message on login failures"; } leaf authProtocol { type aaa_authenticationProtocol; default "pap"; description "Authentication Protocol"; } leaf fallback { type aaa_Boolean; description "Fallback in case all AAA servers configured for remote authentication are unreachable"; } leaf local { type aaa_Boolean; description "Use local username authentication"; } leaf none { type aaa_Boolean; default "no"; description "No authentication"; } } grouping aaa_DefaultAuthor-group { description "Authorization Method for the domain"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } default "Author"; description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { config "false"; type aaa_Realm; default "tacacs"; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } leaf authorMethodNone { type boolean; description "No authorization"; } leaf localRbac { type boolean; default "true"; description "Use Local RBAC based Authorization"; } leaf cmdType { type aaa_CmdType; description "Type of command for authorization"; } } grouping aaa_ConsoleAuthor-group { description "Console Authorization Method for the domain"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } default "Author"; description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { config "false"; type aaa_Realm; default "tacacs"; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } leaf authorMethodNone { type boolean; description "No authorization"; } leaf localRbac { type boolean; default "true"; description "Use Local RBAC based Authorization"; } leaf cmdType { type aaa_CmdType; description "Type of command for authorization"; } } grouping aaa_DefaultAcc-group { description "Accounting Method for the domain"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } default "Accounting"; description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { type aaa_Realm; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } leaf accMethodNone { type boolean; default "true"; description "No accounting"; } leaf localRbac { type boolean; default "true"; description "Use Local"; } } grouping aaa_PkiSSHCertificate-group { description "Authorization Method for the application"; leaf local { type boolean; description "Use Local RBAC based Authorization"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { type aaa_Realm; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } } grouping aaa_PkiSSHPublicKey-group { description "Authorization Method for the application"; leaf local { type boolean; description "Use Local RBAC based Authorization"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { type aaa_Realm; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } } grouping aaa_LoginStatusLogging-group { description "Logging options for failed and successful login attempts"; leaf enableLoginFailureLogging { type boolean; default "true"; description "Syslog message on failed login attempt"; } leaf enableLoginSuccessLogging { type boolean; default "true"; description "Syslog message on successful login attempt"; } } grouping aaa_AuthReject-group { description "Maximum number of rejected authentication attempts"; leaf failAttempt { type uint16 { range "0..65535"; } description "Maximum number of failed attempts"; } leaf timeIntervel { type uint16 { range "0..65535"; } description "Time period for failed attempts"; } leaf blockTime { type uint16 { range "0..65535"; } description "Block time period in seconds"; } } grouping aaa_ByPassUser-group { description "Option to bypass AAA for user"; leaf userName { type string { length "1..28"; } description "Username to include for bypassing AAA"; } leaf accounting { type boolean; description "By pass aaa accounting"; } leaf authorization { type boolean; description "By pass aaa authorization"; } } grouping aaa_ConsoleAuth-group { description "Console Authentication Method"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { type aaa_Realm; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } leaf invalidUserLog { type boolean; default "true"; description "Enable logging for invalid users"; } leaf errEn { type boolean; default "true"; description "Enable display of error message on login failures"; } leaf authProtocol { type aaa_authenticationProtocol; default "pap"; description "Authentication Protocol"; } leaf fallback { type aaa_Boolean; description "Fallback in case all AAA servers configured for remote authentication are unreachable"; } leaf local { type aaa_Boolean; default "no"; description "Use local username authentication"; } leaf none { type aaa_Boolean; default "no"; description "No authentication"; } } grouping aaa_LoginDomain-group { description "Login Domain"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9][a-zA-Z0-9_]{0,63}.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // MO representing the Authentication configuration for // a domain login - this is always a child of a LoginDomain object container domainauth-items { uses aaa_DomainAuth-group; description "Authentication Method for the Domain"; } container rtaaaLoginDomain-items { list RtAaaLoginDomain-list { config "false"; key "tDn"; uses aaa_RtAaaLoginDomain_target-group; } } } grouping aaa_DomainAuth-group { description "Authentication Method for the Domain"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // The realm to be used for processing // authentication/accounting requests leaf realm { // Type is a Local-MO-Defined-Type type aaa_Realm_DomainAuth_realm; description "Realm"; } // This property specifies the name of ProviderGroup which // will be used for for authentication/accounting.The usage // of this property value depends on the value of 'realm' // property above. When an value is provided for property, // this would restrict the servers which will be tried. // When no value is provided, then all the servers will be // tried for the protocol realm configured in the 'realm' // property above. leaf providerGroup { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup2 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup3 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup4 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup5 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup6 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup7 { type aaa_ProviderGroupName; description "Provider Group"; } leaf providerGroup8 { type aaa_ProviderGroupName; description "Provider Group"; } leaf invalidUserLog { type boolean; default "true"; description "Enable logging for invalid users"; } leaf errEn { type boolean; default "true"; description "Enable display of error message on login failures"; } leaf authProtocol { type aaa_authenticationProtocol; default "pap"; description "Authentication Protocol"; } leaf fallback { type aaa_Boolean; description "Fallback in case all AAA servers configured for remote authentication are unreachable"; } leaf local { type aaa_Boolean; description "Use local username authentication"; } leaf none { type aaa_Boolean; default "no"; description "No authentication"; } // MO representing the Default Authentication configuration for // all logins container defaultauth-items { uses aaa_DefaultAuth-group; description "Default Authentication Method for all Logins"; } // MO representing the Authentication configuration for Console // Login container consoleauth-items { uses aaa_ConsoleAuth-group; description "Console Authentication Method"; } } grouping aaa_LoginProtection-group { description "Specifies the System login block for attempts and within"; leaf loginBlockTimeOnDoSAttack { type uint32 { range "0..65535"; } description "system login block time in seconds"; } leaf loginAttempts { type uint32 { range "0..65535"; } description "system login fail attempts value"; } leaf loginAttemptsFailureThreshold { type uint32 { range "0..65535"; } description "system login watch period for fail attempts"; } leaf loginAccessList { type string { length "0..64"; } description "configuration for system login access list name"; } } grouping aaa_PostLoginBanner-group { description "Post Login Banner"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf message { type aaa_BannerMsg; default ""; description "Login Banner Message"; } leaf guiMessage { type aaa_BannerMsg; default ""; description "Login GUI Message"; } leaf delimiter { type aaa_Delimiter; default "#"; description "Delimiter character"; } } grouping aaa_PreLoginBanner-group { description "Pre Login Banner"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf message { type aaa_BannerMsg; default "User Access Verification\n"; description "Login Banner Message"; } leaf guiMessage { type aaa_BannerMsg; default ""; description "Login GUI Message"; } leaf delimiter { type aaa_Delimiter; default "#"; description "Delimiter character"; } container rtpreLoginBanner-items { uses aaa_RtPreLoginBanner_target-group; } } grouping aaa_RemoteUser-group { description "Remote User"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_][a-zA-Z0-9_\\.@-]{0,31}.*"; } description "Name of the given attribute Property has READ-Create access."; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } container userdomain-items { list RemoteUserDomain-list { config "false"; key "name"; uses aaa_RemoteUserDomain-group; description "Remote User Domain list"; } description "Remote User Domain"; } } grouping aaa_RemoteUserDomain-group { description "Remote User Domain"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,31}.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { config "false"; type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { config "false"; type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } container role-items { list RemoteUserRole-list { config "false"; key "name"; uses aaa_RemoteUserRole-group; description "Remote User Role list"; } description "Remote User Role"; } } grouping aaa_RemoteUserRole-group { description "Remote User Role"; leaf privType { config "false"; type aaa_UserRolePrivType; description "Privilege Type"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,31}.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { config "false"; type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { config "false"; type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_User-group { description "Local User"; // The user's first name leaf firstName { type naming_Name256 { length "0..32"; } description "First Name"; } // The user's last name leaf lastName { type naming_Name256 { length "0..32"; } description "Last Name"; } // The user's e-mail address leaf email { type aaa_Email; description "Email Address"; } // The user's phone number leaf phone { type aaa_Phone; description "Phone Number"; } // The expiration date of this account // Default value handled in local MO type leaf expiration { // Type is a Local-MO-Defined-Type type aaa_Date_User_expiration; description "Account Expiration Date"; } // A boolean value indicating whether this account has an expiration date or not leaf expires { type aaa_Boolean; default "no"; description "Expiration Set Status"; } leaf allowExpired { type aaa_Boolean; default "no"; description "Allow expired user to be configured"; } leaf accountStatus { type aaa_AccountStatus; description "Account Status"; } leaf pwd { type aaa_Passwd; description "Password"; } leaf pwdEncryptType { type aaa_KeyEncUserPass; default "Encrypt"; description "Password Encryption Type"; } // This is to allow the admin/aaa users to clear // locally-authenticated users's password history leaf clearPwdHistory { type aaa_Clear; description "Clear Password History"; } leaf unixUserId { type aaa_UnixUID; description "TBD"; } leaf shelltype { type aaa_loginShellType; description "User Shelltype Access"; } leaf force { type aaa_Boolean; default "no"; description "Delete user entry forcibly"; } leaf passwordHash { type aaa_PasswdHashType; default "unspecified"; description "Generate password hash for clear text password"; } leaf name { type pol_ObjName { // Copied from "aaa:UserName" type length "0..64"; pattern ".*[a-zA-Z0-9_][a-zA-Z0-9_\\.'-\\\\\\+=$@]{0,31}.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container sshcertauth-items { uses aaa_SshCertAuth-group; description "Certificate Based User Authentication"; } container userkey-items { list UserSshKey-list { key "type"; uses aaa_UserSshKey-group; description "Ssh Keys list"; } description "Ssh Keys"; } container sshauth-items { uses aaa_SshAuth-group; description "SSH Authorization"; } container usercert-items { list UserCert-list { key "name"; uses aaa_UserCert-group; description "X509 Certificate list"; } description "X509 Certificate"; } container userdomain-items { list UserDomain-list { key "name"; uses aaa_UserDomain-group; description "User Domain list"; } description "User Domain"; } container userpassphrase-items { uses aaa_UserPassPhrase-group; description "User Specific Passphrase Expiry"; } // Do not taking backup of this MO, this user data become invalid // with time container userdata-items { uses aaa_UserData-group; description "User Password Change History"; } } grouping aaa_SshCertAuth-group { description "Certificate Based User Authentication"; leaf certDn { type string { length "0..512"; } description "Distinguished Name For SSH X.509 Certificate"; } leaf algorithm { type string { length "0..4"; } description "DSA Or RSA Algorithm"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_UserSshKey-group { description "Ssh Keys"; leaf type { type comm_SshKeyType; description "SSH server key type"; } leaf keyLen { type uint32 { range "0..4096"; } default "1024"; description "Length of the key in bytes"; } } grouping aaa_SshAuth-group { description "SSH Authorization"; leaf data { type aaa_SshData; description "Ssh Authorization Data"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_UserCert-group { description "X509 Certificate"; leaf data { type aaa_UserCertDataType; description "User X509 Certificate"; } leaf fingerprint { config "false"; type string; } // Populated with the output of openssl output of the x509 certificate analysis leaf certificateDecodeInformation { config "false"; type aaa_UserCertDataType; description "TBD"; } // Populated with the PEM format public key extracted from the x509 certificate leaf publicKey { config "false"; type aaa_UserCertDataType; description "TBD"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_UserDomain-group { description "User Domain"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,31}.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container role-items { list UserRole-list { key "name"; uses aaa_UserRole-group; description "User Role list"; } description "User Role"; } } grouping aaa_UserRole-group { description "User Role"; leaf privType { type aaa_UserRolePrivType; description "Privilege Type"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_UserPassPhrase-group { description "User Specific Passphrase Expiry"; leaf pwdLifeTime { type aaa_PwdLifeTime; default "99999"; description "Password Life Time"; } leaf pwdWarningTime { type aaa_PwdLifeTime; default "14"; description "warning time of user passphrase (in days)"; } leaf pwdGraceTime { type aaa_PwdLifeTime; default "3"; description "grace time of user passphrase (in days)"; } } grouping aaa_UserData-group { description "User Password Change History"; leaf pwdChangedDate { config "false"; type union { type string; type uint64; } description "Password Change Date"; } // User password history, stores encrypted passwords // max of PwdProfile.historyCount recent passwords are stored leaf pwdHistory { config "false"; type aaa_PwdHistory; description "Password History"; } // How many times user has changed the password within // the given time interval // (pwdChangeIntervalBegin + PwdProfile.changeInterval) leaf pwdChangeCount { config "false"; type aaa_PwdChangeCount; default "0"; description "Password Change Count"; } leaf pwdChangeIntervalBegin { config "false"; type union { type string; type uint64; } description "Password Change Interval Begin Date"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_Role-group { description "Role"; leaf denyVRF { type aaa_Boolean; default "no"; description "Deny all VRF except allowed ones"; } leaf allowedVRF { type aaa_RuleEntityType; description "mention the allowed VRF if denyVRF is set to yes"; } leaf denyVLAN { type aaa_Boolean; default "no"; description "Deny all VLAN except allowed ones"; } leaf allowedVLAN { type aaa_RuleEntityType; description "mention the allowed VLAN if denyVLAN is set to yes"; } leaf denyIntf { type aaa_Boolean; default "no"; description "Deny all interfaces except allowed ones"; } leaf priv { type string; description "Privilege"; } leaf rolePrivType { type aaa_UserRolePrivType; description "Privilege Type"; } leaf resetToFactory { type aaa_Boolean; default "no"; description "Trigger Reset to Factory settings"; } leaf name { type pol_ObjName { length "1..16"; pattern ".*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr { length "0..128"; pattern ".*"; } default "new role"; description "Description of the specified attribute"; } container rule-items { list RoleRule-list { key "ruleNumber"; uses aaa_RoleRule-group; description "Rules for role list"; } description "Rules for role"; } container intf-items { list RoleIntf-list { key "intfName"; uses aaa_RoleIntf-group; description "Permit specific interface name and deny rest list"; } description "Permit specific interface name and deny rest"; } container permitintf-items { list PermitIntf-list { key "ifName"; uses aaa_PermitIntf-group; description "Enter the range of interfaces accessible the role list"; } description "Enter the range of interfaces accessible the role"; } container permitvlan-items { list PermitVlan-list { key "vlanRange"; uses aaa_PermitVlan-group; description "Enter the range of vlans accessible the role list"; } description "Enter the range of vlans accessible the role"; } container permitvrf-items { list PermitVrf-list { key "vrfName"; uses aaa_PermitVrf-group; description "Enter the range of vrf accessible the role list"; } description "Enter the range of vrf accessible the role"; } } grouping aaa_RoleRule-group { description "Rules for role"; leaf ruleNumber { type aaa_RuleNumberType; description "Role Rule number"; } leaf permission { type aaa_RulePermissionType; description "Permission type permit or deny"; } leaf ruleAccess { type aaa_RuleAccessType; description "Rule access type command or read or read-write"; } leaf ruleScope { type aaa_RuleScopeType; description "Role Rule scope feature or feature-group or OID"; } leaf cmdStr { type aaa_RuleCmdStrType; description "Allowed command string pattern"; } leaf scopeEntity { type aaa_RuleEntityType; description "Allowed scope string"; } } grouping aaa_RoleIntf-group { description "Permit specific interface name and deny rest"; leaf intfName { type string; description "interface name which can be allowed and deny rest"; } leaf allowInst { type aaa_RuleEntityType; description "interface instances which can be allowed and deny rest"; } } grouping aaa_PermitIntf-group { description "Enter the range of interfaces accessible the role"; leaf ifName { type nw_IfId; description "Enter the interface range"; } } grouping aaa_PermitVlan-group { description "Enter the range of vlans accessible the role"; leaf vlanRange { type string; description "Enter the vlan range"; } } grouping aaa_PermitVrf-group { description "Enter the range of vrf accessible the role"; leaf vrfName { type aaa_RuleEntityType { pattern ".*[-a-zA-Z0-9_:;!@#$\\^\\*=\\+\\{\\}\\.]{1,32}.*"; } description "Enter the vrf name to access the role"; } } grouping aaa_FactoryRole-group { description "Role"; leaf priv { config "false"; type string; description "Privilege"; } leaf resetToFactory { type aaa_Boolean; default "no"; description "Trigger Reset to Factory settings"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,31}.*"; } description "Name of the given attribute Property has READ-Create access."; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_Domain-group { description "Security Domain"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,31}.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_PrivSecret-group { description "Enable user to a higher privilege after prompting for secret password"; leaf pwd { type aaa_Passwd; description "Password for user privilege escalation"; } leaf encType { type aaa_SecretEncType; description "Type of encryption specified"; } leaf privLvl { type aaa_PrivLvlType; description "Privilege level to which the password is set"; } } grouping aaa_PwdProfile-group { description "Password Change/Expiration Policy"; // Interval used to warn the users whose password is closed // to expiry date. warn the user before expirationWarnTime // days of actual password expiration. leaf expirationWarnTime { type aaa_PwdExpWarnTime; default "15"; description "Password Expiration Warn Time in Days"; } // How many recent user passwords should be stored in user // password history. leaf historyCount { type aaa_HistoryDepth; description "Password History Count"; } // There are two ways of restricting the user from changing // the password frequently. // 1. allow no passwd changes within given time interval. // 2. allow max of n psswd changes within give time interval. // noChangeInterval holds the 1st policy mentioned above leaf noChangeInterval { type aaa_PwdChangeInterval; default "24"; description "No Password Change Interval in Hours"; } // ChangeInterval holds the 2nd policy mentioned above leaf changeInterval { type aaa_PwdChangeInterval; default "48"; description "Change Interval in Hours"; } // stores which one of the above two policies is active now leaf changeDuringInterval { type aaa_PwdPolicy; description "Password Policy"; } // How many password changes allowed within changeInterval leaf changeCount { type aaa_PwdChangeCount; default "2"; description "Number of Password Changes in Interval"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_RoleFeatureGroup-group { description "Create or Modify role feature group"; leaf groupName { type string { length "1..32"; } description "Enter feature-group name"; } // Feature name configuration container featurename-items { list FeatureName-list { key "name"; uses aaa_FeatureName-group; description "Add features to the Feature-group list"; } description "Add features to the Feature-group"; } } grouping aaa_FeatureName-group { description "Add features to the Feature-group"; leaf name { type string { length "1..32"; } description "Enter the feature name"; } } grouping pki_Ep-group { description "Public Key Management"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^\\s]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container webtokendata-items { uses pki_WebTokenData-group; description "Web Token Data"; } // Csync2 Pre Shared Key - used to distribute the key to all IFC nodes container csyncsharedkey-items { uses pki_CsyncSharedKey-group; description "Csync Shared Key"; } // Csync2 Policy - used to control csync timeout and enable/disable container csyncpolicy-items { uses pki_CsyncPolicy-group; description "File Synchronization Policy"; } container dbgplgch-items { uses pki_DebugPluginChallenge-group; description "Debug Plugin Challenge Values"; } container keyring-items { list KeyRing-list { key "name"; uses pki_KeyRing-group; description "Key Ring list"; } description "Key Ring"; } // CertificateAuthority object, also called Trust Points in DCOS container tp-items { list TP-list { key "name"; uses pki_TP-group; description "Certificate Authority list"; } description "Certificate Authority"; } // Cabundle, holds group of Trustpoint CA Chains container cabundle-items { list Cabundle-list { key "name"; uses pki_Cabundle-group; description "Certificate Authority list"; } description "Certificate Authority"; } container calookup-items { uses pki_CertstoreLookup-group; description "Certstore Lookup Configuration for Authentication"; } container certificatemap-items { list CertificateMap-list { key "name"; uses pki_CertificateMap-group; description "Crypto CertificateMap Filters list"; } description "Crypto CertificateMap Filters"; } container sshauthcert-items { list SshAuth-list { key "certIssuerName"; uses pki_SshAuth-group; description "Configure Mapping Filter for Ssh list"; } description "Configure Mapping Filter for Ssh"; } container remotecert-items { uses pki_RemoteCertstore-group; description "Remote CA Certstore Configuration"; } container trustpool-items { uses pki_TrustPool-group; description "CA Trustpool Policy Configuration"; } container rtfabricResPkiEp-items { list RtFabricResPkiEp-list { config "false"; key "tDn"; uses fabric_RtFabricResPkiEp_target-group; } } } grouping pki_WebTokenData-group { description "Web Token Data"; // The encryption parameters cannot be modified by a client request leaf key { config "false"; type pki_AES128Key { length "24"; } description "TBD"; } leaf initializationVector { config "false"; type pki_AES128IV { length "24"; } description "TBD"; } leaf hashSecret { config "false"; type pki_SHA256_SharedSecret16 { length "24"; } description "TBD"; } // Token timeout modifications are allowed leaf webtokenTimeoutSeconds { type pki_WebTokenTimeoutType; description "Timeout in Seconds"; } // Knob to control absolute maximum validity period for a webtoken beyond which it cannot be refreshed Units are in hours - minimum 4 hours, maximum 24 hours leaf maximumValidityPeriod { type pki_WebTokenValidityPeriodType; description "Maximum Validity Period in hours"; } leaf uiIdleTimeoutSeconds { type pki_GuiIdleTimeoutType; description "GUI Idle Timeout in Seconds"; } leaf sessionRecordFlags { type pki_SessionRecordFlags; description "Session Recording Options"; } leaf siteFingerprint { config "false"; type string; description "Issuing Site Fingerprint"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^\\s]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping pki_CsyncSharedKey-group { description "Csync Shared Key"; // The encryption parameters cannot be modified by any client requests leaf key { config "false"; type pki_Csync2KeyType; description "TBD"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^\\s]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping pki_CsyncPolicy-group { description "File Synchronization Policy"; leaf state { type pki_CsyncActivationStateType; description "TBD"; } leaf interval { type pki_CsyncRefreshIntervalType; description "TBD"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^\\s]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Csync2 Element - contains // a) file pattern // b) type of pattern (include or exclude) // c) symbolic name of the pattern container csyncelem-items { list CsyncElement-list { key "name"; uses pki_CsyncElement-group; description "File Pattern for Synchronization list"; } description "File Pattern for Synchronization"; } } grouping pki_CsyncElement-group { description "File Pattern for Synchronization"; leaf pattern { type string; } leaf type { type pki_CsyncElementType; description "TBD"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^\\s]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping pki_DebugPluginChallenge-group { description "Debug Plugin Challenge Values"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^\\s]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping pki_KeyRing-group { description "Key Ring"; leaf adminState { type pki_KeyringState; description "TBD"; } leaf regen { type boolean; default "false"; description "Regenerate"; } leaf key { type pki_PrivateKey; description "TBD"; } leaf keytype { type pki_KeyType; description "Key generation algorithm"; } leaf modulus { type pki_Modulus; description "Modulus"; } leaf exportable { type boolean; description "Enable to Make the Keypair Exportable"; } leaf cert { type pki_Cert; description "Certificate"; } leaf certValidUntil { config "false"; type pki_CertValidity; description "Certificate Validity"; } // Populated with the output of openssl output of the x509 certificate analysis leaf certificateDecodeInformation { config "false"; type pki_Cert; description "Certificate Decode Information"; } // trust point (CA) reference // DN IS IMPLIED AND RESOLVED PROGRAMATICALLY // refers="pki:TP" leaf tp { type naming_Name; description "Certificate Authority"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container certreq-items { uses pki_CertReq-group; description "Certificate Request"; } container rtcommKeyRing-items { list RtCommKeyRing-list { config "false"; key "tDn"; uses comm_RtCommKeyRing_target-group; description "Key Ring list"; } description "Key Ring"; } container rtaaaKeyringRef-items { list RtAaaKeyringRef-list { config "false"; key "tDn"; uses aaa_RtAaaKeyringRef_target-group; } } } grouping pki_CertReq-group { description "Certificate Request"; leaf pwd { type string; description "Password"; } // TODO how to set this value to hostname by default leaf subjName { type naming_Name256 { length "1..64"; } description "Subject Name"; } leaf email { type naming_Name256 { length "0..40"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./:@_\\^\\s]+.*"; } description "Email Address"; } leaf country { type naming_Name { pattern ".*[A-Z][A-Z].*"; } description "Country"; } leaf state { type naming_Name256 { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./:@_\\^\\s]+.*"; } description "State"; } leaf locality { type naming_Name256 { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./:@_\\^\\s]+.*"; } description "Locality"; } leaf orgUnitName { type naming_Name256 { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./:@_\\^\\s]+.*"; } description "Organization Unit Name"; } leaf orgName { type naming_Name256 { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./:@_\\^\\s]+.*"; } description "Organization Name"; } // PEM encoded certificate request leaf req { config "false"; type pki_Cert; description "TBD"; } } grouping pki_TP-group { description "Certificate Authority"; leaf certChain { type pki_Cert; description "Certificate Chain"; } // Certificate Fingerprint populated by backend leaf fp { config "false"; type pki_FP; description "TBD"; } leaf numCerts { config "false"; type uint32; default "0"; } leaf enrollmentType { type pki_CertEnrollType; description "Configure Trustpoint Enrollment"; } leaf revokeCheckConf { type pki_CertRevokeCheck; description "Configure Trustpoint Revocation Check Methods"; } leaf keyLabel { type pki_KeyLabel; description "Trustpoint RSA Key-pair Label"; } leaf cabundleLabel { type pki_KeyLabel; description "Cabundle to which Trustpoint is Grouped"; } leaf keyType { type pki_KeyType; description "Trustpoint key-pair algorithm"; } leaf ocspUrl { type string { length "0..512"; } description "Configure TrustPoint Ocsp Url"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^]+.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping pki_Cabundle-group { description "Certificate Authority"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9\\(\\)\\+,-./#:@_\\^]+.*"; } description "Name of the given attribute"; } } grouping pki_CertstoreLookup-group { description "Certstore Lookup Configuration for Authentication"; leaf type { type pki_CertLookupType; description "Certstore Type for Lookup"; } } grouping pki_CertificateMap-group { description "Crypto CertificateMap Filters"; leaf name { type pki_FilterName; description "CertificateMap Filter Name"; } leaf subjectName { type pki_FilterName; description "Subject Name of the Certificate"; } leaf altnameEmail { type pki_FilterName; description "Email Id as an Alternate Name"; } leaf altnameUpn { type pki_FilterName; description "User Principal Name as an Alternate Name"; } } grouping pki_SshAuth-group { description "Configure Mapping Filter for Ssh"; leaf certIssuerName { type pki_FilterName; description "Issuer Name of the Certificate"; } leaf mapFilter1 { type pki_FilterName; description "Mapping Filter to be Applied"; } leaf mapFilter2 { type pki_FilterName; description "Mapping Filter to be Applied"; } } grouping pki_RemoteCertstore-group { description "Remote CA Certstore Configuration"; leaf ldapGroupName { type pki_ProviderGroupName; description "Ldap Server Group Containing Remote CA"; } leaf crlTimer { type pki_CrlRefreshTime; description "Refresh Time to Fetch Crl from Remote Certstore"; } } grouping pki_TrustPool-group { description "CA Trustpool Policy Configuration"; leaf sourceUrl { type string; description "Configure Cabundle Source HTTP Url"; } leaf vrf { type l3_VrfName; default "default"; description "Vrf to be Used to Contact HTTP Server"; } leaf srcIf { type nw_IfId; description "Source Interface to Reach HTTP Server"; } container proxyserver-items { uses pki_HttpProxy-group; description "Http Proxy Server Related Parameters"; } } grouping pki_HttpProxy-group { description "Http Proxy Server Related Parameters"; leaf port { type pki_Port; default "8080"; description "HTTP Proxy Server Port"; } leaf name { type pol_ObjName { length "0..64"; pattern "(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])|(([a-zA-Z]|[a-zA-Z0-9-]*[a-zA-Z0-9])\\.)*([A-Za-z]|[A-Za-z0-9-]*[A-Za-z0-9])|((([0-9a-fA-F]{1,4}:){6}(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((::([0-9a-fA-F]{1,4}:){5})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|((([0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){4})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:)?[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){3})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,2}[0-9a-fA-F]{1,4})?::([0-9a-fA-F]{1,4}:){2})(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,3}[0-9a-fA-F]{1,4})?::[0-9a-fA-F]{1,4}:)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,4}[0-9a-fA-F]{1,4})?::)(([0-9a-fA-F]{1,4}:[0-9a-fA-F]{1,4})|(((25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9])\\.){3}(25[0-5]|([1-9]|1[0-9]|2[0-4])?[0-9]))))|(((([0-9a-fA-F]{1,4}:){0,5}[0-9a-fA-F]{1,4})?::)[0-9a-fA-F]{1,4})|((([0-9a-fA-F]{1,4}:){0,6}[0-9a-fA-F]{1,4})?::))"; } description "IPV4/IPV6 Address or DNS Name of Proxy Server"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping aaa_YangRbacEp-group { description "YANG RBAC Rules Database"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container rule-items { list YangRbacRule-list { key "yangPath domain"; uses aaa_YangRbacRule-group; description "YANG RBAC Rule list"; } description "YANG RBAC Rule"; } container stat-items { uses aaa_YangRbacStat-group; description "YANG RBAC Rules Statistics"; } } grouping aaa_YangRbacRule-group { description "YANG RBAC Rule"; leaf allowWrites { type aaa_Boolean; default "no"; description "Allow Writes From Domain"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf yangPath { type string { length "1..256"; } description "YANG Modelled Path (Schema Path)"; } leaf domain { type naming_Name { pattern ".*[a-zA-Z][a-zA-Z0-9_\\.-]{0,15}.*"; } description "Security Domain or Role"; } } grouping aaa_YangRbacStat-group { description "YANG RBAC Rules Statistics"; leaf lastRuleChangeTime { config "false"; type union { type string; type uint64; } description "timestamp when YANG RBAC Rule Database changed"; } } grouping security_Security-group { description "Security Rules For User And Fips"; leaf commonCriteria { type aaa_Boolean; default "no"; description "Enable or Disable Common Criteria"; } leaf enFipsMode { type aaa_Boolean; default "no"; description " Enable/Disable FIPS Mode"; } // for security logging level leaf loggingLevel { type arp_LoggingLevel; description "Security Logging Level"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container consenttoken-items { uses security_ConsentToken-group; description "Consent token based access of various resources like shell, dev_key etc"; } } grouping security_ConsentToken-group { description "Consent token based access of various resources like shell, dev_key etc"; leaf ctEnable { type aaa_Boolean; default "no"; description "Enable Consent Token"; } leaf ctShellTimeout { type uint32 { range "1..2880"; } default "5"; description "Configure CT-Shell Timeout"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping smartcard_PasswdEncrypt-group { description "password encryption aes feature"; leaf adminSt { type smartcard_AdminState; description "TBD"; } leaf useTam { type smartcard_AdminState; description "TBD"; } // Operational properties leaf configErrMasterKey { config "false"; type smartcard_SksdmasterkeyfaultBitmapT; default "noerror"; description "Error for master key unconfigured"; } } grouping stp_Entity-group { description "STP Entity"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per stp instance information. There is // only one instance of stp running in the system today container inst-items { uses stp_Inst-group; description "STP Instance"; } } grouping stp_Inst-group { description "STP Instance"; // Spanning Tree operating mode leaf mode { type stp_Mode; description "Protocol Mode"; } // Linecard ISSU type leaf lcIssu { type stp_LcIssu; description "Linecard ISSU type"; } // pathcost options leaf pathcostOp { type stp_PathcostOp; description "Spanning tree pathcost options"; } // Enable STP for FCoE VLANs leaf fcoe { type stp_AdminSt; description "enable spanning tree for fcoe vlan"; } // Enable spanning tree bridge assurance leaf bridge { type stp_AdminSt; description "enable spanning-tree bridge assurance on all ports"; } // spanning tree loopguard options leaf loopguard { type stp_AdminSt; default "disabled"; description "enable loop guard on all ports"; } // spanning tree L2 Gateway domain ID leaf l2GStpDomId { type stp_L2GStpDomId; description "spanning tree L2 Gateway Domain Id"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls // Default value handled in local MO type leaf ctrl { // Type is a Local-MO-Defined-Type type nw_InstCtrl_Inst_ctrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds mcp information that is operated at a // interface level container if-items { list If-list { key "id"; uses stp_If-group; description "STP Interface list"; } description "STP Interface"; } // Holds mst informaton at switch level container mstent-items { uses stp_MstEntity-group; description "STP MST Entity"; } // stp pseudo-information, placeholder for future implementation container pseudo-items { uses stp_PseudoInfo-group; description "STP pseudo information"; } // This object holds stp information that is operated at // vlan level container vlan-items { list Vlan-list { key "id"; uses stp_Vlan-group; description "Vlan list"; } description "Vlan"; } } grouping stp_If-group { description "STP Interface"; // Port mode leaf mode { type stp_IfMode; description "Port Mode"; } // Interface controls leaf ctrl { type stp_IfControl; description "Controls"; } // guard mode leaf guard { type stp_Guard; description "Guard Mode"; } // bpdufilter mode leaf bpdufilter { type stp_Bpdufilter; description "bpdufilter mode"; } // bpduguard mode leaf bpduguard { type stp_BPDUGuard; description "Guard Mode"; } // Link Type leaf linkType { type stp_LinkType; description "Link Type"; } // Port Priority leaf priority { type stp_PortPriority; description "Port Priority"; } // Port path cost leaf cost { type stp_Cost; description "Port Path Cost"; } // Port simulate pvst leaf simulatePvst { type stp_SimulateIf; description "Port simulate pvst"; } // Port lc issu leaf lcIssu { type stp_LcIssu; description "Port lc issu"; } // Port mst prestd leaf prestdCfg { type stp_AdminSt; default "disabled"; description "Port mst prestd"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // This object describes interface level config per vlan container vlan-items { list VlanCfg-list { key "vlanId"; uses stp_VlanCfg-group; description "Interface Level Configure per Vlan list"; } description "Interface Level Configure per Vlan"; } // This object describes interface level config per mst instance container mst-items { list MstCfg-list { key "mstId"; uses stp_MstCfg-group; description "Interface Level Configure per MST list"; } description "Interface Level Configure per MST"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping stp_VlanCfg-group { description "Interface Level Configure per Vlan"; // Vlan Id leaf vlanId { type stp_VlanId; description "Vlan Id"; } // Port Priority in increments of 32 leaf priority { type stp_PortPriority; description "Port Priority"; } // Port path cost leaf cost { type stp_Cost; description "Port Path Cost"; } } grouping stp_MstCfg-group { description "Interface Level Configure per MST"; // MST Id leaf mstId { type stp_MstId; description "Mst Instance Id"; } // Port Priority in increments of 32 leaf priority { type stp_PortPriority; description "Port Priority"; } // Port path cost leaf cost { type stp_Cost; description "Port Path Cost"; } } grouping stp_MstEntity-group { description "STP MST Entity"; // spanning tree max hops leaf maxHops { type stp_MaxHops; description "STP mst max hops"; } // enable spanning tree simulation leaf simulate { type stp_Simulate; description "spanning tree simulation"; } // operation error leaf operErr { config "false"; type nw_OperErrQual; description "Operation Error Qualifier"; } // Region name leaf regName { type stp_RegName; description "Region Name"; } // Region revision leaf rev { type stp_RegRev; description "Region Revision"; } // spanning tree forward delay leaf fwdTime { type stp_FwdTime; description "STP forward delay"; } // spanning tree hello interval leaf helloTime { type stp_HelloTime; description "STP Hello interval"; } // spanning tree max age interval leaf maxAge { type stp_MaxAge; description "STP max age interval"; } // This objects describes an mst instance container mst-items { list MstDom-list { key "id"; uses stp_MstDom-group; description "MST Domain list"; } description "MST Domain"; } } grouping stp_MstDom-group { description "MST Domain"; // MST config state leaf cfgSt { type stp_AdminSt; default "disabled"; description "Instance config State"; } // Id leaf id { type stp_MstId; description "ID Property has READ-Create access."; } // root type leaf root { type stp_Root; description "Root Options"; } // network diameter leaf diameter { type stp_Diameter; description "Network Diameter"; } // priority leaf priority { type stp_BridgePriority; description "Bridge Priority"; } // VlanRange leaf vlanRange { type stp_VlanBitmap; description "Vlan Range Bitmap"; } // Root type for bridge leaf rootType { type stp_RootType; description "Bridge Root Type"; } // Root Mode added for root bridge cli, since the cli accepts hello time and updates forward_delay // and max_Age based on hello time and diameter entered. If hello time is entered in normal mode for // spanning tree using "spanning tree vlan ", this should not update the values // of forward_delay and max_age. To differentiate this property has been added. When is // used with the root mode cli, values will be updated depending on if this property is set or not leaf rootMode { type stp_RootMode; description "Bridge Root Config mode"; } leaf bridgePriority { config "false"; type uint16; description "Bridge ID: Priority with extended system ID"; } leaf bridgeAddress { config "false"; type address_Mac; description "Bridge ID: MAC address"; } leaf rootPriority { config "false"; type uint16; description "Root ID: Priority"; } leaf rootAddress { config "false"; type address_Mac; description "Root ID: MAC address"; } leaf rootPortPriority { config "false"; type uint16; description "Root port ID: Priority"; } leaf rootPortNumber { config "false"; type uint16; description "Root port ID: Port number"; } // Root port name. The interface name that corresponds to the // root port. E.g. eth1/1. leaf rootPort { config "false"; type nw_IfId; description "Root port name"; } leaf rootPathCost { config "false"; type uint32; description "Root path cost"; } leaf topologyChange { config "false"; type uint32; description "topology change flag"; } leaf tcDetected { config "false"; type uint32; description "topology change detected flag"; } leaf tcCount { config "false"; type uint32; description "topology change count"; } leaf tcTimeSinceLast { config "false"; type union { type string; type uint64; } description "topology change time since last in seconds"; } leaf tcLast { config "false"; type union { type string; type uint64; } description "last topology change seconds"; } // topology change initiator leaf tcInitiator { config "false"; type nw_IfId; description "topology change initiator"; } leaf tcChangeTimer { config "false"; type uint32; description "topology change timer"; } leaf holdTime { config "false"; type uint32; description "hold time for the tree"; } // This objects describes a vlan range container vlan-items { list VlanRange-list { config "false"; key "start end"; uses stp_VlanRange-group; description "Vlan Range list"; } description "Vlan Range"; } // This object holds STP MST interface operational // information. container if-items { list MstIf-list { config "false"; key "id"; uses stp_MstIf-group; description "STP MST interface operational list"; } description "STP MST interface operational"; } } grouping stp_VlanRange-group { description "Vlan Range"; // Start of the range leaf start { config "false"; type stp_VlanId; description "Start"; } // End of the range leaf end { config "false"; type stp_VlanId; description "End"; } } grouping stp_MstIf-group { description "STP MST interface operational"; // Interface ID. leaf id { config "false"; type nw_IfId; description "Interface ID"; } leaf designatedRootPriority { config "false"; type uint16; description "Designated root priority"; } leaf designatedRootAddress { config "false"; type address_Mac; description "Designated root MAC address"; } leaf designatedRootCost { config "false"; type uint32; description "Designated root cost"; } leaf designatedBridgePriority { config "false"; type uint16; description "Designated bridge priority"; } leaf designatedBridgeAddress { config "false"; type address_Mac; description "Designated bridge MAC address"; } leaf designatedPortPriority { config "false"; type uint16; description "Designated Port ID: Priority"; } leaf designatedPortNumber { config "false"; type uint16; description "Designated Port ID: Port number"; } leaf portPriority { config "false"; type uint16; description "Port ID: Priority"; } leaf portNumber { config "false"; type uint16; description "Port ID: Port number"; } leaf portPathCost { config "false"; type uint32; description "Port path cost"; } // Port role leaf portRole { config "false"; type stp_PortRole; description "Port role"; } // Port state leaf portState { config "false"; type stp_PortState; description "Port state"; } leaf p2p { config "false"; type boolean; description "Is the oper link-type p2p"; } leaf operBpduguard { config "false"; type boolean; description "Is the oper bpduguard"; } leaf operBpdufilter { config "false"; type boolean; description "Is the oper bpdufilter"; } leaf operPortfast { config "false"; type boolean; description "Is the oper portfast"; } leaf operLoopguard { config "false"; type boolean; description "Is the oper loopguard"; } // VpcState leaf vpcState { config "false"; type stp_VpcState; description "vPC State"; } // Port mode leaf mode { config "false"; type stp_ModeType; description "mode"; } leaf dispute { config "false"; type boolean; description "Is the port dispute"; } leaf peer { config "false"; type boolean; description "Is the port peer type"; } leaf bound { config "false"; type boolean; description "Is the port bound"; } leaf inconsistent { config "false"; type boolean; description "Is the port inconsistent"; } leaf prestd { config "false"; type boolean; description "Is the port mst prestd"; } leaf tcAcknowledge { config "false"; type boolean; description "Topology change is set"; } leaf messageAge { config "false"; type uint32; description "Port message age timer"; } leaf forwardDelay { config "false"; type uint32; description "Port forward delay timer"; } leaf holdTimer { config "false"; type uint32; description "Port oper hold timer"; } leaf forwardTc { config "false"; type uint32; description "Port forward transition count"; } leaf sentBpdus { config "false"; type uint32; description "count of total Sent BPDUs"; } leaf receivedBpdus { config "false"; type uint32; description "count of total Received BPDUs"; } } grouping stp_PseudoInfo-group { description "STP pseudo information"; // stp pseudo-information, mst domain designated and root priority container mstinst-items { list MstInst-list { key "id"; uses stp_MstInst-group; description "MST Domain ID list"; } description "MST Domain ID"; } // This object holds stp information that is operated at // vlan level in pseudo information mode container vlan-items { list VlanInst-list { key "id"; uses stp_VlanInst-group; description "Vlan list"; } description "Vlan"; } } grouping stp_MstInst-group { description "MST Domain ID"; leaf id { type stp_MstId; description "Mst Instance Id"; } // Pseudo mst designated Priority leaf designatedPriority { type stp_BridgePriority; description "Designated Priority"; } // Pseudo mst root Priority leaf rootPriority { type stp_BridgePriority; description "Root Priority"; } } grouping stp_VlanInst-group { description "Vlan"; // vlan id leaf id { type stp_VlanId; description "Access Encapsulation"; } // designated bridge priority leaf designatedBridgePriority { type stp_Priority; description "Designated Bridge Priority"; } // root bridge priority leaf rootBridgePriority { type stp_Priority; description "Root Bridge Priority"; } // Spanning tree protocol leaf protocol { config "false"; type stp_Protocol; description "Spanning tree protocol"; } // spanning tree state: enabled or disabled leaf adminSt { type nw_AdminSt; description "Admin State"; } // spanning tree forward delay leaf fwdTime { type stp_FwdTime; description "STP forward delay"; } // spanning tree hello interval leaf helloTime { type stp_HelloTime; description "STP Hello interval"; } // spanning tree max age interval leaf maxAge { type stp_MaxAge; description "STP max age interval"; } } grouping stp_Vlan-group { description "Vlan"; // vlan id leaf id { type stp_VlanId; description "Access Encapsulation"; } leaf enabledIntf { type string; description "Interfaces that have vlan cost/priority enabled"; } // bridge priority leaf priority { type stp_Priority; description "Bridge Priority"; } // network diameter of spanning tree leaf diameter { type stp_Diameter; description "network diameter"; } // Spanning tree protocol leaf protocol { config "false"; type stp_Protocol; description "Spanning tree protocol"; } // Root type for bridge leaf rootType { type stp_RootType; description "Bridge Root Type"; } // Root Mode added for root bridge cli, since the cli accepts hello time and updates forward_delay // and max_Age based on hello time and diameter entered. If hello time is entered in normal mode for // spanning tree using "spanning tree vlan ", this should not update the values // of forward_delay and max_age. To differentiate this property has been added. When is // used with the root mode cli, values will be updated depending on if this property is set or not leaf rootMode { type stp_RootMode; description "Bridge Root Config mode"; } leaf bridgePriority { config "false"; type uint16; description "Bridge ID: Priority with extended system ID"; } leaf bridgeAddress { config "false"; type address_Mac; description "Bridge ID: MAC address"; } leaf rootPriority { config "false"; type uint16; description "Root ID: Priority"; } leaf rootAddress { config "false"; type address_Mac; description "Root ID: MAC address"; } leaf rootPortPriority { config "false"; type uint16; description "Root port ID: Priority"; } leaf rootPortNumber { config "false"; type uint16; description "Root port ID: Port number"; } // Root port name. The interface name that corresponds to the // root port. E.g. eth1/1. leaf rootPort { config "false"; type nw_IfId; description "Root port name"; } leaf rootPathCost { config "false"; type uint32; description "Root path cost"; } leaf topologyChange { config "false"; type uint32; description "topology change flag"; } leaf tcDetected { config "false"; type uint32; description "topology change detected flag"; } leaf tcCount { config "false"; type uint32; description "topology change count"; } leaf tcTimeSinceLast { config "false"; type union { type string; type uint64; } description "topology change time since last in seconds"; } leaf tcLast { config "false"; type union { type string; type uint64; } description "last topology change seconds"; } // topology change initiator leaf tcInitiator { config "false"; type nw_IfId; description "topology change initiator"; } leaf tcChangeTimer { config "false"; type uint32; description "topology change timer"; } leaf holdTime { config "false"; type uint32; description "hold time for the tree"; } // spanning tree state: enabled or disabled leaf adminSt { type nw_AdminSt; description "Admin State"; } // spanning tree forward delay leaf fwdTime { type stp_FwdTime; description "STP forward delay"; } // spanning tree hello interval leaf helloTime { type stp_HelloTime; description "STP Hello interval"; } // spanning tree max age interval leaf maxAge { type stp_MaxAge; description "STP max age interval"; } // This object holds STP VLAN interface operational // information. container if-items { list VlanIf-list { config "false"; key "id"; uses stp_VlanIf-group; description "STP VLAN interface operational list"; } description "STP VLAN interface operational"; } } grouping stp_VlanIf-group { description "STP VLAN interface operational"; // Interface ID. leaf id { config "false"; type nw_IfId; description "Interface ID"; } leaf designatedRootPriority { config "false"; type uint16; description "Designated root priority"; } leaf designatedRootAddress { config "false"; type address_Mac; description "Designated root MAC address"; } leaf designatedRootCost { config "false"; type uint32; description "Designated root cost"; } leaf designatedBridgePriority { config "false"; type uint16; description "Designated bridge priority"; } leaf designatedBridgeAddress { config "false"; type address_Mac; description "Designated bridge MAC address"; } leaf designatedPortPriority { config "false"; type uint16; description "Designated Port ID: Priority"; } leaf designatedPortNumber { config "false"; type uint16; description "Designated Port ID: Port number"; } leaf portPriority { config "false"; type uint16; description "Port ID: Priority"; } leaf portNumber { config "false"; type uint16; description "Port ID: Port number"; } leaf portPathCost { config "false"; type uint32; description "Port path cost"; } // Port role leaf portRole { config "false"; type stp_PortRole; description "Port role"; } // Port state leaf portState { config "false"; type stp_PortState; description "Port state"; } leaf p2p { config "false"; type boolean; description "Is the oper link-type p2p"; } leaf operBpduguard { config "false"; type boolean; description "Is the oper bpduguard"; } leaf operBpdufilter { config "false"; type boolean; description "Is the oper bpdufilter"; } leaf operPortfast { config "false"; type boolean; description "Is the oper portfast"; } leaf operLoopguard { config "false"; type boolean; description "Is the oper loopguard"; } // VpcState leaf vpcState { config "false"; type stp_VpcState; description "vPC State"; } // Port mode leaf mode { config "false"; type stp_ModeType; description "mode"; } leaf dispute { config "false"; type boolean; description "Is the port dispute"; } leaf peer { config "false"; type boolean; description "Is the port peer type"; } leaf bound { config "false"; type boolean; description "Is the port bound"; } leaf inconsistent { config "false"; type boolean; description "Is the port inconsistent"; } leaf prestd { config "false"; type boolean; description "Is the port mst prestd"; } leaf tcAcknowledge { config "false"; type boolean; description "Topology change is set"; } leaf messageAge { config "false"; type uint32; description "Port message age timer"; } leaf forwardDelay { config "false"; type uint32; description "Port forward delay timer"; } leaf holdTimer { config "false"; type uint32; description "Port oper hold timer"; } leaf forwardTc { config "false"; type uint32; description "Port forward transition count"; } leaf sentBpdus { config "false"; type uint32; description "count of total Sent BPDUs"; } leaf receivedBpdus { config "false"; type uint32; description "count of total Received BPDUs"; } } grouping aggregate_BdTable-group { description "Bd Table"; // Aggregate BdEntry container vlan-items { list BdEntry-list { key "vlan"; uses aggregate_BdEntry-group; description "Bridged domain vlan vnid configuration in the VXLAN overlay Network list"; } description "Bridged domain vlan vnid configuration in the VXLAN overlay Network"; } } grouping aggregate_BdEntry-group { description "Bridged domain vlan vnid configuration in the VXLAN overlay Network"; leaf vlan { type string; description "Identity of the Vlan in the bridged domain"; } leaf bd { type uint32; description "Access Encapsulation"; } leaf vnid { type string; description "Identity of the Vnid in the bridged domain"; } leaf replicationMode { type aggregate_ReplicationModeType; description "The mode of replication for BUM data packets"; } leaf ingressRepProtocol { type aggregate_IngressRepProtocolType; description "The protocol type used to get the list of replication nodes"; } leaf gipo { type address_Ip; description "Multicast Address for Replication"; } leaf suppressArp { type aggregate_BooleanFlag; description "Flag to enable or disable the ARP suppression"; } leaf resourceStatus { type aggregate_ResourceStatus; description "Backend Resource Status"; } leaf isL3 { type aggregate_BooleanFlag; description "Is L3 Vlan"; } leaf description { type string; description "description"; } container floodList-items { uses aggregate_FloodList-group; description "Bd Member Entry"; } // Domain (vrf) information // // // // // // // // // // List of route types container af-items { list DomainAf-list { key "type"; uses aggregate_DomainAf-group; description "Domain Address Family list"; } description "Domain Address Family"; } container rtaggregateVlanMemberAtt-items { list RtAggregateVlanMemberAtt-list { config "false"; key "tDn"; uses aggregate_RtAggregateVlanMemberAtt_target-group; description "Vlan Membership Attachment list"; } description "Vlan Membership Attachment"; } } grouping aggregate_FloodList-group { description "Bd Member Entry"; container localFloodList-items { uses aggregate_LocalFloodList-group; description "List of local ports configured under the bridged domain"; } container remoteFloodList-items { uses aggregate_RemoteFloodList-group; description "VTEP IP address list of the remote VTEPs within the VNI"; } } grouping aggregate_LocalFloodList-group { description "List of local ports configured under the bridged domain"; container intf-items { list LocalFloodListEntry-list { key "intf"; uses aggregate_LocalFloodListEntry-group; description "Interface info of LocalFloodListEntry list"; } description "Interface info of LocalFloodListEntry"; } } grouping aggregate_LocalFloodListEntry-group { description "Interface info of LocalFloodListEntry"; leaf intf { type nw_IfId; description "Interface"; } } grouping aggregate_RemoteFloodList-group { description "VTEP IP address list of the remote VTEPs within the VNI"; container vtep-items { list RemoteFloodListEntry-list { key "vtep"; uses aggregate_RemoteFloodListEntry-group; description "VTEP IP address in the list of the remote VTEPs within the VNI list"; } description "VTEP IP address in the list of the remote VTEPs within the VNI"; } } grouping aggregate_RemoteFloodListEntry-group { description "VTEP IP address in the list of the remote VTEPs within the VNI"; leaf vtep { type address_Ip; description "VTEP IP address"; } container rsvtepAtt-items { list RsVtepAtt-list { config "false"; key "tDn"; uses aggregate_RsVtepAtt_source-group; description "Link To Tunnel Intf Entry list"; } description "Link To Tunnel Intf Entry"; } } grouping aggregate_DomainAf-group { description "Domain Address Family"; leaf type { type aggregate_AfT; description "Type"; } leaf vrf { type string; description "VRF"; } leaf rd { type mtx_array_community; description "Route Distinguisher"; } // Route target policy container rttp-items { list RttP-list { key "type"; uses aggregate_RttP-group; description "Route Target Policy list"; } description "Route Target Policy"; } // // // // // // // // // // // This object holds policy to control vpn af // information for a given vrf container ctrl-items { list AfCtrl-list { key "type"; uses aggregate_AfCtrl-group; description "Virtual Private Network Control Policy list"; } description "Virtual Private Network Control Policy"; } } grouping aggregate_RttP-group { description "Route Target Policy"; // Type leaf type { type aggregate_RttPType; description "Type"; } // isL3 VRF leaf isL3 { type aggregate_BooleanFlag; description "IsL3"; } // List of route types container ent-items { list RttEntry-list { key "rtt"; uses aggregate_RttEntry-group; description "Route Target Entry list"; } description "Route Target Entry"; } } grouping aggregate_RttEntry-group { description "Route Target Entry"; leaf rtt { type mtx_array_community; description "Route Target"; } } grouping aggregate_AfCtrl-group { description "Virtual Private Network Control Policy"; // Type leaf type { type aggregate_AfT; description "Type"; } // Route target policy container rttp-items { list RttP-list { key "type"; uses aggregate_RttP-group; description "Route Target Policy list"; } description "Route Target Policy"; } } grouping aggregate_GlobalConfTable-group { description "Global Configuration Table"; leaf vxLanMC { type aggregate_BooleanFlag; description "VxLan Multicast Flag"; } leaf agMac { type address_Mac; description "Anycast Gateway mac"; } } grouping aggregate_IntfTable-group { description "Interface Table"; container intf-items { list IntfEntry-list { key "name"; uses aggregate_IntfEntry-group; description "Interface Entry list"; } description "Interface Entry"; } container svi-items { list Svi-list { key "intf"; uses aggregate_Svi-group; description "SVI Interface Entry list"; } description "SVI Interface Entry"; } } grouping aggregate_IntfEntry-group { description "Interface Entry"; leaf name { type nw_IfId; description "Name of the interface entry"; } leaf type { type aggregate_IntfType; description "Indicates the type of the interface"; } leaf adminState { type aggregate_AdminState; description "Indicates the adminstration state of interface whether interface is up or down"; } leaf operState { type aggregate_OperState; description "Indicates the operational state of the interface whether up or down"; } leaf trunkVlans { type aggregate_IntfTrunkVlans; description "List of vlans allowed on this interface"; } leaf isControllerOwnedIntf { config "false"; type boolean; description "Indicates whether interface is assigned to the controller"; } leaf ownerControllersIdList { config "false"; type aggregate_ControllerIdBitmap; description "List of the controller owning this interface"; } leaf untaggedVlan { type string; description "port-acccess-VLAN or native-VLAN for untagged traffic"; } leaf untaggedVlanCtrlUse { type boolean; description "untagged VLAN is used by Controller"; } leaf untaggedVlanExplicitMap { type boolean; description "untagged VLAN is also explicitly mapped by Controller"; } container vlanMemberTable-items { uses aggregate_VlanMemberTable-group; description "Vlan Member Table"; } container rtvpcIntfEntryAtt-items { uses aggregate_RtVpcIntfEntryAtt_target-group; description "Vpc Interface Entry Attachment"; } } grouping aggregate_VlanMemberTable-group { description "Vlan Member Table"; container member-items { list VlanMemberEntry-list { key "vlan"; uses aggregate_VlanMemberEntry-group; description "Vlan Member Entry list"; } description "Vlan Member Entry"; } container rsvlanMemberAtt-items { list RsVlanMemberAtt-list { config "false"; key "tDn"; uses aggregate_RsVlanMemberAtt_source-group; description "Vlan Membership Attachment list"; } description "Vlan Membership Attachment"; } } grouping aggregate_VlanMemberEntry-group { description "Vlan Member Entry"; leaf vlan { type string; description "Vlan id of the vlan member entry"; } } grouping aggregate_Svi-group { description "SVI Interface Entry"; leaf intf { type string; description "Interface id of the switch virtual interface"; } leaf adminState { type aggregate_AdminState; description "Admin state of the interface whether up or down"; } leaf operState { type aggregate_OperState; description "Operational state of the interface whether up or down"; } leaf ip { type address_Ip; description "IP addr address assigned to this interface"; } leaf ownerCtrlrsIdList { config "false"; type aggregate_ControllerIdBitmap; description "List of the controller Ids owning this interface"; } leaf mtu { type aggregate_MTU; description "Size of the MTU this interface is able to transmit"; } leaf bw { type aggregate_Bw; description "Bandwidth Of SVI"; } leaf fwdMode { type aggregate_fabFwdMode; description "Fabric Forwarding Mode"; } leaf vrf { type l3_VrfName; description "VRF context"; } } grouping aggregate_MacTable-group { description "MAC Table"; container dynamic-items { uses aggregate_DynamicMac-group; description "Dynamic MAC Table"; } container static-items { uses aggregate_StaticMac-group; description "Static MAC Table"; } } grouping aggregate_DynamicMac-group { description "Dynamic MAC Table"; // Aggregate MacEntry container mac-items { list MacEntry-list { key "mac vlan"; uses aggregate_MacEntry-group; description "MAC Entry list"; } description "MAC Entry"; } } grouping aggregate_MacEntry-group { description "MAC Entry"; leaf mac { type address_Mac; description "MAC"; } leaf vlan { type string; description "Vlan"; } leaf intf { type nw_IfId; description "Interface"; } leaf tunnelDstIp { type address_Ip; description "TunnelDstIp"; } leaf isIntf { type boolean; description "isIf"; } leaf type { type aggregate_MacType; description "MacType"; } leaf pushedMacToBackEnd { type boolean; default "false"; description "pushedMacToBackEnd"; } container rtmac-items { uses aggregate_RtMac_target-group; description "Tunnel Mac Entry"; } } grouping aggregate_StaticMac-group { description "Static MAC Table"; // Aggregate MacEntry container mac-items { list MacEntry-list { key "mac vlan"; uses aggregate_MacEntry-group; description "MAC Entry list"; } description "MAC Entry"; } } grouping aggregate_SystemTable-group { description "System or switch level properties for SDN controller interface."; leaf stTime { type mo_TStamp; description "System Start Time"; } leaf mgmtIp { config "false"; type address_Ip; description "Management IP address of the switch"; } leaf switchType { type string; description "Switch Type"; } leaf purgeDBRequest { type mo_TStamp; description "Client DB Purge Request"; } leaf isControllerConfigured { type boolean; description "IsControllerConfigured"; } leaf nxdbEnabled { config "false"; type boolean; description "nxdbEnabled"; } container controllerTable-items { uses aggregate_ControllerTable-group; description "Controller Table"; } container cpuTable-items { uses aggregate_CPUTable-group; description "CPU Table"; } container moduleTable-items { uses aggregate_ModuleTable-group; } container vxlanTable-items { uses aggregate_VxlanTable-group; description "Vxlan Table"; } container shadowVxlanTable-items { uses aggregate_ShadowVxlanTable-group; description "Shadow Vxlan Table"; } } grouping aggregate_ControllerTable-group { description "Controller Table"; container controller-items { list ControllerEntry-list { key "id"; uses aggregate_ControllerEntry-group; description "Configuration properties of the controller instance controlling this switch list"; } description "Configuration properties of the controller instance controlling this switch"; } } grouping aggregate_ControllerEntry-group { description "Configuration properties of the controller instance controlling this switch"; leaf id { type uint32; description "Unique identity of the controller instance"; } leaf readRole { type string; description "Name of the read role for get APIs"; } leaf writeRole { type string; description "Name of the write role for get and set APIs"; } leaf controllerType { type string; description "Type of the vxlan overlay this controller is controlling"; } leaf configuredVlans { config "false"; type l2_VlanBitmap; description "Vlans that are assigned under this controller"; } leaf dedicatedVlans { config "false"; type l2_VlanBitmap; description "Dedicated Vlans"; } leaf publishedVlans { config "false"; type l2_VlanBitmap; description "Vlans that are published to the controller after VPC consistency checks are completed"; } leaf vlanResourceStatus { config "false"; type aggregate_ResourceStatus; description "Indicate that at least one Vlan is assigned to the controller"; } leaf intfResourceStatus { config "false"; type aggregate_ResourceStatus; description "Indicate that at least one interface is assigned to the controller"; } leaf isSystemReadyForController { type aggregate_ConfigStatus; description "Indicate that switch is now ready to acccept the NXAPI requests from the controller"; } leaf type { type aggregate_CtrlrType; description "Type of the Vxlan the controller is controlling"; } leaf vrfPrefix { type string; description "The string prefix that will be prefixed to all VRFs created by this controller"; } leaf numVrf { type uint32; description "Maximum number of VRFs that this controller can create on the switch"; } leaf publishVrf { type boolean; description "Flag indicate if vrfs are tobe published to the controller not not"; } leaf publishNumVrf { type uint32; description "Numumber of vrfs published to controller after VPC consistency checks are completed"; } container controllerAssignedIntfTable-items { uses aggregate_ControllerAssignedIntfTable-group; description "Controller Assigned Interface Table"; } } grouping aggregate_ControllerAssignedIntfTable-group { description "Controller Assigned Interface Table"; container controllerAssignedIntfEntry-items { list ControllerAssignedIntfEntry-list { key "intfName"; uses aggregate_ControllerAssignedIntfEntry-group; description "Properties of an interface assigned to the controller list"; } description "Properties of an interface assigned to the controller"; } } grouping aggregate_ControllerAssignedIntfEntry-group { description "Properties of an interface assigned to the controller"; leaf intfName { type nw_IfId; description "IntfName"; } // Port channel id leaf pcId { type pc_PcId; description "Identity of the Port channel"; } leaf type { type aggregate_IntfType; description "Type of the interface"; } leaf mode { type aggregate_IntfAssignMode; description "Suggest if interface is dedicated to controller or shared between CLI"; } leaf published { type boolean; description "Indicates whether interface is published to the controller or not"; } } grouping aggregate_CPUTable-group { description "CPU Table"; container cpuEntry-items { list CPUEntry-list { key "type"; uses aggregate_CPUEntry-group; description "CPU Entry list"; } description "CPU Entry"; } } grouping aggregate_CPUEntry-group { description "CPU Entry"; leaf type { type aggregate_CpuType; description "CPU Type"; } } grouping aggregate_ModuleTable-group { container moduleEntry-items { list ModuleEntry-list { key "type"; uses aggregate_ModuleEntry-group; } } } grouping aggregate_ModuleEntry-group { leaf type { type aggregate_ModuleType; description "Type"; } } grouping aggregate_VxlanTable-group { description "Vxlan Table"; container intf-items { list VxlanInterfaceEntry-list { key "name"; uses aggregate_VxlanInterfaceEntry-group; description "Vxlan interface entry represents the properties of the VTEP list"; } description "Vxlan interface entry represents the properties of the VTEP"; } } grouping aggregate_VxlanInterfaceEntry-group { description "Vxlan interface entry represents the properties of the VTEP"; leaf name { type string; description "Name"; } leaf myTepStatus { config "false"; type aggregate_OperState; description "MyTepStatus"; } leaf hostReachability { config "false"; type aggregate_HostReachabilityMode; description "HostReachability"; } leaf controllerId { type uint32; description "Controller ID"; } leaf configSource { config "false"; type aggregate_ConfigSourceType; description "configSource"; } leaf primaryTunnelIp { config "false"; type address_Ip; description "PrimaryTunnelIp"; } leaf secondaryTunnelIp { config "false"; type address_Ip; description "SecondaryTunnelIp"; } container localBfd-items { uses aggregate_LocalBfd-group; description "Configuration properties of the local BFD endpoint of VTEP"; } } grouping aggregate_LocalBfd-group { description "Configuration properties of the local BFD endpoint of VTEP"; leaf mac { config "false"; type address_Mac; description "BFD DMAC"; } leaf ip { config "false"; type address_Ip; description "BFD IP"; } leaf minTxIntvl { config "false"; type aggregate_MinTxIntvl; description "Desired Minimum TX Interval"; } leaf minRxIntvl { config "false"; type aggregate_MinRxIntvl; description "Desired Minimum RX Interval"; } } grouping aggregate_ShadowVxlanTable-group { description "Shadow Vxlan Table"; container intf-items { list ShadowVxlanInterfaceEntry-list { key "name"; uses aggregate_ShadowVxlanInterfaceEntry-group; description "Vxlan Interface Entry list"; } description "Vxlan Interface Entry"; } } grouping aggregate_ShadowVxlanInterfaceEntry-group { description "Vxlan Interface Entry"; leaf name { type string; description "Name"; } leaf myTepStatus { config "false"; type aggregate_OperState; description "MyTepStatus"; } leaf hostReachability { config "false"; type aggregate_HostReachabilityMode; description "HostReachability"; } leaf controllerId { type uint32; description "Controller ID"; } leaf configSource { config "false"; type aggregate_ConfigSourceType; description "configSource"; } leaf primaryTunnelIp { config "false"; type address_Ip; description "PrimaryTunnelIp"; } leaf secondaryTunnelIp { config "false"; type address_Ip; description "SecondaryTunnelIp"; } } grouping aggregate_TunnelIntfTable-group { description "Tunnel Interface Table"; container intf-items { list TunnelIntfEntry-list { key "destIp"; uses aggregate_TunnelIntfEntry-group; description "Properties of the remote VTEP tunnel endpoint list"; } description "Properties of the remote VTEP tunnel endpoint"; } } grouping aggregate_TunnelIntfEntry-group { description "Properties of the remote VTEP tunnel endpoint"; leaf description { type string; description "description"; } leaf ifId { type nw_IfId; description "Unique tunnel interface Id"; } leaf type { type aggregate_TunnelType; description "Indicate if the tunnel is of IPv4 or IPv6 type"; } leaf srcIp { type address_Ip; description "Source IP address of the tunnel interface"; } leaf destIp { type address_Ip; description "Destination IP address of the tunnel interface"; } leaf mtu { type aggregate_MTU; description "Size of MTU on the tunnel interface"; } leaf state { type aggregate_OperState; description "Operational state of the tunnel interface"; } leaf vrf { type l3_VrfName; description "The name of the VRF that is supported by this tunnel"; } leaf ipVnidBinding { type aggregate_BooleanFlag; description "Indicates if the L3 VNID binding is established or not"; } leaf isTunnelCreated { config "false"; type boolean; default "false"; description "Indicates if the tunnel is created and initialized for transport of the VTEP traffic"; } leaf isTunnelCreatedByController { config "false"; type boolean; default "true"; description "Indicates if the tunnel is created by the controller"; } leaf noOfMacsSeenBeforeTunnelCreatedbyController { config "false"; type uint32; description "The number of MACs that are learned locally before tunnel interface is created by the controller"; } leaf epType { type aggregate_EpType; description "The type of the tunnel endpoint"; } container tunMacTable-items { uses aggregate_TunMacTable-group; description "Tunnel Mac Table"; } container vnidTable-items { uses aggregate_VnidTable-group; description "Vnid Table"; } container remoteBfd-items { uses aggregate_RemoteBfd-group; description "Managed object for configuration properties of the remote BFD endpoint of VTEP"; } container rtaggregateVtepAtt-items { list RtAggregateVtepAtt-list { config "false"; key "tDn"; uses aggregate_RtAggregateVtepAtt_target-group; description "Link To Tunnel Intf Entry list"; } description "Link To Tunnel Intf Entry"; } } grouping aggregate_TunMacTable-group { description "Tunnel Mac Table"; container rsmac-items { list RsMac-list { config "false"; key "tDn"; uses aggregate_RsMac_source-group; description "Tunnel Mac Entry list"; } description "Tunnel Mac Entry"; } } grouping aggregate_VnidTable-group { description "Vnid Table"; container vnid-items { list VnidEntry-list { key "vnid"; uses aggregate_VnidEntry-group; description "A specific vnid Entry in the Vnid table list"; } description "A specific vnid Entry in the Vnid table"; } } grouping aggregate_VnidEntry-group { description "A specific vnid Entry in the Vnid table"; leaf vnid { type string; description "Vnid"; } leaf groupAddr { type aggregate_GroupAddr; description "GroupAddr"; } } grouping aggregate_RemoteBfd-group { description "Managed object for configuration properties of the remote BFD endpoint of VTEP"; leaf bfdStatus { type aggregate_BfdStatus; description "Vnid"; } leaf mac { type address_Mac; description "BFD DMAC"; } leaf ip { type address_Ip; description "BFD IP"; } leaf minTxIntvl { type aggregate_MinTxIntvl; description "Desired Minimum TX Interval"; } leaf minRxIntvl { type aggregate_MinRxIntvl; description "Desired Minimum RX Interval"; } } grouping aggregate_VlanTable-group { description "Vlan Table"; // Aggregate VlanEntry container vlan-items { list VlanEntry-list { key "id"; uses aggregate_VlanEntry-group; description "Vlan Entry list"; } description "Vlan Entry"; } } grouping aggregate_VlanEntry-group { description "Vlan Entry"; leaf id { type string; description "Name"; } leaf adminState { type aggregate_AdminState; description "AdminState"; } } grouping aggregate_VpcDomTable-group { description "Vpc Domain Table"; container vpcDom-items { list VpcDomEntry-list { key "domainId"; uses aggregate_VpcDomEntry-group; description "List of properties of a specific VPC domain entry list"; } description "List of properties of a specific VPC domain entry"; } } grouping aggregate_VpcDomEntry-group { description "List of properties of a specific VPC domain entry"; leaf domainId { type vpc_DomId; description "The unique VPC domain Id"; } leaf keepaliveDestIp { type address_Ip; description "The destination IP address of the keep alive link between VPC pair"; } leaf keepaliveSrcIp { type address_Ip; description "The source IP address of the keep alive link between VPC pair"; } leaf virtualIp { type address_Ip; description "The IP address that represent the VPC tunnel endpoint"; } leaf peerIp { type address_Ip; description "Peer IP"; } leaf keepaliveSts { config "false"; type aggregate_VpcKeepaliveStatus; description "Keep alive status between the VPC pair switches"; } leaf peerLinkSts { config "false"; type aggregate_VpcPeerLinkStatus; description "Peer Link Status between the VPC pair switches"; } leaf vpcRole { config "false"; type vpc_Role; description "Indicates if the switch is primary or secondary in the VPC pair"; } leaf peerGW { type boolean; description "Gateway where the non-standard layer 2 packets are forwarded in a vPC environment"; } leaf dualActive { type boolean; description "Indication that both the peer link and the peer keep alive link are disconnected"; } leaf peerLinkIf { type nw_IfId; description "Port channel interface of the peer link"; } // VPCTAB container vpcTable-items { uses aggregate_VpcTable-group; description "Vpc Table"; } } grouping aggregate_VpcTable-group { description "Vpc Table"; container vpc-items { list VpcEntry-list { key "vpcnum"; uses aggregate_VpcEntry-group; description "vpc Entry list"; } description "vpc Entry"; } } grouping aggregate_VpcEntry-group { description "vpc Entry"; leaf vpcnum { type vpc_Id; description "Unique number identifying this Vpc pair"; } leaf ifId { type nw_IfId; description "VPC port channel number"; } leaf operState { type vpc_OperSt; description "Operationsl status of the VPC port channel"; } leaf consCheckSts { config "false"; type vpc_CompatSt; description "Indication of whether consistency checks have passed or failed"; } leaf consCheckReason { config "false"; type vpc_CompatQual; description "Provides a reason why consistency check have failed"; } container vpcintf-items { uses aggregate_VpcIntfEntry-group; description "VPC Interface Entry"; } } grouping aggregate_VpcIntfEntry-group { description "VPC Interface Entry"; container rsvpcIntfEntryAtt-items { uses aggregate_RsVpcIntfEntryAtt_source-group; description "Vpc Interface Entry Attachment"; } } grouping aggregate_VrfTable-group { container vrf-items { list VrfEntry-list { key "name"; uses aggregate_VrfEntry-group; } } } grouping aggregate_VrfEntry-group { leaf name { type l3_VrfName; description "Name of the VRF instance"; } leaf genName { type l3_VrfName; description "Generic name of the VRF instance"; } leaf ctrlrId { type aggregate_ControllerID; description "Id of the controller this VRF is assigned to"; } leaf vnid { type string; description "Virtual network id this VRF is associated with"; } leaf rd { type mtx_array_community; description "A unique number prepended to route in VRF to distinguish its belonging to a particular VRF"; } leaf genExtraRt { type boolean; description "A flag to indicate whether to generate extra route target for VRF"; } leaf templateName { type string; description "Name of the config template which is executed upon creation of this VRF"; } leaf templateStatus { config "false"; type aggregate_ConfTmplStatus; description "Indicates the execution status of the config template"; } leaf shdwTemplateName { config "false"; type string; description "Name of the shadow template name the config template is associated"; } leaf shdwVrfGenName { config "false"; type string; description "Shadow VRF-controller-prefix Name"; } // Domain (vrf) information // // // // // // // // // // List of route types container af-items { list DomainAf-list { key "type"; uses aggregate_DomainAf-group; description "Domain Address Family list"; } description "Domain Address Family"; } } grouping acl_Entity-group { description "Entity of the Access Control List"; container systemacl-items { uses acl_SystemAcl-group; description "System Acl Management Command"; } // IPv4 and IPv6 port object-group container oName-items { list PortGroup-list { key "name"; uses acl_PortGroup-group; description "IPv4 and IPv6 port object group list"; } description "IPv4 and IPv6 port object group"; } // MO: VLAN ACL container vlan-items { list VLANACL-list { key "name"; uses acl_VLANACL-group; description "Defines the VLAN Access Control Lists list"; } description "Defines the VLAN Access Control Lists"; } // IPv4 container mac-items { uses macacl_AF-group; description "mac access control list configuration space"; } // MPLS container mpls-items { uses mplsacl_AF-group; description "MPLS access control list configuration space"; } // Time Range container timerange-items { uses timerange_Timerange-group; description "Time-Range configuration space"; } // IPv4 container ipv4-items { uses ipv4acl_AF-group; description "IPv4 access control list configuration space"; } // IPv6 container ipv6-items { uses ipv6acl_AF-group; description "IPv6 access control list configuration space"; } } grouping acl_SystemAcl-group { description "System Acl Management Command"; leaf state { type boolean; description "Check the status of System ACL"; } // Name of Access-Lists leaf name { type acl_AclName; description "Name of Access-Lists"; } // Ingress or Egress direction leaf inout { type acl_Direction; description "Ingress or Egress direction"; } } grouping acl_PortGroup-group { description "IPv4 and IPv6 port object group"; // object-group name leaf name { type acl_Name; description "Object-group Name in ACL"; } // IPv4 and IPv6 Port Object Group member container seq-items { list PortMember-list { key "seqNum"; uses acl_PortMember-group; description "IPv4 and IPv6 Port Object Group member list"; } description "IPv4 and IPv6 Port Object Group member"; } } grouping acl_PortMember-group { description "IPv4 and IPv6 Port Object Group member"; // port operator leaf portOp { type acl_Operator; description "Source port operator"; } // first port leaf port1 { type acl_PortNumber; description "First source port"; } // second port leaf port2 { type acl_PortNumber; description "Second source port"; } // configState leaf configStatus { type acl_ConfigState; description "config status"; } // Object Group Member sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } } grouping acl_VLANACL-group { description "Defines the VLAN Access Control Lists"; // VLAN ACL name leaf name { type acl_Name; description "Defines the VLAN acl name"; } leaf maxseq { config "false"; type uint32; description "Defines the Max sequence number"; } leaf udfPresent { type boolean; description "Flag to check if UDF is Present"; } // MO: VLAN sequence number container seq-items { list VLANSeq-list { key "seqNum"; uses acl_VLANSeq-group; description "VLAN ACL sequence number list"; } description "VLAN ACL sequence number"; } // ==== MO: VLAN list ==== // VLANList: // /sys/acl/vlan-[foo]/vlanlist // list: given arguments for vlan-list // operation: indicate apply/remove // listoper: vlan-list actual in effect. // listerr: erroneous vlan-list, for fault purpose, updated via // second trunk by aclmgr. container vlanlist-items { uses acl_VLANList-group; description "Defines the VLAN list"; } } grouping acl_VLANSeq-group { description "VLAN ACL sequence number"; leaf seqNum { type uint32; description "Defines the Sequence number"; } // toggle per-entry statistics leaf perACEStatistics { type acl_ACEStats; description "Per Access Control Entry statistics"; } // MO: VLAN ACL match // /sys/acl/vlan-[foo]/seq-30/match-[ip_ipv6_mac]-address-[acl1]/ container match-items { list VLANACLMatch-list { key "acltype aclname"; uses acl_VLANACLMatch-group; description "VLAN Access Control List match list"; } description "VLAN Access Control List match"; } // MO: VLAN ACL action // /sys/acl/vlan-[foo]/seq-30/action.log=[yes_no]/ // /sys/acl/vlan-[foo]/seq-30/action.actiontype=[forward_redirect_drop]/ // /sys/acl/vlan-[foo]/seq-30/action.redirectintf=[eth1/31_po1]/ container action-items { uses acl_VLANACLAction-group; description "VLAN Access Control List Action"; } } grouping acl_VLANACLMatch-group { description "VLAN Access Control List match"; // Match ACL type: ip_ipv4_mac leaf acltype { type acl_VAclMatchType; description "match access control list type"; } // Match ACL name leaf aclname { type acl_Name; description "match access control list name"; } } grouping acl_VLANACLAction-group { description "VLAN Access Control List Action"; // forward_drop_redirect leaf actiontype { type acl_VAclActionType; description "VLAN ACL action forward or drop or redirect"; } // toggle log options leaf log { type acl_VAclLog; description "Defines the Log option"; } leaf redirectintf { type acl_IfName; description "Redirect Interfaces example, eth1/11 or po1"; } } grouping acl_VLANList-group { description "Defines the VLAN list"; leaf list { type acl_VlanListStr; description "VLAN or a list of VLANS example 1,2 or 2-4"; } leaf operation { type acl_operation; description "Vlan Filter Operation apply or remove"; } leaf listerr { config "false"; type acl_VlanListStr; description "Vlan List String error"; } } grouping macacl_AF-group { description "mac access control list configuration space"; container statClear-items { uses acl_StatClear-group; description "clear acl statistics"; } // ACL policies container policy-items { uses acl_Policy-group; description "Access Control List policy"; } // IPv4 ACL container name-items { list ACL-list { key "name"; uses macacl_ACL-group; description "IPv4 access control list list"; } description "IPv4 access control list"; } } grouping acl_StatClear-group { description "clear acl statistics"; // StatClear ACL name leaf name { type acl_Name; description "ACL Name to clear the statistics"; } leaf timeStamp { type union { type string; type uint64; } description "Clear ACL statistics time stamp"; } } grouping acl_Policy-group { description "Access Control List policy"; // Ingress directions container ingress-items { uses acl_Ingress-group; description "Ingress direction of packets"; } // Egress directions container egress-items { uses acl_Egress-group; description "Egress direction of packets"; } } grouping acl_Ingress-group { description "Ingress direction of packets"; // Target interface container intf-items { list If-list { key "name"; uses acl_If-group; description "Interface to which ACL is applied list"; } description "Interface to which ACL is applied"; } container vty-items { uses acl_Vty-group; description "Defines the virtual terminal lines (Vty)"; } } grouping acl_If-group { description "Interface to which ACL is applied"; // interface name string leaf name { type nw_IfId; description "Interface to which ACL is applied"; } // ACL instance container acl-items { uses acl_Inst-group; description "Access Control List instance"; } // port ACL instance container portacl-items { uses acl_PortInst-group; description "Port Access Control List instance"; } // ACL instance container macif-items { uses macacl_MacIf-group; description "Mac packet-classify container"; } } grouping acl_Inst-group { description "Access Control List instance"; leaf name { type acl_Name; description "Access Control List name"; } leaf configStatus { config "false"; type uint32; description "config status indicator"; } } grouping acl_PortInst-group { description "Port Access Control List instance"; leaf name { type acl_Name; description "Access Control List Name"; } leaf configStatus { config "false"; type uint32; description "config status indicator"; } } grouping macacl_MacIf-group { description "Mac packet-classify container"; leaf macPacketClassify { type boolean; description "Flag for mac packet-classify on L2"; } } grouping acl_Vty-group { description "Defines the virtual terminal lines (Vty)"; // ACL instance container acl-items { uses acl_Inst-group; description "Access Control List instance"; } } grouping acl_Egress-group { description "Egress direction of packets"; // Target interface container intf-items { list If-list { key "name"; uses acl_If-group; description "Interface to which ACL is applied list"; } description "Interface to which ACL is applied"; } container vty-items { uses acl_Vty-group; description "Defines the virtual terminal lines (Vty)"; } } grouping macacl_ACL-group { description "IPv4 access control list"; // ACL name leaf name { type acl_Name; description "Name of Access lists"; } // toggle per-entry statistics leaf perACEStatistics { type acl_ACEStats; description "Per Access Control Entries statistics"; } // End of Layer 3 ACE (abstract MO) resequnce MO container reseq-items { uses acl_Resequence-group; description "resequence access-list"; } // IPv4 ACE container seq-items { list SEQ-list { key "seqNum"; uses macacl_SEQ-group; description "sequence number of MO list"; } description "sequence number of MO"; } } grouping acl_Resequence-group { description "resequence access-list"; leaf start { type uint32; description "starting sequence number"; } leaf step { type uint32; description "step to increase the sequence number"; } } grouping macacl_SEQ-group { description "sequence number of MO"; // ACE sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number of ACE"; } // MAC ACE container ace-items { uses macacl_ACE-group; description "mac access-list entry"; } // Remark ACE container remark-items { uses macacl_Remark-group; description "Defines the Mac remark entry"; } } grouping macacl_ACE-group { description "mac access-list entry"; // protocol number leaf protocol { type acl_MACProtocol; description "protocol number of ACE"; } // cos number leaf cos { type acl_cosType; description "Cos number of Access Control Entry"; } leaf redirect { type string { length "0..576"; } description "redirect to interface"; } // time-range leaf timeRange { type acl_TimeRangeName; description "Defines the time range name"; } // vlan number leaf vlan { type acl_VlanType; description "Defines the vlan number"; } // set-erspan-dscp- leaf erspanDscp { type acl_erspanDscpType; description "Defines the dscp value"; } // erspan gre proto leaf erspanGre { type acl_erspanGreType; description "Defines the dscp gre protocol"; } leaf loadShare { type boolean; default "false"; description "load share across redirect ports"; } leaf redirect_all { type string { length "0..576"; } description "IPV4/V6 Redirect all action"; } leaf priorityAll { type boolean; default "false"; description "Increases the priority of MAC ACE action"; } // ACE filtering action leaf action { type acl_ActionType; description "ACE action, permit or deny"; } leaf srcPrefix { type address_Mac; description "Defines the Source MAC Address"; } leaf srcPrefixMask { type address_Mac; description "Defines the Source prefix mask"; } leaf dstPrefix { type address_Mac; description "destination MAC Address"; } leaf dstPrefixMask { type address_Mac; description "destination MAC address mask"; } leaf packets { config "false"; type uint64; description "Number of packets hitting ACE"; } // UDF container udf-items { uses macacl_UDF-group; description "Defines the MAC UDFs"; } } grouping macacl_UDF-group { description "Defines the MAC UDFs"; // supports at most 18 UDF udf1 Name leaf udf1Name { type acl_UdfName; description "User-defined field match 1"; } // udf1 Value leaf udf1Val { type acl_UdfVal; description "UDF1 value to match"; } // udf1 Mask leaf udf1Mask { type acl_UdfMask; description "Mask to apply to UDF1 value"; } // udf2 Name leaf udf2Name { type acl_UdfName; description "User-defined field match 2"; } // udf2 Value leaf udf2Val { type acl_UdfVal; description "UDF2 value to match"; } // udf2 Mask leaf udf2Mask { type acl_UdfMask; description "Mask to apply to UDF2 value"; } // udf3 Name leaf udf3Name { type acl_UdfName; description "User-defined field match 3"; } // udf3 Value leaf udf3Val { type acl_UdfVal; description "UDF3 value to match"; } // udf3 Mask leaf udf3Mask { type acl_UdfMask; description "Mask to apply to UDF3 value"; } // udf4 Name leaf udf4Name { type acl_UdfName; description "User-defined field match 4"; } // udf4 Value leaf udf4Val { type acl_UdfVal; description "UDF4 value to match"; } // udf4 Mask leaf udf4Mask { type acl_UdfMask; description "Mask to apply to UDF4 value"; } // udf5 Name leaf udf5Name { type acl_UdfName; description "User-defined field match 5"; } // udf5 Value leaf udf5Val { type acl_UdfVal; description "UDF5 value to match"; } // udf5 Mask leaf udf5Mask { type acl_UdfMask; description "Mask to apply to UDF5 value"; } // udf6 Name leaf udf6Name { type acl_UdfName; description "User-defined field match 6"; } // udf6 Value leaf udf6Val { type acl_UdfVal; description "UDF6 value to match"; } // udf6 Mask leaf udf6Mask { type acl_UdfMask; description "Mask to apply to UDF6 value"; } // udf7 Name leaf udf7Name { type acl_UdfName; description "User-defined field match 7"; } // udf7 Value leaf udf7Val { type acl_UdfVal; description "UDF7 value to match"; } // udf7 Mask leaf udf7Mask { type acl_UdfMask; description "Mask to apply to UDF7 value"; } // udf8 Name leaf udf8Name { type acl_UdfName; description "User-defined field match 8"; } // udf8 Value leaf udf8Val { type acl_UdfVal; description "UDF8 value to match"; } // udf8 Mask leaf udf8Mask { type acl_UdfMask; description "Mask to apply to UDF8 value"; } // udf9 Name leaf udf9Name { type acl_UdfName; description "User-defined field match 9"; } // udf9 Value leaf udf9Val { type acl_UdfVal; description "UDF9 value to match"; } // udf9 Mask leaf udf9Mask { type acl_UdfMask; description "Mask to apply to UDF9 value"; } // udf10 Name leaf udf10Name { type acl_UdfName; description "User-defined field match 10"; } // udf10 Value leaf udf10Val { type acl_UdfVal; description "UDF10 value to match"; } // udf10 Mask leaf udf10Mask { type acl_UdfMask; description "Mask to apply to UDF10 value"; } // udf11 Name leaf udf11Name { type acl_UdfName; description "User-defined field match 11"; } // udf11 Value leaf udf11Val { type acl_UdfVal; description "UDF11 value to match"; } // udf11 Mask leaf udf11Mask { type acl_UdfMask; description "Mask to apply to UDF11 value"; } // udf12 Name leaf udf12Name { type acl_UdfName; description "User-defined field match 12"; } // udf12 Value leaf udf12Val { type acl_UdfVal; description "UDF12 value to match"; } // udf12 Mask leaf udf12Mask { type acl_UdfMask; description "Mask to apply to UDF12 value"; } // udf13 Name leaf udf13Name { type acl_UdfName; description "User-defined field match 13"; } // udf13 Value leaf udf13Val { type acl_UdfVal; description "UDF13 value to match"; } // udf13 Mask leaf udf13Mask { type acl_UdfMask; description "Mask to apply to UDF13 value"; } // udf14 Name leaf udf14Name { type acl_UdfName; description "User-defined field match 14"; } // udf14 Value leaf udf14Val { type acl_UdfVal; description "UDF14 value to match"; } // udf14 Mask leaf udf14Mask { type acl_UdfMask; description "Mask to apply to UDF14 value"; } // udf15 Name leaf udf15Name { type acl_UdfName; description "User-defined field match 15"; } // udf15 Value leaf udf15Val { type acl_UdfVal; description "UDF15 value to match"; } // udf15 Mask leaf udf15Mask { type acl_UdfMask; description "Mask to apply to UDF15 value"; } // udf16 Name leaf udf16Name { type acl_UdfName; description "User-defined field match 16"; } // udf16 Value leaf udf16Val { type acl_UdfVal; description "UDF16 value to match"; } // udf16 Mask leaf udf16Mask { type acl_UdfMask; description "Mask to apply to UDF16 value"; } // udf17 Name leaf udf17Name { type acl_UdfName; description "User-defined field match 17"; } // udf17 Value leaf udf17Val { type acl_UdfVal; description "UDF17 value to match"; } // udf17 Mask leaf udf17Mask { type acl_UdfMask; description "Mask to apply to UDF17 value"; } // udf18 Name leaf udf18Name { type acl_UdfName; description "User-defined field match 18"; } // udf18 Value leaf udf18Val { type acl_UdfVal; description "UDF18 value to match"; } // udf18 Mask leaf udf18Mask { type acl_UdfMask; description "Mask to apply to UDF18 value"; } } grouping macacl_Remark-group { description "Defines the Mac remark entry"; // ACE sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } // remark leaf remark { type acl_RemarkStr; description "ACL entry commment"; } } grouping mplsacl_AF-group { description "MPLS access control list configuration space"; // ACL policies container policy-items { uses acl_Policy-group; description "Access Control List policy"; } // MPLS ACL container name-items { list ACL-list { key "name"; uses mplsacl_ACL-group; description "MPLS access control list list"; } description "MPLS access control list"; } } grouping mplsacl_ACL-group { description "MPLS access control list"; // ACL name leaf name { type acl_Name; description "Name of Access lists"; } // toggle per-entry statistics leaf perACEStatistics { type acl_ACEStats; description "Per Access Control Entries statistics"; } // SEQ Number container seq-items { list SEQ-list { key "seqNum"; uses mplsacl_SEQ-group; description "Defines the sequence number list"; } description "Defines the sequence number"; } } grouping mplsacl_SEQ-group { description "Defines the sequence number"; // ACE sequence number leaf seqNum { type acl_SequenceNumber; description "Defines the Sequence number"; } // MPLS ACE container ace-items { uses mplsacl_ACE-group; description "MPLS access-list entry"; } } grouping mplsacl_ACE-group { description "MPLS access-list entry"; // Action permit or deny leaf action { type acl_ActionType; description "Specify packets to forward or reject"; } // Label 1 leaf labelOne { type acl_LabelRange; description "Defines Mpls Label One"; } // Label 2 leaf labelTwo { type acl_LabelRange; description "Defines Mpls Label Two"; } // Label 3 leaf labelThree { type acl_LabelRange; description "Defines Mpls Label Three"; } // Label 4 leaf labelFour { type acl_LabelRange; description "Defines Mpls Label Four"; } // Label 1 Mask leaf labelOneMask { type acl_LabelMaskRange; description "Defines Mpls Label One Mask"; } // Label 2 Mask leaf labelTwoMask { type acl_LabelMaskRange; description "Defines Mpls Label Two Mask"; } // Label 3 Mask leaf labelThreeMask { type acl_LabelMaskRange; description "Mpls Label Three Mask"; } // Label 4 Mask leaf labelFourMask { type acl_LabelMaskRange; description "Mpls Label Four Mask"; } leaf redirect { type string; description "redirect to interface"; } leaf loadShare { type boolean; default "false"; description "load share across redirect ports"; } } grouping timerange_Timerange-group { description "Time-Range configuration space"; // Time Range specific container tr-items { list Tr-list { key "name"; uses timerange_Tr-group; description "Specifies the time-range list"; } description "Specifies the time-range"; } } grouping timerange_Tr-group { description "Specifies the time-range"; // Time-Range name leaf name { type timerange_Name; description "Timerange Name configuration"; } // TRE container seq-items { list SEQ-list { key "seqNum"; uses timerange_SEQ-group; description "Defines the time range entry list"; } description "Defines the time range entry"; } } grouping timerange_SEQ-group { description "Defines the time range entry"; // TRE sequence number leaf seqNum { type timerange_SequenceNumber; description "Sequence number for timerange rule"; } // TRE Absolute container absolute-items { uses timerange_TreAbsolute-group; description "time range absolute entry"; } // TRE Periodic container periodic-items { uses timerange_TrePeriodic-group; description "time range periodic entry"; } // TRE Remark container remark-items { uses timerange_TreRemark-group; description "time range remark"; } } grouping timerange_TreAbsolute-group { description "time range absolute entry"; // start time leaf startTime { type timerange_HourMinSec; description "Start Time (hh:mm:ss) for absolute rule of timerange"; } // start day leaf startDay { type timerange_Day; description "Start Day of the Month (1-31) for absolute rule of timerange"; } // start month leaf startMonth { type timerange_Month; description "Start Month for absolute rule of timerange"; } // start year leaf startYear { type timerange_Year; description "Start Year (2000-2037) for absolute rule of timerange"; } // end time leaf endTime { type timerange_HourMinSec; description "End Time (hh:mm:ss) for absolute rule of timerange"; } // end day leaf endDay { type timerange_Day; description "End Day of the Month (1-31) for absolute rule of timerange"; } // end month leaf endMonth { type timerange_Month; description "End Month for absolute rule of timerange"; } // end year leaf endYear { type timerange_Year; description "End Year (2000-2037) for absolute rule of timerange"; } } grouping timerange_TrePeriodic-group { description "time range periodic entry"; // period of weekday/weekend/daily leaf period { type timerange_period; description "Period for periodic rule of timerange"; } // period of strt day leaf startPeriod { type timerange_period; description "Start Period for periodic rule of timerange"; } // period of end day leaf endPeriod { type timerange_period; description "End Period for periodic rule of timerange"; } // start time leaf startTime { type timerange_HourMinSec; description "Start Time for periodic rule of timerange"; } // end time leaf endTime { type timerange_HourMinSec; description "End Time for periodic rule of timerange"; } } grouping timerange_TreRemark-group { description "time range remark"; // Remark text leaf remark { type acl_RemarkStr; description "time range remark"; } } grouping ipv4acl_AF-group { description "IPv4 access control list configuration space"; container statClear-items { uses acl_StatClear-group; description "clear acl statistics"; } // ACL policies container policy-items { uses acl_Policy-group; description "Access Control List policy"; } // IPv4 ACL container name-items { list ACL-list { key "name"; uses ipv4acl_ACL-group; description "IPv4 access control list list"; } description "IPv4 access control list"; } // IPv4 address object-group container oName-items { list AddrGroup-list { key "name"; uses ipv4acl_AddrGroup-group; description "IPv4 ACL address object group list"; } description "IPv4 ACL address object group"; } } grouping ipv4acl_ACL-group { description "IPv4 access control list"; leaf udfPresent { type boolean; description "Flag to denote UDF is present"; } // ACL name leaf name { type acl_Name; description "Name of Access lists"; } // fragments leaf fragments { type acl_Fragments; description "Fragments type for IPv4 and IPv6"; } // toggle per-entry statistics leaf perACEStatistics { type acl_ACEStats; description "Per Access Control Entries statistics"; } leaf ignRoutable { type boolean; description "Ignore Multicast Routed ACLs"; } leaf configStatus { config "false"; type uint32; description "config success indicator"; } // End of Layer 3 ACE (abstract MO) resequnce MO container reseq-items { uses acl_Resequence-group; description "resequence access-list"; } // IPv4 ACE container seq-items { list ACE-list { key "seqNum"; uses ipv4acl_ACE-group; description "IPv4 access-list entry list"; } description "IPv4 access-list entry"; } } grouping ipv4acl_ACE-group { description "IPv4 access-list entry"; // protocol to match leaf protocol { type ipv4acl_Protocol; description "Protocol for access-list entry"; } // Protocol Mask leaf protocolMask { type ipv4acl_Protocol; description "Defines the Protocol Mask"; } // source prefix leaf srcPrefix { type ipv4acl_IPv4Prefix; description "Source IPv4 prefix"; } // source prefix wildcard mask leaf srcPrefixMask { type ipv4acl_IPv4PrefixMask; description "Source IPv4 prefix mask"; } // source prefix length leaf srcPrefixLength { type ipv4acl_IPv4PrefixLen; description "Source IPv4 prefix length"; } // destination prefix leaf dstPrefix { type ipv4acl_IPv4Prefix; description "Destination IPv4 prefix"; } // destination prefix wildcard mask leaf dstPrefixMask { type ipv4acl_IPv4PrefixMask; description "Destination IPv4 prefix mask"; } // destination prefix length leaf dstPrefixLength { type ipv4acl_IPv4PrefixLen; description "Destination IPv4 prefix length"; } // precedence leaf precedence { type ipv4acl_Precedence; description "IPv4 precedence"; } leaf ttl { type uint8; description "TTL Operator"; } // ICMP Str leaf icmpStr { type ipv4acl_ICMPEnum; description "ICMP type"; } // ICMP type leaf icmpType { type ipv4acl_ICMPType; description "ICMP type"; } // ICMP code leaf icmpCode { type ipv4acl_ICMPCode; description "ICMP code"; } // tos leaf tos { type ipv4acl_Tos; description "capture session"; } // IGMP type leaf igmpType { type ipv4acl_IGMPType; description "IGMP type"; } // configState leaf configStatus { config "false"; type acl_ConfigState; description "config status"; } // remark leaf remark { type acl_RemarkStr; description "Access-list entry comment"; } // ACE sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } // ACE filtering action leaf action { type acl_ActionType; description "Specify packets to forward or reject"; } // source port operator leaf srcPortOp { type acl_Operator; description "Source port operator"; } // first source port leaf srcPort1 { type acl_PortNumber; description "First source port"; } // second source port leaf srcPort2 { type acl_PortNumber; description "Second source port"; } // Source Port Mask leaf srcPortMask { type acl_PortNumber; description "Defines the Source Port Mask"; } // destination port operator leaf dstPortOp { type acl_Operator; description "Destination port operator"; } // first destination port leaf dstPort1 { type acl_PortNumber; description "First destination port number"; } // second destination port leaf dstPort2 { type acl_PortNumber; description "Second destination port number"; } // Destination Port Mask leaf dstPortMask { type acl_PortNumber; description "Destination Port Mask"; } leaf logging { type boolean; default "false"; description "Log matches against ACL entry"; } leaf dscp { type uint8 { range "0..63"; } description "dscp"; } leaf dscpMask { type uint8 { range "0..63"; } description "dscpMask"; } // packet-length operator leaf pktLenOp { type acl_Operator; description "packet length operator"; } // First packet-length leaf pktLen1 { type acl_PktLen; description "first packet length"; } // second packet-length leaf pktLen2 { type acl_PktLen; description "second packet length"; } leaf urg { type boolean; description "tcp urg"; } leaf ack { type boolean; description "tcp ack"; } leaf psh { type boolean; description "tcp psh"; } leaf rst { type boolean; description "tcp rst"; } leaf syn { type boolean; description "tcp syn"; } leaf fin { type boolean; description "tcp fin"; } leaf est { type boolean; description "tcp est"; } leaf rev { type boolean; description "tcp reversed"; } leaf tcpFlagsMask { type acl_TcpFlagsMask; description "tcp flags mask"; } leaf packets { config "false"; type uint64; description "Number of packets hitting ACE"; } leaf fragment { type boolean; description "Non-initial fragment"; } // capture session leaf captureSession { type acl_CaptureSes; description "capture session"; } // http option (http-method) leaf httpOption { type acl_HttpOptionType; description "http option http-method"; } // nve vni ID leaf vni { type acl_VniType; description "nve vni ID"; } // vlan leaf vlan { type acl_VlanType; description "vlan"; } // TCP option length leaf tcpOptionLength { type acl_TcpOptionLengthType; description "TCP options length"; } // time-range leaf timeRange { type acl_Name; description "time range name"; } // source address group leaf srcAddrGroup { type acl_Name; description "Source address group"; } // destination address group leaf dstAddrGroup { type acl_Name; description "Destination address group"; } // source port group leaf srcPortGroup { type acl_Name; description "Source port group"; } // destination port group leaf dstPortGroup { type acl_Name; description "Destination port group"; } leaf redirect { type string { length "0..576"; } description "Redirect action"; } leaf telemetryQueue { type boolean; description "telemetry queue action"; } leaf telemetryPath { type boolean; description "telemetry path action"; } leaf loadShare { type boolean; default "false"; description "load share across redirect ports"; } leaf redirect_all { type string { length "0..576"; } description "IPV4/V6 Redirect all action"; } leaf priorityAll { type boolean; default "false"; description "Increases priority of IPv4/v6 ACE action"; } // wideflow ACE container wf-items { uses ipv4acl_WideAce-group; description "wideflow ACE Entries"; } // UDF container udf-items { uses ipv4acl_UDF-group; description "Internet Protocol version4 UDF"; } } grouping ipv4acl_WideAce-group { description "wideflow ACE Entries"; leaf wideflow { type boolean; description "Flag to denote wideflow enabled"; } leaf srcMacPrefix { type address_Mac; description "Defines the Source MAC Address"; } leaf srcMacPrefixMask { type address_Mac; description "Defines the Source MAC Mask"; } leaf dstMacPrefix { type address_Mac; description "destination MAC Address"; } leaf dstMacPrefixMask { type address_Mac; description "destination MAC Mask"; } // vlan leaf vlan { type acl_VlanType; description "defines the vlan Number"; } // redirect set-vlan leaf setVlan { type acl_VlanType; description "defines the redirect set-vlan Number"; } leaf stripVlan { type boolean; default "false"; description "Remove vlan at egress and send untagged packet"; } // Ethertype number leaf etherTypeId { type acl_etherType; description "defines the ethertype number"; } } grouping ipv4acl_UDF-group { description "Internet Protocol version4 UDF"; // supports at most 18 UDF udf1 Name leaf udf1Name { type acl_UdfName; description "User-defined field match 1"; } // udf1 Value leaf udf1Val { type acl_UdfVal; description "UDF1 value to match"; } // udf1 Mask leaf udf1Mask { type acl_UdfMask; description "Mask to apply to UDF1 value"; } // udf2 Name leaf udf2Name { type acl_UdfName; description "User-defined field match 2"; } // udf2 Value leaf udf2Val { type acl_UdfVal; description "UDF2 value to match"; } // udf2 Mask leaf udf2Mask { type acl_UdfMask; description "Mask to apply to UDF2 value"; } // udf3 Name leaf udf3Name { type acl_UdfName; description "User-defined field match 3"; } // udf3 Value leaf udf3Val { type acl_UdfVal; description "UDF3 value to match"; } // udf3 Mask leaf udf3Mask { type acl_UdfMask; description "Mask to apply to UDF3 value"; } // udf4 Name leaf udf4Name { type acl_UdfName; description "User-defined field match 4"; } // udf4 Value leaf udf4Val { type acl_UdfVal; description "UDF4 value to match"; } // udf4 Mask leaf udf4Mask { type acl_UdfMask; description "Mask to apply to UDF4 value"; } // udf5 Name leaf udf5Name { type acl_UdfName; description "User-defined field match 5"; } // udf5 Value leaf udf5Val { type acl_UdfVal; description "UDF5 value to match"; } // udf5 Mask leaf udf5Mask { type acl_UdfMask; description "Mask to apply to UDF5 value"; } // udf6 Name leaf udf6Name { type acl_UdfName; description "User-defined field match 6"; } // udf6 Value leaf udf6Val { type acl_UdfVal; description "UDF6 value to match"; } // udf6 Mask leaf udf6Mask { type acl_UdfMask; description "Mask to apply to UDF6 value"; } // udf7 Name leaf udf7Name { type acl_UdfName; description "User-defined field match 7"; } // udf7 Value leaf udf7Val { type acl_UdfVal; description "UDF7 value to match"; } // udf7 Mask leaf udf7Mask { type acl_UdfMask; description "Mask to apply to UDF7 value"; } // udf8 Name leaf udf8Name { type acl_UdfName; description "User-defined field match 8"; } // udf8 Value leaf udf8Val { type acl_UdfVal; description "UDF8 value to match"; } // udf8 Mask leaf udf8Mask { type acl_UdfMask; description "Mask to apply to UDF8 value"; } // udf9 Name leaf udf9Name { type acl_UdfName; description "User-defined field match 9"; } // udf9 Value leaf udf9Val { type acl_UdfVal; description "UDF9 value to match"; } // udf9 Mask leaf udf9Mask { type acl_UdfMask; description "Mask to apply to UDF9 value"; } // udf10 Name leaf udf10Name { type acl_UdfName; description "User-defined field match 10"; } // udf10 Value leaf udf10Val { type acl_UdfVal; description "UDF10 value to match"; } // udf10 Mask leaf udf10Mask { type acl_UdfMask; description "Mask to apply to UDF10 value"; } // udf11 Name leaf udf11Name { type acl_UdfName; description "User-defined field match 11"; } // udf11 Value leaf udf11Val { type acl_UdfVal; description "UDF11 value to match"; } // udf11 Mask leaf udf11Mask { type acl_UdfMask; description "Mask to apply to UDF11 value"; } // udf12 Name leaf udf12Name { type acl_UdfName; description "User-defined field match 12"; } // udf12 Value leaf udf12Val { type acl_UdfVal; description "UDF12 value to match"; } // udf12 Mask leaf udf12Mask { type acl_UdfMask; description "Mask to apply to UDF12 value"; } // udf13 Name leaf udf13Name { type acl_UdfName; description "User-defined field match 13"; } // udf13 Value leaf udf13Val { type acl_UdfVal; description "UDF13 value to match"; } // udf13 Mask leaf udf13Mask { type acl_UdfMask; description "Mask to apply to UDF13 value"; } // udf14 Name leaf udf14Name { type acl_UdfName; description "User-defined field match 14"; } // udf14 Value leaf udf14Val { type acl_UdfVal; description "UDF14 value to match"; } // udf14 Mask leaf udf14Mask { type acl_UdfMask; description "Mask to apply to UDF14 value"; } // udf15 Name leaf udf15Name { type acl_UdfName; description "User-defined field match 15"; } // udf15 Value leaf udf15Val { type acl_UdfVal; description "UDF15 value to match"; } // udf15 Mask leaf udf15Mask { type acl_UdfMask; description "Mask to apply to UDF15 value"; } // udf16 Name leaf udf16Name { type acl_UdfName; description "User-defined field match 16"; } // udf16 Value leaf udf16Val { type acl_UdfVal; description "UDF16 value to match"; } // udf16 Mask leaf udf16Mask { type acl_UdfMask; description "Mask to apply to UDF16 value"; } // udf17 Name leaf udf17Name { type acl_UdfName; description "User-defined field match 17"; } // udf17 Value leaf udf17Val { type acl_UdfVal; description "UDF17 value to match"; } // udf17 Mask leaf udf17Mask { type acl_UdfMask; description "Mask to apply to UDF17 value"; } // udf18 Name leaf udf18Name { type acl_UdfName; description "User-defined field match 18"; } // udf18 Value leaf udf18Val { type acl_UdfVal; description "UDF18 value to match"; } // udf18 Mask leaf udf18Mask { type acl_UdfMask; description "Mask to apply to UDF18 value"; } } grouping ipv4acl_AddrGroup-group { description "IPv4 ACL address object group"; // object-group name leaf name { type acl_Name; description "Object-group Name in ACL"; } // IPv4 Address Object Group member container seq-items { list AddrMember-list { key "seqNum"; uses ipv4acl_AddrMember-group; description "IPv4 Address Object Group member list"; } description "IPv4 Address Object Group member"; } } grouping ipv4acl_AddrMember-group { description "IPv4 Address Object Group member"; // prefix leaf prefix { type ipv4acl_IPv4Prefix; description "IPv4 prefix"; } // prefix wildcard mask leaf prefixMask { type ipv4acl_IPv4PrefixMask; description "IPv4 prefix mask"; } // prefix length leaf prefixLength { type ipv4acl_IPv4PrefixLen; description "IPv4 prefix length"; } // configState leaf configStatus { config "false"; type acl_ConfigState; description "config status"; } // Object Group Member sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } } grouping ipv6acl_AF-group { description "IPv6 access control list configuration space"; container statClear-items { uses acl_StatClear-group; description "clear acl statistics"; } // ACL policies container policy-items { uses acl_Policy-group; description "Access Control List policy"; } // IPv6 ACL container name-items { list ACL-list { key "name"; uses ipv6acl_ACL-group; description "IPv6 access control list list"; } description "IPv6 access control list"; } // IPv6 address object-group container oName-items { list AddrGroup-list { key "name"; uses ipv6acl_AddrGroup-group; description "IPv6 address object group list"; } description "IPv6 address object group"; } } grouping ipv6acl_ACL-group { description "IPv6 access control list"; // extension headers leaf extnHdr { type ipv6acl_ExtnHdr; description "IPv6 Extension header rule"; } // ACL name leaf name { type acl_Name; description "Name of Access lists"; } // fragments leaf fragments { type acl_Fragments; description "Fragments type for IPv4 and IPv6"; } // toggle per-entry statistics leaf perACEStatistics { type acl_ACEStats; description "Per Access Control Entries statistics"; } leaf ignRoutable { type boolean; description "Ignore Multicast Routed ACLs"; } leaf configStatus { config "false"; type uint32; description "config success indicator"; } // End of Layer 3 ACE (abstract MO) resequnce MO container reseq-items { uses acl_Resequence-group; description "resequence access-list"; } // IPv6 ACE container seq-items { list ACE-list { key "seqNum"; uses ipv6acl_ACE-group; description "IPv6 access-list entry list"; } description "IPv6 access-list entry"; } } grouping ipv6acl_ACE-group { description "IPv6 access-list entry"; // protocol to match leaf protocol { type ipv6acl_Protocol; description "Protocol for access-list entry"; } // Protocol Mask leaf protocolMask { type ipv6acl_Protocol; description "Defines the Protocol Mask"; } // source prefix leaf srcPrefix { type ipv6acl_IPv6Prefix; description "Source IPv6 prefix"; } // source prefix wildcard mask leaf srcPrefixMask { type ipv6acl_IPv6PrefixMask; description "Source IPv6 prefix mask"; } // source prefix length leaf srcPrefixLength { type ipv6acl_IPv6PrefixLen; description "Source IPv6 prefix length"; } // destination prefix leaf dstPrefix { type ipv6acl_IPv6Prefix; description "Destination IPv6 prefix"; } // destination prefix wildcard mask leaf dstPrefixMask { type ipv6acl_IPv6PrefixMask; description "Destination IPv6 prefix mask"; } // destination prefix length leaf dstPrefixLength { type ipv6acl_IPv6PrefixLen; description "Destination IPv6 prefix length"; } // flow-label leaf flowLabel { type ipv6acl_FlowLabel; description "Flow label"; } // ICMP Str leaf icmpStr { type ipv6acl_ICMPEnum; description "ICMPv6 Str"; } // ICMP type leaf icmpType { type ipv6acl_ICMPType; description "ICMPv6 type"; } // ICMP code leaf icmpCode { type ipv6acl_ICMPCode; description "ICMPv6 code"; } // configState leaf configStatus { config "false"; type acl_ConfigState; description "config status"; } // remark leaf remark { type acl_RemarkStr; description "Access-list entry comment"; } // ACE sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } // ACE filtering action leaf action { type acl_ActionType; description "Specify packets to forward or reject"; } // source port operator leaf srcPortOp { type acl_Operator; description "Source port operator"; } // first source port leaf srcPort1 { type acl_PortNumber; description "First source port"; } // second source port leaf srcPort2 { type acl_PortNumber; description "Second source port"; } // Source Port Mask leaf srcPortMask { type acl_PortNumber; description "Defines the Source Port Mask"; } // destination port operator leaf dstPortOp { type acl_Operator; description "Destination port operator"; } // first destination port leaf dstPort1 { type acl_PortNumber; description "First destination port number"; } // second destination port leaf dstPort2 { type acl_PortNumber; description "Second destination port number"; } // Destination Port Mask leaf dstPortMask { type acl_PortNumber; description "Destination Port Mask"; } leaf logging { type boolean; default "false"; description "Log matches against ACL entry"; } leaf dscp { type uint8 { range "0..63"; } description "dscp"; } leaf dscpMask { type uint8 { range "0..63"; } description "dscpMask"; } // packet-length operator leaf pktLenOp { type acl_Operator; description "packet length operator"; } // First packet-length leaf pktLen1 { type acl_PktLen; description "first packet length"; } // second packet-length leaf pktLen2 { type acl_PktLen; description "second packet length"; } leaf urg { type boolean; description "tcp urg"; } leaf ack { type boolean; description "tcp ack"; } leaf psh { type boolean; description "tcp psh"; } leaf rst { type boolean; description "tcp rst"; } leaf syn { type boolean; description "tcp syn"; } leaf fin { type boolean; description "tcp fin"; } leaf est { type boolean; description "tcp est"; } leaf rev { type boolean; description "tcp reversed"; } leaf tcpFlagsMask { type acl_TcpFlagsMask; description "tcp flags mask"; } leaf packets { config "false"; type uint64; description "Number of packets hitting ACE"; } leaf fragment { type boolean; description "Non-initial fragment"; } // capture session leaf captureSession { type acl_CaptureSes; description "capture session"; } // http option (http-method) leaf httpOption { type acl_HttpOptionType; description "http option http-method"; } // nve vni ID leaf vni { type acl_VniType; description "nve vni ID"; } // vlan leaf vlan { type acl_VlanType; description "vlan"; } // TCP option length leaf tcpOptionLength { type acl_TcpOptionLengthType; description "TCP options length"; } // time-range leaf timeRange { type acl_Name; description "time range name"; } // source address group leaf srcAddrGroup { type acl_Name; description "Source address group"; } // destination address group leaf dstAddrGroup { type acl_Name; description "Destination address group"; } // source port group leaf srcPortGroup { type acl_Name; description "Source port group"; } // destination port group leaf dstPortGroup { type acl_Name; description "Destination port group"; } leaf redirect { type string { length "0..576"; } description "Redirect action"; } leaf telemetryQueue { type boolean; description "telemetry queue action"; } leaf telemetryPath { type boolean; description "telemetry path action"; } leaf loadShare { type boolean; default "false"; description "load share across redirect ports"; } leaf redirect_all { type string { length "0..576"; } description "IPV4/V6 Redirect all action"; } leaf priorityAll { type boolean; default "false"; description "Increases priority of IPv4/v6 ACE action"; } // UDF container udf-items { uses ipv6acl_UDF-group; description "Internet Protocol version4 UDF"; } } grouping ipv6acl_UDF-group { description "Internet Protocol version4 UDF"; // supports at most 18 UDF udf1 Name leaf udf1Name { type acl_UdfName; description "User-defined field match 1"; } // udf1 Value leaf udf1Val { type acl_UdfVal; description "UDF1 value to match"; } // udf1 Mask leaf udf1Mask { type acl_UdfMask; description "Mask to apply to UDF1 value"; } // udf2 Name leaf udf2Name { type acl_UdfName; description "User-defined field match 2"; } // udf2 Value leaf udf2Val { type acl_UdfVal; description "UDF2 value to match"; } // udf2 Mask leaf udf2Mask { type acl_UdfMask; description "Mask to apply to UDF2 value"; } // udf3 Name leaf udf3Name { type acl_UdfName; description "User-defined field match 3"; } // udf3 Value leaf udf3Val { type acl_UdfVal; description "UDF3 value to match"; } // udf3 Mask leaf udf3Mask { type acl_UdfMask; description "Mask to apply to UDF3 value"; } // udf4 Name leaf udf4Name { type acl_UdfName; description "User-defined field match 4"; } // udf4 Value leaf udf4Val { type acl_UdfVal; description "UDF4 value to match"; } // udf4 Mask leaf udf4Mask { type acl_UdfMask; description "Mask to apply to UDF4 value"; } // udf5 Name leaf udf5Name { type acl_UdfName; description "User-defined field match 5"; } // udf5 Value leaf udf5Val { type acl_UdfVal; description "UDF5 value to match"; } // udf5 Mask leaf udf5Mask { type acl_UdfMask; description "Mask to apply to UDF5 value"; } // udf6 Name leaf udf6Name { type acl_UdfName; description "User-defined field match 6"; } // udf6 Value leaf udf6Val { type acl_UdfVal; description "UDF6 value to match"; } // udf6 Mask leaf udf6Mask { type acl_UdfMask; description "Mask to apply to UDF6 value"; } // udf7 Name leaf udf7Name { type acl_UdfName; description "User-defined field match 7"; } // udf7 Value leaf udf7Val { type acl_UdfVal; description "UDF7 value to match"; } // udf7 Mask leaf udf7Mask { type acl_UdfMask; description "Mask to apply to UDF7 value"; } // udf8 Name leaf udf8Name { type acl_UdfName; description "User-defined field match 8"; } // udf8 Value leaf udf8Val { type acl_UdfVal; description "UDF8 value to match"; } // udf8 Mask leaf udf8Mask { type acl_UdfMask; description "Mask to apply to UDF8 value"; } // udf9 Name leaf udf9Name { type acl_UdfName; description "User-defined field match 9"; } // udf9 Value leaf udf9Val { type acl_UdfVal; description "UDF9 value to match"; } // udf9 Mask leaf udf9Mask { type acl_UdfMask; description "Mask to apply to UDF9 value"; } // udf10 Name leaf udf10Name { type acl_UdfName; description "User-defined field match 10"; } // udf10 Value leaf udf10Val { type acl_UdfVal; description "UDF10 value to match"; } // udf10 Mask leaf udf10Mask { type acl_UdfMask; description "Mask to apply to UDF10 value"; } // udf11 Name leaf udf11Name { type acl_UdfName; description "User-defined field match 11"; } // udf11 Value leaf udf11Val { type acl_UdfVal; description "UDF11 value to match"; } // udf11 Mask leaf udf11Mask { type acl_UdfMask; description "Mask to apply to UDF11 value"; } // udf12 Name leaf udf12Name { type acl_UdfName; description "User-defined field match 12"; } // udf12 Value leaf udf12Val { type acl_UdfVal; description "UDF12 value to match"; } // udf12 Mask leaf udf12Mask { type acl_UdfMask; description "Mask to apply to UDF12 value"; } // udf13 Name leaf udf13Name { type acl_UdfName; description "User-defined field match 13"; } // udf13 Value leaf udf13Val { type acl_UdfVal; description "UDF13 value to match"; } // udf13 Mask leaf udf13Mask { type acl_UdfMask; description "Mask to apply to UDF13 value"; } // udf14 Name leaf udf14Name { type acl_UdfName; description "User-defined field match 14"; } // udf14 Value leaf udf14Val { type acl_UdfVal; description "UDF14 value to match"; } // udf14 Mask leaf udf14Mask { type acl_UdfMask; description "Mask to apply to UDF14 value"; } // udf15 Name leaf udf15Name { type acl_UdfName; description "User-defined field match 15"; } // udf15 Value leaf udf15Val { type acl_UdfVal; description "UDF15 value to match"; } // udf15 Mask leaf udf15Mask { type acl_UdfMask; description "Mask to apply to UDF15 value"; } // udf16 Name leaf udf16Name { type acl_UdfName; description "User-defined field match 16"; } // udf16 Value leaf udf16Val { type acl_UdfVal; description "UDF16 value to match"; } // udf16 Mask leaf udf16Mask { type acl_UdfMask; description "Mask to apply to UDF16 value"; } // udf17 Name leaf udf17Name { type acl_UdfName; description "User-defined field match 17"; } // udf17 Value leaf udf17Val { type acl_UdfVal; description "UDF17 value to match"; } // udf17 Mask leaf udf17Mask { type acl_UdfMask; description "Mask to apply to UDF17 value"; } // udf18 Name leaf udf18Name { type acl_UdfName; description "User-defined field match 18"; } // udf18 Value leaf udf18Val { type acl_UdfVal; description "UDF18 value to match"; } // udf18 Mask leaf udf18Mask { type acl_UdfMask; description "Mask to apply to UDF18 value"; } } grouping ipv6acl_AddrGroup-group { description "IPv6 address object group"; // object-group name leaf name { type acl_Name; description "Object-group Name in ACL"; } // IPv6 Address Object Group member container seq-items { list AddrMember-list { key "seqNum"; uses ipv6acl_AddrMember-group; description "IPv6 Address Object Group member list"; } description "IPv6 Address Object Group member"; } } grouping ipv6acl_AddrMember-group { description "IPv6 Address Object Group member"; // prefix leaf prefix { type ipv6acl_IPv6Prefix; description "IPv6 prefix"; } // prefix wildcard mask leaf prefixMask { type ipv6acl_IPv6PrefixMask; description "IPv6 prefix mask"; } // prefix length leaf prefixLength { type ipv6acl_IPv6PrefixLen; description "IPv6 prefix length"; } // configState leaf configStatus { config "false"; type acl_ConfigState; description "config status"; } // Object Group Member sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } } grouping analytics_Entity-group { description "Entity"; // Holds netflow and analytics instance information container inst-items { list Inst-list { key "mode"; uses analytics_Inst-group; description "Holds the Analytics instance information list"; } description "Holds the Analytics instance information"; } } grouping analytics_Inst-group { description "Holds the Analytics instance information"; // analytics/netflow mode leaf mode { type analytics_ModeT; description "Mode Select to represent the feature"; } // The geneve-disable bit setting on the hardware leaf geneveEnable { type analytics_GeneveEnable; description "Enable parsing of Geneve header mentioned in RFC8926"; } // enable collection of tunneled header data on QP/AR leaf collectTunnelHeader { type analytics_CollectTunnelHeader; description "Enable collection of tunnel header data on QP_AR"; } // enable analytics-submode leaf enableAnalyticsSubmode { type analytics_EnableAnalyticsSubmode; description "Enable Analytics Submode funxtionality"; } // flow timeout leaf timeOut { type analytics_FlowTimeout; description "Flow timeout in seconds"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Platform capability informations container capability-items { uses analytics_Capability-group; description "Platform Capability Information"; } // Slot info container slot-items { list Slot-list { config "false"; key "slotid"; uses analytics_Slot-group; description "Module Number for this Capability list"; } description "Module Number for this Capability"; } // Controller information for bootstrapping the analytics agent container controller-items { list Controller-list { key "name"; uses analytics_Controller-group; description "Controller Reachability list"; } description "Controller Reachability"; } // Flow Record container recordp-items { list RecordP-list { key "name"; uses analytics_RecordP-group; description "Flow Record list"; } description "Flow Record"; } // Flow Collector container collector-items { list Collector-list { key "name"; uses analytics_Collector-group; description "Collector entry list"; } description "Collector entry"; } // Flow Monitor one monitor can be attached to n records container monitor-items { list Monitor-list { key "name"; uses analytics_Monitor-group; description "Flow Monitor list"; } description "Flow Monitor"; } // Analytics profile container prof-items { list Profile-list { key "name"; uses analytics_Profile-group; description "Profile list"; } description "Profile"; } // FTE Events container events-items { list Events-list { key "name"; uses analytics_Events-group; description "Configure FTE Events Information list"; } description "Configure FTE Events Information"; } // Forwarding instance based target container fwdinst-items { list FwdInstTarget-list { key "id"; uses analytics_FwdInstTarget-group; description "Forward Instance Target list"; } description "Forward Instance Target"; } // Policy Container for ACLs container policy-items { list Policy-list { key "name"; uses analytics_Policy-group; description "Policy list"; } description "Policy"; } } grouping analytics_Capability-group { description "Platform Capability Information"; // Mode leaf fabricMode { config "false"; type analytics_CModeT; description "Mode to Indicate Platform Type"; } // Collector Bucket Hash Width leaf bucketHashWidth { config "false"; type analytics_HashWidthT; description "Bit Width of the Collector Bucket Hash"; } // Number of TCAM entries leaf numTcamEnt { config "false"; type analytics_numTcamEntT; description "Number of TCAM Entries"; } // Number of TCAM entries per V4 type leaf numTcamEntPerV4 { config "false"; type analytics_numTcamEntV4T; description "Number of TCAM Entries per V4 type"; } // Number of TCAM entries per V6 type leaf numTcamEntPerV6 { config "false"; type analytics_numTcamEntV6T; description "Number of TCAM Entries per V6 type"; } // Latency Resolution Factor leaf configLatencyResFactor { config "false"; type analytics_configLatencyResFactorT; description "Ability to Configure Resolution Factor"; } // Oport support leaf oportSupport { config "false"; type analytics_oportSupportT; description "Ability to expose Oport information"; } // Oclass support leaf oclassSupport { config "false"; type analytics_oportSupportT; description "Ability to expose Oclass information"; } } grouping analytics_Slot-group { description "Module Number for this Capability"; // Slot identifier leaf slotid { config "false"; type analytics_OclassId; description "Module Number for this Capability"; } // Oclass info container oclass-items { list Oclass-list { config "false"; key "id"; uses analytics_Oclass-group; description "Oclass to Priority Mapping list"; } description "Oclass to Priority Mapping"; } } grouping analytics_Oclass-group { description "Oclass to Priority Mapping"; // Oclass identifier leaf id { config "false"; type analytics_OclassId; description "Egress Port Class ID"; } leaf priorityMapping { config "false"; type string; description "Egree Port Priority Mapping"; } } grouping analytics_Controller-group { description "Controller Reachability"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Remote node VRF leaf vrfName { type analytics_VrfName; description "VRF to connect to the Remote Collector"; } leaf dstAddr { type address_Ip; description "Destination IP of the Remote Collector"; } // Remote node destination port leaf dstPort { type l4_Port; description "L4 Port of the Remote Collector"; } // IP dscp value leaf dscp { type qosp_DscpCP; description "DSCP value of the Remote Collector"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface that contains the Source IP for Analytics packets"; } leaf srcAddr { type address_Ip; description "Source IP Address for Analytics packets"; } // Remote node destination port leaf eventDstPort { type analytics_EventsPort; description "Event L4 Port of the Remote Collector"; } leaf inbandInterface { type boolean; description "inband interface for exporter"; } leaf v9 { type boolean; description "Export FT and FTE data in V9 format"; } } grouping analytics_RecordP-group { description "Flow Record"; // Match parameters for the flow record leaf match { type analytics_MatchParams; description "Analytics Record profile parameters to match flows on."; } // Collect parameters for the flow record leaf collect { type analytics_CollectParams; description "Analytics Record parameters to collect in the flows."; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping analytics_Collector-group { description "Collector entry"; // Collector version leaf ver { type analytics_CollVersion; description "Collector Version Format"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Remote node VRF leaf vrfName { type analytics_VrfName; description "VRF to connect to the Remote Collector"; } leaf dstAddr { type address_Ip; description "Destination IP of the Remote Collector"; } // Remote node destination port leaf dstPort { type l4_Port; description "L4 Port of the Remote Collector"; } // IP dscp value leaf dscp { type qosp_DscpCP; description "DSCP value of the Remote Collector"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface that contains the Source IP for Analytics packets"; } leaf srcAddr { type address_Ip; description "Source IP Address for Analytics packets"; } // Remote node destination port leaf eventDstPort { type analytics_EventsPort; description "Event L4 Port of the Remote Collector"; } leaf inbandInterface { type boolean; description "inband interface for exporter"; } leaf v9 { type boolean; description "Export FT and FTE data in V9 format"; } } grouping analytics_Monitor-group { description "Flow Monitor"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Collector bucket info container collectorbucket-items { list CollectorBucket-list { key "id"; uses analytics_CollectorBucket-group; description "Flow Collector Bucket Entry list"; } description "Flow Collector Bucket Entry"; } container rsrecordPAtt-items { uses analytics_RsRecordPAtt_source-group; description "Record Policy Attachment"; } container rtl3VrfMonitorAtt-items { list RtL3VrfMonitorAtt-list { config "false"; key "tDn"; uses l3_RtL3VrfMonitorAtt_target-group; description "Vrf Reference to Analytics monitor. list"; } description "Vrf Reference to Analytics monitor."; } } grouping analytics_CollectorBucket-group { description "Flow Collector Bucket Entry"; // Collector bucket identifier leaf id { type analytics_CollBucketId; description "Flow Collector Bucket Id"; } // HashLo value for this collector bucket leaf hashLo { type analytics_HashT; description "Collector Bucket Hash Low Value"; } // HashHi value for this collector bucket leaf hashHi { type analytics_HashT; description "Collector Bucket Hash High Value"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container rscollectorAtt-items { list RsCollectorAtt-list { key "tDn"; uses analytics_RsCollectorAtt_source-group; description "Reference to Collector list"; } description "Reference to Collector"; } } grouping analytics_Profile-group { description "Profile"; // Collect interval leaf collectIntvl { type analytics_CollIntvl; description "Collect Interval in Milliseconds"; } // Source port leaf srcPort { type analytics_L4Port; description "Source L4 Port for the Analytics packets"; } // IP packet id shift leaf ipPktIdShift { type analytics_IpPktIdShift; description "Analytics IP Packet Id Shift"; } // Burst interval shift leaf burstIntvlShift { type analytics_BurstIntvlShift; description "Timestamp Shift Value for Burst Interval"; } // Collector export packet MTU leaf mtu { type analytics_Mtu; description "MTU for the Analytics flow record packets."; } // Sequence number guess threshold low leaf seqNumGuessThreshLo { type analytics_ThresholdT; description "Sequence Number Guess Threshold Low"; } // Sequence number guess threshold high leaf seqNumGuessThreshHi { type analytics_ThresholdT; description "Sequence Number Guess Threshold High"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Payload length bin container payloadlenbin-items { list PayloadLenBin-list { key "id"; uses analytics_PayloadLenBin-group; description "Payload length bin entry list"; } description "Payload length bin entry"; } // TCP options header length bin container tcpopthdrlenbin-items { list TCPOptHdrLenBin-list { key "id"; uses analytics_TCPOptHdrLenBin-group; description "TCP optional header length bin entry list"; } description "TCP optional header length bin entry"; } // Receive window size bin container rcvwindowszbin-items { list RcvWindowSzBin-list { key "id"; uses analytics_RcvWindowSzBin-group; description "Receive window size bin entry list"; } description "Receive window size bin entry"; } } grouping analytics_PayloadLenBin-group { description "Payload length bin entry"; // Identifier leaf id { type analytics_PayloadLenIdT; description "Payload Length Bin Id"; } // Low value leaf lo { type analytics_PayloadLenT; description "Analytics payload bin low value"; } // High value leaf hi { type analytics_PayloadLenT; description "Analytics payload bin high value"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping analytics_TCPOptHdrLenBin-group { description "TCP optional header length bin entry"; // Identifier leaf id { type analytics_TCPOptHdrLenIdT; description "TCP option header length bin ID"; } // Low value leaf lo { type analytics_TCPOptHdrLenT; description "Analytics TCP option header bin Low value"; } // High value leaf hi { type analytics_TCPOptHdrLenT; description "Analytics TCP option header bin high value"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping analytics_RcvWindowSzBin-group { description "Receive window size bin entry"; // Identifier leaf id { type analytics_RcvWindowSzIdT; description "Receive window size bin ID"; } // Low value leaf lo { type analytics_RcvWindowSzT; description "Analytics Receive Window Size header bin low value"; } // High value leaf hi { type analytics_RcvWindowSzT; description "Analytics Receive Window Size header bin high value"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping analytics_Events-group { description "Configure FTE Events Information"; leaf groupDropEvents { type boolean; description "Configure the group drop events for FTE Event"; } leaf groupLatencyEvents { type boolean; description "Configure the group latency events for FTE Event"; } leaf groupPacketEvents { type boolean; description "Configure the group packet events for FT Event"; } leaf aclDrops { type boolean; description "Configure the capture acl-drops in fte-event-drop-events mode for FTE Event"; } leaf bufferDrops { type boolean; description "Configure the capture buffer-drops in fte-event-drop-events mode for FTE Record"; } leaf fwdDrops { type boolean; description "Configure the capture forward-drops in fte-event-drop-events mode for FTE Record"; } leaf blackHole { type boolean; description "Configure the capture blackhole in fte-event-drop-events mode for FTE Record"; } // Latency under FTE leaf latencyThreshold { type analytics_LatencyValue; description "Configure FTE Latency Threshold limit"; } // Latency Unit under FTE leaf latencyThresholdUnit { type analytics_LatencyUnit; description "Configure FTE Latency Threshold Unit"; } // Event Export max leaf eventExportMax { type analytics_EventExportMax; description "Configure FTE Event Export Max Value"; } leaf receiveWindowZero { type boolean; description "Configuration to capture events for TCP receive window zero."; } leaf ipDf { type boolean; description "Configuration to capture events with IP: Don't Fragment flag."; } leaf ttlMatchEnable { type boolean; description "Configuration to enable ttl match events."; } // TTL match value configuration leaf ttlMatchValue { type analytics_TTLMatchValue; description "Configuration to capture events for given ttl value."; } leaf tosEnable { type boolean; description "Configuration to enable events with given IP DSCP values."; } // Match IP DSCP leaf tos { type analytics_TOSValue; description "Configuration to capture events with given IP DSCP values."; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping analytics_FwdInstTarget-group { description "Forward Instance Target"; // Identifier leaf id { type analytics_FwdInstTargetId; description "Analytics Target identifier"; } // Collector identifier provided by the analytics controller leaf collectorId { type analytics_CollectorId; description "Analytics exporter Id to identify the exporting hardware instance."; } leaf systemExporterId { type uint32; description "Base exporter Id applied at system level."; } leaf instanceName { type string; description "Interface details to identify the hardware instance."; } // Default filtering policy leaf DefPolicy { type analytics_DefPolicyT; description "Default Filtering Policy"; } // IPv4 Hit Count leaf ipv4Hit { type analytics_hitCount; description "Analytics IPv4 Flow Hit Count"; } // IPv6 Hit Count leaf ipv6Hit { type analytics_hitCount; description "Analytics IPv6 Flow Hit Count"; } // CE Hit Count leaf ceHit { type analytics_hitCount; description "Analytics CE Flow Hit Count"; } // IPv4 Create Count leaf ipv4Create { type analytics_createCount; description "Analytics IPv4 Flow Create Count"; } // IPv6 Create Count leaf ipv6Create { type analytics_createCount; description "Analytics IPv6 Flow Create Count"; } // CE Create Count leaf ceCreate { type analytics_createCount; description "Analytics CE Flow Create Count"; } leaf exportCount { type uint32; description "Analytics Flow Export Count"; } leaf skipCount { type uint32; description "Analytics Flow Skip Count"; } leaf switchLatency { type boolean; description "Switch latency mode is applied at system level."; } // IP filter type leaf fltType { type analytics_FltType; description "Analytics Target filter type"; } // Direction leaf dir { type analytics_DirectionT; description "Analytics profile direction"; } container rsprofAtt-items { uses analytics_RsProfAtt_source-group; description "Reference to profile."; } container rspolicyAtt-items { uses analytics_RsPolicyAtt_source-group; description "Reference to policy."; } container rseventsAtt-items { uses analytics_RsEventsAtt_source-group; description "Reference to FTE Events"; } container rsmonitorAtt-items { uses analytics_RsMonitorAtt_source-group; description "Reference to Monitor"; } container dbgStatistics-items { uses analytics_Statistics-group; description "Analytics Statistics"; } } grouping analytics_Policy-group { description "Policy"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Match ACL container acl-items { list MatchAcl-list { key "name"; uses analytics_MatchAcl-group; description "Match ACL list"; } description "Match ACL"; } container rtl2VlanCfgPolicyAtt-items { list RtL2VlanCfgPolicyAtt-list { config "false"; key "tDn"; uses l2_RtL2VlanCfgPolicyAtt_target-group; description "Vlan Config Reference to Analytics Policy. list"; } description "Vlan Config Reference to Analytics Policy."; } container rtl1EthIntfPolicyAtt-items { list RtL1EthIntfPolicyAtt-list { config "false"; key "tDn"; uses l1_RtL1EthIntfPolicyAtt_target-group; description "Interface Reference to Analytics policy. list"; } description "Interface Reference to Analytics policy."; } container rtpcPcIntfPolicyAtt-items { list RtPcPcIntfPolicyAtt-list { config "false"; key "tDn"; uses pc_RtPcPcIntfPolicyAtt_target-group; description "Interface Reference to Analytics policy. list"; } description "Interface Reference to Analytics policy."; } container rtl3VrfPolicyAtt-items { list RtL3VrfPolicyAtt-list { config "false"; key "tDn"; uses l3_RtL3VrfPolicyAtt_target-group; description "Vrf Reference to Analytics policy. list"; } description "Vrf Reference to Analytics policy."; } container rtsviSviIntfPolicyAtt-items { list RtSviSviIntfPolicyAtt-list { config "false"; key "tDn"; uses svi_RtSviSviIntfPolicyAtt_target-group; description "Interface Reference to Analytics policy. list"; } description "Interface Reference to Analytics policy."; } } grouping analytics_MatchAcl-group { description "Match ACL"; leaf aclName { type string; description "Match using ACL"; } // Filter type leaf fltType { type analytics_FltType; description "ACL Filter Type"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping analytics_HwTelemetry-group { description "Entity for all Hardware Telemetry features"; container fpt-items { uses fpt_Fpt-group; description "Configure Flow Path Tracer"; } container fte-items { uses fte_Fte-group; description "Configure Flow Table Events"; } // Contains BDC instance info container visibility-items { uses visibility_Visibility-group; description "Entity MO for all Visibility Features"; } container inbandtelemetry-items { uses inbandTelemetry_Int-group; description "int"; } container netflow-items { uses netflow_Netflow-group; description "Netflow entity"; } container sflow-items { uses sflow_Sflow-group; description "Sflow entity"; } container ssx-items { uses ssx_Ssx-group; description "ssx"; } } grouping fpt_Fpt-group { description "Configure Flow Path Tracer"; leaf enable { type boolean; description "Enable a flow-path-tracer (FPT) flow"; } // FPT Filter info container filter-items { list Filter-list { key "seqno"; uses fpt_Filter-group; description "Configure the FPT Filter Information list"; } description "Configure the FPT Filter Information"; } } grouping fpt_Filter-group { description "Configure the FPT Filter Information"; leaf seqno { type uint32; description "Configure Sequence Number"; } leaf v4dstPrefixLen { type uint32; description "v4 destination prefix length"; } leaf v6dstPrefixLen { type uint32; description "v6 destination prefix length"; } leaf dstAddr { type address_Ip; description "Configure Filter Destination IP"; } // Filter node destination port leaf dstPort { type fpt_L4Port; description "Configure Filter Destination L4 Port"; } leaf dstPortANY { type boolean; default "false"; description "Configure Filter Destination L4 Port - wildcard"; } // Source Port leaf srcPort { type fpt_L4Port; description "Configure Filter Source L4 Port"; } leaf srcPortANY { type boolean; default "false"; description "Configure Filter Source L4 Port - wildcard"; } leaf v4srcPrefixLen { type uint32; description "v4 source prefix length"; } leaf v6srcPrefixLen { type uint32; description "v6 source prefix length"; } leaf srcAddr { type address_Ip; description "Configure Filter Source IP Address"; } // Protocol leaf protocol { type fpt_supportedProtocols; description "Configure Protocol Number"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping fte_Fte-group { description "Configure Flow Table Events"; leaf enable { type boolean; description "Enable FTE instance"; } // Holds FTE instance information container inst-items { list Inst-list { key "mode"; uses fte_Inst-group; description "Configure FTE Instance list"; } description "Configure FTE Instance"; } } grouping fte_Inst-group { description "Configure FTE Instance"; // FTE mode leaf mode { type fte_ModeT; description "Configure the type of FTE instance"; } // FTE Collector info container collector-items { list Collector-list { key "name"; uses fte_Collector-group; description "Configure the FTE Collector Information list"; } description "Configure the FTE Collector Information"; } // FTE Record container record-items { list Record-list { key "name"; uses fte_Record-group; description "Configure FTE Record Information list"; } description "Configure FTE Record Information"; } // FTE Events container events-items { list Events-list { key "name"; uses fte_Events-group; description "Configure FTE Events Information list"; } description "Configure FTE Events Information"; } // FTE Monitor one monitor can be attached to n records container monitor-items { list Monitor-list { key "name"; uses fte_Monitor-group; description "Configure FTE Monitor Information list"; } description "Configure FTE Monitor Information"; } // System FTE container sysfte-items { list SysFte-list { key "name"; uses fte_SysFte-group; description "Configure System Flow Table Events list"; } description "Configure System Flow Table Events"; } } grouping fte_Collector-group { description "Configure the FTE Collector Information"; // Collector node VRF leaf vrfName { type fte_VrfName; description "Configure Collector Entity VRF"; } leaf dstAddr { type address_Ip; description "Configure Collector Entity IP"; } // Source UDP Port leaf srcPort { type l4_Port; description "Configure Collector Entity Source L4 Port"; } leaf srcAddr { type address_Ip; description "Configure Collector Entity Source IP Address"; } leaf id { type uint32; description "Configure Collector Entity id Value"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping fte_Record-group { description "Configure FTE Record Information"; leaf dstIpv4 { type boolean; description "Configure the Match ipv4 destination address for FTE Record"; } leaf dstIpv6 { type boolean; description "Configure the Match ipv6 destination address for FTE Record"; } leaf dstMac { type boolean; description "Configure the Match datalink mac destination address for FTE Record"; } leaf dstPortIpv4 { type boolean; description "Configure the Match ipv4 transport destination port for FTE Record"; } leaf dstPortIpv6 { type boolean; description "Configure the Match ipv6 transport destination port for FTE Record"; } leaf etherType { type boolean; description "Configure the Match datalink ethertype for FTE Record"; } leaf flowLabel { type boolean; description "Configure the Match ipv6 flow-label for FTE Record"; } leaf protoIpv4 { type boolean; description "Configure the Match ipv4 protocol for FTE Record"; } leaf protoIpv6 { type boolean; description "Configure the Match ipv6 protocol for FTE Record"; } leaf srcIpv4 { type boolean; description "Configure the Match ipv4 source address for FTE Record"; } leaf srcIpv6 { type boolean; description "Configure the Match ipv6 source address for FTE Record"; } leaf srcMac { type boolean; description "Configure the Match datalink mac source address for FTE Record"; } leaf srcPortIpv4 { type boolean; description "Configure the Match ipv4 transport source-port for FTE Record"; } leaf srcPortIpv6 { type boolean; description "Configure the Match ipv6 transport source-port for FTE Record"; } leaf tosIpv4 { type boolean; description "Configure the Match ipv4 tos for FTE Record"; } leaf tosIpv6 { type boolean; description "Configure the Match ipv6 tos for FTE Record"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping fte_Events-group { description "Configure FTE Events Information"; leaf groupDropEvents { type boolean; description "Configure the group drop events for FTE Event"; } leaf groupLatencyEvents { type boolean; description "Configure the group latency events for FTE Event"; } leaf aclDrops { type boolean; description "Configure the capture acl-drops in fte-event-drop-events mode for FTE Event"; } leaf bufferDrops { type boolean; description "Configure the capture buffer-drops in fte-event-drop-events mode for FTE Record"; } leaf fwdDrops { type boolean; description "Configure the capture forward-drops in fte-event-drop-events mode for FTE Record"; } leaf blackHole { type boolean; description "Configure the capture blackhole in fte-event-drop-events mode for FTE Record"; } // Latency under FTE leaf latencyThreshold { type fte_LatencyValue; description "Configure FTE Latency Threshold limit"; } // Latency Unit under FTE leaf latencyThresholdUnit { type fte_LatencyUnit; description "Configure FTE Latency Threshold Unit"; } // Latency events flow count under FTE leaf latencyFlowCount { type fte_FlowCountValue; description "Configure FTE Latency events flow count"; } // Drop events flow count under FTE leaf dropFlowCount { type fte_FlowCountValue; description "Configure FTE drop events flow count"; } // Event Export max leaf eventExportMax { type fte_EventExportMax; description "Configure FTE Event Export Max Value"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping fte_Monitor-group { description "Configure FTE Monitor Information"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } container rsrecordAtt-items { list RsRecordAtt-list { key "tDn"; uses fte_RsRecordAtt_source-group; description "Attach FTE Record to FTE Monitor list"; } description "Attach FTE Record to FTE Monitor"; } container rscollectorAtt-items { list RsCollectorAtt-list { key "tDn"; uses fte_RsCollectorAtt_source-group; description "Attach FTE Collector to FTE Monitor list"; } description "Attach FTE Collector to FTE Monitor"; } container rseventsAtt-items { list RsEventsAtt-list { key "tDn"; uses fte_RsEventsAtt_source-group; description "Attach FTE Events to FTE Monitor list"; } description "Attach FTE Events to FTE Monitor"; } } grouping fte_SysFte-group { description "Configure System Flow Table Events"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container rsmonitorAtt-items { list RsMonitorAtt-list { key "tDn"; uses fte_RsMonitorAtt_source-group; description "Attach FTE Monitor to System FTE list"; } description "Attach FTE Monitor to System FTE"; } } grouping visibility_Visibility-group { description "Entity MO for all Visibility Features"; // Contains Buffer Drop instance info container bufferdrop-items { uses bd_BufferDropInst-group; description "Instance MO for Buffer Drop"; } // Contains Buffer Latency instance info container bufferlatency-items { uses bl_BufferLatencyInst-group; description "Instance MO for Buffer Latency"; } // Contains INT Clone MD instance info container intclonemd-items { uses ipt_IntCloneMdInst-group; description "Instance MO for INT Clone MD"; } } grouping bd_BufferDropInst-group { description "Instance MO for Buffer Drop"; leaf isEnabled { type boolean; default "false"; description "Denotes whether Buffer Drop feature is enabled"; } // Contains Buffer Drop Monitor info container monitor-items { list Monitor-list { key "name"; uses bd_Monitor-group; description "Monitor MO for Buffer Drop Capture list"; } description "Monitor MO for Buffer Drop Capture"; } // Buffer Drop Collector info container collector-items { list Collector-list { key "name"; uses bd_Collector-group; description "Configure the Buffer Drop Collector Information list"; } description "Configure the Buffer Drop Collector Information"; } // System for Buffer Drop container system-items { uses bd_System-group; description "Configure System for Buffer Drop Capture"; } } grouping bd_Monitor-group { description "Monitor MO for Buffer Drop Capture"; leaf name { type bd_MonitorName; description "Identifying name of the monitor"; } leaf description { type bd_Description; description "Description of the specified monitor"; } leaf aclName { type bd_AclName; description "Name of the Access Control List applied on the current monitor session"; } leaf v6AclName { type bd_AclName; description "Name of the IPv6 Access Control List applied on the current monitor session"; } // SAMPLING PROPERTIES Sampling Rate leaf samplingRate { type bd_SamplingRate; description "Value of the sampling rate for the given queues"; } // Following 2 properties are only for MB Sampling Time intervals leaf samplingMbRate { type bd_SamplingMbRate; description "Sampling time intervals for the given range of queues"; } // Sampling Packets intervals leaf samplingMbPackets { type bd_SamplingMbPackets; description "Sampling packet count for the given range of queues"; } container queue-items { list Queue-list { key "id"; uses bd_Queue-group; description "Queue MOs for Buffer Drop Capture. list"; } description "Queue MOs for Buffer Drop Capture."; } container rscollectorAtt-items { list RsCollectorAtt-list { key "tDn"; uses bd_RsCollectorAtt_source-group; description "Attach Buffer Drop Collector to Buffer Drop Monitor list"; } description "Attach Buffer Drop Collector to Buffer Drop Monitor"; } } grouping bd_Queue-group { description "Queue MOs for Buffer Drop Capture."; leaf id { type bd_QueueId; description "Identifying number for the queue (0-7)"; } } grouping bd_Collector-group { description "Configure the Buffer Drop Collector Information"; leaf description { type bd_Description; description "Description of the specified collector"; } leaf destination { type nw_IfId; description "Destination config under the current collector"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping bd_System-group { description "Configure System for Buffer Drop Capture"; container rsmonitorAttch-items { list RsMonitorAttch-list { key "tDn"; uses bd_RsMonitorAttch_source-group; description "Monitor Attachment to System Buffer Drop list"; } description "Monitor Attachment to System Buffer Drop"; } } grouping bl_BufferLatencyInst-group { description "Instance MO for Buffer Latency"; leaf isEnabled { type boolean; default "false"; description "Denotes whether Buffer Latency feature is enabled"; } container record-items { list Record-list { key "name"; uses bl_Record-group; description "Configure Buffer Latency Record Information list"; } description "Configure Buffer Latency Record Information"; } // Contains Buffer Latency Monitor info container monitor-items { list Monitor-list { key "name"; uses bl_Monitor-group; description "Monitor MO for Buffer Latency list"; } description "Monitor MO for Buffer Latency"; } // Buffer Latency Collector info container collector-items { list Collector-list { key "name"; uses bl_Collector-group; description "Configure the Buffer Latency Collector Information list"; } description "Configure the Buffer Latency Collector Information"; } // Contains Buffer Latency Queue Threshold info container threshold-items { list Threshold-list { key "name"; uses bl_Threshold-group; description "Threshold MO for Buffer Latency Queues list"; } description "Threshold MO for Buffer Latency Queues"; } // System Buffer Latency container system-items { uses bl_System-group; description "Configure System for Buffer Latency"; } } grouping bl_Record-group { description "Configure Buffer Latency Record Information"; leaf description { type bl_Description; description "Description of the specified record"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } container interface-items { list Interface-list { key "id"; uses bl_Interface-group; description "Interface configuration MO for Buffer Latency. list"; } description "Interface configuration MO for Buffer Latency."; } } grouping bl_Interface-group { description "Interface configuration MO for Buffer Latency."; leaf id { type nw_IfId; description "The interface id for the session"; } container queue-items { list Queue-list { key "id"; uses bl_Queue-group; description "Queue Config MO for Buffer Latency list"; } description "Queue Config MO for Buffer Latency"; } } grouping bl_Queue-group { description "Queue Config MO for Buffer Latency"; leaf id { type bl_QueueId; description "Identifying Queue number for Buffer Latency"; } container rsthresholdAtt-items { uses bl_RsThresholdAtt_source-group; description "Queue Config Attachment to Threshold Values"; } } grouping bl_Monitor-group { description "Monitor MO for Buffer Latency"; leaf name { type bl_Name; description "Identifying name of the monitor"; } leaf description { type bl_Description; description "Description of the specified monitor"; } leaf aclName { type bl_AclName; description "Name of the Access Control List applied on the current monitor session"; } leaf v6AclName { type bl_AclName; description "Name of the IPv6 Access Control List applied on the current monitor session"; } // Sampling Rate leaf samplingRate { type bl_SamplingRate; description "Value of the sampling rate for the given queues"; } // Sampling Time intervals leaf samplingMbRate { type bl_SamplingMbRate; description "Sampling time intervals for the given range of queues"; } // Sampling Packets intervals leaf samplingMbPackets { type bl_SamplingMbPackets; description "Sampling packet count for the given range of queues"; } container rsrecordAtt-items { list RsRecordAtt-list { key "tDn"; uses bl_RsRecordAtt_source-group; description "Attach Buffer Latency Record to Buffer Latency Monitor list"; } description "Attach Buffer Latency Record to Buffer Latency Monitor"; } container rscollectorAtt-items { list RsCollectorAtt-list { key "tDn"; uses bl_RsCollectorAtt_source-group; description "Attach Buffer Latency Collector to Buffer Latency Monitor list"; } description "Attach Buffer Latency Collector to Buffer Latency Monitor"; } } grouping bl_Collector-group { description "Configure the Buffer Latency Collector Information"; leaf description { type bl_Description; description "Description of the specified collector"; } leaf destination { type nw_IfId; description "Destination config under the current collector"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping bl_Threshold-group { description "Threshold MO for Buffer Latency Queues"; leaf name { type bl_Name; description "Name of the threshold for Buffer Latency Queues"; } leaf value { type bl_ThresholdValue; description "Value of the threshold for Buffer Latency queues"; } } grouping bl_System-group { description "Configure System for Buffer Latency"; container rsmonitorAttch-items { list RsMonitorAttch-list { key "tDn"; uses bl_RsMonitorAttch_source-group; description "Monitor Attachment to System Buffer Latency list"; } description "Monitor Attachment to System Buffer Latency"; } } grouping ipt_IntCloneMdInst-group { description "Instance MO for INT Clone MD"; leaf isEnabled { type boolean; default "false"; description "Denotes whether INT Clone MD feature is enabled"; } // Source Record container sourcerecord-items { list SourceRecord-list { key "name"; uses ipt_SourceRecord-group; description "Configure INT Clone MD Source Record Information list"; } description "Configure INT Clone MD Source Record Information"; } // Contains Source Monitor info container sourcemonitor-items { list SourceMonitor-list { key "name"; uses ipt_SourceMonitor-group; description "Source Monitor MO for INT Clone MD list"; } description "Source Monitor MO for INT Clone MD"; } // INT Clone MD Sink Collector info container sinkcollector-items { list SinkCollector-list { key "name"; uses ipt_SinkCollector-group; description "Configure the INT Clone MD Collector Information list"; } description "Configure the INT Clone MD Collector Information"; } // Sink Record container sinkrecord-items { list SinkRecord-list { key "name"; uses ipt_SinkRecord-group; description "Configure INT Clone MD Sink Record Information list"; } description "Configure INT Clone MD Sink Record Information"; } // Sink Monitor container sinkmonitor-items { list SinkMonitor-list { key "name"; uses ipt_SinkMonitor-group; description "Configure System Sink Monitor for INT Clone MD list"; } description "Configure System Sink Monitor for INT Clone MD"; } // ProbeMarker INT Clone MD container probemarker-items { list ProbeMarker-list { key "value"; uses ipt_ProbeMarker-group; description "Configure ProbeMarker for INT Clone MD list"; } description "Configure ProbeMarker for INT Clone MD"; } // System for Source and Sink Monitor container intclonemdsystem-items { uses ipt_IntCloneMdSystem-group; description "Configure System for Source and Sink Monitor"; } } grouping ipt_SourceRecord-group { description "Configure INT Clone MD Source Record Information"; leaf name { type ipt_Name; description "Name of the IPT source record"; } // Source Interface container sourceinterface-items { list SourceInterface-list { key "id"; uses ipt_SourceInterface-group; description "Ingress interface configuration MO for INT Clone MD. list"; } description "Ingress interface configuration MO for INT Clone MD."; } } grouping ipt_SourceInterface-group { description "Ingress interface configuration MO for INT Clone MD."; leaf id { type nw_IfId; description "The interface id for the session"; } } grouping ipt_SourceMonitor-group { description "Source Monitor MO for INT Clone MD"; leaf name { type ipt_Name; description "Identifying name of the source monitor"; } // ACL filter leaf aclName { type ipt_Name; description "Name of the Access Control List applied on the current monitor session"; } leaf v6AclName { type ipt_Name; description "Name of the IPv6 Access Control List applied on the current monitor session"; } // Sampling Rate leaf samplingRate { type ipt_SamplingRate; description "Value of the sampling rate for the given interfaces"; } container rssourcerecordAtt-items { list RsSourcerecordAtt-list { key "tDn"; uses ipt_RsSourcerecordAtt_source-group; description "Attach INT Clone MD Source Record to INT Clone MD Source Monitor list"; } description "Attach INT Clone MD Source Record to INT Clone MD Source Monitor"; } } grouping ipt_SinkCollector-group { description "Configure the INT Clone MD Collector Information"; leaf dstAddr { type address_Ip; description "Remote Entity IP address for INT Clone MD Collector"; } leaf srcAddr { type address_Ip; description "Source IP address for INT Clone MD Collector"; } // IPT TTL value leaf ttl { type ipt_Ttl; description "IPT header TTL value for INT Clone MD Collector"; } // IP dscp value leaf dscp { type ipt_Dscp; description "IPT header DSCP Value for INT Clone MD Collector"; } // Destination interface leaf destination { type nw_IfId; description "Destination interface for INT Clone MD collector"; } leaf name { type ipt_Name; description "Name of the IPT sink collector"; } } grouping ipt_SinkRecord-group { description "Configure INT Clone MD Sink Record Information"; leaf name { type ipt_Name; description "Name of the IPT sink record"; } // Sink Interface container sinkinterface-items { list SinkInterface-list { key "id"; uses ipt_SinkInterface-group; description "Sink interface configuration MO for INT Clone MD. list"; } description "Sink interface configuration MO for INT Clone MD."; } } grouping ipt_SinkInterface-group { description "Sink interface configuration MO for INT Clone MD."; leaf id { type nw_IfId; description "The interface id for the data egress path"; } } grouping ipt_SinkMonitor-group { description "Configure System Sink Monitor for INT Clone MD"; leaf name { type ipt_Name; description "Identifying name of the sink monitor"; } container rssinkcollectorAtt-items { list RsSinkcollectorAtt-list { key "tDn"; uses ipt_RsSinkcollectorAtt_source-group; description "Collector Attachment to System Sink Monitor INT Clone MD list"; } description "Collector Attachment to System Sink Monitor INT Clone MD"; } container rssinkrecordAtt-items { list RsSinkrecordAtt-list { key "tDn"; uses ipt_RsSinkrecordAtt_source-group; description "Sink Record Attachment to System Sink Monitor INT Clone MD list"; } description "Sink Record Attachment to System Sink Monitor INT Clone MD"; } } grouping ipt_ProbeMarker-group { description "Configure ProbeMarker for INT Clone MD"; leaf value { type uint64; description "Denotes the probe marker value to be used for INT Clone MD feature"; } } grouping ipt_IntCloneMdSystem-group { description "Configure System for Source and Sink Monitor"; container rssourcemonitorAtt-items { list RsSourcemonitorAtt-list { key "tDn"; uses ipt_RsSourcemonitorAtt_source-group; description "Source Monitor Attachment to System list"; } description "Source Monitor Attachment to System"; } container rssinkmonitorAtt-items { list RsSinkmonitorAtt-list { key "tDn"; uses ipt_RsSinkmonitorAtt_source-group; description "Sink Monitor Attachment to System list"; } description "Sink Monitor Attachment to System"; } } grouping inbandTelemetry_Int-group { description "int"; // Holds int instance information container inst-items { list Inst-list { key "mode"; uses inbandTelemetry_Inst-group; description "int Instance list"; } description "int Instance"; } } grouping inbandTelemetry_Inst-group { description "int Instance"; // int mode leaf mode { type inbandTelemetry_ModeT; description "Mode Select"; } // switch profile leaf profile { config "false"; type inbandTelemetry_Profile; description "Switch Profile - Transit or End Point"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // INT Watchlist Acl container watchlist-items { list WatchlistAcl-list { key "name"; uses inbandTelemetry_WatchlistAcl-group; description "Watchlist Acl list"; } description "Watchlist Acl"; } // INT Droplist Acl container droplist-items { list DroplistAcl-list { key "name"; uses inbandTelemetry_DroplistAcl-group; description "Droplist Acl list"; } description "Droplist Acl"; } // int Record container recordp-items { list RecordP-list { key "name"; uses inbandTelemetry_RecordP-group; description "int Record list"; } description "int Record"; } // int Collector container collector-items { list Collector-list { key "name"; uses inbandTelemetry_Collector-group; description "Collector entry list"; } description "Collector entry"; } // INT Flow Profile container flowprof-items { list FlowProfile-list { key "name"; uses inbandTelemetry_FlowProfile-group; description "Inband Telemetry Flow Profile list"; } description "Inband Telemetry Flow Profile"; } // INT Queue Profile container queueprof-items { list QueueProfile-list { key "name"; uses inbandTelemetry_QueueProfile-group; description "Inband Telemetry Queue Profile list"; } description "Inband Telemetry Queue Profile"; } // INT Monitor one monitor can be attached to n records container monitor-items { list Monitor-list { key "name"; uses inbandTelemetry_Monitor-group; description "int Monitor list"; } description "int Monitor"; } // Forwarding instance based target container fwdinst-items { list FwdInstTarget-list { key "id"; uses inbandTelemetry_FwdInstTarget-group; description "Forward Instance Target list"; } description "Forward Instance Target"; } } grouping inbandTelemetry_WatchlistAcl-group { description "Watchlist Acl"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } // ACL name leaf name { type acl_Name; description "Name of Access lists"; } // fragments leaf fragments { type acl_Fragments; description "Fragments type for IPv4 and IPv6"; } // toggle per-entry statistics leaf perACEStatistics { type acl_ACEStats; description "Per Access Control Entries statistics"; } leaf ignRoutable { type boolean; description "Ignore Multicast Routed ACLs"; } leaf configStatus { config "false"; type uint32; description "config success indicator"; } // INT Watchlist Ace container ace-items { list WatchlistAce-list { key "seqNum"; uses inbandTelemetry_WatchlistAce-group; description "Watchlist Ace list"; } description "Watchlist Ace"; } } grouping inbandTelemetry_WatchlistAce-group { description "Watchlist Ace"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } // remark leaf remark { type acl_RemarkStr; description "Access-list entry comment"; } // ACE sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } // ACE filtering action leaf action { type acl_ActionType; description "Specify packets to forward or reject"; } // source port operator leaf srcPortOp { type acl_Operator; description "Source port operator"; } // first source port leaf srcPort1 { type acl_PortNumber; description "First source port"; } // second source port leaf srcPort2 { type acl_PortNumber; description "Second source port"; } // Source Port Mask leaf srcPortMask { type acl_PortNumber; description "Defines the Source Port Mask"; } // destination port operator leaf dstPortOp { type acl_Operator; description "Destination port operator"; } // first destination port leaf dstPort1 { type acl_PortNumber; description "First destination port number"; } // second destination port leaf dstPort2 { type acl_PortNumber; description "Second destination port number"; } // Destination Port Mask leaf dstPortMask { type acl_PortNumber; description "Destination Port Mask"; } leaf logging { type boolean; default "false"; description "Log matches against ACL entry"; } leaf dscp { type uint8 { range "0..63"; } description "dscp"; } leaf dscpMask { type uint8 { range "0..63"; } description "dscpMask"; } // packet-length operator leaf pktLenOp { type acl_Operator; description "packet length operator"; } // First packet-length leaf pktLen1 { type acl_PktLen; description "first packet length"; } // second packet-length leaf pktLen2 { type acl_PktLen; description "second packet length"; } leaf urg { type boolean; description "tcp urg"; } leaf ack { type boolean; description "tcp ack"; } leaf psh { type boolean; description "tcp psh"; } leaf rst { type boolean; description "tcp rst"; } leaf syn { type boolean; description "tcp syn"; } leaf fin { type boolean; description "tcp fin"; } leaf est { type boolean; description "tcp est"; } leaf rev { type boolean; description "tcp reversed"; } leaf tcpFlagsMask { type acl_TcpFlagsMask; description "tcp flags mask"; } leaf packets { config "false"; type uint64; description "Number of packets hitting ACE"; } leaf fragment { type boolean; description "Non-initial fragment"; } // capture session leaf captureSession { type acl_CaptureSes; description "capture session"; } // http option (http-method) leaf httpOption { type acl_HttpOptionType; description "http option http-method"; } // nve vni ID leaf vni { type acl_VniType; description "nve vni ID"; } // vlan leaf vlan { type acl_VlanType; description "vlan"; } // TCP option length leaf tcpOptionLength { type acl_TcpOptionLengthType; description "TCP options length"; } // time-range leaf timeRange { type acl_Name; description "time range name"; } // source address group leaf srcAddrGroup { type acl_Name; description "Source address group"; } // destination address group leaf dstAddrGroup { type acl_Name; description "Destination address group"; } // source port group leaf srcPortGroup { type acl_Name; description "Source port group"; } // destination port group leaf dstPortGroup { type acl_Name; description "Destination port group"; } leaf redirect { type string { length "0..576"; } description "Redirect action"; } leaf telemetryQueue { type boolean; description "telemetry queue action"; } leaf telemetryPath { type boolean; description "telemetry path action"; } leaf loadShare { type boolean; default "false"; description "load share across redirect ports"; } leaf redirect_all { type string { length "0..576"; } description "IPV4/V6 Redirect all action"; } leaf priorityAll { type boolean; default "false"; description "Increases priority of IPv4/v6 ACE action"; } // Filter type leaf fltType { type inbandTelemetry_FltType; description "Acl Filter Type"; } // protocol to match leaf protocol { type ipv4acl_Protocol; description "Protocol for access-list entry"; } // Protocol Mask leaf protocolMask { type ipv4acl_Protocol; description "Protocol Mask"; } // source prefix leaf srcPrefix { type ipv4acl_IPv4Prefix; description "Source IPv4 prefix"; } // source prefix wildcard mask leaf srcPrefixMask { type ipv4acl_IPv4PrefixMask; description "Source IPv4 prefix mask"; } // source prefix length leaf srcPrefixLength { type ipv4acl_IPv4PrefixLen; description "Source IPv4 prefix length"; } // destination prefix leaf dstPrefix { type ipv4acl_IPv4Prefix; description "Destination IPv4 prefix"; } // destination prefix wildcard mask leaf dstPrefixMask { type ipv4acl_IPv4PrefixMask; description "Destination IPv4 prefix mask"; } // destination prefix length leaf dstPrefixLength { type ipv4acl_IPv4PrefixLen; description "Destination IPv4 prefix length"; } } grouping inbandTelemetry_DroplistAcl-group { description "Droplist Acl"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } // ACL name leaf name { type acl_Name; description "Name of Access lists"; } // fragments leaf fragments { type acl_Fragments; description "Fragments type for IPv4 and IPv6"; } // toggle per-entry statistics leaf perACEStatistics { type acl_ACEStats; description "Per Access Control Entries statistics"; } leaf ignRoutable { type boolean; description "Ignore Multicast Routed ACLs"; } leaf configStatus { config "false"; type uint32; description "config success indicator"; } // INT Droplist ACE container ace-items { list DroplistAce-list { key "seqNum"; uses inbandTelemetry_DroplistAce-group; description "Droplist Ace list"; } description "Droplist Ace"; } } grouping inbandTelemetry_DroplistAce-group { description "Droplist Ace"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } // remark leaf remark { type acl_RemarkStr; description "Access-list entry comment"; } // ACE sequence number leaf seqNum { type acl_SequenceNumber; description "Sequence number"; } // ACE filtering action leaf action { type acl_ActionType; description "Specify packets to forward or reject"; } // source port operator leaf srcPortOp { type acl_Operator; description "Source port operator"; } // first source port leaf srcPort1 { type acl_PortNumber; description "First source port"; } // second source port leaf srcPort2 { type acl_PortNumber; description "Second source port"; } // Source Port Mask leaf srcPortMask { type acl_PortNumber; description "Defines the Source Port Mask"; } // destination port operator leaf dstPortOp { type acl_Operator; description "Destination port operator"; } // first destination port leaf dstPort1 { type acl_PortNumber; description "First destination port number"; } // second destination port leaf dstPort2 { type acl_PortNumber; description "Second destination port number"; } // Destination Port Mask leaf dstPortMask { type acl_PortNumber; description "Destination Port Mask"; } leaf logging { type boolean; default "false"; description "Log matches against ACL entry"; } leaf dscp { type uint8 { range "0..63"; } description "dscp"; } leaf dscpMask { type uint8 { range "0..63"; } description "dscpMask"; } // packet-length operator leaf pktLenOp { type acl_Operator; description "packet length operator"; } // First packet-length leaf pktLen1 { type acl_PktLen; description "first packet length"; } // second packet-length leaf pktLen2 { type acl_PktLen; description "second packet length"; } leaf urg { type boolean; description "tcp urg"; } leaf ack { type boolean; description "tcp ack"; } leaf psh { type boolean; description "tcp psh"; } leaf rst { type boolean; description "tcp rst"; } leaf syn { type boolean; description "tcp syn"; } leaf fin { type boolean; description "tcp fin"; } leaf est { type boolean; description "tcp est"; } leaf rev { type boolean; description "tcp reversed"; } leaf tcpFlagsMask { type acl_TcpFlagsMask; description "tcp flags mask"; } leaf packets { config "false"; type uint64; description "Number of packets hitting ACE"; } leaf fragment { type boolean; description "Non-initial fragment"; } // capture session leaf captureSession { type acl_CaptureSes; description "capture session"; } // http option (http-method) leaf httpOption { type acl_HttpOptionType; description "http option http-method"; } // nve vni ID leaf vni { type acl_VniType; description "nve vni ID"; } // vlan leaf vlan { type acl_VlanType; description "vlan"; } // TCP option length leaf tcpOptionLength { type acl_TcpOptionLengthType; description "TCP options length"; } // time-range leaf timeRange { type acl_Name; description "time range name"; } // source address group leaf srcAddrGroup { type acl_Name; description "Source address group"; } // destination address group leaf dstAddrGroup { type acl_Name; description "Destination address group"; } // source port group leaf srcPortGroup { type acl_Name; description "Source port group"; } // destination port group leaf dstPortGroup { type acl_Name; description "Destination port group"; } leaf redirect { type string { length "0..576"; } description "Redirect action"; } leaf telemetryQueue { type boolean; description "telemetry queue action"; } leaf telemetryPath { type boolean; description "telemetry path action"; } leaf loadShare { type boolean; default "false"; description "load share across redirect ports"; } leaf redirect_all { type string { length "0..576"; } description "IPV4/V6 Redirect all action"; } leaf priorityAll { type boolean; default "false"; description "Increases priority of IPv4/v6 ACE action"; } // Filter type leaf fltType { type inbandTelemetry_FltType; description "Acl Filter Type"; } // protocol to match leaf protocol { type ipv4acl_Protocol; description "Protocol for access-list entry"; } // Protocol Mask leaf protocolMask { type ipv4acl_Protocol; description "Protocol Mask"; } // source prefix leaf srcPrefix { type ipv4acl_IPv4Prefix; description "Source IPv4 prefix"; } // source prefix wildcard mask leaf srcPrefixMask { type ipv4acl_IPv4PrefixMask; description "Source IPv4 prefix mask"; } // source prefix length leaf srcPrefixLength { type ipv4acl_IPv4PrefixLen; description "Source IPv4 prefix length"; } // destination prefix leaf dstPrefix { type ipv4acl_IPv4Prefix; description "Destination IPv4 prefix"; } // destination prefix wildcard mask leaf dstPrefixMask { type ipv4acl_IPv4PrefixMask; description "Destination IPv4 prefix mask"; } // destination prefix length leaf dstPrefixLength { type ipv4acl_IPv4PrefixLen; description "Destination IPv4 prefix length"; } } grouping inbandTelemetry_RecordP-group { description "int Record"; // Collect parameters for the int record leaf collect0 { type inbandTelemetry_CollectParams0; description "Collect Params Set0"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping inbandTelemetry_Collector-group { description "Collector entry"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Remote node VRF leaf vrfName { type inbandTelemetry_VrfName; description "Remote Entity VRF"; } // Remote node destination IP address leaf dstAddr { type inbandTelemetry_DstIp; description "Remote Entity IP"; } // Remote node destination port leaf dstPort { type inbandTelemetry_Port; description "Remote Entity L4 Port"; } // IP dscp value leaf dscp { type qosp_DscpCP; description "DSCP Value"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface"; } leaf srcAddr { type address_Ip; description "Source IP Address"; } leaf sequenceNumber { type uint32; default "1000"; description "Start sequence number for this exporter"; } } grouping inbandTelemetry_FlowProfile-group { description "Inband Telemetry Flow Profile"; // Flow dscp value leaf dscp { type inbandTelemetry_FlowDscp; description "Inband Telemetry Flow dscp value"; } // Flow dscp mask leaf dscpMask { type inbandTelemetry_FlowDscp; description "Inband Telemetry Flow dscp mask"; } // Flow age leaf age { type inbandTelemetry_FlowAge; description "Inband Telemetry Flow age"; } // Flow latency quantization leaf latencyQuant { type inbandTelemetry_FlowLatencyQuant; description "Inband Telemetry Flow latency quantization"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping inbandTelemetry_QueueProfile-group { description "Inband Telemetry Queue Profile"; // Queue depth value leaf depth { type inbandTelemetry_QueueDepth; description "Inband Telemetry Queue depth value"; } // Queue latency leaf latency { type inbandTelemetry_QueueLatency; description "Inband Telemetry Queue Latency"; } // Queue Breach Quota leaf breach { type inbandTelemetry_QueueBreachQuota; description "Inband Telemetry Queue Breach Quota"; } // Queue Tail Drop leaf tailDrop { type inbandTelemetry_QueueTailDrop; description "Inband Telemetry Queue Tail Drop"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping inbandTelemetry_Monitor-group { description "int Monitor"; leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } container rsrecordPAtt-items { uses inbandTelemetry_RsRecordPAtt_source-group; description "Record Policy Attachment"; } container rscollectorAtt-items { list RsCollectorAtt-list { key "tDn"; uses inbandTelemetry_RsCollectorAtt_source-group; description "Reference to Collector list"; } description "Reference to Collector"; } container rswatchlistAtt-items { uses inbandTelemetry_RsWatchlistAtt_source-group; description "Reference to Watchlist"; } container rsdroplistAtt-items { uses inbandTelemetry_RsDroplistAtt_source-group; description "Reference to Droplist"; } } grouping inbandTelemetry_FwdInstTarget-group { description "Forward Instance Target"; // Identifier leaf id { type inbandTelemetry_FwdInstTargetId; description "Identifier"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container rsmonitorAtt-items { list RsMonitorAtt-list { key "tDn"; uses inbandTelemetry_RsMonitorAtt_source-group; description "Reference to Monitor list"; } description "Reference to Monitor"; } } grouping netflow_Netflow-group { description "Netflow entity"; leaf rtpTimeout { type netflow_RtpTimeout; description "RTP Flow Timeout"; } leaf rtpHistory { type netflow_RtpHistory; description "RTP Flow History Size"; } leaf isRtpIpv4 { type boolean; default "false"; description "RTP IPV4 Config"; } leaf rtpIpv4Acl { type netflow_ACLName; description "RTP IPV4 ACL"; } leaf isRtpIpv6 { type boolean; default "false"; description "RTP IPV6 Config"; } leaf rtpIpv6Acl { type netflow_ACLName; description "RTP IPV6 ACL"; } // Holds netflow instance information container inst-items { list Inst-list { key "mode"; uses netflow_Inst-group; description "Instance for Netflow config list"; } description "Instance for Netflow config"; } // Show Flow Info // Ephemeral data container flowinfo-items { // Ephemeral data list FlowInfo-list { config "false"; key "flowId"; uses netflow_FlowInfo-group; description "Flow Info that is displayed/exported. list"; } description "Flow Info that is displayed/exported."; } } grouping netflow_Inst-group { description "Instance for Netflow config"; // analytics/netflow mode leaf mode { type netflow_ModeT; description "It represents the mode in which netflow is running"; } // flow timeout leaf timeOut { type netflow_FlowTimeout; description "Flow timeout"; } // enable collection of tunneled header data on QP/AR leaf collectTunnelHeader { type netflow_CollectTunnelHeader; description "Enable collection of tunnel header data on QP_AR"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Flow Record container recordp-items { list RecordP-list { key "name"; uses netflow_RecordP-group; description "Object to store different parameters of netflow record list"; } description "Object to store different parameters of netflow record"; } // Flow Collector container collector-items { list Collector-list { key "name"; uses netflow_Collector-group; description "It has the information about the netflow collector entity list"; } description "It has the information about the netflow collector entity"; } // Flow Monitor one monitor can be attached to n records container monitor-items { list Monitor-list { key "name"; uses netflow_Monitor-group; description "Netflow Monitor list"; } description "Netflow Monitor"; } // Netflow profile container prof-items { list Profile-list { key "name"; uses netflow_Profile-group; description "The profile of netflow list"; } description "The profile of netflow"; } // Forwarding instance based target container fwdinst-items { list FwdInstTarget-list { key "id"; uses netflow_FwdInstTarget-group; description "Forward Instance Target list"; } description "Forward Instance Target"; } } grouping netflow_RecordP-group { description "Object to store different parameters of netflow record"; // Match parameters for the netflow record leaf match { type netflow_MatchParams; description "The match parameters of the netflow record"; } // Collect parameters for the flow record leaf collect { type netflow_CollectParams; description "The collect parameters of the netflow record"; } leaf descr { type naming_Descr { pattern "(.{1,128}).*|()"; } description "Record Description"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } } grouping netflow_Collector-group { description "It has the information about the netflow collector entity"; // Collector version leaf ver { type netflow_CollVersion; description "Collector Version Format"; } // Collector stats timeout leaf statsTimeout { type netflow_CollTimeout; description "Collector stats timeout"; } // Collector interface table timeout leaf interfaceTimeout { type netflow_CollTimeout; description "Collector interface table timeout"; } // Collector template data timeout leaf templateTimeout { type netflow_CollTemplateTimeout; description "Collector template data timeout"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr { pattern "(.{1,128}).*|()"; } description "Collector Description"; } // Remote node VRF leaf vrfName { type netflow_VrfName; description "Remote Entity VRF"; } // Remote node destination IP address leaf dstAddr { type netflow_addressIp; description "Remote Entity IP"; } // Remote node destination port leaf dstPort { type netflow_flowPort; description "Remote Entity L4 Port"; } // IP dscp value leaf dscp { type netflow_flowDscp; description "DSCP Value of Remote Entity"; } // Source interface leaf srcIf { type nw_IfId; description "Source Interface of the sender"; } // Source IP address leaf srcAddr { type netflow_addressIp; description "Source IP Address of the sender"; } } grouping netflow_Monitor-group { description "Netflow Monitor"; leaf descr { type naming_Descr { pattern "(.{1,128}).*|()"; } description "Monitor Description"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Collector bucket info container collectorbucket-items { list CollectorBucket-list { key "id"; uses netflow_CollectorBucket-group; description "Netflow Collector Bucket Entry list"; } description "Netflow Collector Bucket Entry"; } container rsrecordPAtt-items { uses netflow_RsRecordPAtt_source-group; description "Reference to the record that is to be used under this monitor"; } } grouping netflow_CollectorBucket-group { description "Netflow Collector Bucket Entry"; // Collector bucket identifier leaf id { type netflow_CollBucketId; description "Netflow Collector Bucket Id"; } // HashLo value for this collector bucket leaf hashLo { type netflow_HashT; description "Hash Low Value for this collector bucket"; } // HashHi value for this collector bucket leaf hashHi { type netflow_HashT; description "Hash High Value for this collector bucket"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } container rscollectorAtt-items { list RsCollectorAtt-list { key "tDn"; uses netflow_RsCollectorAtt_source-group; description "Reference to the collector that is to be used under this monitor list"; } description "Reference to the collector that is to be used under this monitor"; } } grouping netflow_Profile-group { description "The profile of netflow"; // Collect interval leaf collectIntvl { type netflow_CollIntvl; description "Collect Interval in Milliseconds"; } // Source port leaf srcPort { type netflow_L4Port; description "Source L4 Port"; } // IP packet id shift leaf ipPktIdShift { type netflow_IpPktIdShift; description "IP Packet Id Shift"; } // Burst interval shift leaf burstIntvlShift { type netflow_BurstIntvlShift; description "Timestamp Shift Value for Burst Interval"; } // Collector export packet MTU leaf mtu { type netflow_Mtu; description "Collector export packet MTU"; } // Sequence number guess threshold low leaf seqNumGuessThreshLo { type netflow_ThresholdT; description "Sequence Number Guess Threshold Low"; } // Sequence number guess threshold high leaf seqNumGuessThreshHi { type netflow_ThresholdT; description "Sequence Number Guess Threshold High"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Payload length bin container payloadlenbin-items { list PayloadLenBin-list { key "id"; uses netflow_PayloadLenBin-group; description "Payload length bin entry list"; } description "Payload length bin entry"; } // TCP options header length bin container tcpopthdrlenbin-items { list TcpOptHdrLenBin-list { key "id"; uses netflow_TcpOptHdrLenBin-group; description "TCP option header length bin entry list"; } description "TCP option header length bin entry"; } // Receive window size bin container rcvwindowszbin-items { list RcvWindowSzBin-list { key "id"; uses netflow_RcvWindowSzBin-group; description "Receive window size bin entry list"; } description "Receive window size bin entry"; } } grouping netflow_PayloadLenBin-group { description "Payload length bin entry"; // Identifier leaf id { type netflow_PayloadLenIdT; description "Payload Length Bin Id"; } // Low value leaf lo { type netflow_PayloadLenT; description "Bin Low Value for Payload Length"; } // High value leaf hi { type netflow_PayloadLenT; description "Bin High Value for Payload Length"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping netflow_TcpOptHdrLenBin-group { description "TCP option header length bin entry"; // Identifier leaf id { type netflow_TCPOptHdrLenIdT; description "TCP option header length bin ID"; } // Low value leaf lo { type netflow_TCPOptHdrLenT; description "Bin Low Value of TCP option header length"; } // High value leaf hi { type netflow_TCPOptHdrLenT; description "Bin High Value of TCP option header length"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping netflow_RcvWindowSzBin-group { description "Receive window size bin entry"; // Identifier leaf id { type netflow_RcvWindowSzIdT; description "Receive window size bin ID"; } // Low value leaf lo { type netflow_RcvWindowSzT; description "Bin Low Value of Receive window size"; } // High value leaf hi { type netflow_RcvWindowSzT; description "Bin High Value of Receive window size"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping netflow_FwdInstTarget-group { description "Forward Instance Target"; // Identifier leaf id { type netflow_FwdInstTargetId; description "Identifier to the Forward Instance Target"; } // Collector identifier provided by the netflow controller leaf collectorId { type netflow_CollectorId; description "Collector identifier provided by the netflow controller"; } leaf error { config "false"; type uint64; description "failure code"; } // IP filter type leaf fltType { type netflow_FltType; description "Netflow Target IP filter Type"; } // Direction leaf dir { type netflow_DirectionT; description "Traffic direction to monitor"; } container rsprofAtt-items { uses netflow_RsProfAtt_source-group; description "Reference to profile attachement"; } container rsmonitorAtt-items { list RsMonitorAtt-list { key "tDn"; uses netflow_RsMonitorAtt_source-group; description "Reference to the monitor that is to be used under this interface list"; } description "Reference to the monitor that is to be used under this interface"; } } grouping netflow_FlowInfo-group { description "Flow Info that is displayed/exported."; // Ephemeral data leaf flowId { config "false"; type uint32; description "Number to index a flow."; } // Ephemeral data leaf protocol { config "false"; type uint32; description "L4 protocol (TCP or UDP)"; } // Ephemeral data leaf intfName { config "false"; type string; description "ingress interface where the flow exists"; } // Ephemeral data leaf sip { config "false"; type address_Ip; description "Source IP address of the flow"; } // Ephemeral data leaf dip { config "false"; type address_Ip; description "Destination IP address of the flow"; } // Ephemeral data leaf srcPort { config "false"; type netflow_L4Port; description "Source Port of the flow"; } // Ephemeral data leaf dstPort { config "false"; type netflow_L4Port; description "Destination Port of the flow"; } // Ephemeral data leaf pktCount { config "false"; type uint64; description "Number of Packets received so far."; } // Ephemeral data leaf bitsPerSec { config "false"; type uint64; description "Current rate of flow in bits per second"; } // Ephemeral data leaf flowStartTime { config "false"; type string; description "Time when the flow was first detected."; } // Ephemeral data leaf pktLoss { config "false"; type uint64; description "Number of packets lost in the flow"; } // Ephemeral data leaf lossStartTime { config "false"; type string; description "Time when flow started experiencing packet losses."; } // Ephemeral data leaf lossEndTime { config "false"; type string; description "Time when packet losses are no longer observed for the flow."; } } grouping sflow_Sflow-group { description "Sflow entity"; // Holds sflow instance information container inst-items { uses sflow_Inst-group; description "Instance for Sflow config"; } } grouping sflow_Inst-group { description "Instance for Sflow config"; leaf isExtendedSwitch { type boolean; description "Describes whether sflow is configured in extended switch flow"; } leaf isExtendedBgp { type boolean; description "Describes whether sflow is configured in extended bgp flow"; } // sampling-rate leaf pktSamplingRate { type sflow_samplingRate; description "The statistical sampling rate for packet sampling from this source"; } // max-sampling-size leaf maxHeaderSize { type sflow_maxSampledSize; description "The maximum number of bytes that should be copied from a sampled packet. The agent may have an internal maximum and minimum permissible sizes"; } // counter-poll-interval leaf counterPollInterval { type sflow_counterPollInterval; description "The maximum number of seconds between successive samples of the counters associated with this data source"; } // max-datagram-size leaf rcvrMaxDatagramSize { type sflow_maxDatagramSize; description "The maximum number of data bytes that can be sent in a single sample datagram"; } // collector-ip leaf rcvrAddress { type sflow_addressIp; description "The IP address of the sFlow collector. If set to 0.0.0.0 not sFlow datagrams will be sent."; } // collector-vrf leaf rcvrVrfName { type sflow_VrfName; description "It holds collector vrf name"; } // collector-source-ip leaf rcvrSrcAddress { type sflow_addressIp; description "The source ip-address option causes the sent sFlow datagram to use the source IP address as the IP packet source address."; } // collector-port leaf rcvrPort { type sflow_L4Port; description "The destination port for sFlow datagrams."; } // agent-ip leaf agentAddress { type sflow_addressIp; description "The IP address associated with this agent. In the case of a multi-homed agent, this should be the loopback address of the agent.The address should be an invariant that does not change as interfaces are reconfigured, enabled, disabled, added or removed"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } container transport-items { uses sflow_Transport-group; description "configuring sflow transport parameters"; } container datasource-items { list SflowFsDataSource-list { key "id"; uses sflow_SflowFsDataSource-group; description " The source of the data for the sFlow sampler as an Ethernet port, a range of Ethernet ports, or a port channel. list"; } description " The source of the data for the sFlow sampler as an Ethernet port, a range of Ethernet ports, or a port channel."; } } grouping sflow_Transport-group { description "configuring sflow transport parameters"; container receiver-items { list Receiver-list { key "rcvrVrfName rcvrAddress"; uses sflow_Receiver-group; description "configuring sflow receiver parameters list"; } description "configuring sflow receiver parameters"; } } grouping sflow_Receiver-group { description "configuring sflow receiver parameters"; // collector-ip leaf rcvrAddress { type sflow_addressIp; description "The IP address of the sFlow collector. If set to 0.0.0.0 not sFlow datagrams will be sent."; } // collector-source-ip leaf rcvrSrcAddress { type sflow_addressIp; description "The source ip-address option causes the sent sFlow datagram to use the source IP address as the IP packet source address."; } // collector-vrf leaf rcvrVrfName { type sflow_VrfName; description "It holds collector vrf name"; } } grouping sflow_SflowFsDataSource-group { description " The source of the data for the sFlow sampler as an Ethernet port, a range of Ethernet ports, or a port channel."; // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping ssx_Ssx-group { description "ssx"; leaf enable { type boolean; description "Enable Streaming Statistics Export Instance"; } // Global system id leaf systemId { type ssx_SystemId; description "Global System Identifier"; } // ssx Record container recordp-items { list RecordP-list { key "name"; uses ssx_RecordP-group; description "ssx Record details list"; } description "ssx Record details"; } // ssx Collector container collector-items { list Collector-list { key "name"; uses ssx_Collector-group; description "Collector entry list"; } description "Collector entry"; } // ssx Monitor container monitor-items { list Monitor-list { key "name"; uses ssx_Monitor-group; description "ssx Monitor list"; } description "ssx Monitor"; } // System SSX container sysssx-items { list SystemSsx-list { key "name"; uses ssx_SystemSsx-group; description "Configure System SSX configs list"; } description "Configure System SSX configs"; } // Forwarding instance based target container fwdinst-items { list FwdInstTarget-list { config "false"; key "id"; uses ssx_FwdInstTarget-group; description "Forward Instance Target list"; } description "Forward Instance Target"; } } grouping ssx_RecordP-group { description "ssx Record details"; // Record name leaf name { type ssx_SsxRecordName; description "Ssx Record Node Name"; } leaf ingQueueDep { type boolean; description "Enable/Disable Ingress Queue Depth"; } leaf ingQueueDrp { type boolean; description "Enable/Disable Ingress Queue Drops"; } leaf ethCounters { type boolean; description "Enable/Disable Ethernet Counters"; } leaf egrQueueDep { type boolean; description "Enable/Disable Egress Queue Depth"; } leaf egrQueueDrp { type boolean; description "Enable/Disable Egress Queue Drop"; } leaf egrQueueMicro { type boolean; description "Enable/Disable Egress Queue Microburst Records"; } leaf egrQueuePeak { type boolean; description "Enable/Disable Egress Queue Buffer Peak Counters"; } leaf egrBufferDep { type boolean; description "Enable/Disable Egress Buffer Depth"; } leaf egrPoolDep { type boolean; description "Enable/Disable Egress Pool Group Depth"; } // Interval in millisecond of collection for this record leaf interval { type ssx_Interval; description "Time Interval"; } } grouping ssx_Collector-group { description "Collector entry"; // Remote node name leaf name { type ssx_SsxRemoteNodeName; description "Ssx Remote Node Name"; } // Remote node VRF leaf vrfName { type ssx_VrfName; description "Remote Entity VRF id"; } leaf dstAddr { type address_Ip; description "Remote Entity IP address"; } // Remote node destination port leaf dstPort { type ssx_SsxPort; description "Remote Entity L4 Port number"; } // IP dscp value leaf dscp { type qosp_DscpCP; description "DSCP Value to be used"; } // Source node L4 port leaf srcPort { type ssx_SsxPort; description "Source L4 port number"; } leaf srcAddr { type address_Ip; description "Source IP Address"; } leaf inbandInterface { type boolean; description "inband interface for collector"; } // MTU leaf mtu { type ssx_Mtu; description "MTU size of the packets"; } } grouping ssx_Monitor-group { description "ssx Monitor"; // Monitor name leaf name { type ssx_SsxMonitorName; description "Ssx Monitor Node Name"; } container rsrecordPAtt-items { list RsRecordPAtt-list { key "tDn"; uses ssx_RsRecordPAtt_source-group; description "Record Policy Attachment list"; } description "Record Policy Attachment"; } container rscollectorAtt-items { list RsCollectorAtt-list { key "tDn"; uses ssx_RsCollectorAtt_source-group; description "Reference to Collector list"; } description "Reference to Collector"; } } grouping ssx_SystemSsx-group { description "Configure System SSX configs"; leaf name { type ssx_SsxMonitorName; description "Ssx Monitor Node Name"; } container rssysMonitorAtt-items { list RsSysMonitorAtt-list { key "tDn"; uses ssx_RsSysMonitorAtt_source-group; description "Reference to Monitor list"; } description "Reference to Monitor"; } } grouping ssx_FwdInstTarget-group { description "Forward Instance Target"; // Identifier leaf id { config "false"; type ssx_FwdInstTargetId; description "Identifier"; } container rsmonitorAtt-items { list RsMonitorAtt-list { config "false"; key "tDn"; uses ssx_RsMonitorAtt_source-group; description "Reference to Monitor list"; } description "Reference to Monitor"; } } grouping apphosting_AppHosting-group { description "top entity of the application host"; // 1.1 AppConf [dn] /sys/apphosting/appconf-[appId] 1.1 AppConf model to define app hosting config information and it is properties container appconf-items { list AppConf-list { key "appId"; uses apphosting_AppConf-group; description "configuration required for app hosting list"; } description "configuration required for app hosting"; } // 1.2 AppBridge Configuration Mo 1.2 AppBridge [dn] /sys/apphosting/bridge-[bridgeId] 1.2 when app uses vnic type as bridge<1-8>, the app bridge needs to be configured first. container bridge-items { list AppBridge-list { key "bridgeId"; uses apphosting_AppBridge-group; description "App Bridge entries list"; } description "App Bridge entries"; } // 1.3 app hosting global config MO 1.3 AppGlobalCfg [dn] /sys/apphosting/globalcfg container globalcfg-items { uses apphosting_AppGlobalCfg-group; description "App hosting global config"; } } grouping apphosting_AppConf-group { description "configuration required for app hosting"; // Adminstate state to configure application host information., e.g: "enable or disable [no app-hosting appid app1]" leaf adminSt { type apphosting_AdminState; description "Admin state for AppConf config"; } // unique identifier of app e.g: "nginx_1" leaf appId { type apphosting_AppName; description "unique id to identify the application"; } leaf gwIpV4Addr { type address_Ip; description "default gateway ip v4 address for the container."; } // default gateway interface index - v4 guest interface index. e.g: specify '0' for interface eth0 inside the container leaf gwIpV4IntfIdx { type apphosting_IntfIndex; description "guest interface index (ipv4). e.g: specify '0' for interface eth0 inside the container"; } leaf gwIpV6Addr { type address_Ip; description "default gateway ip v6 address for the container."; } // default gateway interface index - v6 leaf gwIpV6IntfIdx { type apphosting_IntfIndex; description "guest interface index (ipv6)."; } // Application Container package file may come with its own runOpts. // This is to indicate whether to append the user configure runOpts // List to run-opts from the package file or over-write the run-opts // from package file with with the user configured runOpts list. // By default, the user configured run-opts list would overwrite the docker package run-opt. // Default value should be "over-write" and other value should be "append" leaf pkgOpts { type apphosting_PkgRunOptState; description "over write or append the run-opts. default value is 'over-write'."; } // application request state set by apphosting. applicable for nxos leaf appReqState { config "false"; type apphosting_AppActionCont; description "application request status set by appmgr"; } // DEPRECATED. Superceded by currAppState leaf appCurrState { config "false"; type apphosting_AppCurrState; description "application current status set by appmgr"; } // application current state set by apphosting leaf currAppState { config "false"; type apphosting_AppActionCont; description "application current status set by appmgr"; } // application configuration error code set by apphosting, if any leaf appErrCode { config "false"; type apphosting_AppErrCode; description "application config error code"; } leaf appErrStr { config "false"; type string; description "error string set by apphosting"; } // 1.1.1 VnicEntry [dn] /sys/apphosting/appconf-[appId]/vnic-[guestIntfId] Model to define each vnic instance of the app container vnic-items { list VnicEntry-list { key "guestIntfId"; uses apphosting_VnicEntry-group; description "app vnic entry table list"; } description "app vnic entry table"; } // 1.1.2 NameSrvEntry [dn] /sys/apphosting/appconf-[appId]/namesvr-[tagName] 1.1.2 Name Server Configuration MO container namesvr-items { list NameSvrEntry-list { key "tagName"; uses apphosting_NameSvrEntry-group; description "app name server entries list"; } description "app name server entries"; } // 1.1.3 RunOpt [dn] /sys/apphosting/appconf-[appId]/runopt-[optIdx] e.g from 'run-opts 2 hostname N9K-GX4' '2' is key and 'hostname N9k-GX4' is a keyvalue container runopt-items { list RunOpt-list { key "optIdx"; uses apphosting_RunOpt-group; description "app package run option entry table list"; } description "app package run option entry table"; } // 1.1.4 AppResourceCfg [dn] /sys/apphosting/appconf-[appId]/resource container resource-items { uses apphosting_AppResourceCfg-group; description "App resource profile table"; } } grouping apphosting_VnicEntry-group { description "app vnic entry table"; // vnic Admin state to configure mo " leaf adminSt { type apphosting_AdminState; description "admin state to enable or disable vnic entry."; } // host interface type. e.g: "management or bridge<1-8>" leaf hostIntf { type apphosting_HostIntfType; description "application host interface type. e.g: 'management' or 'bridge[1-8]' "; } // guest interface identifier in the range of 0 to 3 leaf guestIntfId { type apphosting_IntfIndex; description "guest interface identifier. e.g: '0' will appear as eth0 inside the container"; } leaf ipV4Addr { type address_Ip; description "v4 ip address of the interface"; } leaf ipV6Addr { type address_Ip; description "v6 ip address for interface"; } // config operational response state set by apphosting leaf cfgOperSt { config "false"; type apphosting_CfgOperState; description "config operational status set by apphosting"; } leaf propFault { config "false"; type apphosting_bridgeFault; description "error state for the apphosting vnic config."; } } grouping apphosting_NameSvrEntry-group { description "app name server entries"; // Admin state to configure mo " leaf adminSt { type apphosting_AdminState; description "admin state to enable or disable name server entry."; } // Name server entry tag. eg: 'v4addr<0-1> or v6addr<0-1>' leaf tagName { type apphosting_NameSrvEntryTag; description "Name server entry tag. e.g 'v4addr[0-1]'"; } leaf ipV4Addr { type address_Ip; description "v4 ip address of the name server entry"; } leaf ipV6Addr { type address_Ip; description "v6 ip address of the name server entry"; } // config operational response state set by apphosting leaf cfgOperSt { config "false"; type apphosting_CfgOperState; description "config operational status set by apphosting"; } leaf propFault { config "false"; type apphosting_bridgeFault; description "error state for the apphosting name server config."; } } grouping apphosting_RunOpt-group { description "app package run option entry table"; // Admin state to configure mo " leaf adminSt { type apphosting_AdminState; description "admin state to enable or disable run opt."; } // unique index to identify the package run options leaf optIdx { type apphosting_RunOptIndex; description "Index to identify run options e.g: 2 in 'run-opts 2' "; } // run options to be stored as value for the key of index leaf optVal { type apphosting_RunOptValue; description "run option value e.g: '--hostname N9K-GX4' "; } // config operational response state set by apphosting leaf cfgOperSt { config "false"; type apphosting_CfgOperState; description "config operational status set by apphosting"; } leaf propFault { config "false"; type apphosting_bridgeFault; description "error state for the apphosting run-opt config."; } } grouping apphosting_AppResourceCfg-group { description "App resource profile table"; leaf adminSt { type apphosting_AdminState; description "admin state to enable or disable resource config."; } leaf cpu { type uint32; description "cpu unit allocation for this profile"; } leaf memory { type uint64; description "memory allocation for this profile"; } leaf diskUsg { type uint64; description "persistent disk utilization for this profile"; } // config operational response state set by apphosting leaf cfgOperSt { config "false"; type apphosting_CfgOperState; description "config operational status set by apphosting"; } leaf propFault { config "false"; type apphosting_bridgeFault; description "error state for the apphosting app resource config."; } } grouping apphosting_AppBridge-group { description "App Bridge entries"; // Admin state to configure mo " leaf adminSt { type apphosting_AdminState; description "admin state to enable or disable bridge entry."; } // unique id of the bridge for app container leaf bridgeId { type apphosting_BridgeId; description "app bridge id for the container. eg.: bridge[1-8]"; } // vrf name. If no vrf is mentioned, default vrf will be used. leaf vrf { type apphosting_VrfName; description "vrf context name, otherwise default vrf will be used."; } leaf ipV4Addr { type address_Ip; description "ip v4 address of the bridge entry. This will serve as the default gateway for the app."; } leaf ipV6Addr { type address_Ip; description "ip v6 address. This will serve as the default gateway for the app."; } // config operational response state set by apphosting leaf cfgOperSt { config "false"; type apphosting_CfgOperState; description "config operational status set by apphosting"; } leaf propFault { config "false"; type apphosting_bridgeFault; description "error state for the apphosting bridge config."; } } grouping apphosting_AppGlobalCfg-group { description "App hosting global config"; // Admin state to configure mo " leaf adminSt { type apphosting_AdminState; description "admin state to enable or disable global config."; } // properties to enable or disable signed verification leaf signVerify { type apphosting_SignOption; description "enable or disable signed verification"; } // properties to set bootflash backend storage limit. leaf storageLimit { type apphosting_StorageSize; description "To set storage limit of bootflash, in range between [0-2147483647] MB"; } // config operational response state set by apphosting leaf cfgOperSt { config "false"; type apphosting_CfgOperState; description "config operational status set by apphosting"; } leaf propFault { config "false"; type apphosting_bridgeFault; description "error state for the apphosting globalcfg."; } } grouping apphosting_AppmgrStat-group { description "Entity of apphosting stats"; leaf name { config "false"; type naming_Name256; description "Name"; } // 1.1 container for application container apps-items { uses apphosting_Apps-group; description "Entity container for apps"; } // 1.2 applications global resources information 1.2 AppResource [dn] /sys/appmgrstat/appresource container appresource-items { uses apphosting_AppResource-group; description "Application global resources info."; } // 1.3 container for application events container appevents-items { uses apphosting_AppEvents-group; description "Entity container for events"; } } grouping apphosting_Apps-group { description "Entity container for apps"; leaf name { config "false"; type naming_Name256; description "Name"; } // 1.1.1 Individual deployed app information 1.1.1 App [dn] /sys/appmgrstat/apps/app-[appId] container app-items { list App-list { config "false"; key "appId"; uses apphosting_App-group; description "Deployed app information list"; } description "Deployed app information"; } } grouping apphosting_App-group { description "Deployed app information"; // application name leaf appId { config "false"; type apphosting_AppName; description "Unique id to identify the application. e.g 'nginx_1'"; } leaf name { config "false"; type naming_Name256; description "Name"; } // 1.1.1.1 app details 1.1.1.1 App [dn] /sys/appmgrstat/app-[appId]/detail container detail-items { uses apphosting_AppDetail-group; description "app details"; } // 1.1.1.1 package information 1.1.1.1 App [dn] /sys/appmgrstat/app-[appId]/detail/pkg container pkg-items { uses apphosting_AppPkg-group; description "Application packaging information."; } // 1.1.1.2 app utilization info 1.1.1.2 AppUtil [dn] /sys/appmgrstat/apps/app-[appId]/util container util-items { uses apphosting_AppUtil-group; description "Application utilization information."; } // 1.1.1.3 app attached devices info 1.1.1.3 AppDevice [dn] /sys/appmgrstat/apps/app-[appId]/dev-[devName] container dev-items { list AppDevice-list { config "false"; key "devName"; uses apphosting_AppDevice-group; description "Details of attached devices with the application. list"; } description "Details of attached devices with the application."; } // 1.1.1.4 app network interface details 1.1.1.4 AppNetIntf [dn] /sys/appmgrstat/apps/app-[appId]/netintf-[intfName] container netintf-items { list AppNetIntf-list { config "false"; key "intfName"; uses apphosting_AppNetIntf-group; description "application network interface details. list"; } description "application network interface details."; } // 1.1.1.5 app network utilization details 1.1.1.5 AppNetUtil [dn] /sys/appmgrstat/apps/app-[appId]/netutil-[intfName] container netutil-items { list AppNetUtil-list { config "false"; key "intfName"; uses apphosting_AppNetUtil-group; description "Application network utilization details. list"; } description "Application network utilization details."; } } grouping apphosting_AppDetail-group { description "app details"; leaf state { config "false"; type string; description "Current state of application. e.g. DEPLOYED/ACTIVATED/RUNNING."; } leaf profileName { config "false"; type string; description "Activated profile name."; } leaf guestIntf { config "false"; type string; description "Guest interface name."; } // run-time options leaf runOpt { config "false"; type apphosting_ParamList; description "Run-time options used."; } leaf runCmd { config "false"; type string; description "Run-time command used."; } leaf entryPoint { config "false"; type string; description "Run-time entry point used."; } leaf healthStatus { config "false"; type string; description "Container health status."; } leaf lastHealthErr { config "false"; type string; description "Last health probe error."; } leaf lastHealthOut { config "false"; type string; description "Last health probe output."; } leaf reservDisk { config "false"; type uint64; description "Amount of reserved disk space in MB."; } leaf reservMem { config "false"; type uint64; description "Amount of reserved memory in MB."; } leaf reservCpu { config "false"; type uint32; description "Amount of reserved cpu in units."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping apphosting_AppPkg-group { description "Application packaging information."; // Package Name leaf pkgName { config "false"; type apphosting_PackName; description "Application package name."; } leaf pkgPath { config "false"; type string; description "Application package path."; } leaf pkgUrl { config "false"; type string; description "Application package url."; } leaf appName { config "false"; type string; description "Unique id used to host application. e.g 'nginx_1'"; } leaf appVer { config "false"; type string; description "Installed version of the application."; } leaf appType { config "false"; type string; description "Type of application. e.g. 'docker'"; } leaf appDesc { config "false"; type string; description "Description available in the package."; } leaf appOwner { config "false"; type string; description "Name of the process which creates the application."; } leaf appAuthor { config "false"; type string; description "Author info from application."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping apphosting_AppUtil-group { description "Application utilization information."; leaf cpuAlloc { config "false"; type uint32; description "Allocated cpu in units."; } leaf cpuUsed { config "false"; type uint64; description "Actual cpu used in percentage."; } leaf memAlloc { config "false"; type uint64; description "Memory allocation in MB."; } leaf memUsed { config "false"; type uint64; description "Actual memory used in KB."; } leaf diskAlloc { config "false"; type uint64; description "Disk space allocation in MB."; } leaf diskUsed { config "false"; type uint64; description "Actual disk space used in MB."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping apphosting_AppDevice-group { description "Details of attached devices with the application."; leaf devName { config "false"; type string; description "Name of the attached device. e.g 'iox_syslog'"; } leaf devType { config "false"; type string; description "Type of the attached device. e.g 'serial/syslog'."; } leaf devAlias { config "false"; type string; description "Alias name of the attached device. e.g 'serial2'."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping apphosting_AppNetIntf-group { description "application network interface details."; leaf intfName { config "false"; type string; description "Interface name of network. e.g 'eth0'."; } leaf netName { config "false"; type string; description "Name of network. e.g 'iox-nat_docker0'."; } leaf macAddr { config "false"; type string; description "Mac address of network interface."; } leaf ipV4Addr { config "false"; type string; description "Address of ipv4 network interface."; } leaf ipV6Addr { config "false"; type string; description "Address of ipv6 network interface."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping apphosting_AppNetUtil-group { description "Application network utilization details."; leaf intfName { config "false"; type string; description "Interface name of network. e.g 'eth0'."; } leaf rxPackets { config "false"; type uint64; description "Number of packets received by the application."; } leaf rxBytes { config "false"; type uint64; description "Number of octets received by the application."; } leaf rxErrors { config "false"; type uint64; description "Number of received errors by the application."; } leaf txPackets { config "false"; type uint64; description "Number of packets transmitted by the application."; } leaf txBytes { config "false"; type uint64; description "Number of octets transmitted by the application."; } leaf txErrors { config "false"; type uint64; description "Number of packets received by the application."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping apphosting_AppResource-group { description "Application global resources info."; leaf cpuQuota { config "false"; type uint32; description "Amount of total system reserved CPU in units."; } leaf cpuAvail { config "false"; type uint32; description "Amount of total system available CPU in units."; } leaf storageQuota { config "false"; type uint32; description "Amount of reserved storage in MB."; } leaf storageAvail { config "false"; type uint32; description "Amount of available storage in MB."; } leaf memQuota { config "false"; type uint32; description "Amount of reserved memory in MB."; } leaf memAvail { config "false"; type uint32; description "Amount of available memory in MB."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping apphosting_AppEvents-group { description "Entity container for events"; leaf name { config "false"; type naming_Name256; description "Name"; } // 1.3.1 AppEvent [dn] /sys/appmgrstat/appevents/event-[key] container event-items { list Event-list { config "false"; key "key"; uses apphosting_Event-group; description "Application event notification. list"; } description "Application event notification."; } } grouping apphosting_Event-group { description "Application event notification."; leaf key { config "false"; type uint32; description "Event key index used to access event collection."; } // Unique application id related with event leaf appId { config "false"; type apphosting_AppName; description "Unique application id that generated the event."; } leaf time { config "false"; type uint64; description "Epoch time at when the event received."; } leaf hostName { config "false"; type string; description "Host name from where the event originated."; } leaf vrfName { config "false"; type string; description "Application interface vrf name."; } leaf systemIp { config "false"; type string; description "System ip address linked with event."; } leaf eventMsg { config "false"; type string; description "Event message received inside notification."; } // Event type leaf eventType { config "false"; type apphosting_EventType; description "Type of event. e.g 'install/uninstall'."; } // Event state leaf eventState { config "false"; type apphosting_EventState; description "State of event. e.g 'deployed/running'."; } // Event status leaf eventStatus { config "false"; type apphosting_EventStatus; description "Status of event. e.g 'pass/fail'."; } // Event serverity leaf eventSev { config "false"; type apphosting_EventSeverity; description "Severity of event. e.g 'critical/major/minor'."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping kbs_ContainerTracker-group { description "Container Tracker entity"; // This object holds container tracker server information container server-items { uses kbs_Server-group; description "Kubernetes server infromation"; } } grouping kbs_Server-group { description "Kubernetes server infromation"; // Admin state to configure kubernetes server leaf adminSt { type kbs_adminStType; description "State to configure kubernetes server properties"; } leaf ipAddress { type address_Ip; description "ip address of the kubernetes api server"; } leaf port { type uint32 { range "0..65535"; } description "port number of the kubernetes api server"; } // VRF info leaf vrf { type l3_VrfName; default "management"; description "VRF to be used while connecting to kubernetes api-server"; } // This object holds container tracker watch information container watch-items { uses kbs_Watch-group; description "Kubernetes watch infromation"; } } grouping kbs_Watch-group { description "Kubernetes watch infromation"; // Admin state to configure kubernetes watch service leaf adminSt { type kbs_adminStType; description "State to configure kubernetes watch service properties"; } leaf service { type string { length "0..64"; } description "service to watch for in the kubernetes cluster"; } // acl cfg name to apply when watch is triggered leaf acl { type acl_Name; description "acl cfg name to apply when watch is triggered"; } } grouping copp_Entity-group { description "CoPP Entity"; leaf enableFlag { type boolean; default "true"; description "Property Flag to enable or disable rate limiter for various CoPP classes"; } leaf error { config "false"; type uint64; default "0"; description "failure code"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Holder for copp class policy, each class describes a // set of rules describing the policer rates container classp-items { list Class-list { key "cName"; uses copp_Class-group; description "Class list"; } description "Class"; } // Holder for copp class policy, each class describes a // set of rules describing the policer rates container policy-items { list Policy-list { key "name"; uses copp_Policy-group; description "Policy-map list"; } description "Policy-map"; } // Model for COPP profile container profile-items { uses copp_Profile-group; description "CoPP Profile"; } // Model for Copp Copy profile container name-items { list CopyProfile-list { key "affixName"; uses copp_CopyProfile-group; description "CoPP Copy Profile list"; } description "CoPP Copy Profile"; } // Scale factor container scale-items { list Scale-list { key "module"; uses copp_Scale-group; description "Scale factor list"; } description "Scale factor"; } // Service-Policy container service-items { list Service-list { key "name"; uses copp_Service-group; description "CoPP Service-policy list"; } description "CoPP Service-policy"; } // Service-Policy container servicedyn-items { list ServiceDynamic-list { key "name"; uses copp_ServiceDynamic-group; description "CoPP Service-policy list"; } description "CoPP Service-policy"; } } grouping copp_Class-group { description "Class"; leaf cName { type string; description "Class-map name"; } // Match any/all leaf matchOption { type copp_MatchOption; description "Match Option"; } leaf flag { type boolean; description "Property Flag"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Allowed rate, committed rate at which the packets // are allowed into the system leaf rate { config "false"; type policer_Rate; description "Rate"; } // Committed burst size, number of packets to absorb during // a burst leaf burst { config "false"; type policer_Burst; description "Burst"; } // Set of match conditions for this copp policer container match-items { list Match-list { key "type"; uses copp_Match-group; description "Match Criteria list"; } description "Match Criteria"; } // Match access-group container acl-items { list Acl-list { key "name"; uses copp_Acl-group; description "Match access list name list"; } description "Match access list name"; } // Match redirect container rdirect-items { uses copp_Rdirect-group; description "Match redirect"; } // Match exception fcoe-fib-miss container fcoe-items { uses copp_Fcoe-group; description "Match Exception fcoe"; } // Match exception multicast container mcast-items { list Multicast-list { key "mcastOption"; uses copp_Multicast-group; description "Multicast Exception options list"; } description "Multicast Exception options"; } // Match exception container excep-items { list ExeOptions-list { key "option"; uses copp_ExeOptions-group; description "Match exception options list"; } description "Match exception options"; } // Match exception ip container ip-items { uses copp_Ip-group; description "Match Ip version"; } // Match exception ip icmp container icmp-items { list IpIcmp-list { key "option"; uses copp_IpIcmp-group; description "icmp options list"; } description "icmp options"; } // Match exception ipv6 container ipv6-items { uses copp_Ipv6-group; description "Match Ipv6 version"; } // Match exception ipv6 icmp container icmpv6-items { list Ipv6Icmp-list { key "option"; uses copp_Ipv6Icmp-group; description "icmp options list"; } description "icmp options"; } // Match Protocol container prot-items { list Protocol-list { key "type"; uses copp_Protocol-group; description "Match Protocol list"; } description "Match Protocol"; } } grouping copp_Match-group { description "Match Criteria"; // Match type leaf type { type copp_MatchT; description "Match type"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping copp_Acl-group { description "Match access list name"; leaf name { type string; description "Acl name"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_Rdirect-group { description "Match redirect"; // Redirect options leaf rdrct { type copp_Rdrct; description "Match redirect options"; } } grouping copp_Fcoe-group { description "Match Exception fcoe"; // Fcoe option leaf option { type copp_Fcoe; description "fcoe-fib-miss"; } } grouping copp_Multicast-group { description "Multicast Exception options"; leaf mcastOption { type copp_Mcast; description "Multicast options"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_ExeOptions-group { description "Match exception options"; leaf option { type copp_Excep; description "Match options"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_Ip-group { description "Match Ip version"; leaf options { type boolean; description "Ip Option"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_IpIcmp-group { description "icmp options"; // ICMP options leaf option { type copp_Icmp; description "icmp options"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_Ipv6-group { description "Match Ipv6 version"; leaf options { type boolean; description "Ip Option"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_Ipv6Icmp-group { description "icmp options"; // ICMP options leaf option { type copp_Icmp; description "icmp options"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_Protocol-group { description "Match Protocol"; leaf type { type copp_Proto; description "Protocol List"; } leaf flag { type boolean; description "Property Flag"; } // Match protocol mpls container mpls-items { uses copp_MPLSoption-group; description "MPLS options"; } } grouping copp_MPLSoption-group { description "MPLS options"; leaf exp { type copp_ExpVal; description "Experimental value"; } leaf routerAlert { type copp_Ralert; description "router-alert"; } } grouping copp_Policy-group { description "Policy-map"; leaf name { type string; description "Policy-map name"; } leaf flag { type boolean; description "Property Flag"; } // Class included in Policy-map container classp-items { list Classp-list { key "name"; uses copp_Classp-group; description "Classp list"; } description "Classp"; } } grouping copp_Classp-group { description "Classp"; leaf name { type string; description "Class name"; } leaf insertBeforeName { type string; description "Insert before Class name"; } leaf flag { type boolean; description "Property Flag"; } // Set policer action container cir-items { list PolicerAction-list { key "cirVal cirUnit burstC burstUnit"; uses copp_PolicerAction-group; description "Set police action list"; } description "Set police action"; } // Set policer action with pir rate container policeActionE-items { uses copp_PolicerActionExc-group; description "Set police action including exceed"; } // Logging Action container logging-items { list Logging-list { key "threshold levelRange"; uses copp_Logging-group; description "Logging action list"; } description "Logging action"; } // Set cos action container setCos-items { list SetCos-list { key "cosVal"; uses copp_SetCos-group; description "Set cos action list"; } description "Set cos action"; } container setDscp-items { uses copp_SetDscp-group; description "Set dscp action"; } } grouping copp_PolicerAction-group { description "Set police action"; leaf cirVal { type copp_IrVal; description "Cir value"; } leaf cirUnit { type copp_IrUnit; description "Cir rate"; } leaf burstC { type copp_BurstVal; description "Burst count"; } leaf burstUnit { type copp_BurstUnit; description "BC unit"; } leaf conformAction { type copp_ConformAction; description "Conform Action"; } leaf violateAction { type copp_ViolateAction; description "Violate action"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_PolicerActionExc-group { description "Set police action including exceed"; leaf cirVal { type copp_IrVal; description "Cir value"; } leaf cirUnit { type copp_IrUnit; description "Cir rate"; } leaf burstC { type copp_BurstVal; description "Burst count"; } leaf burstUnit { type copp_BurstUnit; description "BC unit"; } leaf pirVal { type copp_IrVal; description "Pir value"; } leaf pirUnit { type copp_IrUnit; description "Pir rate"; } leaf burstE { type copp_BurstVal; description "Burst exceed "; } leaf burstEUnit { type copp_BurstUnit; description "BE unit"; } leaf conformAction { type copp_ConformAction; description "Conform Action"; } leaf exceedAction { type copp_ExceedAction; description "Exceed Action"; } leaf violateAction { type copp_ViolateAction; description "Violate action"; } } grouping copp_Logging-group { description "Logging action"; leaf threshold { type copp_IrVal; description "Logging Threshold"; } leaf levelRange { type copp_LevelRange; description "logging range"; } } grouping copp_SetCos-group { description "Set cos action"; leaf inner { type boolean; description "Set cos inner"; } // Cos value leaf cosVal { type copp_CosVal; description "Cos Value"; } leaf flag { type boolean; description "Property Flag"; } } grouping copp_SetDscp-group { description "Set dscp action"; leaf tunnel { type boolean; description "set dscp tunnel"; } leaf dscpVal { type copp_DscpVal; description "Dscp Value"; } } grouping copp_Profile-group { description "CoPP Profile"; // Profile type leaf prof { type copp_ProfT; description "Profile type "; } } grouping copp_CopyProfile-group { description "CoPP Copy Profile"; // Profile type leaf profile { type copp_ProfT; description "Profile type "; } // affix type leaf affix { type copp_Affix; description "Affix type"; } leaf affixName { type string; description "Prefix/Suffix Name"; } leaf copyNum { type uint32; description "Number of copp copies to this MO"; } } grouping copp_Scale-group { description "Scale factor"; leaf scaleVal { type decimal64 { fraction-digits 6; } description "scale factor value"; } leaf module { type uint16; description "Module number"; } } grouping copp_Service-group { description "CoPP Service-policy"; leaf name { type string; description "service-policy name"; } leaf error { config "false"; type uint64; default "0"; description "failure code"; } } grouping copp_ServiceDynamic-group { description "CoPP Service-policy"; leaf name { type string; description "service-policy name"; } leaf error { config "false"; type uint64; default "0"; description "failure code"; } } grouping flowtable_FlowTable-group { description "Flow Table"; leaf enableAnalyticsNetflow { type boolean; description "Enable Mixed Mode Analytics-Netflow"; } leaf enableCollectDropReason { type boolean; description "Enable Drop Reason For Netflow Analytics in Einstork"; } } grouping fsyncMgr_SynceEntity-group { description "synce MO for global configuration"; // clock-interface timing mode system timing mode QL itu-t option leaf qloption { type fsyncMgr_gqloptype; description "QL option type global"; } leaf clockid { type address_Mac; description "SyncE clock-identity MAC Address"; } leaf peerrcvtimeout { type fsyncMgr_peerrcvtimeout; description "fsync esmc peer receive timeout in seconds, (120-600) default: 0"; } leaf txDnuLag { type boolean; default "true"; description "transmit dnu on lag members"; } // synce config for ethernet interface container if-items { list SynceEthif-list { key "id"; uses fsyncMgr_SynceEthif-group; description "synce eth interface config list"; } description "synce eth interface config"; } } grouping fsyncMgr_SynceEthif-group { description "synce eth interface config"; // synce if id leaf id { type nw_IfId; description "SyncE ethernet interface"; } leaf freqsync { type boolean; description "frequency synchronization"; } leaf selinput { type boolean; default "false"; description "Selection configuration"; } leaf ssm { type boolean; default "true"; description "SSM configuration: enable/disable"; } leaf srcpriority { type uint16 { range "1..254"; } default "100"; description "source priority (1-254) default:100"; } leaf wtr { type uint16 { range "0..12"; } default "5"; description "Set the wait-to-restore time (0-12) default: 5 minute"; } // quality transmit exact option type leaf qltxexactoptype { type fsyncMgr_qloptype; description "quality transmit exact QL option type"; } // quality receive exact option type leaf qlrcvexactoptype { type fsyncMgr_qloptype; description "quality receive exact QL option type"; } // quality transmit range option type quality receive range option type quality transmit exact value leaf qltxexactval { type fsyncMgr_qlvalue; description "quality transmit exact QL value"; } // quality receive exact value leaf qlrcvexactval { type fsyncMgr_qlvalue; description "quality receive exact QL value"; } // quality transmit lowest value leaf qltxlval { type fsyncMgr_qlvalue; description "quality transmit lowest QL value"; } // quality receive lowest value leaf qlrcvlval { type fsyncMgr_qlvalue; description "quality receive lowest QL value"; } // quality transmit highest value leaf qltxhval { type fsyncMgr_qlvalue; description "quality transmit highest QL value"; } // quality receive highest value leaf qlrcvhval { type fsyncMgr_qlvalue; description "quality receive highest QL value"; } } grouping grpc_Inst-group { description "Instance node for managing grpc properties"; leaf port { type uint32 { range "1024..65535"; } default "50051"; description "Specifies the port number on which the grpc Agent listens"; } leaf cert { type os_OsString { length "0..64"; } description "Specifies the certificate to be used for TLS authentication"; } leaf useVrf { type os_OsString; description "Vrf to be used for grpc communication."; } leaf certClientRoot { type os_OsString { length "0..64"; } description "Specifies the root certificate to be used for client TLS authentication"; } // gnmi config // It supports the following options: // maxCalls Specifies the maximum number of concurrent calls to gnmi. container gnmi-items { uses grpc_Gnmi-group; description "Child mo for managing gnmi properties"; } } grouping grpc_Gnmi-group { description "Child mo for managing gnmi properties"; leaf maxCalls { type uint16 { range "1..16"; } default "8"; description "Specifies the maximum number of concurrent calls to gnmi."; } leaf minSampleInterval { type uint32 { range "1..65535"; } default "30"; description "Specifies the minimum sample interval, measured in units of seconds."; } leaf subsQueryCondition { type string { pattern "(keep-data-timestamp)|()"; } description "The condition(s) for retrieving notifications.\nWhen notifications are to be returned, this property specifies\nadditional contained objects or options to be included in the response.\nYou can specify one or more of the following categories in a\ncomma-separated list with no spaces: \n\nkeep-data-timestamp - In stead of using the collection time,\n\tuse the timestamp at which the data was generated and\n\tready to be collected."; } leaf keepAliveTimeout { type uint32 { range "600..86400"; } default "600"; description "Specifies grpc keepAlive timeout"; } // JSON filter file path leaf filterFile { type os_OsString { length "0..256"; } description "Name of the JSON filter file in the <filename>-<version>.json format.\n This will be applied only to BYTES encoding format."; } leaf filterMd5Hash { type string { pattern "([^\\s]{32})|([^\\s]{0})"; } description "MD5 hash value of the associated JSON filter file. This should be either 0 or 32 characters in length"; } } grouping grpctunnel_Inst-group { description "Instance node for managing grpc tunnel properties"; // gRPC tunnel manager container tunnelmgr-items { uses grpctunnel_TunnelMgr-group; description "Instance node for managing tunnel manager properties"; } } grouping grpctunnel_TunnelMgr-group { description "Instance node for managing tunnel manager properties"; // gRPC tunnel configuration container tunnel-items { list Tunnel-list { key "dest port targetId targetType vrf"; uses grpctunnel_Tunnel-group; description "gRPC tunnel configuration list"; } description "gRPC tunnel configuration"; } } grouping grpctunnel_Tunnel-group { description "gRPC tunnel configuration"; leaf dest { type grpctunnel_Host; description "Tunnel destination hostname or IP address"; } leaf port { type grpctunnel_Port; description "Tunnel destination port number"; } leaf targetId { type grpctunnel_TargetId; description "Tunnel target identifier. Target identifies which handler to use for a tunnel stream."; } leaf targetType { type grpctunnel_TargetType; description "Tunnel target type. String value of the corresponding TargetType for a standard protocol."; } leaf vrf { type grpctunnel_VrfName; description "VRF to be used for gRPC tunnel dial out"; } leaf srcIf { type nw_IfId; description "Source interface name. Supported interfaces include loopback and svi interfaces."; } leaf cert { type os_OsString { length "0..64"; } description "Tunnel destination certificate trustpoint"; } leaf certClient { type os_OsString { length "0..64"; } description "Tunnel client certificate trustpoint"; } leaf targetVrf { type grpctunnel_VrfName; description "VRF to be used to reach target"; } } grouping hmm_Entity-group { description "Holds Host Mobility Manager (HMM) Entity information."; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Fabric Forwarding Object container fwdinst-items { uses hmm_FwdInst-group; description "The object that represents the HMM Fabric Forwarding Instance (responsible for host detection and mobility). Currently only one HMM Forwarding instance is supported."; } } grouping hmm_FwdInst-group { description "The object that represents the HMM Fabric Forwarding Instance (responsible for host detection and mobility). Currently only one HMM Forwarding instance is supported."; leaf amac { type address_Mac; description "Anycast Gateway MAC address."; } leaf limitVlanMac { type uint16 { range "5..4096"; } default "4096"; description "This is to limit the number of hosts learnt by HMM in the same subnet with same MAC information."; } // selective-host-probe leaf selHostProbe { type hmm_Boolean; description "When set to True, host mobility will be triggered when a remote host route exists irrespective of the sequence id."; } leaf adminDist { type uint16 { range "1..255"; } default "190"; description "Set the administrative distance for HMM "; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Fabric Forwarding Interface Object container if-items { list FwdIf-list { key "id"; uses hmm_FwdIf-group; description "Object that holds HMM Fabric Forwarding mode information related to an Interface. list"; } description "Object that holds HMM Fabric Forwarding mode information related to an Interface."; } // Fabric Forwarding EVPN Object container evpn-items { uses hmm_FwdEvpn-group; description "The object that represents the HMM Fabric Forwarding EVPN instance. This model is not available unless EVPN is configured. Currently only one HMM Forwarding EVPN instance is supported."; } // Holds HMM vrf information container tenant-items { list TenantDb-list { config "false"; key "vrfName"; uses hmm_TenantDb-group; description "Holds Tenant (VRF) statistics information. This includes Tenant state and number of hosts in the Tenant network. list"; } description "Holds Tenant (VRF) statistics information. This includes Tenant state and number of hosts in the Tenant network."; } } grouping hmm_FwdIf-group { description "Object that holds HMM Fabric Forwarding mode information related to an Interface."; // Forwarding mode leaf mode { type hmm_FwdMode; description "HMM Fabric Forwarding mode information for the interface."; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // Anycast Gateway Hybrid Mode Object container hybrid-items { uses hmm_FwdHybrid-group; description "Object that holds HMM Fabric Forwarding Hybrid mode information related to an Interface."; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping hmm_FwdHybrid-group { description "Object that holds HMM Fabric Forwarding Hybrid mode information related to an Interface."; leaf enable { type boolean; description "enable/disable Anycast Gateway Hybrid Mode"; } leaf advertiseGW { type boolean; description "Anycast Gateway Advertise Gateway Mode"; } } grouping hmm_FwdEvpn-group { description "The object that represents the HMM Fabric Forwarding EVPN instance. This model is not available unless EVPN is configured. Currently only one HMM Forwarding EVPN instance is supported."; leaf ddHmmoves { type uint16 { range "1..1000"; } default "5"; description "User Setting to mark a host as duplicate if it does ddHmmoves number of moves."; } leaf ddHnsecs { type uint16 { range "2..36000"; } default "180"; description "User Setting to mark a host as duplicate if it does ddHmmoves moves in ddHnsecs seconds."; } leaf dhrtimeout { type uint16 { range "30..36000"; } default "30"; description "User Setting to periodically (dhrtimeout seconds) check if a Duplicate marked Host is no longer duplicate."; } leaf dhrcount { type uint16 { range "1..3000"; } default "5"; description "Number of times (dhrcount) to periodically check if a Duplicate marked Host is no longer duplicate."; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } } grouping hmm_TenantDb-group { description "Holds Tenant (VRF) statistics information. This includes Tenant state and number of hosts in the Tenant network."; leaf vrfName { config "false"; type string; description "Tenant (VRF) Name"; } leaf vrfState { config "false"; type string; description "Tenant (VRF) State."; } leaf vniId { config "false"; type uint32; description "VNI (Virtual Network Identifier) ID of the Tenant."; } leaf refCount { config "false"; type uint32; description "Reference count to keep track of the number of references to this tenant."; } // Holds Address family information container af-items { list TenantDBAf-list { config "false"; key "type"; uses hmm_TenantDBAf-group; description "Holds information related to a particular Tenant Address Family. list"; } description "Holds information related to a particular Tenant Address Family."; } } grouping hmm_TenantDBAf-group { description "Holds information related to a particular Tenant Address Family."; // Address family type leaf type { config "false"; type bgp_AfT; description "Tenant Address Family type (IPv4/IPv6)."; } leaf tblState { config "false"; type string; description "Tenant Table State."; } leaf localHosts { config "false"; type uint32; description "Number of locally connected hosts in the Tenant network."; } leaf remoteHosts { config "false"; type uint32; description "remote hosts"; } leaf aggregates { config "false"; type uint32; description "aggregates"; } } grouping bd_Entity-group { description "System BD"; leaf descr { config "false"; type string; description "BD"; } // If false, value is explicitly set globally for all SVIs leaf sysDefaultSVIAutostate { type bd_DefaultSVIAutoState; description "Disable/enable autoState for SVI interface"; } leaf allVlans { config "false"; type uint32; description "total number of vlans"; } leaf vtpVlans { config "false"; type uint32; description "total number of vtp vlans"; } leaf extVlans { config "false"; type uint32; description "total number of extended vlans"; } leaf maxSupVlans { config "false"; type uint32; description "total number of max supported vlans"; } leaf carvedVlans { config "false"; type uint32; description "total number of carved vlans"; } // This object holds vlan config information container vlanconfig-items { list VlanConfig-list { key "accEncap"; uses l2_VlanConfig-group; description "Vlan Configuration list"; } description "Vlan Configuration"; } // Layer2 Bridge-domain. Domain with regular ports and/or // epg-vlans as members. container bd-items { list BD-list { key "fabEncap"; uses l2_BD-group; description "Bridge Domain list"; } description "Bridge Domain"; } // 802.1q Vlan container vlan-items { list CktEp-list { key "encap"; uses vlan_CktEp-group; description "Vlan list"; } description "Vlan"; } // Vxlan circuit container vxlan-items { list CktEp-list { config "false"; key "encap"; uses vxlan_CktEp-group; description "Vxlan list"; } description "Vxlan"; } container resvlan-items { uses resmgr_ResVlan-group; description "Resmgr vlan reservation"; } } grouping l2_VlanConfig-group { description "Vlan Configuration"; leaf accEncap { type string; description "Access Encapsulation"; } // Vlan Mac learn enable/disable leaf vlanMacLearn { type l2fm_Learning; description "VlanMacLearn state"; } container ipqos-items { uses ipqos_Entity-group; description "QoS configuration space"; } // MDNS object for VLAN Configuration container mdnsvlan-items { uses mdns_MdnsVlan-group; description "Vlan object of mdns config"; } container rsvlanCfgPolicyAtt-items { uses l2_RsVlanCfgPolicyAtt_source-group; description "Vlan Config Reference to Analytics Policy."; } } grouping ipqos_Entity-group { description "QoS configuration space"; leaf statsState { type ipqos_statsState; description "Globally enable/disable QoS statistics"; } leaf qosPoliciesStatsState { type ipqos_statsState; default "disabled"; description "Globally enable/disable QoS-Policies statistics"; } leaf dynamicBufferShare { type boolean; description "Globally enable/disable dynamic-buffer-sharing"; } leaf mode { type boolean; description "System QoS Mode, sets the mode"; } leaf resetDei { type boolean; description "Globally reset dei bit"; } container module_type-items { list Module-list { config "false"; key "moduleType moduleId asicInstance"; uses ipqos_Module-group; description "Per module information list"; } description "Per module information"; } // Queuing QoS container queuing-items { uses ipqos_Queuing-group; description "Queuing type QoS"; } // Network QoS container nw-items { uses ipqos_NwQoS-group; description "Network QoS"; } // Default QoS container dflt-items { uses ipqos_DefaultQoS-group; description "Default type QoS"; } container globalpriorflowctrl-items { uses ipqos_GlobalPriorFlowCtrl-group; description "Global priority flow control"; } // Logging level container loglevel-items { uses ipqos_LogLevel-group; description "configure logging level parameters"; } container globalburstdetect-items { uses ipqos_GlobalBurstDetect-group; description "Gobal burst-detect configuration"; } } grouping ipqos_Module-group { description "Per module information"; leaf moduleId { config "false"; type uint32; description "Module Id which uniquely identifies the module/slot"; } leaf moduleType { config "false"; type string; description "Module Type Line Card (LC) or Fabric Moduel (FM) which best represent the module"; } leaf asicInstance { config "false"; type uint32; description "ASIC Instance Number"; } container hwcounters-items { uses ipqos_HardwareStats-group; description "Hardware statistics"; } } grouping ipqos_HardwareStats-group { description "Hardware statistics"; leaf hardwareCounter1 { config "false"; type uint64; description "This property provides Hardware Counter 1 statistics"; } leaf hardwareCounter1Desc { config "false"; type string; description "This property provides specific description of hardware counter 1."; } leaf hardwareCounter2 { config "false"; type uint64; description "This property provides Hardware Counter 2 statistics"; } leaf hardwareCounter2Desc { config "false"; type string; description "This property provides specific description of hardware counter 2."; } leaf hardwareCounter3 { config "false"; type uint64; description "This property provides Hardware Counter 3 statistics"; } leaf hardwareCounter3Desc { config "false"; type string; description "This property provides specific description of hardware counter 3."; } leaf hardwareCounter4 { config "false"; type uint64; description "This property provides Hardware Counter 4 statistics"; } leaf hardwareCounter4Desc { config "false"; type string; description "This property provides specific description of hardware counter 4."; } leaf hardwareCounter5 { config "false"; type uint64; description "This property provides Hardware Counter 5 statistics"; } leaf hardwareCounter5Desc { config "false"; type string; description "This property provides specific description of hardware counter 5."; } leaf hardwareCounter6 { config "false"; type uint64; description "This property provides Hardware Counter 6 statistics"; } leaf hardwareCounter6Desc { config "false"; type string; description "This property provides specific description of hardware counter 6."; } leaf hardwareCounter7 { config "false"; type uint64; description "This property provides Hardware Counter 7 statistics"; } leaf hardwareCounter7Desc { config "false"; type string; description "This property provides specific description of hardware counter 7."; } leaf hardwareCounter8 { config "false"; type uint64; description "This property provides Hardware Counter 8 statistics"; } leaf hardwareCounter8Desc { config "false"; type string; description "This property provides specific description of hardware counter 8."; } leaf hardwareCounter9 { config "false"; type uint64; description "This property provides Hardware Counter 9 statistics"; } leaf hardwareCounter9Desc { config "false"; type string; description "This property provides specific description of hardware counter 9."; } leaf hardwareCounter10 { config "false"; type uint64; description "This property provides Hardware Counter 10 statistics"; } leaf hardwareCounter10Desc { config "false"; type string; description "This property provides specific description of hardware counter 10."; } leaf hardwareCounter11 { config "false"; type uint64; description "This property provides Hardware Counter 11 statistics"; } leaf hardwareCounter11Desc { config "false"; type string; description "This property provides specific description of hardware counter 11."; } leaf hardwareCounter12 { config "false"; type uint64; description "This property provides Hardware Counter 12 statistics"; } leaf hardwareCounter12Desc { config "false"; type string; description "This property provides specific description of hardware counter 12."; } leaf hardwareCounter13 { config "false"; type uint64; description "This property provides Hardware Counter 13 statistics"; } leaf hardwareCounter13Desc { config "false"; type string; description "This property provides specific description of hardware counter 13."; } leaf hardwareCounter14 { config "false"; type uint64; description "This property provides Hardware Counter 14 statistics"; } leaf hardwareCounter14Desc { config "false"; type string; description "This property provides specific description of hardware counter 14."; } leaf hardwareCounter15 { config "false"; type uint64; description "This property provides Hardware Counter 15 statistics"; } leaf hardwareCounter15Desc { config "false"; type string; description "This property provides specific description of hardware counter 15."; } leaf hardwareCounter16 { config "false"; type uint64; description "This property provides Hardware Counter 16 statistics"; } leaf hardwareCounter16Desc { config "false"; type string; description "This property provides specific description of hardware counter 16."; } } grouping ipqos_Queuing-group { description "Queuing type QoS"; // service policy applied on target container policy-items { uses ipqos_ServPol-group; description "service policy instance"; } // class-map container c-items { uses ipqos_CMapEntity-group; description "ClassMap"; } // policy-map container p-items { uses ipqos_PMapEntity-group; description "PolicyMap"; } container copyPMap-items { uses ipqos_CopyPMap-group; description "Copy qos objects"; } } grouping ipqos_ServPol-group { description "service policy instance"; // Ingress direction container in-items { uses ipqos_Ingress-group; description "Ingress direction"; } // Ingress direction container out-items { uses ipqos_Egress-group; description "Egress direction"; } } grouping ipqos_Ingress-group { description "Ingress direction"; // Target interface container intf-items { list If-list { key "name"; uses ipqos_If-group; description "Interface list"; } description "Interface"; } // Target Nve interface container nveif-items { list NveIf-list { key "id"; uses ipqos_NveIf-group; description "Nve Interface for service-policy list"; } description "Nve Interface for service-policy"; } // system qos container sys-items { uses ipqos_System-group; description "System"; } // Service policy instance container pmap-items { uses ipqos_Inst-group; description "Service Policy name"; } } grouping ipqos_If-group { description "Interface"; // interface name string leaf name { type nw_IfId; description "Interface name in a short form. eth1/1 or pc1"; } leaf delIntfBit { type boolean; default "false"; description "hidden delete Interface bit for internal use"; } // Service policy instance container pmap-items { uses ipqos_Inst-group; description "Service Policy name"; } container cmap-items { list Stats-list { config "false"; key "cmapName statType"; uses ipqos_Stats-group; description "QoS statistics list"; } description "QoS statistics"; } container queCmap-items { list QueuingStats-list { config "false"; key "cmapName statType"; uses ipqos_QueuingStats-group; description "Queuing statistics list"; } description "Queuing statistics"; } container stats-items { list CpuSpanStats-list { config "false"; key "statType"; uses ipqos_CpuSpanStats-group; description "Cpu Span queue statistics list"; } description "Cpu Span queue statistics"; } } grouping ipqos_Inst-group { description "Service Policy name"; // name of policy map leaf name { type ipqos_PMapName; description "Policy-map Name"; } leaf stats { type boolean; default "true"; description "turn on/off statistics"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } container rspolicyInstToPMap-items { uses ipqos_RsPolicyInstToPMap_source-group; description "Link from policy instance to policy-map"; } } grouping ipqos_Stats-group { description "QoS statistics"; leaf cmapName { config "false"; type ipqos_CMapName; description "Class map name"; } leaf statType { config "false"; type ipqos_StatsType; description "QoS statistics type"; } leaf pmapName { config "false"; type ipqos_PMapName; description "Policy map name"; } leaf dropPackets { config "false"; type uint64; description "Drop packet count"; } leaf dropBytes { config "false"; type uint64; description "Drop byte count"; } leaf txPackets { config "false"; type uint64; description "Transmit packet count"; } leaf txBytes { config "false"; type uint64; description "Transmit byte count"; } leaf ucDropPackets { config "false"; type uint64; description "Unicast drop packet count"; } leaf mcDropPackets { config "false"; type uint64; description "Multicast drop packet count"; } leaf ucDropBytes { config "false"; type uint64; description "Unicast drop bytes count"; } leaf mcDropBytes { config "false"; type uint64; description "Multicast drop bytes count"; } leaf ucTxPackets { config "false"; type uint64; description "Unicast Transmit packet count"; } leaf mcTxPackets { config "false"; type uint64; description "Multicast Transmit packet count"; } leaf ucTxBytes { config "false"; type uint64; description "Unicast Transmit byte count"; } leaf mcTxBytes { config "false"; type uint64; description "Multicast Transmit byte count"; } leaf conformBytes { config "false"; type uint64; description "Conform byte count"; } leaf exceedBytes { config "false"; type uint64; description "Exceed byte count"; } leaf violateBytes { config "false"; type uint64; description "Violate byte count"; } } grouping ipqos_QueuingStats-group { description "Queuing statistics"; leaf cmapName { config "false"; type ipqos_CMapName; description "Class map name"; } leaf statType { config "false"; type ipqos_StatsType; description "QoS statistics type"; } leaf pmapName { config "false"; type ipqos_PMapName; description "Policy map name"; } leaf dropPackets { config "false"; type uint64; description "Drop packet count"; } leaf dropBytes { config "false"; type uint64; description "Drop byte count"; } leaf txPackets { config "false"; type uint64; description "Transmit packet count"; } leaf txBytes { config "false"; type uint64; description "Transmit byte count"; } leaf ucDropPackets { config "false"; type uint64; description "Unicast drop packet count"; } leaf mcDropPackets { config "false"; type uint64; description "Multicast drop packet count"; } leaf ucDropBytes { config "false"; type uint64; description "Unicast drop bytes count"; } leaf mcDropBytes { config "false"; type uint64; description "Multicast drop bytes count"; } leaf ucTxPackets { config "false"; type uint64; description "Unicast Transmit packet count"; } leaf mcTxPackets { config "false"; type uint64; description "Multicast Transmit packet count"; } leaf ucTxBytes { config "false"; type uint64; description "Unicast Transmit byte count"; } leaf mcTxBytes { config "false"; type uint64; description "Multicast Transmit byte count"; } leaf currQueueDepth { config "false"; type uint64; description "Current queue depth in bytes"; } leaf maxQueueDepth { config "false"; type uint64; description "Maximum queue depth in bytes"; } leaf ingQDropPackets { config "false"; type uint64; description "Ingress Queue Drop packet count"; } leaf ingQDepthBytes { config "false"; type uint64; description "Ingress Queue Depth in bytes"; } leaf ucCurrQueueDepth { config "false"; type uint64; description "Unicast Current queue depth in bytes"; } leaf mcCurrQueueDepth { config "false"; type uint64; description "Multicast Current queue depth in bytes"; } leaf randDropBytes { config "false"; type uint64; description "Random detect drop byte count"; } leaf randDropPackets { config "false"; type uint64; description "Random detect drop packet count"; } leaf randEcnMarkedPackets { config "false"; type uint64; description "Random detect ECN Marked packet count"; } leaf pfcTxPpp { config "false"; type uint64; description "Priority-based Flow Control Per Packet Pause Transmitted count"; } leaf pfcRxPpp { config "false"; type uint64; description "Priority-based Flow Control Per Packet Pause Received count"; } leaf pfcwdShutdownCount { config "false"; type uint64; description "Priority-based Flow Control WatchDog Queue Shutdown Count"; } leaf pfcwdRestoredCount { config "false"; type uint64; description "Priority-based Flow Control WatchDog Queue Restored Count"; } leaf pfcwdFlushedPackets { config "false"; type uint64; description "Priority-based Flow Control WatchDog Queue Flushed Packets"; } } grouping ipqos_CpuSpanStats-group { description "Cpu Span queue statistics"; leaf statType { config "false"; type string; description "Type of stats either cpu or span."; } leaf txPackets { config "false"; type uint64; description "Cpu/Span queue transmit packet count"; } leaf txBytes { config "false"; type uint64; description "Cpu/Span queue transmit byte count"; } leaf dropPackets { config "false"; type uint64; description "Cpu/Span queue drop packet count"; } leaf dropBytes { config "false"; type uint64; description "Cpu/Span queue drop byte count"; } } grouping ipqos_NveIf-group { description "Nve Interface for service-policy"; // interface name string leaf id { type nvo_EpIdT; description "Nve Interface id for service-policy"; } // Service policy instance container pmap-items { uses ipqos_Inst-group; description "Service Policy name"; } } grouping ipqos_System-group { description "System"; // Service policy instance container pmap-items { uses ipqos_Inst-group; description "Service Policy name"; } } grouping ipqos_Egress-group { description "Egress direction"; // Target interface container intf-items { list If-list { key "name"; uses ipqos_If-group; description "Interface list"; } description "Interface"; } // Target Nve interface container nveif-items { list NveIf-list { key "id"; uses ipqos_NveIf-group; description "Nve Interface for service-policy list"; } description "Nve Interface for service-policy"; } // system qos container sys-items { uses ipqos_System-group; description "System"; } // Service policy instance container pmap-items { uses ipqos_Inst-group; description "Service Policy name"; } } grouping ipqos_CMapEntity-group { description "ClassMap"; container name-items { list CMapInst-list { key "name"; uses ipqos_CMapInst-group; description "Class map instance list"; } description "Class map instance"; } } grouping ipqos_CMapInst-group { description "Class map instance"; // name of class map leaf name { type ipqos_CMapName; description "Name of class-map"; } // type of matching leaf matchType { type ipqos_QoSMatchType; description "Match-any, match-all or match-first"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } // access-group container acl-items { list Acl-list { key "name"; uses ipqos_Acl-group; description "Match ACL list"; } description "Match ACL"; } // dscp matching container dscp-items { list Dscp-list { key "val"; uses ipqos_Dscp-group; description "Match dscp list"; } description "Match dscp"; } container dscptunnel-items { list DscpTunnel-list { key "val"; uses ipqos_DscpTunnel-group; description "Match Outer DSCP value list"; } description "Match Outer DSCP value"; } // ip rtp matching container ipRtp-items { uses ipqos_IpRtp-group; description "Match ip rtp"; } // ip roce matching container iproce-items { uses ipqos_IpRoce-group; description "Matching the ip roce"; } // Not ip roce matching container iprocenot-items { uses ipqos_NotIpRoce-group; description "Matching the not ip roce"; } // packet length matching container packetLength-items { uses ipqos_PacketLength-group; description "Match Match packet length"; } // cos marking container cos-items { list Cos-list { key "val"; uses ipqos_Cos-group; description "Match cos list"; } description "Match cos"; } // mpls experimental matching container mplsExperimental-items { list MPLSExperimental-list { key "val"; uses ipqos_MPLSExperimental-group; description "Match mpls experimental list"; } description "Match mpls experimental"; } // precedence matching container precedence-items { list Precedence-list { key "val"; uses ipqos_Precedence-group; description "Match precedence list"; } description "Match precedence"; } // protocol matching container protocol-items { list Protocol-list { key "val"; uses ipqos_Protocol-group; description "Match protocol list"; } description "Match protocol"; } // description container Description-items { uses ipqos_Description-group; description "description"; } // NOT dscp matching container dscpNot-items { list NotDscp-list { key "val"; uses ipqos_NotDscp-group; description "Match not dscp list"; } description "Match not dscp"; } // NOT cos matching container cosNot-items { list NotCos-list { key "val"; uses ipqos_NotCos-group; description "Match not cos list"; } description "Match not cos"; } // NOT mpls experimental matching container mplsExperimentalNot-items { list NotMPLSExperimental-list { key "val"; uses ipqos_NotMPLSExperimental-group; description "Match not mpls experimental list"; } description "Match not mpls experimental"; } // NOT precedence matching container precedenceNot-items { list NotPrecedence-list { key "val"; uses ipqos_NotPrecedence-group; description "Match not precedence list"; } description "Match not precedence"; } // NOT protocol matching container protocolNot-items { list NotProtocol-list { key "val"; uses ipqos_NotProtocol-group; description "Match not protocol list"; } description "Match not protocol"; } // NOT ip rtp matching container ipRtpNot-items { uses ipqos_NotIpRtp-group; description "Match not ip rtp"; } // packet length matching container packetLengthNot-items { uses ipqos_NotPacketLength-group; description "Match not packet length"; } // match qos-group container grp-items { list QoSGrp-list { key "id"; uses ipqos_QoSGrp-group; description "Match qos-group list"; } description "Match qos-group"; } container rsclassMapToPolicyMap-items { list RsClassMapToPolicyMap-list { key "tDn"; uses ipqos_RsClassMapToPolicyMap_source-group; description "policy-maps using this class-map list"; } description "policy-maps using this class-map"; } } grouping ipqos_Acl-group { description "Match ACL"; // ACL to match leaf name { type acl_Name; description "Match using ACL"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Dscp-group { description "Match dscp"; // dscp value leaf val { type ipqos_Dscp; description "Dscp value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_DscpTunnel-group { description "Match Outer DSCP value"; // dscp value leaf val { type ipqos_Dscp; description "Outer DSCP value to match"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_IpRtp-group { description "Match ip rtp"; leaf portList { type ipqos_portListBitMap; description "Matching the ip roce port-list"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_IpRoce-group { description "Matching the ip roce"; leaf portList { type ipqos_portListBitMap; description "Matching the ip roce port-list"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_NotIpRoce-group { description "Matching the not ip roce"; leaf portList { type ipqos_portListBitMap; description "Matching the not ip roce port-list"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_PacketLength-group { description "Match Match packet length"; leaf configStatus { config "false"; type uint32; description "Configuration status"; } leaf range { type string; description "range string values"; } } grouping ipqos_Cos-group { description "Match cos"; // cos value leaf val { type ipqos_Cos; description "Cos value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_MPLSExperimental-group { description "Match mpls experimental"; // mpls experimental value leaf val { type ipqos_MPLSExperimental; description "MPLS experimental value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Precedence-group { description "Match precedence"; // dscp value leaf val { type ipqos_Prec; description "Precedence value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Protocol-group { description "Match protocol"; // protocol value leaf val { type ipqos_Protocol; description "Protocol value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Description-group { description "description"; // description value leaf val { type ipqos_DescStr; description "Description string"; } } grouping ipqos_NotDscp-group { description "Match not dscp"; // dscp value leaf val { type ipqos_Dscp; description "Not dscp value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_NotCos-group { description "Match not cos"; // cos value leaf val { type ipqos_Cos; description "Not cos value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_NotMPLSExperimental-group { description "Match not mpls experimental"; // mpls experimental value leaf val { type ipqos_MPLSExperimental; description "Not mpls experimental value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_NotPrecedence-group { description "Match not precedence"; // precedence value leaf val { type ipqos_Prec; description "Not precedence value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_NotProtocol-group { description "Match not protocol"; // protocol value leaf val { type ipqos_Protocol; description "Not protocol value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_NotIpRtp-group { description "Match not ip rtp"; leaf portList { type ipqos_portListBitMap; description "Matching the ip roce port-list"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_NotPacketLength-group { description "Match not packet length"; leaf configStatus { config "false"; type uint32; description "Configuration status"; } leaf range { type string; description "range string values"; } } grouping ipqos_QoSGrp-group { description "Match qos-group"; // QoS-Group ID leaf id { type ipqos_QoSGrpId; description "QoS group ID"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_PMapEntity-group { description "PolicyMap"; // policy map instance container name-items { list PMapInst-list { key "name"; uses ipqos_PMapInst-group; description "Policy map instance list"; } description "Policy map instance"; } } grouping ipqos_PMapInst-group { description "Policy map instance"; // policy map name leaf name { type ipqos_PMapName; description "Name of policy-map"; } // type of matching leaf matchType { type ipqos_QoSMatchType; description "Match-any, match-all or match-first"; } leaf refCount { config "false"; type uint32; description "policy-map reference count"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } // match a class-map container cmap-items { list MatchCMap-list { key "name"; uses ipqos_MatchCMap-group; description "Match class-map list"; } description "Match class-map"; } // description container Description-items { uses ipqos_Description-group; description "description"; } container rtipqosPolicyInstToPMap-items { list RtIpqosPolicyInstToPMap-list { config "false"; key "tDn"; uses ipqos_RtIpqosPolicyInstToPMap_target-group; description "Link from policy instance to policy-map list"; } description "Link from policy instance to policy-map"; } container rtclassMapToPolicyMap-items { uses ipqos_RtClassMapToPolicyMap_target-group; description "policy-maps using this class-map"; } } grouping ipqos_MatchCMap-group { description "Match class-map"; // use class-map with this name leaf name { type ipqos_CMapName; description "Match using class-map"; } leaf prevCMap { type ipqos_MatchCMapName; description "Insert after the given class-map"; } leaf nextCMap { type ipqos_MatchCMapName; description "Insert before the given class-map"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } container setCos-items { uses ipqos_SetCos-group; description "Set Cos"; } // set MTU container mtu-items { uses ipqos_SetMTU-group; description "Set MTU"; } // Aggregate Policer container aggr-items { list AggregatePolicer-list { key "policerName"; uses ipqos_AggregatePolicer-group; description "Aggregate Policer for policy list"; } description "Aggregate Policer for policy"; } // set precedence container setPrecedence-items { uses ipqos_SetPrecedence-group; description "Set Precedence"; } // set dscp container setDscp-items { uses ipqos_SetDscp-group; description "Set Dscp"; } // set dscp container setdscptunnel-items { uses ipqos_SetDscpTunnel-group; description "Set Dscp Tunnel action for qos policy"; } // set qos-group container setGrp-items { uses ipqos_SetQoSGrp-group; description "Set QoS-Group"; } // set dlb-disable container setDlbDisable-items { uses ipqos_SetDlbDisable-group; description "Set dlb-disable"; } // set mpls experimental imposition container setmplsexpimposition-items { uses ipqos_SetMplsExperimentalImposition-group; description "Set mpls experimental imposition"; } // queue-limit container QueueLimit-items { uses ipqos_QueueLimit-group; description "Queue limit"; } // pause priority group container pausepg-items { uses ipqos_PausePg-group; description "Pause Priority Group"; } // pause container pause-items { uses ipqos_Pause-group; description "Pause PFC COS"; } // dpp container dpp-items { uses ipqos_Dpp-group; description "Configure Dynamic Packet Prioritization"; } // Deep Buffer container deepbuffer-items { uses ipqos_DeepBuffer-group; description "Configure Deep Buffer"; } // bandwidth container setBW-items { uses ipqos_SetBW-group; description "Set bandwidth"; } // bandwidth container setRemBW-items { uses ipqos_SetRemBW-group; description "Set remaining bandwidth"; } // shape traffic container shape-items { uses ipqos_Shape-group; description "Shape traffic"; } // police container police-items { uses ipqos_Police-group; description "Police traffic"; } // priority container prio-items { uses ipqos_Priority-group; description "Traffic class priority"; } container RandDet-items { uses ipqos_RandomDetect-group; description "Set random detect"; } container RandDetNonEcn-items { uses ipqos_RandomDetectNonEcn-group; description "Set random detect non ECN thresholds"; } // set DCTCP container dctcp-items { uses ipqos_Dctcp-group; description "Data Center TCP"; } // burst-detect container burstdetect-items { uses ipqos_BurstDetect-group; description "Burst detect"; } // burst-detect state container burstdetectstate-items { uses ipqos_BurstDetectState-group; description "Burst detect"; } // afd container afd-items { uses ipqos_Afd-group; description "configure AFD parameters"; } } grouping ipqos_SetCos-group { description "Set Cos"; // Cos value leaf val { type ipqos_CosNewNone; description "Cos value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetMTU-group { description "Set MTU"; // MTU value leaf value { type ipqos_MTU; description "Set MTU value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_AggregatePolicer-group { description "Aggregate Policer for policy"; // Policer name leaf policerName { type ipqos_PolicerName; description "Policer name for Aggregate/Shared-Policer QoS"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetPrecedence-group { description "Set Precedence"; // Precedence value leaf val { type ipqos_Prec; description "Precedence value"; } leaf tunnel { type boolean; description "tunnel on or off"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetDscp-group { description "Set Dscp"; // Dscp value leaf val { type ipqos_Dscp; description "Dscp value"; } leaf tunnel { type boolean; description "set dscp tunnel on or off"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetDscpTunnel-group { description "Set Dscp Tunnel action for qos policy"; // Dscp value leaf val { type ipqos_Dscp; description "Dscp value for setting outer header"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetQoSGrp-group { description "Set QoS-Group"; // QoS-Group ID leaf id { type ipqos_QoSGrpId; description "QoS group ID"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetDlbDisable-group { description "Set dlb-disable"; leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetMplsExperimentalImposition-group { description "Set mpls experimental imposition"; // Experimental value leaf expValue { type ipqos_MplsExperimentalValue; description "Set mpls experimental imposition value"; } } grouping ipqos_QueueLimit-group { description "Queue limit"; // queue-limit leaf QueueLimitVal { type ipqos_QueueLimit; description "Value in bytes/kbytes/mbytes"; } // queue-limit unit leaf QueueLimitUnit { type ipqos_QueueLimitUnit; description "Bytes/kbytes/mbytes"; } // queue-limit dynamic leaf dynamic { type ipqos_QueueLimitDynamic; description "Queue-limit dynamic value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_PausePg-group { description "Pause Priority Group"; leaf val { type ipqos_PriorityGrpVal; description "Priority Group value"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Pause-group { description "Pause PFC COS"; // buffer-size leaf bufferSize { type ipqos_BuffSize; description "size in bytes"; } // pause-threshold leaf pauseThreshold { type ipqos_XoffBytes; description "xoff bytes"; } // resume-threshold leaf resumeThreshold { type ipqos_XonBytes; description "xon bytes"; } leaf pfcCos0 { type boolean; description "Configure pfc-cos 0 value"; } leaf pfcCos1 { type boolean; description "Configure pfc-cos 1 value"; } leaf pfcCos2 { type boolean; description "Configure pfc-cos 2 value"; } leaf pfcCos3 { type boolean; description "Configure pfc-cos 3 value"; } leaf pfcCos4 { type boolean; description "Configure pfc-cos 4 value"; } leaf pfcCos5 { type boolean; description "Configure pfc-cos 5 value"; } leaf pfcCos6 { type boolean; description "Configure pfc-cos 6 value"; } leaf pfcCos7 { type boolean; description "Configure pfc-cos 7 value"; } leaf receive { type boolean; description "Configure pause receive only mode"; } leaf noDrop { type boolean; description "Configure pause no-drop mode"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Dpp-group { description "Configure Dynamic Packet Prioritization"; // set-qos-group leaf setQosGroup { type ipqos_CosNewNone; description "QoS Group Value"; } } grouping ipqos_DeepBuffer-group { description "Configure Deep Buffer"; leaf enable { type boolean; description "enable/disable deep buffer"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetBW-group { description "Set bandwidth"; // Percent of available bandwidth leaf val { type ipqos_Percent; description "Available bandwidth"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_SetRemBW-group { description "Set remaining bandwidth"; // Percent of available bandwidth leaf val { type ipqos_Percent; description "Remaining bandwidth"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Shape-group { description "Shape traffic"; leaf min { type ipqos_ShapeRate; description "Minimum shape rate"; } leaf minRateUnit { type ipqos_RateUnit; description "Minimum shape rate unit"; } leaf max { type ipqos_ShapeRate; description "Maximum shape rate"; } leaf maxRateUnit { type ipqos_RateUnit; description "Maximum shape rate unit"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Police-group { description "Police traffic"; leaf cirRate { type ipqos_PoliceRate; description "CIR"; } leaf cirUnit { type ipqos_RateUnit; description "CIR unit"; } leaf bcRate { type ipqos_BurstRate; description "CIR burst"; } leaf bcUnit { type ipqos_BurstRateUnit; description "CIR burst unit"; } leaf pirRate { type ipqos_PoliceRate; description "PIR"; } leaf pirUnit { type ipqos_RateUnit; description "PIR unit"; } leaf beRate { type ipqos_BurstRate; description "PIR burst"; } leaf beUnit { type ipqos_BurstRateUnit; description "PIR burst unit"; } leaf conformAction { type ipqos_PoliceAction; description "Conform action"; } leaf conformSetCosTransmit { type ipqos_Cos; description "set cos for conforming traffic"; } leaf conformSetDscpTransmit { type ipqos_Dscp; description "set dscp for conforming traffic"; } leaf conformSetPrecTransmit { type ipqos_Prec; description "set precedence for conforming traffic"; } leaf conformSetQosGrpTransmit { type ipqos_QoSGrpId; description "set qos-group for conforming traffic"; } leaf exceedAction { type ipqos_PoliceAction; description "Exceed action"; } leaf exceedSetCosTransmit { type ipqos_Cos; description "set cos for exceeding traffic"; } leaf exceedSetDscpTransmit { type ipqos_Dscp; description "set dscp for exceeding traffic"; } leaf exceedSetPrecTransmit { type ipqos_Prec; description "set precedence for exceeding traffic"; } leaf exceedSetQosGrpTransmit { type ipqos_QoSGrpId; description "set qos-group for exceeding traffic"; } leaf violateAction { type ipqos_PoliceAction; description "Violate action"; } leaf violateSetCosTransmit { type ipqos_Cos; description "set cos for violating traffic"; } leaf violateSetDscpTransmit { type ipqos_Dscp; description "set dscp for violating traffic"; } leaf violateSetPrecTransmit { type ipqos_Prec; description "set precedence for violating traffic"; } leaf violateSetQosGrpTransmit { type ipqos_QoSGrpId; description "set qos-group for violating traffic"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Priority-group { description "Traffic class priority"; leaf level { type ipqos_PriorityLevel; description "Optional priority level"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_RandomDetect-group { description "Set random detect"; // minimun thresold leaf minThreshold { type ipqos_ThreshVal; description "min threshold"; } // minimun thresold unit leaf minThresholdUnit { type ipqos_ThreshUnit; description "min threshold"; } // max threshold leaf maxThreshold { type ipqos_ThreshVal; description "max threshold"; } // max thresold unit leaf maxThresholdUnit { type ipqos_ThreshUnit; description "max threshold"; } // drop availability leaf dropAvail { type ipqos_DropAvailRange; description "drop availability range"; } // threshold weight leaf weight { type ipqos_Weight; description "weight range"; } leaf capAverage { type boolean; description "cap average"; } // mesh or burst optimization leaf optimization { type ipqos_RandOptType; description "random optimization type"; } leaf ecn { type boolean; description "ecn flag"; } } grouping ipqos_RandomDetectNonEcn-group { description "Set random detect non ECN thresholds"; // minimun thresold leaf minThresholdNonEcn { type ipqos_ThreshVal; description "non ecn min threshold"; } // minimun thresold unit leaf minThresholdUnitNonEcn { type ipqos_ThreshUnit; description "non ecn min threshold"; } // max threshold leaf maxThresholdNonEcn { type ipqos_ThreshVal; description "non ecn max threshold"; } // max thresold unit leaf maxThresholdUnitNonEcn { type ipqos_ThreshUnit; description "non ecn max threshold"; } // drop availability leaf dropAvailNonEcn { type ipqos_DropAvailRange; description "drop availability range"; } } grouping ipqos_Dctcp-group { description "Data Center TCP"; // ecn-threshold value leaf ecnThreshold { type ipqos_ecnThresh; description "Set ecn-threshold value"; } } grouping ipqos_BurstDetect-group { description "Burst detect"; // rise-threshold leaf riseThreshold { type ipqos_Threshold; description "Rise Threshold value for Micro burst detection"; } // rise-threshold unit leaf riseThresUnit { type ipqos_ThresUnit; description "Rise Threshold Unit for Micro burst detection"; } // fall-threshold leaf fallThreshold { type ipqos_Threshold; description "Fall Threshold value for Micro burst detection"; } // fall-threshold unit leaf fallThresUnit { type ipqos_ThresUnit; description "Fall Threshold Unit for Micro burst detection"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_BurstDetectState-group { description "Burst detect"; // Enable leaf val { type ipqos_BurstState; description "Burst detect state enabled/disabled"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_Afd-group { description "configure AFD parameters"; // queue-desired leaf queueDesiredVal { type ipqos_QueueDesired; description "Approximate Fair Discard value"; } // queue-desired unit leaf queueDesiredUnit { type ipqos_QueueDesiredUnit; description "Units for Approximate Fair Discard value"; } leaf ecn { type boolean; description "Approximate Fair Discard ECN flag"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping ipqos_CopyPMap-group { description "Copy qos objects"; leaf lastFrom { config "false"; type ipqos_PMapName; description "Name of source policy-map to copy from"; } leaf lastTo { config "false"; type ipqos_PMapName; description "Name of policy-map resulting from copying"; } } grouping ipqos_NwQoS-group { description "Network QoS"; // service policy applied on target container policy-items { uses ipqos_ServPol-group; description "service policy instance"; } // class-map container c-items { uses ipqos_CMapEntity-group; description "ClassMap"; } // policy-map container p-items { uses ipqos_PMapEntity-group; description "PolicyMap"; } container copyPMap-items { uses ipqos_CopyPMap-group; description "Copy qos objects"; } } grouping ipqos_DefaultQoS-group { description "Default type QoS"; // service policy applied on target container policy-items { uses ipqos_ServPol-group; description "service policy instance"; } // class-map container c-items { uses ipqos_CMapEntity-group; description "ClassMap"; } // policy-map container p-items { uses ipqos_PMapEntity-group; description "PolicyMap"; } // Shared-Policer QoS container sharedpolicer-items { list SharedPolicer-list { key "policerName"; uses ipqos_SharedPolicer-group; description "Shared-Policer QoS list"; } description "Shared-Policer QoS"; } container copyPMap-items { uses ipqos_CopyPMap-group; description "Copy qos objects"; } } grouping ipqos_SharedPolicer-group { description "Shared-Policer QoS"; leaf policerName { type ipqos_PolicerName; description "Policer name for Aggregate/Shared-Policer QoS"; } // police container police-items { uses ipqos_Police-group; description "Police traffic"; } } grouping ipqos_GlobalPriorFlowCtrl-group { description "Global priority flow control"; // override interface leaf overrideInterface { type ipqos_OverrideIntfMode; description "Enable/Disable priority-flow-control override-interface mode off"; } } grouping ipqos_LogLevel-group { description "configure logging level parameters"; leaf loggingLevel { type ipqos_LoggingLevel; description "configure Logging Level value"; } } grouping ipqos_GlobalBurstDetect-group { description "Gobal burst-detect configuration"; leaf activeQueuePerc { type uint8 { range "1..100"; } default "20"; description "Percentage of active queues considered for for Micro burst detection calculation"; } leaf configStatus { config "false"; type uint32; description "Configuration status"; } } grouping mdns_MdnsVlan-group { description "Vlan object of mdns config"; leaf vlanMdnsEn { type mdns_MdnsEn; description "Mdns enabled under vlan"; } leaf activeQry { type mdns_ActiveQryTimer; description "Active Query timer period"; } leaf servicePolicy { type mdns_vlanPolicyName; description "Service policy name under vlan"; } } grouping l2_BD-group { description "Bridge Domain"; leaf fabEncap { type string; description "The Layer 2 bridge-domain Fabric encapsulation (VNID), input format is vlan-id "; } leaf accEncap { type string; description "The Layer 2 access encapsulation (VLAN or VNID), input format is vxlan-vnid"; } // Enable cross connect on vlan leaf xConnect { type l2_XConnect; description "Enable Cross Connect on VLAN"; } leaf longName { type boolean; default "false"; description "Enable or disable long name of 128 characters for VLAN"; } // This represents the parameter used by the node // (i.e. Leaf) for enabling forwarding modes (route // or bridge or both). Default is enable both leaf fwdMode { type l2_FwdMode; description "The Layer 2 bridge-domain parameter mode used by the node for enabling forwarding modes"; } // This represents the parameter used by the node // (i.e. Leaf) for enabling classical bridging or // bridging with IP. Default is bridge with IP leaf bridgeMode { type l2_BridgeMode; description "Bridging Mode"; } // Forwarding controls leaf fwdCtrl { type l2_FwdCtrl; description "The Layer 2 bridge-domain forwarding controls"; } leaf bdDefDn { config "false"; type string; description "The bridge domain name"; } // Controller Id leaf controllerId { config "false"; type aggregate_ControllerIdBitmap; description "Controller ID for Vlan"; } // BdState leaf BdState { type l2_DomAdminSt; description "Bridge Domain State can be active or suspended"; } leaf BdOperName { config "false"; type string; description "OperName"; } // Vlan mac packet-classify leaf macPacketClassify { type l2_PktClassify; description "Vlan mac packet classify"; } leaf name { type naming_Name256 { length "0..128"; } description "Vlan name that can be configured using name cli"; } // domain id leaf id { type l2_DomId; description "Domain ID"; } // Internal domain id leaf hwId { config "false"; type l2_DomId; description "Hardware Resource ID"; } // Vlan mode leaf mode { type l2_DomMode; description "Mode"; } // admin state leaf adminSt { type l2_DomAdminSt; description "Admin State"; } // oper state leaf operSt { config "false"; type l2_DomOperSt; description "Operational State"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Creation Timestamp"; } // Controls leaf ctrl { type l2_DomCtrl; description "Controls"; } // VLAN Membership Interface container member-items { list VlanMemberIf-list { config "false"; key "id"; uses l2_VlanMemberIf-group; description "VLAN membership interface list"; } description "VLAN membership interface"; } // Multicast group entity, this refers to the multicast // group entity that each tenant's bridge domain uses to // flood its traffic over the fabric container fmgrp-items { list Grp-list { key "addr"; uses fmcast_Grp-group; description "Group list"; } description "Group"; } // Abstraction of epm database container db-items { list Db-list { config "false"; key "type"; uses epm_Db-group; description "Database list"; } description "Database"; } // 802.1q Vlan container vlan-items { list CktEp-list { key "encap"; uses vlan_CktEp-group; description "Vlan list"; } description "Vlan"; } // Vxlan circuit container vxlan-items { list CktEp-list { config "false"; key "encap"; uses vxlan_CktEp-group; description "Vxlan list"; } description "Vxlan"; } container evi-items { uses nvo_Evi-group; description "Configuration of EVI under VLAN"; } container rtfvEPgDefToL2Dom-items { list RtFvEPgDefToL2Dom-list { config "false"; key "tDn"; uses fv_RtFvEPgDefToL2Dom_target-group; description "EPgDef to L2 Domain Attachment list"; } description "EPgDef to L2 Domain Attachment"; } container rsextBD-items { list RsExtBD-list { key "tDn"; uses l2_RsExtBD_source-group; description "External BD Attachment list"; } description "External BD Attachment"; } container rsbdVsanMap-items { list RsBdVsanMap-list { key "tDn"; uses l2_RsBdVsanMap_source-group; } } container rspathDomAtt-items { list RsPathDomAtt-list { config "false"; key "tDn"; uses l2_RsPathDomAtt_source-group; description "Port Domain Attachment list"; } description "Port Domain Attachment"; } container rtfvDomIfConn-items { list RtFvDomIfConn-list { config "false"; key "tDn"; uses fv_RtFvDomIfConn_target-group; description "Domain Interface Attachment list"; } description "Domain Interface Attachment"; } container dbgVlanStats-items { uses l2_VlanStats-group; description "Vlan counters"; } } grouping l2_VlanMemberIf-group { description "VLAN membership interface"; leaf id { config "false"; type nw_IfId; description "Interface Identifier"; } leaf vlan { config "false"; type l2_DomId; description "VLAN"; } } grouping fmcast_Grp-group { description "Group"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast group address leaf addr { type mcast_GrpIp; description "Multicast Group IP Address"; } } grouping epm_Db-group { description "Database"; // Type of the database leaf type { config "false"; type epm_DbT; description "Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ip Ep record container ip-items { list IpEp-list { config "false"; key "addr"; uses epm_IpEp-group; description "IP Endpoint list"; } description "IP Endpoint"; } // Mac Ep record container mac-items { list MacEp-list { config "false"; key "addr"; uses epm_MacEp-group; description "MAC Endpoint list"; } description "MAC Endpoint"; } } grouping epm_IpEp-group { description "IP Endpoint"; leaf addr { config "false"; type address_Ip; description "Address"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Identifier of the logical interface leaf ifId { config "false"; type nw_IfId; description "Path"; } // Ep flags leaf flags { config "false"; type epm_EpFlags; description "Endpoint Properties and State"; } container rtIpEpRslttoIpEpAtt-items { uses eptrk_RtIpEpRslttoIpEpAtt_target-group; } container rtMacEpRslttoIpEpAtt-items { uses eptrk_RtMacEpRslttoIpEpAtt_target-group; } } grouping epm_MacEp-group { description "MAC Endpoint"; leaf addr { config "false"; type address_Mac; description "Address"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Identifier of the logical interface leaf ifId { config "false"; type nw_IfId; description "Path"; } // Ep flags leaf flags { config "false"; type epm_EpFlags; description "Endpoint Properties and State"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Endpoint Create TimeStamp"; } container rsmacEpToIpEpAtt-items { list RsMacEpToIpEpAtt-list { config "false"; key "tDn"; uses epm_RsMacEpToIpEpAtt_source-group; } } container rtEpRslttoMacEpAtt-items { uses eptrk_RtEpRslttoMacEpAtt_target-group; } } grouping vlan_CktEp-group { description "Vlan"; leaf fabEncap { type string; description "The encapsulation used in the fabric to implement flood control"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // domain id leaf id { type l2_DomId; description "Domain ID"; } // Internal domain id leaf hwId { config "false"; type l2_DomId; description "Hardware Resource ID"; } // Vlan mode leaf mode { type l2_DomMode; description "Mode"; } // admin state leaf adminSt { type l2_DomAdminSt; description "Admin State"; } // oper state leaf operSt { config "false"; type l2_DomOperSt; description "Operational State"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Creation Timestamp"; } // Controls leaf ctrl { type l2_DomCtrl; description "Controls"; } leaf encap { type string; description "Encap identifying the epg"; } // Enforcement preference leaf enfPref { type l2_EnfPref; description "Switching Preference"; } // It represents the classId for the traffic // terminating on this circuit leaf pcTag { type actrl_PcTag; description "It represents the classId for the traffic terminating on this circuit"; } // It represents the default qos group for the // traffic on this circuit leaf qosPrio { type qos_TenantPrio; description "It represents the default qos group for the traffic on this circuit"; } leaf epgDn { type string; description "EPG DN"; } // Static Mac end point container mac-items { list MacEp-list { config "false"; key "mac"; uses l2_MacEp-group; description "Desired MAC Endpoint list"; } description "Desired MAC Endpoint"; } // Abstraction of epm database container db-items { list Db-list { config "false"; key "type"; uses epm_Db-group; description "Database list"; } description "Database"; } container rtfvEPgDefToL2Dom-items { list RtFvEPgDefToL2Dom-list { config "false"; key "tDn"; uses fv_RtFvEPgDefToL2Dom_target-group; description "EPgDef to L2 Domain Attachment list"; } description "EPgDef to L2 Domain Attachment"; } container rtfvDomIfConn-items { list RtFvDomIfConn-list { config "false"; key "tDn"; uses fv_RtFvDomIfConn_target-group; description "Domain Interface Attachment list"; } description "Domain Interface Attachment"; } container rsvlanEppAtt-items { uses vlan_RsVlanEppAtt_source-group; description "Epp Attachment"; } container rspathDomAtt-items { list RsPathDomAtt-list { config "false"; key "tDn"; uses l2_RsPathDomAtt_source-group; description "Port Domain Attachment list"; } description "Port Domain Attachment"; } container rsdscpRuleAtt-items { list RsDscpRuleAtt-list { key "tDn"; uses l2_RsDscpRuleAtt_source-group; description "DSCP Rule Attachment list"; } description "DSCP Rule Attachment"; } container rsdot1pRuleAtt-items { list RsDot1pRuleAtt-list { key "tDn"; uses l2_RsDot1pRuleAtt_source-group; description "Dot1p Rule Attachment list"; } description "Dot1p Rule Attachment"; } } grouping l2_MacEp-group { description "Desired MAC Endpoint"; leaf mac { config "false"; type address_Mac; description "MAC"; } // The interface on which the endpoint is reachable leaf if { config "false"; type nw_IfId; description "Interface"; } // Operational state leaf operSt { config "false"; type epm_EpOperSt; description "Operational State"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } container rtfvEpDefRefToL2MacEp-items { list RtFvEpDefRefToL2MacEp-list { config "false"; key "tDn"; uses fv_RtFvEpDefRefToL2MacEp_target-group; } } } grouping vxlan_CktEp-group { description "Vxlan"; // Multicast group address (GIPO'), Outer multicast // encapsulation ip address for this layer2 domain leaf mcastEncap { config "false"; type mcast_GrpIp; description "Multicast Encapsulation"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // domain id leaf id { config "false"; type l2_DomId; description "Domain ID"; } // Internal domain id leaf hwId { config "false"; type l2_DomId; description "Hardware Resource ID"; } // Vlan mode leaf mode { config "false"; type l2_DomMode; description "Mode"; } // admin state leaf adminSt { config "false"; type l2_DomAdminSt; description "Admin State"; } // oper state leaf operSt { config "false"; type l2_DomOperSt; description "Operational State"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Creation Timestamp"; } // Controls leaf ctrl { config "false"; type l2_DomCtrl; description "Controls"; } leaf encap { config "false"; type string; description "Encap identifying the epg"; } // Enforcement preference leaf enfPref { config "false"; type l2_EnfPref; description "Switching Preference"; } // It represents the classId for the traffic // terminating on this circuit leaf pcTag { config "false"; type actrl_PcTag; description "It represents the classId for the traffic terminating on this circuit"; } // It represents the default qos group for the // traffic on this circuit leaf qosPrio { config "false"; type qos_TenantPrio; description "It represents the default qos group for the traffic on this circuit"; } leaf epgDn { config "false"; type string; description "EPG DN"; } // Abstraction of epm database container db-items { list Db-list { config "false"; key "type"; uses epm_Db-group; description "Database list"; } description "Database"; } container rtfvEPgDefToL2Dom-items { list RtFvEPgDefToL2Dom-list { config "false"; key "tDn"; uses fv_RtFvEPgDefToL2Dom_target-group; description "EPgDef to L2 Domain Attachment list"; } description "EPgDef to L2 Domain Attachment"; } container rtfvDomIfConn-items { list RtFvDomIfConn-list { config "false"; key "tDn"; uses fv_RtFvDomIfConn_target-group; description "Domain Interface Attachment list"; } description "Domain Interface Attachment"; } container rsvxlanEppAtt-items { uses vxlan_RsVxlanEppAtt_source-group; description "Epp Attachement"; } container rspathDomAtt-items { list RsPathDomAtt-list { config "false"; key "tDn"; uses l2_RsPathDomAtt_source-group; description "Port Domain Attachment list"; } description "Port Domain Attachment"; } container rsdscpRuleAtt-items { list RsDscpRuleAtt-list { key "tDn"; uses l2_RsDscpRuleAtt_source-group; description "DSCP Rule Attachment list"; } description "DSCP Rule Attachment"; } container rsdot1pRuleAtt-items { list RsDot1pRuleAtt-list { key "tDn"; uses l2_RsDot1pRuleAtt_source-group; description "Dot1p Rule Attachment list"; } description "Dot1p Rule Attachment"; } } grouping nvo_Evi-group { description "Configuration of EVI under VLAN"; leaf auto { type boolean; description "Enable/disable automatic assignment of EVI value"; } leaf operId { config "false"; type uint32; description "EVI Identifier for VLAN."; } leaf operVlanId { config "false"; type uint32; description "Indicates identifier of VLAN under which EVI is configured."; } leaf operLabel { config "false"; type uint32; description "Indicates local label assigend to EVI."; } leaf operSt { config "false"; type nvo_VniStateT; description "Indicates operational state of EVI"; } } grouping resmgr_ResVlan-group { description "Resmgr vlan reservation"; leaf sysVlan { type uint16 { range "0..4032"; } default "3968"; description "System vlan reservation"; } leaf blockVal64 { type boolean; default "false"; description "System vlan block64 reservation"; } leaf currentmin { config "false"; type uint16; description "Current min system vlan configured"; } leaf currentmax { config "false"; type uint16; description "Current max system vlan configured"; } } grouping icam_Entity-group { description "ICAM Entity"; // MO1 : ICAM inst container inst-items { uses icam_Inst-group; description "ICAM Instance"; } // Resource Utilization and Monitoring object ! sys/icam/rumon ! container rumon-items { uses icam_ResUtilMon-group; description "iCAM resource utilization monitoring object"; } } grouping icam_Inst-group { description "ICAM Instance"; // 1.1 ICAM interval leaf interval { type icam_Interval; description "iCAM Monitor Interval"; } leaf numinterval { type icam_NumInterval; description "Num of Intervals in History"; } // MO2 :ICAM Scale MO container scale-items { uses icam_Scale-group; description "ICAM Scale Monitoring Instance"; } // MO7 :.Entries container entclass-items { list Entries-list { key "class module instance"; uses icam_Entries-group; description "ICAM Entries to monitor list"; } description "ICAM Entries to monitor"; } // MO8 :.Resources container resclass-items { list Resource-list { key "class module instance"; uses icam_Resource-group; description "ICAM Resources to monitor list"; } description "ICAM Resources to monitor"; } // MO9 :ICAM System MO container sysmon-items { uses icam_System-group; description "ICAM System Monitoring Instance"; } // Ephemeral data container mod-items { // Ephemeral data list MonACLEntries-list { config "false"; key "module inst feature value_mask"; uses icam_MonACLEntries-group; description "iCAM ACL Entries Information list"; } description "iCAM ACL Entries Information"; } // Ephemeral data container aclresmod-items { // Ephemeral data list AclResEntries-list { config "false"; key "module inst tcam_no bank_no"; uses icam_AclResEntries-group; description "iCAM ACL TCAM Resource Utilization list"; } description "iCAM ACL TCAM Resource Utilization"; } } grouping icam_Scale-group { description "ICAM Scale Monitoring Instance"; leaf info { type uint16 { range "1..100"; } default "80"; description "Info threshold percent"; } leaf warning { type uint16 { range "1..100"; } default "90"; description "Warning threshold percent"; } leaf critical { type uint16 { range "1..100"; } default "100"; description "Critical threshold percent"; } leaf scalecfg { type boolean; description "Scale feature config [yes/no]"; } leaf scaleoper { config "false"; type boolean; description "fake data for oper icam fix"; } // MO3 :ICAM L2 Scale MO container l2scale-items { uses icam_L2Scale-group; description "ICAM Layer 2 Scale Monitoring"; } // MO4 :ICAM Unicast Scale MO container unicastscale-items { uses icam_UnicastScale-group; description "ICAM Unicast Scale Monitoring"; } // MO5 :ICAM Multicast Scale MO container multicastscale-items { uses icam_MulticastScale-group; description "ICAM Multicast Scale Monitoring"; } // MO6 :ICAM VxLAN Scale MO container vxlanscale-items { uses icam_VxlanScale-group; description "ICAM VxLAN Scale Monitoring"; } } grouping icam_L2Scale-group { description "ICAM Layer 2 Scale Monitoring"; leaf mstInstLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching STP MST-Instance Limit"; } leaf mstVportLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching STP MST-Vport Limit"; } leaf rpvstVportLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching STP RPVST-Vport Limit"; } leaf rpvstVlanLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching STP RPVST-Vlans Limit"; } leaf isoPortvlanLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching STP isolated Port Vlans Limit"; } leaf infraMacLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching Infra MAC-address Limit"; } leaf vlancountLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching VLANs VLAN-count Limit"; } leaf rpvstLportLimit { type uint32 { range "0..4294967295"; } description "Scale L2 switching STP RPVST-Lport Limit"; } } grouping icam_UnicastScale-group { description "ICAM Unicast Scale Monitoring"; leaf arpcountLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing ARP ARP-count Limit"; } leaf bfdSessionLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing BFD Session Limit"; } leaf bgpNeighLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing BGP Neighbour Limit"; } leaf eigrpNeighLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing EIGRP Neighbour Limit"; } leaf eigrpRouteLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing EIGRP Route Limit"; } leaf hsrpGrpLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing HSRP group Limit"; } leaf ipv6NdLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing IPv6 ND-count Limit"; } leaf isisAdjLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing ISIS Adj Limit"; } leaf isisBdfSessLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing ISIS BFD Session Limit"; } leaf isisRouteLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing ISIS Route Limit"; } leaf ospfAreaLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing OSPF Area Limit"; } leaf ospfLsaLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing OSPF LSA Limit"; } leaf ospfNeighLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing OSPF Neighbour Limit"; } leaf pbrAcev4Limit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing PBR IPv4 ACEs Limit"; } leaf pbrAcev6Limit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing PBR IPv6 ACEs Limit"; } leaf pbrAcev4v6Limit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing PBR IPv4v6 ACEs Limit"; } leaf pbrIntfLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing PBR Interface Limit"; } leaf pbrNhPerPcLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing PBR Next Hope Per Policy Limit"; } leaf pbrSeqPerPcLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing PBR Sequences Per Policy Limit"; } leaf routingHostV4Limit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing Host Route V4 Limit"; } leaf routingHostV6Limit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing Host Route V6 Limit"; } leaf routingLpmV4Limit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing LPM Route V4 Limit"; } leaf routingLpmV6Limit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing LPM Route V6 Limit"; } leaf vrfCountLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing VRF count Limit"; } leaf vrrpGrpIntfLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing VRRP Grp per interface Limit"; } leaf vrrp3GrpIntfLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing VRRP3 Grp per interface Limit"; } leaf vrrp3GrpPathLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing VRRPv3 groups and pathways combined Limit"; } leaf vrrp3GrpTimerLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing VRRPv3 groups with default timers Limit"; } leaf vrrp3RelTimerLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing VRRPv3 groups with relaxed timers Limit"; } leaf vrrp3PathDftTimerLimit { type uint32 { range "0..4294967295"; } description "Scale Unicast Routing PAthways with one VRRPv3 groups with default timers Limit"; } } grouping icam_MulticastScale-group { description "ICAM Multicast Scale Monitoring"; leaf multicastIgmpGrpLimit { type uint32 { range "0..4294967295"; } description "Scale Multicast IGMP Group Limit"; } leaf multicastPimNeighLimit { type uint32 { range "0..4294967295"; } description "Scale Multicast PIM Neighbour Limit"; } leaf multicastRoutingFwdIntfLimit { type uint32 { range "0..4294967295"; } description "Scale Multicast Routing and Forwarding Outgoing interface Limit"; } leaf multicastRoutingFwdRoutev4Limit { type uint32 { range "0..4294967295"; } description "Scale Multicast Routing and Forwarding IPv4 Route Limit"; } leaf multicastRoutingFwdRoutev6Limit { type uint32 { range "0..4294967295"; } description "Scale Multicast Routing and Forwarding IPv6 Route Limit"; } leaf multicastRoutingFwdRouteSGv4Limit { type uint32 { range "0..4294967295"; } description "Scale Multicast Routing and Forwarding IPv4 SG Route Limit"; } leaf multicastRoutingFwdRouteSGv6Limit { type uint32 { range "0..4294967295"; } description "Scale Multicast Routing and Forwarding IPv6 SG Route Limit"; } leaf multicastRoutingFwdRouteStarGv4Limit { type uint32 { range "0..4294967295"; } description "Scale Multicast Routing and Forwarding IPv4 StarG Route Limit"; } leaf multicastRoutingFwdRouteStarGv6Limit { type uint32 { range "0..4294967295"; } description "Scale Multicast Routing and Forwarding IPv6 StarG Route Limit"; } } grouping icam_VxlanScale-group { description "ICAM VxLAN Scale Monitoring"; leaf vxlanBgpHostv4Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP IPv4 host route Limit"; } leaf vxlanBgpHostv6Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP IPv6 host route Limit"; } leaf vxlanBgpIgmpgrpLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP IGMP group Limit"; } leaf vxlanBgpMacLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP Mac Address Limit"; } leaf vxlanBgpOvrlLpmv4Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP IPv4 LPM route Limit"; } leaf vxlanBgpOvrlLpmv6Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP IPv6 LPM route Limit"; } leaf vxlanBgpSviLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP SVI with Anycast Gateway Limit"; } leaf vxlanBgpUnderlMcastLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP Underlay multicast group Limit"; } leaf vxlanBgpVlanVpLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP VLAN logical port VP count Limit"; } leaf vxlanBgpVlanFexLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP VLAN per FEX port Limit"; } leaf vxlanBgpVniLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP VNI Limit"; } leaf vxlanBgpVrfLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP VRF Limit"; } leaf vxlanBgpVtepLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP VTEP Limit"; } leaf vxlanBgpirHostv4Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR IPv4 host route Limit"; } leaf vxlanBgpirHostv6Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR IPv6 host route Limit"; } leaf vxlanBgpirIgmpgrpLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR IGMP group Limit"; } leaf vxlanBgpirMacLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR Mac Address Limit"; } leaf vxlanBgpirOvrlLpmv4Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR IPv4 LPM route Limit"; } leaf vxlanBgpirOvrlLpmv6Limit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR IPv6 LPM route Limit"; } leaf vxlanBgpirSviLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR SVI with Anycast Gateway Limit"; } leaf vxlanBgpirVlanVpLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR VLAN logical port VP count Limit"; } leaf vxlanBgpirVlanFexLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR VLAN per FEX port Limit"; } leaf vxlanBgpirVniLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR VNI Limit"; } leaf vxlanBgpirVrfLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR VRF Limit"; } leaf vxlanBgpirVtepLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN BGP-IR VTEP Limit"; } leaf vxlanFlIgmpgrpLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn IGMP group Limit"; } leaf vxlanFlIrMacLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn IR Mac Address Limit"; } leaf vxlanFlIrPeerLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn IR Peer Limit"; } leaf vxlanFlIrVniLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn IR L2 Vni Limit"; } leaf vxlanFlTotalMacLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn Total MAC Limit"; } leaf vxlanFlStaticMacLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn Static MAC Limit"; } leaf vxlanFlUnerlMcastLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn Underlay multicast group Limit"; } leaf vxlanFlVlanVpLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn Vlan Logical VP Limit"; } leaf vxlanFlVlanSwMapLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn VLAN translations in a switch Limit"; } leaf vxlanFlVlanIntfMapLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn VLAN translations under an interface Limit"; } leaf vxlanFlVlanFexPortLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn Vlan Per Fex Port Limit"; } leaf vxlanFlVniLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn VNI Limit"; } leaf vxlanFlVniVpcLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn VNIs for vPC-centralized gateway Limit"; } leaf vxlanFlVtepLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN Flood and learn remote VTEP Limit"; } leaf vxlanIgmpUnderlMcastLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN IGMP Underlay multicast group Limit"; } leaf vxlanIgmpVlanLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN IGMP VLAN Limit"; } leaf vxlanIgmpVtepLimit { type uint32 { range "0..4294967295"; } description "Scale VxLAN IGMP VTEP Limit"; } } grouping icam_Entries-group { description "ICAM Entries to monitor"; leaf class { type icam_Entclass; description "iCAM Entries Class Type"; } leaf module { type uint32; description "Module Number for iCAM Entries"; } leaf instance { type uint32; description "Forwarding Instance Number"; } } grouping icam_Resource-group { description "ICAM Resources to monitor"; leaf class { type icam_Resclass; description "iCAM Resources Class Type"; } leaf module { type uint32; description "Module Number for iCAM Resource"; } leaf instance { type uint32; description "Forwarding Instance Number"; } } grouping icam_System-group { description "ICAM System Monitoring Instance"; leaf info { type uint16 { range "1..100"; } default "80"; description "Info threshold percent"; } leaf warning { type uint16 { range "1..100"; } default "90"; description "Warning threshold percent"; } leaf critical { type uint16 { range "1..100"; } default "100"; description "Critical threshold percent"; } leaf systemcfg { type boolean; description "System feature config [yes/no]"; } } grouping icam_MonACLEntries-group { description "iCAM ACL Entries Information"; // Ephemeral data leaf feature { config "false"; type string; description "ACL Feature Name"; } // Ephemeral data leaf class_type { config "false"; type string; description "Packet Type"; } // Ephemeral data leaf value_mask { config "false"; type string; description "Source and Destination IP"; } // Ephemeral data leaf action { config "false"; type string; description "ACL Action"; } // Ephemeral data leaf ifindex { config "false"; type icam_Index; description "Interface ifindex"; } // Ephemeral data leaf cum_stats { config "false"; type uint64; description "Cumulative Traffic Stats"; } // Ephemeral data leaf module { config "false"; type uint32; description "Module No."; } // Ephemeral data leaf inst { config "false"; type uint32; description "Instance/FE No."; } } grouping icam_AclResEntries-group { description "iCAM ACL TCAM Resource Utilization"; // Ephemeral data leaf tcam_no { config "false"; type uint32; description "TCAM No."; } // Ephemeral data leaf bank_no { config "false"; type uint32; description "Bank No."; } // Ephemeral data leaf used { config "false"; type uint32; description "Number of Used Entries"; } // Ephemeral data leaf free { config "false"; type uint32; description "Number of Free Entries"; } // Ephemeral data leaf percent_util { config "false"; type decimal64 { fraction-digits 6; } description "Percentage Utilization"; } // Ephemeral data leaf timestamp { config "false"; type uint64; description "Timestamp"; } // Ephemeral data leaf module { config "false"; type uint32; description "Module No."; } // Ephemeral data leaf inst { config "false"; type uint32; description "Instance No."; } } grouping icam_ResUtilMon-group { description "iCAM resource utilization monitoring object"; // CPU Utilization and Monitoring object ! sys/icam/rumon/cpu ! container cpu-items { uses icam_CpuUtilMon-group; description "iCAM CPU utilization and monitoring object for each running process in the system"; } // Memory Utilization and Monitoring object ! sys/icam/rumon/memory ! container mem-items { uses icam_MemUtilMon-group; description "iCAM Memory utilization and monitoring object for each running process in the system"; } } grouping icam_CpuUtilMon-group { description "iCAM CPU utilization and monitoring object for each running process in the system"; // Sample Interval object that holds the CPU stats of all the processes monitored ! sys/icam/rumon/cpu/sample-[id] ! Interval identifier can be 1min/5min/1hr ! container sample-items { list CpuSampleInterval-list { config "false"; key "id"; uses icam_CpuSampleInterval-group; description "The sample interval during which the CPU stats are collected and min/max/avg values are deduced list"; } description "The sample interval during which the CPU stats are collected and min/max/avg values are deduced"; } } grouping icam_CpuSampleInterval-group { description "The sample interval during which the CPU stats are collected and min/max/avg values are deduced"; leaf id { config "false"; type icam_sampleIntervalId; description "identifies the time interval in seconds, during which the samples are analyzed"; } // Process Object that inherits the utilization stats object ! sys/icam/rumon/cpu/sample-[id]/process-[id]/avg ! container process-items { list CpuProcess-list { config "false"; key "id"; uses icam_CpuProcess-group; description "The object that holds the CPU utilization stats of a process list"; } description "The object that holds the CPU utilization stats of a process"; } } grouping icam_CpuProcess-group { description "The object that holds the CPU utilization stats of a process"; leaf name { config "false"; type icam_processName; description "The name of the process"; } leaf id { config "false"; type icam_processId; description "The pid of the process"; } leaf usrMin { config "false"; type decimal64 { fraction-digits 6; } default "0"; description "Minimum Utilization of User CPU"; } leaf usrMax { config "false"; type decimal64 { fraction-digits 6; } default "0"; description "Maximum Utilization of User CPU"; } leaf usrAvg { config "false"; type decimal64 { fraction-digits 6; } default "0"; description "Average Utilization of User CPU"; } leaf kerMin { config "false"; type decimal64 { fraction-digits 6; } default "0"; description "Minimum Utilization of Kernel CPU"; } leaf kerMax { config "false"; type decimal64 { fraction-digits 6; } default "0"; description "Maximum Utilization of Kernel CPU"; } leaf kerAvg { config "false"; type decimal64 { fraction-digits 6; } default "0"; description "Average Utilization of Kernel CPU"; } } grouping icam_MemUtilMon-group { description "iCAM Memory utilization and monitoring object for each running process in the system"; // Sample Interval object that holds the data of all the processes monitored ! sys/icam/rumon/mem/sample-[id] ! Interval identifier can be 1min/5min/1hr ! container sample-items { list MemSampleInterval-list { config "false"; key "id"; uses icam_MemSampleInterval-group; description "The sample interval during which the memory stats are collected and min/max/avg values are deduced list"; } description "The sample interval during which the memory stats are collected and min/max/avg values are deduced"; } } grouping icam_MemSampleInterval-group { description "The sample interval during which the memory stats are collected and min/max/avg values are deduced"; leaf id { config "false"; type icam_sampleIntervalId; description "identifies the time interval in seconds, during which the samples are analyzed"; } // Process Object that inherits the utilization stats object ! sys/icam/rumon/mem/sample-[id]/process-[id]/avg ! container process-items { list MemProcess-list { config "false"; key "id"; uses icam_MemProcess-group; description "The MO that holds the physical memory (VmRSS) utilization stats of a process, in KB list"; } description "The MO that holds the physical memory (VmRSS) utilization stats of a process, in KB"; } } grouping icam_MemProcess-group { description "The MO that holds the physical memory (VmRSS) utilization stats of a process, in KB"; leaf name { config "false"; type icam_processName; description "The name of the process"; } leaf id { config "false"; type icam_processId; description "The pid of the process"; } leaf min { config "false"; type int64; description "Minimum Utilization of a resource"; } leaf max { config "false"; type int64; description "Maximum Utilization of a resource"; } leaf avg { config "false"; type int64; description "Average Utilization of a resource"; } } grouping icam_Capacity-group { description "MO holding System Capacity and usage information"; // Acl Resource Utilization object ! sys/capacity/aclresutil ! container aclresutil-items { uses icam_AclResUtil-group; description "Acl resource utilization object"; } // Fib Resource Utilization object ! sys/fibresutil ! container fibresutil-items { uses icam_FibResUtil-group; description "Fib resource utilization object"; } // Scale operation data object ! sys/capacity/scale ! container scale-items { uses icam_ScaleOper-group; description "Scale object containing verified limits and current scale"; } } grouping icam_AclResUtil-group { description "Acl resource utilization object"; // Module object that holds the ACL resource utilization on the module ! sys/capacity/aclresutil/module-[id] ! Module identifier can be 1-20 ! container module-items { list ModuleInfo-list { config "false"; key "id"; uses icam_ModuleInfo-group; description "Acl resource utilization information on the module list"; } description "Acl resource utilization information on the module"; } } grouping icam_ModuleInfo-group { description "Acl resource utilization information on the module"; leaf id { config "false"; type uint16; description "Identifies the module by Id"; } leaf moduleName { config "false"; type icam_ModuleName; description "Identifies the module name"; } // Instance object that holds the ACL resource utilization on the module ! sys/capacity/aclresutil/module-[id]/instance-[id] ! Module identifier can be 1-20 ! container instance-items { list Instance-list { config "false"; key "id"; uses icam_Instance-group; description "Acl resource utilization information on the instance list"; } description "Acl resource utilization information on the instance"; } } grouping icam_Instance-group { description "Acl resource utilization information on the instance"; leaf id { config "false"; type uint16; description "Identifies the instance by Id"; } // AclRegion object that holds the ACL resource utilization in the region ! sys/capacity/aclresutil/module-[id]/instance-[id]/region-[name] ! Module identifier can be 1-20 ! container region-items { list AclRegion-list { config "false"; key "name"; uses icam_AclRegion-group; description "Acl resource utilization information in the region list"; } description "Acl resource utilization information in the region"; } } grouping icam_AclRegion-group { description "Acl resource utilization information in the region"; leaf name { config "false"; type icam_AclRegion; description "Identifies the acl region by name"; } leaf regionMax { config "false"; type uint32; description "Max capacity of region"; } leaf regionUsed { config "false"; type uint32; description "Used region"; } leaf regionFree { config "false"; type uint32; description "Free region"; } leaf regionUtil { config "false"; type decimal64 { fraction-digits 6; } description "Utilization of region in percentage"; } // AclType object that holds the ACL resource subtype utilization within the region ! sys/capacity/aclresutil/module-[id]/instance-[id]/region-[name]/acl-[acltype] ! container acl-items { list AclType-list { config "false"; key "acltype"; uses icam_AclType-group; description "Acl type categorization within the region list"; } description "Acl type categorization within the region"; } } grouping icam_AclType-group { description "Acl type categorization within the region"; leaf acltype { config "false"; type icam_AclType; description "Identifies the acl subtype by name"; } leaf used { config "false"; type uint32; description "Used value of subtype acl within the region"; } leaf util { config "false"; type decimal64 { fraction-digits 6; } description "Utilization of subtype acl within the region in percentage"; } } grouping icam_FibResUtil-group { description "Fib resource utilization object"; // Module object that holds the FIB resource utilization on the module ! sys/capacity/fibresutil/module-[id] ! Module identifier can be 1-20 ! container module-items { list FibModuleInfo-list { config "false"; key "id"; uses icam_FibModuleInfo-group; description "Fib resource utilization information on the module list"; } description "Fib resource utilization information on the module"; } } grouping icam_FibModuleInfo-group { description "Fib resource utilization information on the module"; leaf id { config "false"; type uint16; description "Identifies the module by Id"; } leaf moduleName { config "false"; type icam_ModuleName; description "Identifies the module name"; } leaf configuredMode { config "false"; type icam_ConfiguredMode; description "Configured routing mode"; } // ECMP object that holds the forwarding table ECMP resource utilization ! sys/capacity/fibresutil/module-[id]/ecmp ! container ecmp-items { uses icam_Ecmp-group; description "Forwarding table ECMP resource utilization"; } // NextHop object that holds the forwarding table NextHop resource utilization ! sys/capacity/fibresutil/module-[id]/nexthop ! container nexthop-items { uses icam_NextHop-group; description "Forwarding table NextHop resource utilization"; } // FibRegion object that holds the FIB resource utilization in the region ! sys/capacity/fibresutil/module-[id]/region-[name] ! container region-items { list FibRegion-list { config "false"; key "name"; uses icam_FibRegion-group; description "Acl resource utilization information in the region list"; } description "Acl resource utilization information in the region"; } } grouping icam_Ecmp-group { description "Forwarding table ECMP resource utilization"; leaf ecmpMax { config "false"; type uint32; description "Max ECMP resource available"; } leaf ecmpUsed { config "false"; type uint32; description "Used ECMP resource"; } leaf ecmpUtil { config "false"; type decimal64 { fraction-digits 6; } description "Utilization of ECMP resource in percentage"; } } grouping icam_NextHop-group { description "Forwarding table NextHop resource utilization"; leaf nhMax { config "false"; type uint32; description "Max Next Hop resource available"; } leaf nhUsed { config "false"; type uint32; description "Used Next Hop resource"; } leaf nhUtil { config "false"; type decimal64 { fraction-digits 6; } description "Utilization of Next Hop resource in percentage"; } } grouping icam_FibRegion-group { description "Acl resource utilization information in the region"; leaf name { config "false"; type icam_FibRegion; description "Identifies the fib region by name"; } leaf regionMax { config "false"; type uint32; description "Max capacity of region"; } leaf regionUsed { config "false"; type uint32; description "Used region"; } leaf regionFree { config "false"; type uint32; description "Free region"; } leaf regionUtil { config "false"; type decimal64 { fraction-digits 6; } description "Utilization of region in percentage"; } // FibResource object that holds the FIB resource subtype utilization within the region ! sys/capacity/fibresutil/module-[id]/region-[name]/resource-[resname] ! container resource-items { list FibResource-list { config "false"; key "resname"; uses icam_FibResource-group; description "Acl type categorization within the region list"; } description "Acl type categorization within the region"; } } grouping icam_FibResource-group { description "Acl type categorization within the region"; leaf resname { config "false"; type icam_FibResource; description "Identifies the fib resource by name"; } leaf used { config "false"; type uint32; description "Used value of fib resource within the region"; } leaf util { config "false"; type decimal64 { fraction-digits 6; } description "Utilization of fib resource within the region in percentage"; } } grouping icam_ScaleOper-group { description "Scale object containing verified limits and current scale"; // Technology object that holds the Scale category based on technology! sys/capacity/scale/tech-[name] ! container tech-items { list Technology-list { config "false"; key "name"; uses icam_Technology-group; description "Scale Technology category list"; } description "Scale Technology category"; } } grouping icam_Technology-group { description "Scale Technology category"; leaf name { config "false"; type icam_TechnologyName; description "Identifies scale technology category by name"; } // Feature object that holds the Scale limits and usage for feature at system/module/instance level! sys/capacity/scale/tech-[name]/feat-[name]-mod-[id]-inst-[instid] ! container feat-items { list Feature-list { config "false"; key "name id instid"; uses icam_Feature-group; description "Feature Scale limits and usage based at system/module/intance level list"; } description "Feature Scale limits and usage based at system/module/intance level"; } } grouping icam_Feature-group { description "Feature Scale limits and usage based at system/module/intance level"; leaf name { config "false"; type icam_FeatureName; description "Identifies scale feature catergory by name"; } leaf id { config "false"; type string; description "Identifies module id else none if not applicable"; } leaf instid { config "false"; type string; description "Identifies instance id else none if not applicable"; } leaf verified_scale { config "false"; type uint32; description "Verified scale limit for the feature"; } leaf config_scale { config "false"; type uint32; description "Configured scale limit for the feature"; } leaf scale_value { config "false"; type uint32; description "Scale Value of the feature"; } leaf scale_util { config "false"; type decimal64 { fraction-digits 6; } description "Scale utilization for the feature"; } } grouping intersight_Entity-group { description "Intersight System"; leaf invEnabled { type boolean; default "true"; description "Intersight inventory enabled or disabled"; } // Intersight Connection container connection-items { uses intersight_Connection-group; description "Intersight connection configuration"; } // Intersight Proxy container proxy-items { uses intersight_Proxy-group; description "Intersight proxy configuration"; } // Intersight Certificate container certificate-items { uses intersight_Certificate-group; description "Intersight certificate configuration"; } // Intersight Vrf container vrf-items { uses intersight_Vrf-group; description "Intersight vrf configuration"; } // Intersight Source Interface container srcintf-items { uses intersight_SrcIntf-group; description "Intersight source interface configuration"; } } grouping intersight_Connection-group { description "Intersight connection configuration"; leaf connectionName { type intersight_ConnectionName; description "Intersight connection name"; } } grouping intersight_Proxy-group { description "Intersight proxy configuration"; leaf proxyHost { type intersight_ProxyHost; description "Intersight proxy server hostname"; } leaf proxyPort { type intersight_ProxyPort; description "Intersight proxy server l4 port number"; } leaf proxyUsername { type intersight_ProxyUsername; description "Intersight proxy server username"; } leaf proxyPassword { type intersight_ProxyPassword; description "Intersight proxy server password"; } leaf proxyPwdEncrType { type intersight_ProxyPwdEncrType; description "Intersigth proxy server password encryption type"; } } grouping intersight_Certificate-group { description "Intersight certificate configuration"; leaf trustpoint { type os_OsString { length "0..64"; } description "Name of the certificate trustpoint"; } leaf certHostname { type os_OsString { length "0..255"; } description "Hostname associated with the certificate"; } } grouping intersight_Vrf-group { description "Intersight vrf configuration"; leaf vrf { type l3_VrfName; default "management"; description "Intersight destination VRF name"; } } grouping intersight_SrcIntf-group { description "Intersight source interface configuration"; leaf srcIntf { type nw_IfId; description "Intersight source interface name"; } } grouping mdns_MdnsRoot-group { description "Root object of mdns config"; container inst-items { uses mdns_Inst-group; description "Inst object of mdns config"; } } grouping mdns_Inst-group { description "Inst object of mdns config"; leaf mdnsSd { type mdns_MdnsEn; description "Enable feature mdns globally"; } leaf annceCnt { type mdns_Count; description "Service announcement count"; } leaf annceTimer { type mdns_Timer; description "Announcement timer period"; } leaf qryCnt { type mdns_Count; description "Mdns service query count"; } leaf qryTimer { type mdns_QryTimer; description "Mdns query timer period"; } leaf ingQrySup { type mdns_MdnsEn; description "Enable Ingress query suppression"; } leaf ingQryPktGap { type mdns_IngPktGap; description "Ingress query packet gap"; } leaf ingQryReply { type mdns_IngQryRep; description "Ingress query reply count"; } leaf srcIntf { type mdns_SrcIfId; description "Mdns source interface for communication with SP"; } leaf mdnsMode { type mdns_Mdnsmod; description "configure flood/unicast model"; } leaf cacheSyncTimer { type mdns_cachesync; description "Cache sync timer interval"; } // Controller object container controller-items { list Controller-list { key "ctlrName"; uses mdns_Controller-group; description "Controller object of mdns config list"; } description "Controller object of mdns config"; } // Service Definition Root object container svcdefs-items { uses mdns_SvcDefs-group; description "Service Definitions object of mdns config"; } // Service List Root object container svclists-items { uses mdns_SvcLists-group; description "Service Lists object of mdns config"; } // Service Policy Root object container svcpols-items { uses mdns_SvcPols-group; description "Service Policies object of mdns config"; } // Ctrl Service List Root object container ctrlsvclists-items { uses mdns_CtrlSvcLists-group; description "Controller Service Lists object of mdns config"; } // Controller Service Policy Root object container ctrlsvcpols-items { uses mdns_CtrlSvcPols-group; description "Controller Service Policies object of mdns config"; } // Service peer-group Root object container spg-items { uses mdns_PeerGroupRoot-group; description "Service peer-group root object of mdns config"; } } grouping mdns_Controller-group { description "Controller object of mdns config"; leaf ctlrName { type mdns_CtlrName; description "Mdns global controller name"; } leaf ctlrAddr { type mdns_IpId; description "Mdns controller IP address"; } leaf ctlrIntf { type mdns_IfId; description "Mdns controller source interface"; } leaf ctlrPolicy { type mdns_ctlrPolicyName; description "Mdns controller policy attached"; } } grouping mdns_SvcDefs-group { description "Service Definitions object of mdns config"; // Service Definition object container sdef-items { list SDef-list { key "name"; uses mdns_SDef-group; description "Service Definition object of mdns config list"; } description "Service Definition object of mdns config"; } } grouping mdns_SDef-group { description "Service Definition object of mdns config"; leaf name { type mdns_serviceDefinitionName; description "Name of Service Definition"; } leaf desc { type mdns_serviceDefinitionDesc; description "Description of Service Definition"; } // Service Type object container stype-items { list SType-list { key "name"; uses mdns_SType-group; description "Service Type object of mdns config list"; } description "Service Type object of mdns config"; } } grouping mdns_SType-group { description "Service Type object of mdns config"; leaf name { type mdns_serviceTypeName; description "Name of Service Type"; } } grouping mdns_SvcLists-group { description "Service Lists object of mdns config"; // Service-List-In object container slistin-items { list SListIn-list { key "name"; uses mdns_SListIn-group; description "Service-List-In object of mdns config list"; } description "Service-List-In object of mdns config"; } // Service-List-Out object container slistout-items { list SListOut-list { key "name"; uses mdns_SListOut-group; description "Service-List-Out object of mdns config list"; } description "Service-List-Out object of mdns config"; } } grouping mdns_SListIn-group { description "Service-List-In object of mdns config"; leaf name { type mdns_serviceListInName; description "Name of Service-List-In"; } // Match-In object container matchin-items { list MatchIn-list { key "name"; uses mdns_MatchIn-group; description "Match-In object of mdns config list"; } description "Match-In object of mdns config"; } } grouping mdns_MatchIn-group { description "Match-In object of mdns config"; leaf name { type mdns_matchName; description "Name of Match-In service definition"; } leaf msgType { type mdns_msgType; description "Message Type associated with the Match"; } } grouping mdns_SListOut-group { description "Service-List-Out object of mdns config"; leaf name { type mdns_serviceListOutName; description "Name of Service-List-Out"; } // Match-Out object container matchout-items { list MatchOut-list { key "name"; uses mdns_MatchOut-group; description "Match-Out object of mdns config list"; } description "Match-Out object of mdns config"; } } grouping mdns_MatchOut-group { description "Match-Out object of mdns config"; leaf name { type mdns_matchName; description "Name of Match-Out service definition"; } leaf vlanList { type l2_VlanBitmap; description "Source interface vlans"; } } grouping mdns_SvcPols-group { description "Service Policies object of mdns config"; // Service Policy object container spol-items { list SPol-list { key "name"; uses mdns_SPol-group; description "Service Policy object of mdns config list"; } description "Service Policy object of mdns config"; } } grouping mdns_SPol-group { description "Service Policy object of mdns config"; leaf name { type mdns_servicePolicyName; description "Name of the Service Policy"; } leaf listIn { type mdns_listInName; description "Name of the in-service-list"; } leaf listOut { type mdns_listOutName; description "Name of the out-service-list"; } } grouping mdns_CtrlSvcLists-group { description "Controller Service Lists object of mdns config"; // Ctrl Service-List-object container ctrlslist-items { list CtrlSList-list { key "name"; uses mdns_CtrlSList-group; description "Controller Service-List object of mdns config list"; } description "Controller Service-List object of mdns config"; } } grouping mdns_CtrlSList-group { description "Controller Service-List object of mdns config"; leaf name { type mdns_ctrlServiceListName; description "Name of Controller Service-List"; } // Ctrl Service list Match object container ctrlmatch-items { list CtrlMatch-list { key "name"; uses mdns_CtrlMatch-group; description "Controller Match object of mdns config list"; } description "Controller Match object of mdns config"; } } grouping mdns_CtrlMatch-group { description "Controller Match object of mdns config"; leaf name { type mdns_matchName; description "Name of Controller Match service definition"; } leaf msgType { type mdns_msgType; description "Message Type associated with the Match"; } leaf vlanList { type l2_VlanBitmap; description "Source interface vlans"; } } grouping mdns_CtrlSvcPols-group { description "Controller Service Policies object of mdns config"; // Controller Service Policy object container ctrlspol-items { list CtrlSPol-list { key "name"; uses mdns_CtrlSPol-group; description "Controller Service Policy object of mdns config list"; } description "Controller Service Policy object of mdns config"; } } grouping mdns_CtrlSPol-group { description "Controller Service Policy object of mdns config"; leaf name { type mdns_ctrlServicePolicyName; description "Name of the Controller Service Policy"; } leaf list { type mdns_ctrlServiceListName; description "Name of the Controller service-list"; } } grouping mdns_PeerGroupRoot-group { description "Service peer-group root object of mdns config"; leaf localProxyEn { type mdns_LocalProxyType; description "Local proxy mode for service-peer group"; } // Service peer-group object container group-items { list PeerGroup-list { key "groupId"; uses mdns_PeerGroup-group; description "Service peer group object of mdns config list"; } description "Service peer group object of mdns config"; } } grouping mdns_PeerGroup-group { description "Service peer group object of mdns config"; leaf groupId { type uint16; description "Mdns Peer Group Id of mdns config"; } // primary oper properties leaf svcPolicyName { type mdns_svcPeerPolicyName; description "Mdns controller policy attached"; } // Service peer object container iptbl-items { list ServicePeerIpTable-list { key "svcPeerIp"; uses mdns_ServicePeerIpTable-group; description "Service peer Ip object of mdns config list"; } description "Service peer Ip object of mdns config"; } } grouping mdns_ServicePeerIpTable-group { description "Service peer Ip object of mdns config"; // naming admin property leaf svcPeerIp { type mdns_peerIpId; description "Mdns server peer IP address"; } // Service peer Entry object container id-items { list ServicePeerEntry-list { key "locationGroup role"; uses mdns_ServicePeerEntry-group; description "Service peer entry object of mdns config list"; } description "Service peer entry object of mdns config"; } } grouping mdns_ServicePeerEntry-group { description "Service peer entry object of mdns config"; // naming admin property leaf locationGroup { type mdns_locationGroupId; description "Mdns location group id of mdns config"; } leaf role { type mdns_roleName; description "Mdns service peer role of mdns config"; } } grouping monitor_Entity-group { description "Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Abstraction of coop database (repository) container db-items { list Db-list { config "false"; key "type"; uses monitor_Db-group; description "Database list"; } description "Database"; } // Monitor session definition. there could be only few sessions // active at a given time (max 4) container session-items { list Session-list { config "false"; key "name"; uses monitor_Session-group; description "Span Session list"; } description "Span Session"; } } grouping monitor_Db-group { description "Database"; // Type of the database leaf type { config "false"; type monitor_DbT; description "Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ep records container epr-items { list EpRec-list { config "false"; key "vnid ip"; uses monitor_EpRec-group; description "Endpoint Record list"; } description "Endpoint Record"; } } grouping monitor_EpRec-group { description "Endpoint Record"; leaf vnid { config "false"; type string; description "VNID"; } leaf ip { config "false"; type address_Ip; description "IP"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping monitor_Session-group { description "Span Session"; // Identifier of the session leaf id { config "false"; type monitor_SessionId; description "ID"; } // Administrative state of the session leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state of the session leaf operSt { config "false"; type monitor_OperSt; description "Operational State"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Monitor sources. The sources which we want to monitor container src-items { list Source-list { config "false"; key "type mode dir from to port"; uses monitor_Source-group; description "Source list"; } description "Source"; } // ERSpan destination information container erdst-items { uses monitor_ERDest-group; description "ERSPAN Destination"; } // Local span destination information container ldst-items { uses monitor_LocalDest-group; description "Local Destination"; } } grouping monitor_Source-group { description "Source"; // Source id leaf id { config "false"; type monitor_SrcId; description "ID"; } // Type of the source leaf type { config "false"; type monitor_SrcT; description "Type"; } // The direction of the packets to monitor leaf dir { config "false"; type monitor_Direction; description "Direction"; } leaf from { config "false"; type string; description "From"; } leaf to { config "false"; type string; description "To"; } // Port to monitor leaf port { config "false"; type nw_IfId; description "Port"; } // Mode of the source (access side or fabric side) leaf mode { config "false"; type monitor_Mode; description "Mode"; } // Operational state of the session leaf operSt { config "false"; type monitor_OperSt; description "Operational State"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping monitor_ERDest-group { description "ERSPAN Destination"; // Encapsulation type, the encapsulation of the monitored // packet sent to the destination leaf type { config "false"; type monitor_DestEncapT; description "Type"; } leaf srcIp { config "false"; type address_Ip; description "Source IP"; } leaf dstIp { config "false"; type address_Ip; description "Destination IP"; } // Erspan version leaf ver { config "false"; type monitor_ErSpanVer; description "Version"; } // Flow id of the erspan packet leaf flowId { config "false"; type monitor_FlowId; description "Flow ID"; } // Ttl used in the erspan packet leaf ttl { config "false"; type l3_Ttl; description "TTL"; } // the vrf on which the erspan packet is sent leaf vrfName { config "false"; type l3_VrfName; description "VRF"; } leaf vnid { config "false"; type string; description "VNID"; } // dscp value to be used when sending the monitored // packets using ERSpan leaf dscp { config "false"; type qosp_Dscp; description "Dscp"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // mtu truncation size for the packets leaf mtu { config "false"; type monitor_Mtu; description "MTU"; } // Operational state of the session leaf operSt { config "false"; type monitor_OperSt; description "Operational State"; } } grouping monitor_LocalDest-group { description "Local Destination"; // Port leaf port { config "false"; type nw_IfId; description "Port"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // mtu truncation size for the packets leaf mtu { config "false"; type monitor_Mtu; description "MTU"; } // Operational state of the session leaf operSt { config "false"; type monitor_OperSt; description "Operational State"; } } grouping netconf_Inst-group { description "Instance node for managing netconf properties"; leaf idleTimeout { type uint32 { range "0..1440"; } default "5"; description "Timeout in minutes after which idle client sessions are disconnected"; } leaf maxSessions { type uint16 { range "1..10"; } default "5"; description "Number of maximum simultaneous client sessions"; } container tls-items { uses netconf_Tls-group; description "Child mo for managing TLS properties"; } } grouping netconf_Tls-group { description "Child mo for managing TLS properties"; leaf port { type uint32 { range "1024..65535"; } default "6513"; description "Specifies the port number on which the TLS server listens"; } leaf cert { type os_OsString { length "0..64"; } description "Specifies the certificate trustpoint to be used for TLS authentication"; } leaf certClientRoot { type os_OsString { length "0..64"; } description "Specifies the root certificate trustpoint to be used for client TLS authentication"; } } grouping flow_Entity-group { description "Entity"; // Flow Record container fr-items { list Record-list { key "name"; uses flow_Record-group; description "Flow Record list"; } description "Flow Record"; } // Flow Exporter container fe-items { list Exporter-list { key "name"; uses flow_Exporter-group; description "Collector entry list"; } description "Collector entry"; } // Flow Monitor container fm-items { list Monitor-list { key "name"; uses flow_Monitor-group; description "Flow Monitor list"; } description "Flow Monitor"; } // Sampler container s-items { list Sampler-list { key "name"; uses flow_Sampler-group; description "Sampler list"; } description "Sampler"; } container cmap-items { list ClassMap-list { key "name"; uses flow_ClassMap-group; description "Class map instance list"; } description "Class map instance"; } container pmap-items { list PolicyMap-list { key "name"; uses flow_PolicyMap-group; description "Policy-map list"; } description "Policy-map"; } // Hardware profile container hp-items { list HwProfile-list { key "name"; uses flow_HwProfile-group; description "Hardware Profile list"; } description "Hardware Profile"; } // Forwarding instance based target container fit-items { list FwdInstTarget-list { key "slot asic slice"; uses flow_FwdInstTarget-group; description "Forward Instance Target list"; } description "Forward Instance Target"; } } grouping flow_Record-group { description "Flow Record"; leaf name { type string; description "Flow record name"; } leaf description { type string; description "Flow record description"; } leaf matchParams { type flow_MatchParams; description "Match Params"; } leaf collectParams { type flow_CollectParams; description "Collect Params"; } } grouping flow_Exporter-group { description "Collector entry"; leaf name { type string; description "Flow exporter name"; } leaf description { type string; description "Flow exporter description"; } leaf vrfName { type l3_VrfName; default "default"; description "Collector VRF"; } leaf destinationIp { type address_Ip; description "Collector IP"; } leaf destinationPort { type flow_L4Port; description "Collector L4 Port"; } leaf dscp { type ipqos_Dscp; description "DSCP value"; } // check leaf sourceInterface { type nw_IfId; description "Source Interface"; } leaf version { type flow_ExportVersion; description "Export version format"; } } grouping flow_Monitor-group { description "Flow Monitor"; leaf name { type string; description "Flow monitor name"; } leaf description { type string; description "Flow monitor description"; } container feb-items { list ExporterBucket-list { key "id"; uses flow_ExporterBucket-group; description "Flow exporter bucket entry list"; } description "Flow exporter bucket entry"; } container rsrecord-items { uses flow_RsRecord_source-group; description "Reference to flow record"; } } grouping flow_ExporterBucket-group { description "Flow exporter bucket entry"; leaf id { type uint8; description "Flow exporter bucket ID"; } leaf description { type string; description "Flow exporter bucket description"; } leaf hashLo { type uint32; description "Hash low"; } leaf hashHi { type uint32; description "Hash high"; } container rsexporter1-items { uses flow_RsExporter1_source-group; description "Reference to flow exporter1"; } container rsexporter2-items { uses flow_RsExporter2_source-group; description "Reference to flow exporter2"; } } grouping flow_Sampler-group { description "Sampler"; leaf name { type string; description "Sampler name"; } leaf description { type string; description "Sampler description"; } leaf mode { type flow_SamplerMode; description "Sampler mode"; } leaf param1 { type uint32; description "Sampler param1"; } leaf param2 { type uint32; description "Sampler param2"; } } grouping flow_ClassMap-group { description "Class map instance"; // class map name leaf name { type ipqos_CMapName; description "Name of class-map"; } // match access-group container acl-items { list MatchAcl-list { key "name"; uses flow_MatchAcl-group; description "Match ACL list"; } description "Match ACL"; } } grouping flow_MatchAcl-group { description "Match ACL"; // ACL to match leaf name { type acl_Name; description "Match using ACL"; } } grouping flow_PolicyMap-group { description "Policy-map"; // policy map name leaf name { type ipqos_PMapName; description "Name of policy-map"; } // match a class-map container cmap-items { list MatchClassMap-list { key "name"; uses flow_MatchClassMap-group; description "Match class-map list"; } description "Match class-map"; } } grouping flow_MatchClassMap-group { description "Match class-map"; // use class-map with this name leaf name { type ipqos_CMapName; description "Match using class-map"; } // set Flow Monitor container fm-items { uses flow_SetMonitor-group; description "Set Flow Monitor"; } } grouping flow_SetMonitor-group { description "Set Flow Monitor"; container rsmonitor-items { uses flow_RsMonitor_source-group; description "Reference to flow monitor"; } } grouping flow_HwProfile-group { description "Hardware Profile"; leaf name { type string; description "Hardware profile name"; } leaf description { type string; description "Hardware profile description"; } leaf exportInterval { type uint32; default "100"; description "Export Interval in milliseconds"; } leaf sourcePort { type flow_L4Port; description "Source L4 Port"; } leaf ipPacketIdShift { type uint8; description "IP Packet ID Shift"; } leaf burstIntervalShift { type uint8; description "Timestamp shift value for burst interval"; } leaf mtu { type flow_Mtu; description "MTU"; } container sngt-items { uses flow_SeqNumGuessThreshold-group; description "Sequence Number Guess Threshold"; } container plb-items { list PayloadLenBin-list { key "id"; uses flow_PayloadLenBin-group; description "Payload length bin entry list"; } description "Payload length bin entry"; } container tohlb-items { list TCPOptHdrLenBin-list { key "id"; uses flow_TCPOptHdrLenBin-group; description "TCP optional header length bin entry list"; } description "TCP optional header length bin entry"; } container rwsb-items { list ReceiveWindowSizeBin-list { key "id"; uses flow_ReceiveWindowSizeBin-group; description "Receive window size bin entry list"; } description "Receive window size bin entry"; } } grouping flow_SeqNumGuessThreshold-group { description "Sequence Number Guess Threshold"; leaf lo { type uint32; description "Low Threshold"; } leaf hi { type uint32; description "High Threshold"; } } grouping flow_PayloadLenBin-group { description "Payload length bin entry"; leaf id { type uint8; description "Payload length bin ID"; } leaf description { type string; description "Payload length bin description"; } leaf lo { type flow_PayloadLen; description "Bin low value"; } leaf hi { type flow_PayloadLen; description "Bin high value"; } } grouping flow_TCPOptHdrLenBin-group { description "TCP optional header length bin entry"; leaf id { type uint8; description "TCP option header length bin ID"; } leaf description { type string; description "TCP option header length bin description"; } leaf lo { type flow_TCPOptHdrLen; description "Bin low value"; } leaf hi { type flow_TCPOptHdrLen; description "Bin high value"; } } grouping flow_ReceiveWindowSizeBin-group { description "Receive window size bin entry"; leaf id { type uint8; description "Receive window size bin ID"; } leaf description { type string; description "Receive window size bin description"; } leaf lo { type flow_ReceiveWindowSize; description "Bin low value"; } leaf hi { type flow_ReceiveWindowSize; description "Bin high value"; } } grouping flow_FwdInstTarget-group { description "Forward Instance Target"; leaf slot { type uint8 { range "1..64"; } description "Slot ID"; } leaf asic { type uint8 { range "1..10"; } description "Asic ID"; } leaf slice { type uint8 { range "1..10"; } description "Slice ID"; } leaf exporterId { type uint32; description "Exporter ID"; } // Service Policy container sp-items { list ServicePolicy-list { key "direction"; uses flow_ServicePolicy-group; description "Service Policy list"; } description "Service Policy"; } container rshwProfile-items { uses flow_RsHwProfile_source-group; description "Reference to hardware profile"; } } grouping flow_ServicePolicy-group { description "Service Policy"; leaf direction { type flow_Direction; description "Direction"; } container rspmap-items { uses flow_RsPmap_source-group; description "Reference to policy-map"; } } grouping ngoam_Entity-group { description "NGOAM Entity"; // Holds NGOAM entity information container xcon-items { uses ngoam_Xcon-group; description "Placeholder model for xconnect data to hang off of"; } // NGOAM Profile Object container profile-items { list Profile-list { key "profId"; uses ngoam_Profile-group; description "Ngoam Profile list"; } description "Ngoam Profile"; } // NGOAM InstallACL Object container installacl-items { uses ngoam_InstallAcl-group; description "Ngoam install acl"; } // NGOAM Authentication Object container authentication-items { uses ngoam_Authentication-group; description "Ngoam Authentication"; } // NGOAM Connectivity Check Object container cc-items { list ConnectCheck-list { key "ccId"; uses ngoam_ConnectCheck-group; description "Ngoam Connectivity check list"; } description "Ngoam Connectivity check"; } // NGOAM Xconnect config Object container xconnect-items { uses ngoam_XconCfg-group; description "Ngoam xconnect configs"; } // Holds NGOAM Loop Detection information container loopdetection-items { uses ngoam_LoopDetection-group; description "NGOAM loop detection feature"; } } grouping ngoam_Xcon-group { description "Placeholder model for xconnect data to hang off of"; // Interface name for list of all egress interfaces container bd-items { list XConnect-list { config "false"; key "swBd"; uses ngoam_XConnect-group; description "Model describing the properties of a vxlan cross-connect list"; } description "Model describing the properties of a vxlan cross-connect"; } } grouping ngoam_XConnect-group { description "Model describing the properties of a vxlan cross-connect"; leaf swBd { config "false"; type uint16; description "vlanID on which xconnnect is enabled"; } // Xc state leaf xcState { config "false"; type ngoam_xcState; description "xconnect state - could have multiple states at the same time"; } leaf peerIp { config "false"; type address_Ipv4; description "VTEP ip of the vxlan peer"; } leaf vni { config "false"; type uint32; description "vni for the xconnect"; } leaf localPort { config "false"; type string; description "LocalPort associated with the xconnect"; } // Local port state leaf localPortState { config "false"; type ngoam_xcPortState; description "Local Port State"; } leaf localVpcPort { config "false"; type string; description "Local Vpc Port associated with the xconnect"; } // Local Vpc port state leaf localVpcPortState { config "false"; type ngoam_xcPortState; description "Local Vpc Port State"; } leaf remotePort { config "false"; type string; description "RemotePort associated with the xconnect"; } // Remote port state leaf remotePortState { config "false"; type ngoam_xcPortState; description "Remote Port State"; } leaf remoteVpcPort { config "false"; type string; description "Remote Vpc Port associated with the xconnect"; } // Remote Vpc port state leaf remoteVpcPortState { config "false"; type ngoam_xcPortState; description "Remote Vpc Port State"; } leaf lastChgTs { config "false"; type string; description "timestamp of last change to this database"; } } grouping ngoam_Profile-group { description "Ngoam Profile"; // Prof. ID leaf profId { type ngoam_ProfId; description "Profile ID"; } // Description leaf desc { type ngoam_Desc; description "Description"; } // dot1q leaf dot1q { type ngoam_Dot1q; description "dot1q"; } // dot1q interface leaf dot1qIf { type nw_IfId; description "dot1q"; } // hop leaf hop { type ngoam_Hop; description "hop count"; } // Egress Interface leaf interface { type nw_IfId; description "Interface"; } // Oam Channel leaf oamChannel { type ngoam_OamChannel; description "OAM channel type"; } // Payload Pad leaf payloadPad { type ngoam_PayloadPad; description "Payload padding pattern"; } // source port leaf srcPort { type ngoam_Sport; description "Source Port Range"; } // NGOAM FlowFwd Object container flowfwd-items { uses ngoam_FlowFwd-group; description "Ngoam Profile Flow Fwd"; } } grouping ngoam_FlowFwd-group { description "Ngoam Profile Flow Fwd"; leaf forward { type boolean; description "forward"; } // dot1q leaf dot1q { type ngoam_Dot1qFlow; description "dot1q"; } leaf ipDest { type address_Ipv4; description "IP v4 address destination"; } leaf ipSrc { type address_Ipv4; description "IP v4 address source"; } leaf ipv6Dest { type address_Ipv6; description "IP v6 address destination"; } leaf ipv6Src { type address_Ipv6; description "IP v6 address source"; } leaf macDest { type address_Mac; description "mac address destination"; } leaf macSrc { type address_Mac; description "mac address source"; } // port destination leaf portDest { type ngoam_DestPort; description "TCP or UDP port destination"; } // port source leaf portSrc { type ngoam_SrcPort; description "TCP or UDP port source"; } // Flow protocol number leaf protocol { type ngoam_Protocol; description "Flow protocol number"; } leaf packet { type string; description "IP v6 address"; } } grouping ngoam_InstallAcl-group { description "Ngoam install acl"; leaf enabled { type boolean; description "install acl enabled"; } } grouping ngoam_Authentication-group { description "Ngoam Authentication"; // Authentication key leaf key { type ngoam_AuthKey; description "Authentication key"; } } grouping ngoam_ConnectCheck-group { description "Ngoam Connectivity check"; // Connectivity check id leaf ccId { type ngoam_ProfId; description "Ngoam Connectivity check ID"; } // Prof. id leaf profileId { type ngoam_ProfIdCC; description "Ngoam profile ID"; } leaf dstIp { type address_Ipv4; description "Destination Node ID"; } leaf dstIpv6 { type address_Ipv6; description "Destination Node ID"; } leaf dstMAC { type address_Mac; description "Destination Node ID"; } leaf dstUnknown { type boolean; description "Destination Node ID"; } leaf srcIp { type address_Ipv4; description "Source IP"; } leaf srcIpv6 { type address_Ipv6; description "Source IP"; } // dot1q leaf dot1q { type ngoam_Dot1q; description "dot1q"; } // source port leaf srcPort { type ngoam_Sport; description "Source Port"; } // count leaf count { type ngoam_NumPkt; description "Number of packets"; } // timeout leaf timeout { type ngoam_Timeout; description "Timeout"; } // interval leaf interval { type ngoam_SendIntvlCC; description "Interval"; } leaf dataPattern { type ngoam_PayloadPad; description "data pattern"; } // packet size leaf packetSz { type ngoam_PktSz; description "Payload Size"; } // The vrf in which it is running leaf vrf { type ngoam_Vrf; description "VRF"; } // The VxLAN vni leaf vni { type ngoam_VnidCC; description "VNI"; } // Egress Interface id leaf egressIf { type nw_IfId; description "Interface ID"; } // MAC Interface leaf macsrcif { type nw_IfId; description "payload source interface"; } leaf verifyHost { type boolean; description "Verify Host"; } // dot1q leaf payload_dot1q { type ngoam_Dot1q; description "dot1q"; } leaf payload_srcip { type address_Ipv4; description "src IP v4 address"; } leaf payload_srcipv6 { type address_Ipv6; description "src IP v6 address"; } leaf payload_srcmac { type address_Mac; description "src mac address"; } leaf payload_dstip { type address_Ipv4; description "dst IP v4 address"; } leaf payload_dstipv6 { type address_Ipv6; description "dst IP v6 address"; } leaf payload_dstmac { type address_Mac; description "dst mac address"; } leaf payload_srcport { type uint16; description "payload src port"; } leaf payload_dstport { type uint16; description "payload dst port"; } // protocol leaf payload_protocol { type ngoam_Protocol; description "payload protocol"; } // Source Interface leaf payload_srcif { type nw_IfId; description "payload source interface"; } // Result for fabric ping container pingnverslt-items { list PingNveRslt-list { config "false"; key "sessionId"; uses ngoam_PingNveRslt-group; description "Ping Nve Result list"; } description "Ping Nve Result"; } } grouping ngoam_PingNveRslt-group { description "Ping Nve Result"; // Prof. Name leaf sessionId { config "false"; type ngoam_SessionId; description "Name"; } leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } leaf replyIp { config "false"; type address_Ipv4; description "IPv4 Address"; } leaf replyIpv6 { config "false"; type address_Ipv6; description "IPv6 Address"; } leaf nodeName { config "false"; type string; description "Node name"; } leaf errorCode { config "false"; type string; description "Error Code String"; } leaf failReason { config "false"; type string; description "Failure Reason"; } // Source port leaf sPort { config "false"; type ngoam_SrcPort; description "VxLAN outer UDP Source Port -- Will be deprecated. Please use verbose"; } leaf verbose { config "false"; type string; description "Verbose info, fabric specific verbose info from the replies"; } // packet size leaf packetSz { config "false"; type ngoam_PktSz; description "Packet Size"; } // Number of packets sent leaf sentPkts { config "false"; type ngoam_Counter; description "Sent Packets"; } // Number of packets not sent leaf notSentPkts { config "false"; type ngoam_Counter; description "Not Sent Packets"; } // Number of packets received leaf rcvdPkts { config "false"; type ngoam_Counter; description "Received Packets"; } // Minimum round trip time of all the packets that // have been sent in one exec leaf minRtt { config "false"; type ngoam_Rtt; description "Minimum Round Trip Time"; } // Average round trip time of all the packets that // have been sent in one exec leaf avgRtt { config "false"; type ngoam_Rtt; description "Average Round Trip Time"; } // Maximum round trip time of all the packets that // have been sent in one exec leaf maxRtt { config "false"; type ngoam_Rtt; description "Maximum Round Trip Time"; } // Total Rtt of all the packets sent leaf totalRtt { config "false"; type ngoam_Rtt; description "Total Round Trip Time"; } } grouping ngoam_XconCfg-group { description "Ngoam xconnect configs"; // xconnect_hb_interval leaf hbinterval { type ngoam_HbInterval; description "Heartbeat interval"; } } grouping ngoam_LoopDetection-group { description "NGOAM loop detection feature"; leaf enable { type boolean; description "enable/disable loop detection feature"; } // Loop Detection periodic probe interval leaf periodicProbeInterval { type ngoam_SLDperiodicprobeinterval; description "Loop detection periodic probe interval value"; } // Loop Detection port-recovery interval leaf portRecoveryInterval { type ngoam_SLDportrecoveryinterval; description "loop detection port recovery interval value"; } leaf nextProbeTime { config "false"; type union { type string; type uint64; } description "Next probe window start time"; } leaf nextRecoveryTime { config "false"; type union { type string; type uint64; } description "Next port recovery window start time"; } leaf totalProbesSent { config "false"; type uint64; description "Total Number of probes sent"; } leaf totalProbesReceived { config "false"; type uint64; description "Total Number of probes received"; } leaf numVlans { config "false"; type uint16; description "Number of VLANs loop detection is actively monitoring"; } leaf numPorts { config "false"; type uint32; description "Number of ports loop detection is actively monitoring"; } leaf numLoops { config "false"; type uint32; description "Number of loops detected"; } leaf numPortsBlocked { config "false"; type uint32; description "Number of ports blocked by the loop detection"; } leaf numVlansDisabled { config "false"; type uint16; description "Number of VLANs where loop detection is disabled"; } leaf numPortsDisabled { config "false"; type uint32; description "Number of ports where loop detection is disabled"; } // Holds disabled port-vlan information container dis-items { list Disabled-list { key "vlanId"; uses ngoam_Disabled-group; description "NGOAM loop detection list of disabled Vlan/ports list"; } description "NGOAM loop detection list of disabled Vlan/ports"; } // Holds Detected loops information container loops-items { list Loops-list { config "false"; key "vlanId portId"; uses ngoam_Loops-group; description "Contains the information about the vlans and ports that has loops detected list"; } description "Contains the information about the vlans and ports that has loops detected"; } } grouping ngoam_Disabled-group { description "NGOAM loop detection list of disabled Vlan/ports"; // vlanId leaf vlanId { type ngoam_VlanRange; description "Range of Vlans to disable the loop detection"; } // portId leaf portId { type ngoam_Interface; description "Range of ports to disable the loop detection"; } } grouping ngoam_Loops-group { description "Contains the information about the vlans and ports that has loops detected"; // vlanId leaf vlanId { config "false"; type ngoam_vlanId; description "Vlan Id of the vlan that has loop detected"; } // portId leaf portId { config "false"; type nw_IfId; description "Interface on which loop detected"; } // state leaf state { config "false"; type ngoam_portState; description "State of the port like blocked/force cleared etc"; } leaf loopDetectedTime { config "false"; type union { type string; type uint64; } description "Last time the loop detected"; } leaf loopClearedTime { config "false"; type union { type string; type uint64; } description "Last time the loop cleared"; } leaf numLoops { config "false"; type uint32; description "Number of loops detected so far"; } } grouping nxapi_Inst-group { description "NXAPI Instance"; leaf httpPort { type nxapi_HttpPort; description "HTTP Port"; } leaf httpsPort { type nxapi_HttpsPort; description "HTTPS Port"; } leaf useVrf { type os_OsString; description "Vrf for NX-API"; } leaf certFile { type os_OsString; description "Certificate file for NX-API"; } leaf keyFile { type os_OsString; description "Key file for NX-API"; } leaf encrKeyPassphrase { type nxapi_keyPassphrase; description "Passphrase to decrypt the encrypted key file for NX-API"; } leaf certEnable { type boolean; description "Certificate status of NX-API"; } leaf sslCiphersWeak { type boolean; default "false"; description "Enable Weak Ciphers for SSL"; } leaf sslProtocols { type nxapi_SslProtocols; description "String of space separated SSL protocols to be supported"; } leaf clientCertAuth { type nxapi_ClientCertAuthType; description "Enable Mutual SSL Certificate Authentication for NXAPI between client and server and set verficiation restriction level"; } leaf idleTimeout { type uint16 { range "1..1440"; } default "10"; description "Specifies the idle timeout (in minutes) before a session expires."; } leaf sudi { type boolean; description "SUDI support for nginx"; } leaf trustpoint { type os_OsString; description "trustpoint label for NX-API"; } } grouping ofm_Inst-group { description "Static Tunnel"; container tunnelprofile-items { list TunnelProfile-list { key "profName"; uses ofm_TunnelProfile-group; description "TunnelProfile list"; } description "TunnelProfile"; } } grouping ofm_TunnelProfile-group { description "TunnelProfile"; leaf profName { type ofm_profileName; description "Name of Tunnel Profile"; } leaf encaptype { type ofm_encapType; description "Encapsulation type for tunnel profile"; } leaf srcID { type nw_IfId; description "Source ID for Src vtep IP"; } leaf currentinterfacelist { type ofm_flowinterfacelist; description "list of current physical/virtual interfaces"; } leaf destIp { type address_Ip; description "Outer dest IP address"; } leaf erspanSessionId { type uint32; description "ERSPAN session id value"; } leaf erspanVlanQtag { type uint32; description "Qtag id for outgoing packet"; } leaf erspanSessionAll { type boolean; description "Qtag id for outgoing packet"; } container route-items { list Route-list { key "vrfName route nhvrf nexthop"; uses ofm_Route-group; description "Tunnel Route list"; } description "Tunnel Route"; } container routevrf-items { list RouteSrv6-list { key "vrfName route"; uses ofm_RouteSrv6-group; description "Tunnel Route for Srv6 list"; } description "Tunnel Route for Srv6"; } // === FlowPoicy MO: === // sys/ofm/tunnelprofile-[%s]/flowpolicy-[%s]/ container flowpolicy-items { list FlowPolicy-list { key "flowPolicyName"; uses ofm_FlowPolicy-group; description "Flow Policy list"; } description "Flow Policy"; } } grouping ofm_Route-group { description "Tunnel Route"; leaf vrfName { type l3_VrfName; description "Vrf name for dest Route"; } leaf route { type address_Ip; description "IP address of dest route"; } leaf nhvrf { type l3_VrfName; description "vrf name of next hop"; } leaf nexthop { type address_Ip; description "IP address of next hop"; } leaf vni { type uint32; description "Virtual Network Identifier"; } leaf dmac { type address_Mac; description "MAC Address of remote VTEP"; } } grouping ofm_RouteSrv6-group { description "Tunnel Route for Srv6"; leaf vrfName { type l3_VrfName; description "Vrf name for Srv6"; } leaf route { type address_Ip; description "IP address for Srv6"; } leaf remoteLocator { type address_Ipv6; description "Ipv6 locator of remote srv6 peer"; } leaf function { type uint32 { range "0..65534"; } description "Function in the remote sid"; } leaf tePolicyName { type ofm_TePolicyName; description "Name of the Te-policy"; } leaf color { type uint32 { range "0..4294967295"; } description "Name of Te-policy color"; } leaf endpoint { type address_Ipv6; description "Ipv6 address of SRv6 End-point"; } } grouping ofm_FlowPolicy-group { description "Flow Policy"; leaf flowPolicyName { type string; description "Flow policy name under tunnel profile"; } leaf vlanList { type l2_VlanBitmap; description "Flow policy vlan target to apply to"; } leaf ipv4AclName { type string; description "Flow policy IPv4-acl name "; } leaf ipv6AclName { type string; description "Flow policy IPv6-acl name "; } leaf macAclName { type string; description "Flow policy MAC-acl name "; } leaf nhvrf { type l3_VrfName; default "default"; description "vrf name of next hop"; } leaf directionVal { type uint32; description "Flow policy direction"; } leaf vtepip { type address_Ip; description "IP address of remote vtep"; } } grouping poe_Entity-group { description "poe Entity"; // This class shall store the global configuration // for a running poe instance container inst-items { uses poe_Inst-group; description "Power on Ethernet Instance"; } container physif-items { list PhysIf-list { key "id"; uses poe_PhysIf-group; description "Power on Ethernet Interface list"; } description "Power on Ethernet Interface"; } // This object configs module logging level container modloglevel-items { uses poe_ModLogLevel-group; description "Config POE logging level"; } } grouping poe_Inst-group { description "Power on Ethernet Instance"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } } grouping poe_PhysIf-group { description "Power on Ethernet Interface"; leaf portMode { type poe_poePortmode; description "POE interface's current port mode "; } leaf maxConsumption { type poe_poeMaxConsumption; description "POE interface's current max port consumption"; } leaf portPriority { type poe_poePriority; description "POE interface's current port Priority "; } leaf portPolice { type poe_poePolice; description "POE interface's current port police action "; } leaf portDefaultConsumption { type poe_poeDefaultConsumption; description "POE interface's default port consumption"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping poe_ModLogLevel-group { description "Config POE logging level"; // logging level leaf loggingLevel { type poe_LoggingLevel; description "Logging Level"; } // logging type leaf loggingType { config "false"; type poe_LoggingType; description "Logging type"; } } grouping ptm_Entity-group { description "PTM Entity"; container intf-items { list L1Intf-list { key "id"; uses ptm_L1Intf-group; description "Layer1 interface list"; } description "Layer1 interface"; } container mux-items { list Mux-list { key "name"; uses ptm_Mux-group; description "MUX MO list"; } description "MUX MO"; } container fmrg-items { list FastmuxResGrp-list { key "resId"; uses ptm_FastmuxResGrp-group; description "Fastmux resource group list"; } description "Fastmux resource group"; } } grouping ptm_L1Intf-group { description "Layer1 interface"; leaf connType { type ptm_L1ConnType; description "Layer1 connection type on interface"; } leaf connectedIntf { type nw_IfId; description "Layer1 connected interface id"; } leaf cfgFlags { type uint32; default "0"; description "Configuration options"; } leaf error { config "false"; type uint64; description "Run time layer1 config failure code"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024 { length "0..254"; } description "descr"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Switching state leaf switchingSt { config "false"; type l1_SwitchingSt; description "Switching State"; } // Administrative port state @@@ Comes from port out-of-service policy leaf adminSt { type l1_AdminSt; description "Administrative Port State"; } // Administrative port speed @@@ This comes from the host interface // @@@ configuration policy leaf speed { type l1_Speed; description "Administrative Port Speed"; } // Administrative port duplex @@@ This comes from the host interface // @@@ configuration policy leaf duplex { type l1_Duplex; description "Duplex"; } // DWDM C optic ITU Channel @@@ This comes from the host interface // @@@ configuration policy leaf ituChannel { type l1_ItuChannel; description "ITU Channel to support DWDM XCVR"; } // Administrative port auto-negotiation @@@ It comes from the host interface configuration // @@@ policy. It is used for automatically negotiating // @@@ the speed leaf autoNeg { type l1_AutoNeg; description "Administrative Port Auto-Negotiation"; } // Administrative port mtu @@@ This comes from QOS Policy leaf mtu { type l1_Mtu; description "Administrative port MTU"; } // Administrative port snmp trap state @@@ This is a port level config. but it could go in // @@@ SNMP policy in IFC leaf snmpTrapSt { type l1_SnmpTrapSt; description "Administrative Port Snmp Trap State"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping ptm_Mux-group { description "MUX MO"; leaf name { type string; description "Name of the PTM mux object"; } leaf id { config "false"; type uint32; description "Id of the PTM mux object"; } leaf mode { type ptm_MuxMode; description "Mode of PTM mux object"; } leaf uplinkIntf { type nw_IfId; description "Down link interface for a mux"; } leaf upVlan { type uint32; default "0"; description "Down link interface for a mux"; } leaf cfgFlags { type uint32; default "0"; description "Configuration options"; } leaf swResId { config "false"; type uint32; default "255"; description "FPGA resource ID allocated to MUX"; } leaf error { config "false"; type uint64; description "Run time layer1 config failure code"; } container dlintf-items { list DownlinkIntf-list { key "intf"; uses ptm_DownlinkIntf-group; description "MUX MO list"; } description "MUX MO"; } } grouping ptm_DownlinkIntf-group { description "MUX MO"; leaf intf { type nw_IfId; description "Down link interface for a mux"; } leaf vlan { type uint32; default "0"; description "Vlan for down link interface"; } leaf cfgFlags { type uint32; default "0"; description "Configuration options"; } leaf error { config "false"; type uint64; description "Run time layer1 config failure code"; } } grouping ptm_FastmuxResGrp-group { description "Fastmux resource group"; leaf resId { type uint32; description "Fastmux resource identifier"; } leaf fpgaId { config "false"; type uint32; description "ID of FPGA where resource is located"; } leaf resUsageStatus { config "false"; type ptm_ResourceUsageStatus; description "Fastmux resource usage status"; } leaf uplink { config "false"; type nw_IfId; description "Uplink interface for a mux"; } leaf downlink { config "false"; type ptm_DownlinkList; description "Down link interface list for a mux instance"; } } grouping qosm_Entity-group { description "QoS Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Qos interface defintion. Holds information about qos // operated at a class level container class-items { list Class-list { config "false"; key "qosGrp"; uses qosm_Class-group; description "Class list"; } description "Class"; } // Qos interface defintion. Holds information about qos // operated at a interface level container if-items { list If-list { config "false"; key "id"; uses qosm_If-group; description "Qos Interface list"; } description "Qos Interface"; } // Holder for qos fabric class policy, each class describes // qos attributes like mtu, etc container classp-items { list Class-list { config "false"; key "qosGrp"; uses qosp_Class-group; description "QoS Class list"; } description "QoS Class"; } // Qos classification rules based on dscp values container dscp-items { list DscpRule-list { config "false"; key "from to qosGrp markDscp"; uses qosp_DscpRule-group; description "DSCP QoS Classification Rule list"; } description "DSCP QoS Classification Rule"; } // Qos classification rules based on dot1p values container dot1p-items { list Dot1pRule-list { config "false"; key "from to qosGrp markDscp"; uses qosp_Dot1pRule-group; description "Dot1p QoS Classification Rule list"; } description "Dot1p QoS Classification Rule"; } // Qos classification rules based on IP values container ip-items { list IpRule-list { config "false"; key "addr"; uses qosp_IpRule-group; description "IP Classification Rule list"; } description "IP Classification Rule"; } } grouping qosm_Class-group { description "Class"; // QoS Group leaf qosGrp { config "false"; type qos_Prio; description "ID"; } } grouping qosm_If-group { description "Qos Interface"; // Interface ID leaf id { config "false"; type nw_IfId; description "ID"; } // IfClass information. Holds information about qos operated // at a per port per class level container class-items { list IfClass-list { config "false"; key "id"; uses qosm_IfClass-group; description "Qos Interface Class list"; } description "Qos Interface Class"; } } grouping qosm_IfClass-group { description "Qos Interface Class"; // Class id leaf id { config "false"; type qos_Prio; description "ID"; } } grouping qosp_Class-group { description "QoS Class"; // Administrative state leaf admin { config "false"; type nw_AdminSt; description "Admin State"; } // mtu leaf mtu { config "false"; type qosp_MTU; description "MTU"; } // Class id leaf qosGrp { config "false"; type qos_Prio; description "Priority"; } // Qos Class operational state leaf operSt { config "false"; type qosp_OperSt; description "Operational State"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Congestion policy holder, describes the congestion // parameters like congestion algo, ecn etc. These are // applied at a per class today in the system container cong-items { uses qosp_Cong-group; description "Congestion"; } // Queue management policy holder, describes the queue // threshold parameters like management method, limts, // etc. These are applied at a per class today in the // system container queue-items { uses qosp_Queue-group; description "Queue"; } // Buffer policy holder, describes the minimum // guaranteed packet buffer reservations. These are // applied at a per class today in the system container buffer-items { uses qosp_Buffer-group; description "Buffer"; } // Schedule policy holder, describes the minimum // guaranteed packet buffer reservations. These are // applied at a per class today in the system container sched-items { uses qosp_Sched-group; description "Schedule"; } } grouping qosp_Cong-group { description "Congestion"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // What algorithm to use when congestion happens leaf algo { config "false"; type qosp_CongAlgo; description "TBD"; } // Explicit congestion notification (ecn) ECN is disabled for FCS, thus this is implicit leaf ecn { config "false"; type qosp_ECN; description "TBD"; } } grouping qosp_Queue-group { description "Queue"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Queue control method (static/dynamic) leaf meth { config "false"; type qosp_CtrlMeth; description "TBD"; } // queue limit, only applicable with static control // method leaf limit { config "false"; type qosp_QueueLimit; description "TBD"; } } grouping qosp_Buffer-group { description "Buffer"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Minimum buffers reserved in units of MTU leaf min { config "false"; type qosp_MinBuf; description "TBD"; } } grouping qosp_Sched-group { description "Schedule"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Scheduling algorithm leaf meth { config "false"; type qosp_SchedAlgo; description "TBD"; } // If wrr, what is the bandwidth allocated (in %) leaf bw { config "false"; type qosp_BwPercent; description "TBD"; } } grouping qosp_DscpRule-group { description "DSCP QoS Classification Rule"; // Range from leaf from { config "false"; type qosp_Dscp; description "From"; } // Range to leaf to { config "false"; type qosp_Dscp; description "To"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Group Id leaf qosGrp { config "false"; type qos_Prio; description "Group ID"; } // Mark Dscp leaf markDscp { config "false"; type qosp_Dscp; description "DSCP"; } // Qos Class operational state leaf operSt { config "false"; type qosp_OperSt; description "Operational State"; } container rtl2DscpRuleAtt-items { list RtL2DscpRuleAtt-list { config "false"; key "tDn"; uses l2_RtL2DscpRuleAtt_target-group; description "DSCP Rule Attachment list"; } description "DSCP Rule Attachment"; } } grouping qosp_Dot1pRule-group { description "Dot1p QoS Classification Rule"; // Range from leaf from { config "false"; type qosp_Dot1P; description "From"; } // Range to leaf to { config "false"; type qosp_Dot1P; description "To"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Group Id leaf qosGrp { config "false"; type qos_Prio; description "Group ID"; } // Mark Dscp leaf markDscp { config "false"; type qosp_Dscp; description "DSCP"; } // Qos Class operational state leaf operSt { config "false"; type qosp_OperSt; description "Operational State"; } container rtl2Dot1pRuleAtt-items { list RtL2Dot1pRuleAtt-list { config "false"; key "tDn"; uses l2_RtL2Dot1pRuleAtt_target-group; description "Dot1p Rule Attachment list"; } description "Dot1p Rule Attachment"; } } grouping qosp_IpRule-group { description "IP Classification Rule"; leaf addr { config "false"; type address_Ip; description "IP Address"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Group Id leaf qosGrp { config "false"; type qos_Prio; description "Group ID"; } // Mark Dscp leaf markDscp { config "false"; type qosp_Dscp; description "DSCP"; } // Qos Class operational state leaf operSt { config "false"; type qosp_OperSt; description "Operational State"; } } grouping sisf_Entity-group { description "Enable/Disable FHS feature"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per sisf instance information. There is only // one instance of dhcp running in the system today container snooping-items { list InstSnooping-list { key "policyName"; uses sisf_InstSnooping-group; description "Configure a snooping policy for FHS feature list"; } description "Configure a snooping policy for FHS feature"; } // Ipv6 Neighbor Binding Global Configuration container neighborbinding-items { uses sisf_InstBinding-group; description "Configure IPv6 snoopiong binding table global setting"; } // Ipv6 DHCP Guard Configure container dhcpguard-items { list InstDhcpGuard-list { key "policyName"; uses sisf_InstDhcpGuard-group; description "Configure a dhcp guard policy for FHS feature list"; } description "Configure a dhcp guard policy for FHS feature"; } // Ipv6 RA Guard Configure container raguard-items { list InstRaGuard-list { key "policyName"; uses sisf_InstRaGuard-group; description "Configure a nd raguard policy for FHS feature list"; } description "Configure a nd raguard policy for FHS feature"; } // This object holds bfd interface information container fhsif-items { list FhsIf-list { key "id"; uses sisf_FhsIf-group; description "Configure interface for FHS feature list"; } description "Configure interface for FHS feature"; } container fhsvlan-items { list FhsVlan-list { key "vlanID"; uses sisf_FhsVlan-group; description "SISF Vlan list"; } description "SISF Vlan"; } } grouping sisf_InstSnooping-group { description "Configure a snooping policy for FHS feature"; leaf policyName { type string; description "Name of the snooping policy"; } leaf trustedPortEnabled { type boolean; description "Setup trusted port"; } leaf deviceRole { type sisf_deviceRole; description "Sets the role of the device attached to the port"; } leaf ndpProtocol { type sisf_ndpflag; description "Glean addresses in NDP packets"; } leaf dhcpProtocol { type sisf_dhcpflag; description "Glean addresses in DHCP packets"; } leaf securityLevel { type sisf_securityLevel; description "Setup security level of snoopiong policy"; } leaf limitAddressCount { type sisf_limitAddressCount; description "Configure maximum address per port"; } leaf tracking { type sisf_NonGlobalTracking; description "Override default tracking behavior"; } leaf reachableLifetimer { type sisf_reachableLifetimerSnoopingPolicy; description "TBD"; } leaf staleLifetimer { type sisf_staleLifetimerSnoopingPolicy; description "TBD"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping sisf_InstBinding-group { description "Configure IPv6 snoopiong binding table global setting"; leaf logging { type boolean; description "Enable syslog logging of IPv6 snooping binding table events"; } leaf maxEntries { type sisf_maxEntries; description "Define maximum number of entries in the IPv6 snoopiong binding table"; } leaf vlanLimit { type sisf_vlanLimit; description "Define maximum number of entries allowed per vlan"; } leaf macLimit { type sisf_macLimit; description "Define maximum number of entries allowed per mac"; } leaf portLimit { type sisf_portLimit; description "Define maximum number of entries allowed per port"; } leaf reachableLifetimer { type sisf_reachableLifetimer; description "Set reachable-lifetimer of IPv6 snooping binding table"; } leaf staleLifetimer { type sisf_staleLifetimer; description "Set stale-lifetimer of IPv6 snooping binding table"; } leaf downLifetimer { type sisf_downLifetimer; description "Set down-lifetimer of IPv6 snooping binding table"; } leaf tracking { type boolean; default "false"; description "Configure IPv6 snooping tracking for static binding entry"; } leaf retryInterval { type sisf_retryInterval; description "Configure interval time between two probings"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } container bindingip-items { list StaticBinding-list { key "v6Addr vlanID"; uses sisf_StaticBinding-group; description "Create static binding entry in IPv6 snooping binding table of FHS feature list"; } description "Create static binding entry in IPv6 snooping binding table of FHS feature"; } } grouping sisf_StaticBinding-group { description "Create static binding entry in IPv6 snooping binding table of FHS feature"; leaf vlanID { type sisf_VlanID; description "Configure Vlan ID of static binding entry"; } leaf v6Addr { type address_Ipv6; description "Configure IPv6 address of static binding entry"; } leaf interface { type nw_IfId; description "Configure interface of static binding entry"; } leaf mac { type address_Mac; description "Configure mac address of static binding entry"; } leaf tracking { type sisf_NonGlobalTracking; description "Configure tracking option of static binding entry"; } leaf retryInterval { type sisf_RetryIntervalBinding; description "Configure retry interfval between two probings of static binding entry"; } leaf reachableLifetimer { type sisf_ReachableLifetimerBinding; description "Configure reachable-lifetimer of static binding entry"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping sisf_InstDhcpGuard-group { description "Configure a dhcp guard policy for FHS feature"; leaf policyName { type string; description "Name of dhcp guard policy"; } leaf deviceRole { type sisf_dhcpGuardDeviceRole; description "Set the role of device attached to the port"; } leaf trustedPortEnabled { type boolean; description "Setup trusted port"; } leaf preferenceMax { type sisf_preferenceMax; description "Configure maximum allowed advertised server preference"; } leaf preferenceMin { type sisf_preferenceMin; description "Configure minimum allowed advertised server preference"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping sisf_InstRaGuard-group { description "Configure a nd raguard policy for FHS feature"; leaf policyName { type string; description "Name of the nd raguard policy"; } leaf deviceRole { type sisf_raGuardDeviceRole; description "Set the role of the device attached to the port"; } leaf trustedPortEnabled { type boolean; description "Setup trusted port"; } leaf routerPreferenceMaximum { type sisf_raGuardRouterPreferenceMaximum; description "Enable verification of the advertised router preference"; } leaf hopLimitMax { type sisf_hopLimitMax; description "Enable verification of the maximum advertised hop count limit"; } leaf hopLimitMin { type sisf_hopLimitMin; description "Enable verification of the minimum advertised hop count limit"; } leaf managedConfig { type sisf_raGuardManagedConfig; description "Enable verification of the advertised M flag"; } leaf otherConfig { type sisf_raGuardOtherConfig; description "Enable verification of the advertised O flag"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping sisf_FhsIf-group { description "Configure interface for FHS feature"; leaf snoopingPolicyName { type string; description "Attach a snooping policy of FHS feature"; } leaf dhcpGuardPolicyName { type string; description "Attach a dhcp guard policy of FHS feature"; } leaf raGuardPolicyName { type string; description "Attach a nd raguard policy of FHS feature"; } leaf deleted { config "false"; type boolean; description "Delete the Mo if the target becomes l3"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping sisf_FhsVlan-group { description "SISF Vlan"; leaf vlanID { type sisf_VlanID; description "Vlan Number"; } leaf snoopingPolicyName { type string; description "Attach a snooping policy of FHS feature"; } leaf dhcpGuardPolicyName { type string; description "Attach a dhcp guard policy of FHS feature"; } leaf raGuardPolicyName { type string; description "Attach a nd raguard policy of FHS feature"; } leaf deleted { config "false"; type boolean; description "Delete the Mo if no vlan config"; } } grouping sla_Entity-group { description "SLA"; // Holds service instance information container inst-items { uses sla_Inst-group; description "Instance"; } } grouping sla_Inst-group { description "Instance"; // Holds service control plane entity information container sender-items { uses sla_Sender-group; description "Sender"; } container responder-items { uses sla_Responder-group; description "sla Responder specific configs are handled with this mo"; } container twampserver-items { uses sla_TwampServer-group; description "Twamp"; } } grouping sla_Sender-group { description "Sender"; leaf loggingTraps { type boolean; description "Enable syslog traps which sends the trap meesages on reaction-config trap is enabled."; } leaf loggingLevel { type uint32 { range "0..7"; } default "3"; description "configures the logging level for ip sla sender. The property can be set only if feature sla sender is enabled."; } leaf resetSender { type boolean; default "false"; description "Resets all sla probe related configuration."; } // Holds service instance information container operation-items { list Probe-list { key "id"; uses sla_Probe-group; description "Probe configuration list"; } description "Probe configuration"; } // Scheduler starts a probe of any type for a destination monitroring container groupschedule-items { list GrpScheduler-list { key "grpSchedulerId"; uses sla_GrpScheduler-group; description "sla group scheduler configurations - Configures the group scheduling parameters for multiple IP SLAs operations list"; } description "sla group scheduler configurations - Configures the group scheduling parameters for multiple IP SLAs operations"; } } grouping sla_Probe-group { description "Probe configuration"; leaf id { type uint32 { range "1..2147483647"; } description "Operation index which is unique for each probe, all the probe related configs and the statistics are displayed using this index."; } leaf restart { type boolean; default "false"; description "Restarting a scheduled probe"; } container icmpecho-items { uses sla_IcmpEcho-group; description "ICMP Echo Operation"; } container tcpconnect-items { uses sla_TcpConnect-group; description "TCP Connect Operation to probe the server"; } container http-items { uses sla_Http-group; description "The HTTP operation measures the round-trip time(RTT) between a Cisco device and an HTTP server to retrieve a web page."; } container udpecho-items { uses sla_UdpEcho-group; description "UDP Echo Operation"; } container udpjitter-items { uses sla_UdpJitter-group; description "UDP Jitter Operation"; } container dns-items { uses sla_Dns-group; description "DNS Operation to probe the DNS server"; } // Scheduler starts a probe of any type for a destination monitroring container schedule-items { uses sla_Scheduler-group; description "sla scheduler configurations"; } // Reaction trigger container trigger-items { list ReactionTrigger-list { key "targetProbe"; uses sla_ReactionTrigger-group; description "sla reaction trigger configurations for a probe - IP SLAs reactions are configured to trigger when a monitored value exceeds or falls below a specified level or when a monitored event, such as a timeout or connection loss, occurs. If IP SLAs measure too high or too low of any configured reaction, IP SLAs can generate a notification to a network management application or trigger another IP SLA operation to gather more data. list"; } description "sla reaction trigger configurations for a probe - IP SLAs reactions are configured to trigger when a monitored value exceeds or falls below a specified level or when a monitored event, such as a timeout or connection loss, occurs. If IP SLAs measure too high or too low of any configured reaction, IP SLAs can generate a notification to a network management application or trigger another IP SLA operation to gather more data."; } // Reaction iconfiguration and reaction trigger container reaction-items { list Reaction-list { key "reactOn"; uses sla_Reaction-group; description "sla reaction configurations for a probe - IP SLAs reactions are configured to trigger when a monitored value exceeds or falls below a specified level or when a monitored event, such as a timeout or connection loss, occurs. If IP SLAs measure too high or too low of any configured reaction, IP SLAs can generate a notification to a network management application or trigger another IP SLA operation to gather more data. list"; } description "sla reaction configurations for a probe - IP SLAs reactions are configured to trigger when a monitored value exceeds or falls below a specified level or when a monitored event, such as a timeout or connection loss, occurs. If IP SLAs measure too high or too low of any configured reaction, IP SLAs can generate a notification to a network management application or trigger another IP SLA operation to gather more data."; } } grouping sla_IcmpEcho-group { description "ICMP Echo Operation"; // Service monitoring frequency in seconds leaf frequency { type sla_Frequency; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in seconds(default value is 60). Minimum frequency value for an IP SLAs HTTP probe operation is 60 seconds but 1 second for other probes."; } leaf frequencyInMilliseconds { type sla_FrequencyInMilliseconds; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in milliseconds(default value is 60000)."; } // Service monitoring timeout declaring the service down leaf timeout { type sla_Timeout; description "Timeout of an operation - this is the maximum wait time for completing the operation. The probe will be marked with Timeout return code."; } leaf verifyData { type boolean; description "Verify Data for Corruption. When data verification is enabled, each operation response is checked for corruption. Use the verify-data command with caution during normal operations because it generates unnecessary overhead."; } leaf reqDataSize { type sla_ReqDataSize; default "28"; description "Sets the protocol data size in the payload of an IP SLAs operation's request packet."; } leaf srcInterface { type nw_IfId; description "Source Interface in which the ingress icmp packet is received."; } // Service node's vrf leaf vrf { type l3_VrfName; default "default"; description "vrf on which the probe is configured."; } leaf destip { type address_Ip; description "Destination IP address which is tracked by the probe.This property is not applicable if the configured probe type is HTTP or DNS. Modifying this property is not allowed in case of icmp-echo probe."; } leaf srcip { type address_Ip; description "Source`IP address from which the configured destination is tracked by the probe. Modifying this property is not allowed."; } // Service monitoring threshold in milliseconds leaf threshold { type sla_Threshold; description "Operation threshold - this is an upper limit for the observed RTT for the probe. RTT value of a probe exceeding the configured threshold will be marked with Overthreshold return code."; } leaf owner { type string; description "Owner string of the probe(Max size 127)"; } leaf tag { type string; description "User defined tag string (Max Size 127)"; } leaf ipTos { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf ipv6TrafficClass { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf srcHostName { type string; description "Source Host Name, if IP address is resolved from DNS server. Modifying this property is not allowed."; } leaf destHostName { type string; description "Destination Host Name, if IP address is resolved from DNS server.Modifying this property is not allowed in case of icmp-echo probe."; } leaf hoursOfStatsKept { type uint32 { range "0..25"; } default "2"; description "Maximum number of statistics hour groups to capture."; } leaf distributionsOfStatsKept { type uint32 { range "1..20"; } default "1"; description "Maximum number of statistics distribution buckets to capture"; } leaf statsDistributionInterval { type uint32 { range "1..100000"; } default "20"; description "Statistics distribution interval size, if the precision configured is in milliseconds, then the unit is in milliseconds else if it is microseconds, then the unit is in microseconds."; } leaf livesKept { type uint32 { range "0..2"; } default "0"; description "Maximum number of history lives to collect."; } leaf bucketsKept { type uint32 { range "1..60"; } default "15"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf filter { type enumeration { enum None { value 1; description "Shutoff History collection"; } enum All { value 2; description "Collect every operation in History"; } enum OverThreshold { value 3; description "Collect operations that are over threshold in History"; } enum Failures { value 4; description "Collect operations that fail in History"; } } default "None"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf enhancedInterval { type uint32 { range "0..3600"; } description "Aggregation interval in seconds to collect the aggregated values."; } leaf enhancedBuckets { type uint32 { range "0..100"; } description "Number of buckets to collect data based on the enhanced interval."; } } grouping sla_TcpConnect-group { description "TCP Connect Operation to probe the server"; // Service monitoring frequency in seconds leaf frequency { type sla_Frequency; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in seconds(default value is 60). Minimum frequency value for an IP SLAs HTTP probe operation is 60 seconds but 1 second for other probes."; } leaf frequencyInMilliseconds { type sla_FrequencyInMilliseconds; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in milliseconds(default value is 60000)."; } // Service monitoring timeout declaring the service down leaf timeout { type sla_Timeout { range "1..604800000"; } default "60000"; description "Timeout of an operation - this is the maximum wait time for completing the operation. The probe will be marked with Timeout return code."; } leaf srcPort { type uint32; description "Source TCP Port configuration for TCP probe, if the srcPort is not configured then the random source port will be used."; } leaf dstPort { type uint32; description "Destination TCP Port configuration for the TCP probe, it is must to configure the destination port."; } leaf control { type boolean; default "true"; description "To turn on/off Control Packets Exchanging mechanism between the sender and the responder, control is enabled by default."; } // Service node's vrf leaf vrf { type l3_VrfName; default "default"; description "vrf on which the probe is configured."; } leaf destip { type address_Ip; description "Destination IP address which is tracked by the probe.This property is not applicable if the configured probe type is HTTP or DNS. Modifying this property is not allowed in case of icmp-echo probe."; } leaf srcip { type address_Ip; description "Source`IP address from which the configured destination is tracked by the probe. Modifying this property is not allowed."; } // Service monitoring threshold in milliseconds leaf threshold { type sla_Threshold; description "Operation threshold - this is an upper limit for the observed RTT for the probe. RTT value of a probe exceeding the configured threshold will be marked with Overthreshold return code."; } leaf owner { type string; description "Owner string of the probe(Max size 127)"; } leaf tag { type string; description "User defined tag string (Max Size 127)"; } leaf ipTos { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf ipv6TrafficClass { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf srcHostName { type string; description "Source Host Name, if IP address is resolved from DNS server. Modifying this property is not allowed."; } leaf destHostName { type string; description "Destination Host Name, if IP address is resolved from DNS server.Modifying this property is not allowed in case of icmp-echo probe."; } leaf hoursOfStatsKept { type uint32 { range "0..25"; } default "2"; description "Maximum number of statistics hour groups to capture."; } leaf distributionsOfStatsKept { type uint32 { range "1..20"; } default "1"; description "Maximum number of statistics distribution buckets to capture"; } leaf statsDistributionInterval { type uint32 { range "1..100000"; } default "20"; description "Statistics distribution interval size, if the precision configured is in milliseconds, then the unit is in milliseconds else if it is microseconds, then the unit is in microseconds."; } leaf livesKept { type uint32 { range "0..2"; } default "0"; description "Maximum number of history lives to collect."; } leaf bucketsKept { type uint32 { range "1..60"; } default "15"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf filter { type enumeration { enum None { value 1; description "Shutoff History collection"; } enum All { value 2; description "Collect every operation in History"; } enum OverThreshold { value 3; description "Collect operations that are over threshold in History"; } enum Failures { value 4; description "Collect operations that fail in History"; } } default "None"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf enhancedInterval { type uint32 { range "0..3600"; } description "Aggregation interval in seconds to collect the aggregated values."; } leaf enhancedBuckets { type uint32 { range "0..100"; } description "Number of buckets to collect data based on the enhanced interval."; } } grouping sla_Http-group { description "The HTTP operation measures the round-trip time(RTT) between a Cisco device and an HTTP server to retrieve a web page."; // frequency can be either a single value or a range as "x-y" // schedule-periods min and max is same as this if it is not range use this property frequency leaf frequency { type sla_Frequency { range "60..604800"; } default "60"; description "Operation frequency (in seconds) using which the probes are scheduled."; } // Service monitoring timeout declaring the service down leaf timeout { type sla_Timeout { range "1..604800000"; } default "60000"; description "Timeout of an operation - this is the maximum wait time for completing the operation. The probe will be marked with Timeout return code."; } leaf httpmethod { type sla_HttpMethodVal; description "HTTP method - Currently only the get method is supported.For GET requests,IP SLAs will format the request based on the specified http URL."; } leaf httpurl { type string; description "URL string, expecting the input as http:[[//location[:port]]/directory]/filename"; } leaf proxy { type string; description "Proxy information - proxy URL"; } leaf cache { type boolean; default "true"; description "The config to enable/disable the download of cached HTTP page."; } leaf srcPort { type uint32; description "Source Port configuration for HTTP probe"; } leaf version { type string; default "1.0"; description "HTTP version number, Supported HTTP versions are '1.0' and '1.1'."; } // Service node's vrf leaf vrf { type l3_VrfName; default "default"; description "vrf on which the probe is configured."; } leaf destip { type address_Ip; description "Destination IP address which is tracked by the probe.This property is not applicable if the configured probe type is HTTP or DNS. Modifying this property is not allowed in case of icmp-echo probe."; } leaf srcip { type address_Ip; description "Source`IP address from which the configured destination is tracked by the probe. Modifying this property is not allowed."; } // Service monitoring threshold in milliseconds leaf threshold { type sla_Threshold; description "Operation threshold - this is an upper limit for the observed RTT for the probe. RTT value of a probe exceeding the configured threshold will be marked with Overthreshold return code."; } leaf owner { type string; description "Owner string of the probe(Max size 127)"; } leaf tag { type string; description "User defined tag string (Max Size 127)"; } leaf ipTos { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf ipv6TrafficClass { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf srcHostName { type string; description "Source Host Name, if IP address is resolved from DNS server. Modifying this property is not allowed."; } leaf destHostName { type string; description "Destination Host Name, if IP address is resolved from DNS server.Modifying this property is not allowed in case of icmp-echo probe."; } leaf hoursOfStatsKept { type uint32 { range "0..25"; } default "2"; description "Maximum number of statistics hour groups to capture."; } leaf distributionsOfStatsKept { type uint32 { range "1..20"; } default "1"; description "Maximum number of statistics distribution buckets to capture"; } leaf statsDistributionInterval { type uint32 { range "1..100000"; } default "20"; description "Statistics distribution interval size, if the precision configured is in milliseconds, then the unit is in milliseconds else if it is microseconds, then the unit is in microseconds."; } leaf livesKept { type uint32 { range "0..2"; } default "0"; description "Maximum number of history lives to collect."; } leaf bucketsKept { type uint32 { range "1..60"; } default "15"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf filter { type enumeration { enum None { value 1; description "Shutoff History collection"; } enum All { value 2; description "Collect every operation in History"; } enum OverThreshold { value 3; description "Collect operations that are over threshold in History"; } enum Failures { value 4; description "Collect operations that fail in History"; } } default "None"; description "Bucket size value - Maximum number of history buckets to collect"; } } grouping sla_UdpEcho-group { description "UDP Echo Operation"; // Service monitoring frequency in seconds leaf frequency { type sla_Frequency; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in seconds(default value is 60). Minimum frequency value for an IP SLAs HTTP probe operation is 60 seconds but 1 second for other probes."; } leaf frequencyInMilliseconds { type sla_FrequencyInMilliseconds; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in milliseconds(default value is 60000)."; } // Service monitoring timeout declaring the service down leaf timeout { type sla_Timeout; description "Timeout of an operation - this is the maximum wait time for completing the operation. The probe will be marked with Timeout return code."; } leaf dstPort { type uint32; description "Destination UDP Port configuration for the UDP probe, it is must to configure the destination port."; } leaf srcPort { type uint32; description "Source UDP Port configuration for udp echo probe and if the srcPort is not configured, then source port will be used."; } leaf control { type boolean; default "true"; description "To turn on/off Control Packets Exchanging mechanism between the sender and the responder, control is enabled by default."; } leaf dataPattern { type string; description "Specifies the hexadecimal data pattern in udp-echo probe to test for data corruption."; } leaf verifyData { type boolean; description "Verify Data for Corruption. When data verification is enabled, each operation response is checked for corruption. Use the verify-data command with caution during normal operations because it generates unnecessary overhead."; } leaf reqDataSize { type sla_ReqDataSize; default "16"; description "Sets the protocol data size in the payload of an IP SLAs operation's request packet."; } // Service node's vrf leaf vrf { type l3_VrfName; default "default"; description "vrf on which the probe is configured."; } leaf destip { type address_Ip; description "Destination IP address which is tracked by the probe.This property is not applicable if the configured probe type is HTTP or DNS. Modifying this property is not allowed in case of icmp-echo probe."; } leaf srcip { type address_Ip; description "Source`IP address from which the configured destination is tracked by the probe. Modifying this property is not allowed."; } // Service monitoring threshold in milliseconds leaf threshold { type sla_Threshold; description "Operation threshold - this is an upper limit for the observed RTT for the probe. RTT value of a probe exceeding the configured threshold will be marked with Overthreshold return code."; } leaf owner { type string; description "Owner string of the probe(Max size 127)"; } leaf tag { type string; description "User defined tag string (Max Size 127)"; } leaf ipTos { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf ipv6TrafficClass { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf srcHostName { type string; description "Source Host Name, if IP address is resolved from DNS server. Modifying this property is not allowed."; } leaf destHostName { type string; description "Destination Host Name, if IP address is resolved from DNS server.Modifying this property is not allowed in case of icmp-echo probe."; } leaf hoursOfStatsKept { type uint32 { range "0..25"; } default "2"; description "Maximum number of statistics hour groups to capture."; } leaf distributionsOfStatsKept { type uint32 { range "1..20"; } default "1"; description "Maximum number of statistics distribution buckets to capture"; } leaf statsDistributionInterval { type uint32 { range "1..100000"; } default "20"; description "Statistics distribution interval size, if the precision configured is in milliseconds, then the unit is in milliseconds else if it is microseconds, then the unit is in microseconds."; } leaf livesKept { type uint32 { range "0..2"; } default "0"; description "Maximum number of history lives to collect."; } leaf bucketsKept { type uint32 { range "1..60"; } default "15"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf filter { type enumeration { enum None { value 1; description "Shutoff History collection"; } enum All { value 2; description "Collect every operation in History"; } enum OverThreshold { value 3; description "Collect operations that are over threshold in History"; } enum Failures { value 4; description "Collect operations that fail in History"; } } default "None"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf enhancedInterval { type uint32 { range "0..3600"; } description "Aggregation interval in seconds to collect the aggregated values."; } leaf enhancedBuckets { type uint32 { range "0..100"; } description "Number of buckets to collect data based on the enhanced interval."; } } grouping sla_UdpJitter-group { description "UDP Jitter Operation"; // Service monitoring frequency in seconds leaf frequency { type sla_Frequency; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in seconds(default value is 60). Minimum frequency value for an IP SLAs HTTP probe operation is 60 seconds but 1 second for other probes."; } // Service monitoring timeout declaring the service down leaf timeout { type sla_Timeout; description "Timeout of an operation - this is the maximum wait time for completing the operation. The probe will be marked with Timeout return code."; } leaf dstPort { type uint32; description "Destion UDP Port configuration for the UDP probe, it is must to configure the destination port."; } leaf srcPort { type uint32; description "Source UDP Port configuration for udp-jitter probe and if the srcPort is not configured, then source port will be used."; } leaf control { type boolean; default "true"; description "To turn on/off Control Packets Exchanging mechanism between the sender and the responder, control is enabled by default."; } leaf numPkts { type sla_NumPkts; description "Number of packets per operation"; } leaf interval { type sla_Interval; description "UDP Jitter Interval"; } leaf codecType { type sla_CodecType; description "Codec Type"; } leaf codecNumPkts { type sla_CodecNumPkts; description "Number of packets per operation"; } leaf codecSize { type sla_CodecSize; description "Number of bytes per packet"; } leaf codecInterval { type sla_Interval; description "Interval between packets"; } leaf advFactor { type sla_AdvFactor; description "Advantage factor"; } leaf verifyData { type boolean; description "Verify Data for Corruption. When data verification is enabled, each operation response is checked for corruption. Use the verify-data command with caution during normal operations because it generates unnecessary overhead."; } leaf reqDataSize { type sla_ReqDataSize; default "32"; description "Sets the protocol data size in the payload of an IP SLAs operation's request packet."; } leaf precision { type sla_Precision; description "Precision configuration"; } leaf operationPktPriority { type sla_OpPktPriority; description "Operation Packet Priority"; } leaf absoluteClockTolerance { type sla_ClockToleranceAbsolute; description "Oneway NTP Clock Tolerance absolute Value"; } leaf percentClockTolerance { type sla_ClockTolerancePercent; description "Oneway NTP Clock Tolerance Value in percentage"; } // Service node's vrf leaf vrf { type l3_VrfName; default "default"; description "vrf on which the probe is configured."; } leaf destip { type address_Ip; description "Destination IP address which is tracked by the probe.This property is not applicable if the configured probe type is HTTP or DNS. Modifying this property is not allowed in case of icmp-echo probe."; } leaf srcip { type address_Ip; description "Source`IP address from which the configured destination is tracked by the probe. Modifying this property is not allowed."; } // Service monitoring threshold in milliseconds leaf threshold { type sla_Threshold; description "Operation threshold - this is an upper limit for the observed RTT for the probe. RTT value of a probe exceeding the configured threshold will be marked with Overthreshold return code."; } leaf owner { type string; description "Owner string of the probe(Max size 127)"; } leaf tag { type string; description "User defined tag string (Max Size 127)"; } leaf ipTos { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf ipv6TrafficClass { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf srcHostName { type string; description "Source Host Name, if IP address is resolved from DNS server. Modifying this property is not allowed."; } leaf destHostName { type string; description "Destination Host Name, if IP address is resolved from DNS server.Modifying this property is not allowed in case of icmp-echo probe."; } leaf hoursOfStatsKept { type uint32 { range "0..25"; } default "2"; description "Maximum number of statistics hour groups to capture."; } leaf distributionsOfStatsKept { type uint32 { range "1..20"; } default "1"; description "Maximum number of statistics distribution buckets to capture"; } leaf statsDistributionInterval { type uint32 { range "1..100000"; } default "20"; description "Statistics distribution interval size, if the precision configured is in milliseconds, then the unit is in milliseconds else if it is microseconds, then the unit is in microseconds."; } leaf enhancedInterval { type uint32 { range "0..3600"; } description "Aggregation interval in seconds to collect the aggregated values."; } leaf enhancedBuckets { type uint32 { range "0..100"; } description "Number of buckets to collect data based on the enhanced interval."; } } grouping sla_Dns-group { description "DNS Operation to probe the DNS server"; // Service monitoring frequency in seconds leaf frequency { type sla_Frequency; description "Frequency of an operation - The interval at which the configured destination is tracked by the probe. Frequency in seconds(default value is 60). Minimum frequency value for an IP SLAs HTTP probe operation is 60 seconds but 1 second for other probes."; } // Service monitoring timeout declaring the service down leaf timeout { type sla_Timeout { range "1..604800000"; } default "9000"; description "Timeout of an operation - this is the maximum wait time for completing the operation. The probe will be marked with Timeout return code."; } leaf srcPort { type uint32; description "Source Port configuration for DNS probe"; } leaf nameServerHostName { type string; description "Host name of the name server, from which the DNS name server IP address is resolved. Name server IP address which is used to resolve the target host name or target host ip configured in the probe. This property is applicable only incase of DNS probe."; } leaf nameServerIp { type address_Ip; description "Name server IP address which is used to resolve the target host name or target host ip configured in the probe.This property is applicable only if the configured probe type is DNS."; } leaf targetEntry { type string; description "This property can be either Host name or IP address (IPv4 address format x.x.x.x),(no IPv6 support) for which the resolution happens either by name or by IP to name respectively, in the configured probe. This property is applicable only incase of DNS probe."; } // Service node's vrf leaf vrf { type l3_VrfName; default "default"; description "vrf on which the probe is configured."; } leaf destip { type address_Ip; description "Destination IP address which is tracked by the probe.This property is not applicable if the configured probe type is HTTP or DNS. Modifying this property is not allowed in case of icmp-echo probe."; } leaf srcip { type address_Ip; description "Source`IP address from which the configured destination is tracked by the probe. Modifying this property is not allowed."; } // Service monitoring threshold in milliseconds leaf threshold { type sla_Threshold; description "Operation threshold - this is an upper limit for the observed RTT for the probe. RTT value of a probe exceeding the configured threshold will be marked with Overthreshold return code."; } leaf owner { type string; description "Owner string of the probe(Max size 127)"; } leaf tag { type string; description "User defined tag string (Max Size 127)"; } leaf ipTos { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf ipv6TrafficClass { type uint32; description "TOS if the probe is tracking IPv4 destination and Traffic Class if the probe is tracking IPv6 destination."; } leaf srcHostName { type string; description "Source Host Name, if IP address is resolved from DNS server. Modifying this property is not allowed."; } leaf destHostName { type string; description "Destination Host Name, if IP address is resolved from DNS server.Modifying this property is not allowed in case of icmp-echo probe."; } leaf hoursOfStatsKept { type uint32 { range "0..25"; } default "2"; description "Maximum number of statistics hour groups to capture."; } leaf distributionsOfStatsKept { type uint32 { range "1..20"; } default "1"; description "Maximum number of statistics distribution buckets to capture"; } leaf statsDistributionInterval { type uint32 { range "1..100000"; } default "20"; description "Statistics distribution interval size, if the precision configured is in milliseconds, then the unit is in milliseconds else if it is microseconds, then the unit is in microseconds."; } leaf livesKept { type uint32 { range "0..2"; } default "0"; description "Maximum number of history lives to collect."; } leaf bucketsKept { type uint32 { range "1..60"; } default "15"; description "Bucket size value - Maximum number of history buckets to collect"; } leaf filter { type enumeration { enum None { value 1; description "Shutoff History collection"; } enum All { value 2; description "Collect every operation in History"; } enum OverThreshold { value 3; description "Collect operations that are over threshold in History"; } enum Failures { value 4; description "Collect operations that fail in History"; } } default "None"; description "Bucket size value - Maximum number of history buckets to collect"; } } grouping sla_Scheduler-group { description "sla scheduler configurations"; leaf life { type uint64 { range "0..2147483647"; } default "3600"; description "Length of time to execute in seconds"; } leaf ageOut { type uint32 { range "0..2073600"; } default "0"; description "How long to keep this probe, when inactive (in seconds)"; } leaf startProbe { type enumeration { enum Now { value 1; description "Now immediate"; } enum At { value 2; description "At a specific time"; } enum Pending { value 3; description "Pending "; } enum After { value 4; description "After some time"; } } default "Pending"; description "When the probe is to be started"; } leaf dayOfTheMonth { type uint16 { range "0..31"; } default "0"; description "At which day of the configured month, the probe is to be started.Setting the value as zero means current day of the time. This property is applicable only when the startProbe proeprty is set as At"; } leaf month { type enumeration { enum None { value 0; description "Current month"; } enum January { value 1; description "January"; } enum February { value 2; description "February"; } enum March { value 3; description "March"; } enum April { value 4; description "April"; } enum May { value 5; description "May"; } enum June { value 6; description "June"; } enum July { value 7; description "July"; } enum August { value 8; description "August"; } enum September { value 9; description "September"; } enum October { value 10; description "October"; } enum November { value 11; description "November"; } enum December { value 12; description "December"; } } default "None"; description "At which month, the probe is to be started. This property is applicable only when the startProbe proeprty is set as At"; } leaf startTime { type string; description "When to start this probe on a given day and month in Hour(s):Minute(s):Second(s) i.e in (H:M:S) format. This property is applicable only when the startProbe proeprty is set as At or After."; } leaf recurring { type boolean; default "false"; description "Probe to be scheduled automatically every day"; } } grouping sla_ReactionTrigger-group { description "sla reaction trigger configurations for a probe - IP SLAs reactions are configured to trigger when a monitored value exceeds or falls below a specified level or when a monitored event, such as a timeout or connection loss, occurs. If IP SLAs measure too high or too low of any configured reaction, IP SLAs can generate a notification to a network management application or trigger another IP SLA operation to gather more data."; leaf targetProbe { type uint32; description "The target entry Number which will be triggered when the reactionType is configured as trapAndTrigger or triggerOnly. It is mandatory that this targetId probe should be configured prior to setting this property."; } } grouping sla_Reaction-group { description "sla reaction configurations for a probe - IP SLAs reactions are configured to trigger when a monitored value exceeds or falls below a specified level or when a monitored event, such as a timeout or connection loss, occurs. If IP SLAs measure too high or too low of any configured reaction, IP SLAs can generate a notification to a network management application or trigger another IP SLA operation to gather more data."; leaf reactOn { type sla_ReactionVariable; description "The performance parameters on which the proactive threshold monitoring and notifications are done."; } leaf reactionType { type sla_ActionType; description "The config is to notify the user when the monitored performance parameter value rises above or falls below a specified threshold. The notification can be either as SNMP traps or trigger to a new probe."; } leaf thresholdType { type sla_ThresholdType; description "The config says when the configured reactionType should be triggered."; } leaf thresholdCountX { type uint16 { range "1..16"; } default "5"; description "The config denotes the number of times the monitored performance parameter value rises above or falls below a specified threshold. This config applies only for the thresholdType 1. average 2. consecutive 3. xOfy"; } leaf thresholdCountY { type uint16 { range "1..16"; } default "5"; description "The config denotes the number of times the monitored performance parameter value rises above or falls below a specified threshold. This config applies only for the thresholdType xOfy"; } leaf upperThreshold { type sla_Threshold; description "Upper limit for Threshold."; } leaf lowerThreshold { type sla_Threshold; default "3000"; description "Lower limit for Threshold."; } } grouping sla_GrpScheduler-group { description "sla group scheduler configurations - Configures the group scheduling parameters for multiple IP SLAs operations"; leaf grpSchedulerId { type uint32 { range "1..65535"; } description "Group scheduler index"; } leaf probeList { type string; description "Multiple probe ID's to be group scheduled, List of one or more identification(ID) numbers of the IP SLAs operations to be included in a new multioperation schedule. (Max up to 125 characters). Indicate ranges of operation ID numbers with a hyphen. Individual ID numbers and ranges of ID numbers are delimited by a comma. For example, enter a list of operation ID numbers in any of the following ways: x-y,a-b,c-f or x,y,a,b,c,f or x-y,a,b,c-f"; } leaf schedulePeriod { type uint32 { range "0..604800"; } default "0"; description "Group schedule period in seconds, This is the time period in which the group of the probes configured in probeList are scheduled at an equal gap between them."; } leaf life { type uint32 { range "0..2147483647"; } default "3600"; description "Length of time to execute in seconds"; } leaf ageOut { type uint32 { range "0..2073600"; } default "0"; description "How long to keep the probes, when inactive (in seconds)"; } // frequency can be either a single value or a range as "x-y" // schedule-periods min and max is same as this if it is not range use this property frequency leaf frequency { type sla_Frequency; description "Group operation frequency (in seconds) using which the probes are scheduled."; } leaf frequencyRange { type string; description "Group operation frequency (in seconds) either in range as x-y, frequency-range is used for random scheduling."; } leaf startProbe { type enumeration { enum Now { value 1; description "Now immediate"; } enum At { value 2; description "At a specific time"; } enum Pending { value 3; description "Pending "; } enum After { value 4; description "After some time"; } } default "Pending"; description "When the probe is to be started"; } leaf dayOfTheMonth { type uint16 { range "0..31"; } default "0"; description "At which day of the configured month, the probe is to be started.Setting the value as zero means current day of the time. This property is applicable only when the startProbe proeprty is set as At"; } leaf month { type enumeration { enum None { value 0; description "Current month"; } enum January { value 1; description "January"; } enum February { value 2; description "February"; } enum March { value 3; description "March"; } enum April { value 4; description "April"; } enum May { value 5; description "May"; } enum June { value 6; description "June"; } enum July { value 7; description "July"; } enum August { value 8; description "August"; } enum September { value 9; description "September"; } enum October { value 10; description "October"; } enum November { value 11; description "November"; } enum December { value 12; description "December"; } } default "None"; description "At which month, the probe is to be started. This property is applicable only when the startProbe proeprty is set as At"; } leaf startTime { type string; description "When to start this probe on a given day and month in Hour(s):Minute(s):Second(s) i.e in (H:M:S) format. This property is applicable only when the startProbe proeprty is set as At or After."; } leaf modifyGrpSchedule { type enumeration { enum create { value 0; description "Create"; } enum add { value 1; description "Add"; } enum delete { value 2; description "Delete"; } } default "create"; description "modify the existing group schedule"; } leaf reschedule { type boolean; default "false"; description "Restarting a scheduled probe"; } } grouping sla_Responder-group { description "sla Responder specific configs are handled with this mo"; leaf loggingLevel { type uint32 { range "0..7"; } default "2"; description "configures the logging level for ip sla responder. The property can be set only if feature sla responder is enabled."; } leaf adminState { type boolean; default "true"; description "Enable or disable the ip sla responder. To enable responder, feature sla responder is to be enabled"; } container twampresponder-items { uses sla_TwampResponder-group; description "sla Responder twamp specific configs are handled with this mo"; } container type-items { list PermanentResponder-list { key "protocol port ipAddress"; uses sla_PermanentResponder-group; description "sla Responder permanent port configs for tcp-connect and udp-echo are handled with this mo.If this MO used the IP address will always be wild-card, only the port is configurable. list"; } description "sla Responder permanent port configs for tcp-connect and udp-echo are handled with this mo.If this MO used the IP address will always be wild-card, only the port is configurable."; } } grouping sla_TwampResponder-group { description "sla Responder twamp specific configs are handled with this mo"; leaf adminState { type boolean; default "true"; description "Enable or disable the twamp responder. To enable twamp responder, feature sla responder is to be enabled"; } leaf timeout { type sla_Timeout { range "1..604800"; } default "900"; description "TWAMP Responder Session inactivity timeout in seconds (default 900)"; } } grouping sla_PermanentResponder-group { description "sla Responder permanent port configs for tcp-connect and udp-echo are handled with this mo.If this MO used the IP address will always be wild-card, only the port is configurable."; leaf protocol { type sla_RespProto; description "Responder protocol types supported types are udp-echo, tcp-connect"; } leaf port { type sla_PortNum; description "Port on which the responder is listenening to receive the packets from the sender. This property is applicable only for TCP or UDP protocol. Required only if ip sla sender probe's control is disabled. Permanently enables the responder functionality on the specified port."; } leaf ipAddress { type address_Ip; description "IP on which the responder is listenening to receive the packets from the sender. This property is applicable only for TCP or UDP protocol. Required only if ip sla sender probe's control is disabled. Permanently enables the responder functionality on the specified port and IP. If the user needs wild card IP address, then use 0.0.0.0(any IP)"; } } grouping sla_TwampServer-group { description "Twamp"; leaf adminState { type boolean; default "true"; description "Enable or disable the ip sla twamp server. To enable twamp-server, feature sla twamp-server is to be enabled"; } leaf loggingLevel { type uint32 { range "0..7"; } default "2"; description "configures the logging level for twamp server. The property can be set only if feature sla twamp-server is enabled."; } leaf port { type sla_PortNum { range "1..65535"; } default "862"; description "TWAMP Server Port on which the TCP control connection is established.(default 862)"; } leaf inactivityTimer { type sla_Timeout { range "1..6000"; } default "900"; description "TWAMP Server Inactivity Timer, Max number of inactive seconds (default 900)"; } } grouping telemetry_Entity-group { description "Telemetry System"; leaf adminSt { type telemetry_AdminState; description "TBD"; } leaf batchDmeEvt { type boolean; default "true"; description "DME events batching is enabled or disabled"; } // certificate container certificate-items { uses telemetry_Certificate-group; description "Certificate used by Telemetry System"; } // default destination profile // This is the placeholder for global destination/transport options. // It supports the following options: // - vrf : Specify the vrf for the transport. // The default is "", meaning each platform // could pick it own default setting. container destprof-items { uses telemetry_DestProfile-group; description "Default Destination Profile"; } // sensor-groups container sensor-items { list SensorGroup-list { key "id"; uses telemetry_SensorGroup-group; description "Sensor Group list"; } description "Sensor Group"; } // destination-groups container dest-items { list DestGroup-list { key "id"; uses telemetry_DestGroup-group; description "Destination Group list"; } description "Destination Group"; } // subscriptions container subs-items { list Subscription-list { key "id"; uses telemetry_Subscription-group; description "Subscription list"; } description "Subscription"; } } grouping telemetry_Certificate-group { description "Certificate used by Telemetry System"; leaf filename { type os_OsString { length "0..255"; } description "Name of the .pem certificate file"; } leaf hostname { type os_OsString { length "1..255"; } description "Hostname associated with the certificate"; } leaf trustpoint { type os_OsString { length "0..64"; } description "Name of the certificate trustpoint"; } } grouping telemetry_DestProfile-group { description "Default Destination Profile"; // Not used. // Need this dummy property for VSH/CLI leaf adminSt { type telemetry_AdminState; description "Admin state"; } // Destination option : vrf name container vrf-items { uses telemetry_DestOptVrf-group; description "Destination option for vrf"; } // Destination option : compression name container compression-items { uses telemetry_DestOptCompression-group; description "Destination option for compression"; } // Destination option : source interface container sourceinterface-items { uses telemetry_DestOptSourceInterface-group; description "Destination option for source interface"; } container retry-items { uses telemetry_DestOptRetry-group; description "Destination option for send retry"; } // Destination option : nodeid name container nodeid-items { uses telemetry_DestOptNodeId-group; description "Destination option for nodeid string"; } // Destination option : GrpcDeadline container deadline-items { uses telemetry_DestOptGrpcDeadline-group; description "Destination option for modifying GRPC deadline parameter"; } } grouping telemetry_DestOptVrf-group { description "Destination option for vrf"; leaf name { type telemetry_VrfName; description "VRF name"; } } grouping telemetry_DestOptCompression-group { description "Destination option for compression"; leaf name { type telemetry_Compression; description "Compression name"; } } grouping telemetry_DestOptSourceInterface-group { description "Destination option for source interface"; leaf name { type nw_IfId; description "Source interface name"; } } grouping telemetry_DestOptRetry-group { description "Destination option for send retry"; leaf size { type uint32 { range "10..1500"; } default "10"; description "Send retry buffer size (in MB)"; } } grouping telemetry_DestOptNodeId-group { description "Destination option for nodeid string"; leaf name { type telemetry_NodeID; description "NodeID name"; } } grouping telemetry_DestOptGrpcDeadline-group { description "Destination option for modifying GRPC deadline parameter"; leaf timeout { type uint32 { range "30..120"; } default "30"; description "Deadline timeout value (in secondes)"; } } grouping telemetry_SensorGroup-group { description "Sensor Group"; leaf id { type telemetry_IDType; description "Sensor group identifier"; } leaf dataSrc { type telemetry_DataSource; description "Data source for this sensor group"; } container path-items { list SensorPath-list { key "path"; uses telemetry_SensorPath-group; description "The DME/Open-Config/Device-Yang/Usability path list"; } description "The DME/Open-Config/Device-Yang/Usability path"; } } grouping telemetry_SensorPath-group { description "The DME/Open-Config/Device-Yang/Usability path"; leaf path { type telemetry_SnsrPathType; description "The path to the monitored data"; } // Query condition (opaque query arguments as in REST url) leaf queryCondition { type telemetry_queryCondType { pattern ".*[!-~]{0,256}.*"; } description "The condition(s) for retrieving notifications"; } // Event Collector (queryFilter) leaf filterCondition { type telemetry_filterCondType { pattern ".*[!-~]{0,512}.*"; } description "The condition(s) for filtering the queried notifications"; } leaf depth { type telemetry_RetrieveDepth; description "The number of levels of managed objects retrieved (For path property value == 'Usability path' only level 0 is valid value)"; } leaf alias { type string { length "0..64"; } description "The alias of the en-coding path"; } } grouping telemetry_DestGroup-group { description "Destination Group"; leaf id { type telemetry_IDType; description "Destination group ID"; } container addr-items { list Dest-list { key "addr port"; uses telemetry_Dest-group; description "Destination list"; } description "Destination"; } // host container host-items { list DestHost-list { key "host port"; uses telemetry_DestHost-group; description "Destination Host list"; } description "Destination Host"; } // destination-group option : use-chunking container chunking-items { uses telemetry_DestGrpOptChunking-group; description "Destination-group option for chunking"; } // destination-group option : message max size container message-items { uses telemetry_DestGrpOptMaxMessage-group; description "Destination-group option for max message size"; } // destination-group option : certificate container certificate-items { uses telemetry_DestGrpOptCertificate-group; description "Destination-group option for certificate"; } // destination-group option : vrf name container vrf-items { uses telemetry_DestGrpOptVrf-group; description "Destination-group option for vrf"; } // destination-group option : compression container compression-items { uses telemetry_DestGrpOptCompression-group; description "Destination-group option for compression"; } } grouping telemetry_Dest-group { description "Destination"; leaf addr { type address_Ip; description "Destination IP address"; } leaf port { type uint16; description "Destination port number"; } // Need equivalent type for YANG telemetry-stream-protocol in DME leaf proto { type telemetry_Protocol; description "Destination protocol type"; } // No equivalent property in YANG leaf enc { type telemetry_Encoding; description "Destination encoding type"; } leaf nodeid { type telemetry_NodeIDorZero; description "Destination node Identifier"; } } grouping telemetry_DestHost-group { description "Destination Host"; leaf host { type telemetry_HostType; description "Destination Hostname"; } leaf port { type uint16; description "Destination port number"; } leaf proto { type telemetry_Protocol; description "Destination protocol type"; } leaf enc { type telemetry_Encoding; description "Destination encoding type"; } leaf grpcAsync { type boolean; description "gRPC Asynchronous mode"; } leaf proxyServer { type telemetry_ProxyServerType; description "Proxy server"; } leaf proxyPort { type telemetry_ProxyPortType; description "Proxy server port number"; } leaf proxyUsername { type telemetry_ProxyUsernameType; description "Proxy username"; } leaf proxyPassword { type telemetry_ProxyPasswordType; description "Proxy password"; } leaf proxyPwdEncryptType { type telemetry_ProxyPwdEnc; default "0"; description "Proxy password Encryption Type"; } leaf trustpoint { type os_OsString { length "0..64"; } description "Name of the certificate trustpoint"; } leaf certHostname { type os_OsString { length "0..255"; } description "Hostname associated with the certificate"; } leaf nodeid { type telemetry_NodeIDorZero; description "Destination node Identifier"; } } grouping telemetry_DestGrpOptChunking-group { description "Destination-group option for chunking"; leaf chunkSize { type uint32 { range "64..4096"; } default "64"; description "Chunking size in kbytes"; } } grouping telemetry_DestGrpOptMaxMessage-group { description "Destination-group option for max message size"; leaf messageSize { type uint32 { range "12288..32768"; } default "12288"; description "Message size in kbytes"; } } grouping telemetry_DestGrpOptCertificate-group { description "Destination-group option for certificate"; leaf filename { type os_OsString { length "1..255"; } description "Name of the .pem certificate file"; } leaf hostname { type os_OsString { length "1..255"; } description "Hostname associated with the certificate"; } } grouping telemetry_DestGrpOptVrf-group { description "Destination-group option for vrf"; leaf name { type telemetry_VrfName; description "Destination-group VRF name"; } } grouping telemetry_DestGrpOptCompression-group { description "Destination-group option for compression"; leaf name { type telemetry_Compression; description "Destination-group Compression name"; } } grouping telemetry_Subscription-group { description "Subscription"; leaf id { type telemetry_SubIDType; description "Subscription identifier"; } container rssensorGroupRel-items { list RsSensorGroupRel-list { key "tDn"; uses telemetry_RsSensorGroupRel_source-group; description "Link to sensorGroup entry list"; } description "Link to sensorGroup entry"; } container rsdestGroupRel-items { list RsDestGroupRel-list { key "tDn"; uses telemetry_RsDestGroupRel_source-group; description "Link to destGroup entry list"; } description "Link to destGroup entry"; } } grouping track_Entity-group { description "Object track entity"; // This object represents object of track. // The object tracking monitors the status of the tracked objects // and communicates any changes made to interested clients. // Each tracked object is identified by a unique number // (track:Object.id) that clients can use to configure the action // to take when a tracked object changes state. // Object types that can be tracked: // * Interface line protocol state: Tracks whether the line // protocol state is UP or Down. // * Interface IPv4/IPv6 routing state: Tracks whether the interface // has an IPv4 address and if IPv4 routing is enabled and active. // * IPv4/IPv6 route reachability: Tracks whether an IPv4 route // exists and is reachable from the local switch. // * Object track list: Tracks combined states of multiple objects. // Capabilities supported: boolean-and, boolean-or, // threshold-percentage, threshold-weight. // * Object tracking of IP SLA. // Specify track:Object.id container object-items { list Object-list { key "id"; uses track_Object-group; description "Placeholder for object which can be of type Interface line protocol state, Interface IPv4/IPv6 routing state, IPv4/IPv6 route reachability, Object track list and Object tracking of IP SLA list"; } description "Placeholder for object which can be of type Interface line protocol state, Interface IPv4/IPv6 routing state, IPv4/IPv6 route reachability, Object track list and Object tracking of IP SLA"; } // This object holds oper dynamic track information. container oper-items { list OperDynTrack-list { config "false"; key "id"; uses track_OperDynTrack-group; description "Dynamic Track details list"; } description "Dynamic Track details"; } } grouping track_Object-group { description "Placeholder for object which can be of type Interface line protocol state, Interface IPv4/IPv6 routing state, IPv4/IPv6 route reachability, Object track list and Object tracking of IP SLA"; // Track Object ID. // Each instance is identified by a unique number, // the object ID. Each instance is a parent of only one // of 'track:If', 'track:List', // 'track:IpRoute' or 'track:IpSla' leaf id { type track_TrackId; description "Track object ID"; } leaf clients { config "false"; type uint16; description "Number of clients tracking this object"; } leaf delayUp { type track_Delay; description "Delay up in seconds. Units - seconds. Range - 0 to 180"; } leaf delayDown { type track_Delay; description "Delay down in seconds. Units - seconds. Range - 0 to 180"; } leaf delayUpMs { type track_DelayMs; description "Delay up in milliseconds. Units - milliseconds. Allowed values - {0, 100-60000}"; } leaf delayDownMs { type track_DelayMs; description "Delay down in milliseconds. Units - milliseconds. Allowed values - {0, 100-60000}"; } leaf forceDelete { type track_deleteType; description "Use 'true' to perform force deletion, 'false' is the default value and will not perform deletion"; } // Object tracking for an interface, supports Ethernet, // subinterfaces, port-channels, loopback interfaces, and // VLAN interfaces. Either the interface line protocol state or // the interface IP routing state. When IP routing state is // tracked, these conditions are required for the object to be UP: // * IP routing must be enabled and active on the interface. // * The interface line-protocol state must be UP. // * The interface IP address must be known. // If all three conditions are not met, IP routing state is Down. container if-items { uses track_If-group; description "Interfaces of type Physical, Sub-interfaces, Port-channels, Loopback and VLAN support tracking object"; } // IP route track object. // Tracks whether an IPV4/IPV6 route exists and is reachable from // the local switch container iprt-items { uses track_IpRoute-group; description "IP route tracking object tracks whether an IPV4/IPV6 route exists and is reachable from the local switch"; } // IP SLA track object. // Object tracking of IP SLAs operations allow clients to // track the output from IP SLAs objects and // use this information to trigger an action. // Two aspects of IP SLAs can be tracked: state and reachability. // For state, if the return code is OK, then the track state is UP; // if the return code is not OK, then the track state is Down. // For reachability, if the return code is OK or OverThreshold, reachability is UP; // if not OK, reachability is Down. container ipsla-items { uses track_IpSla-group; description "Object tracking of IP SLAs operations allow clients to track the output from IP SLAs objects"; } // An object track list allows User to track the combined states // of multiple objects. Object track lists support the following // capabilities: // * Boolean "and" function: Each object defined within the track // list must be in an UP state so that the track list object // can become UP. // track:List.type should be specified as 'and' // * Boolean "or" function: At least one object defined within the // track list must be in UP state so that the tracked object // can become UP. // track:List.type should be specified as 'or' // * Threshold percentage: The percentage of UP objects in the // tracked list must be greater than the configured UP // threshold for the tracked list to be in the UP state. If the // percentage of Down objects in the tracked list is above the // configured track list Down threshold, the tracked list is // marked as Down. // track:List.type should be specified as 'percentage'. The value // for 'percentageUp' and 'percentageDown' // * Threshold weight: Assign a weight value to each object in the // tracked list, and a weight threshold for the track list. If // the combined weights of all UP objects exceeds the track list // weight UP threshold, the track list is in an UP state. If the // combined weights of all the Down objects exceeds the track list // weight Down threshold, the track list is in the Down state. // track:List.type should be specified as 'weight'. The value for // 'weightUp' and 'weightDown'. // Mo for List type track container list-items { uses track_List-group; description "list object allows User to track the combined states of multiple objects"; } } grouping track_If-group { description "Interfaces of type Physical, Sub-interfaces, Port-channels, Loopback and VLAN support tracking object"; // Interface ID to be tracked. // This specifies the name of the object tracking interface, // examples: 'eth1/1', 'eth1/1.1', 'po10', 'lo0'. // The interface MO must be present in objstore to configure // this else an error will be reported. leaf id { type nw_IfId; description "Interface to track"; } // Interface protocol type that an object can track leaf protocolType { type track_IntfProtocolType; description "Protocol type for interface object"; } } grouping track_IpRoute-group { description "IP route tracking object tracks whether an IPV4/IPV6 route exists and is reachable from the local switch"; // IPVX Address family of the route that is to be configured leaf af { type track_Af; description "Address family"; } leaf prefix { type address_Ip; description "IP route prefix"; } // This specifies IP Route State leaf routeState { type track_RouteState; description "Route State"; } leaf vrf { type l3_VrfName; default "default"; description "Vrf for track"; } // This specifies the process owning the route leaf routeOwner { type track_RouteOwner; description "Owner of the route"; } } grouping track_IpSla-group { description "Object tracking of IP SLAs operations allow clients to track the output from IP SLAs objects"; leaf probeId { type uint32 { range "1..2147483647"; } description "SLA probe ID"; } // SLA Probe States leaf probeState { type track_ProbeState; description "SLA reachability/state type"; } } grouping track_List-group { description "list object allows User to track the combined states of multiple objects"; // Type of list object. // Only 'boolean-and' object can be changed to 'boolean-or' // and vice versa is possible. Any other type of object can't // be modified to some other type. leaf type { type track_ListObj; description "Type of list object"; } leaf percentageUp { type uint16 { range "0..100"; } default "1"; description "Percentage Up"; } leaf percentageDown { type uint16 { range "0..100"; } default "0"; description "Percentage Down"; } leaf weightUp { type uint16 { range "0..255"; } default "1"; description "weight up value"; } leaf weightDown { type uint16 { range "0..255"; } default "0"; description "weight down value"; } // track list member objects, object-id is a naming property here container obj-items { list Member-list { key "id"; uses track_Member-group; description "MO for tracking list members list"; } description "MO for tracking list members"; } } grouping track_Member-group { description "MO for tracking list members"; // ID of track-list member leaf id { type track_TrackId; description "Track ID of object to be tracked"; } leaf weight { type uint16 { range "1..255"; } default "10"; description "Assign weight to a particular object"; } leaf not { type boolean; default "false"; description "Negate state of object"; } } grouping track_OperDynTrack-group { description "Dynamic Track details"; leaf id { config "false"; type track_TrackId; description "Dynamic Track object ID"; } } grouping udld_Entity-group { description "Unidirectional Link Detection Entity"; // This class shall store the global configuration // for a running UDLD instance container inst-items { uses udld_Inst-group; description "Unidirectional Link Detection Instance"; } } grouping udld_Inst-group { description "Unidirectional Link Detection Instance"; // aggressive mode leaf aggressive { type udld_AdminSt; description "Global Aggressive Mode"; } // probe message interval leaf msgIntvl { type udld_MsgIntvl; description "Probe Message Interval"; } leaf error { config "false"; type uint64; default "0"; description "failure code"; } container physif-items { list PhysIf-list { key "id"; uses udld_PhysIf-group; description "Unidirectional Link Detection Interface list"; } description "Unidirectional Link Detection Interface"; } } grouping udld_PhysIf-group { description "Unidirectional Link Detection Interface"; // aggressive mode leaf aggressive { type udld_AdminSt; description "Interface Aggressive Mode"; } // bidirectional detection leaf biDirDetect { type udld_PortEnable; description "Bidirectional Detection Enabled"; } // enable/disable leaf adminSt { type udld_PortEnable; description "UDLD enable/disable per port"; } // port type is fiber or non-fiber/copper leaf fiber { config "false"; type udld_OperSt; description "Fiber Port"; } leaf error { config "false"; type uint64; default "0"; description "failure code"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } } grouping vmtracker_VmTracker-group { description "VmTracker entity"; leaf autoconfigEnabled { type boolean; default "false"; description "Enable vmtracker fabric auto-config"; } // vmtracker interface object container vmtracker-items { list VmTrackerIf-list { key "vmtrackerInterface"; uses vmtracker_VmTrackerIf-group; description "vmracker settings for an interface. list"; } description "vmracker settings for an interface."; } // This object holds vmtracker connection information container connection-items { list Connection-list { key "connName"; uses vmtracker_Connection-group; description "VmTracker Connection list"; } description "VmTracker Connection"; } } grouping vmtracker_VmTrackerIf-group { description "vmracker settings for an interface."; leaf vmtrackerInterface { type nw_IfId; description "A vmtracker interface"; } leaf enable { type boolean; default "true"; description "Enable vmtracker on this interface."; } } grouping vmtracker_Connection-group { description "VmTracker Connection"; leaf connName { type string { length "0..64"; } description "Name of a connection the remote VMware Host"; } leaf remoteIp { type address_Ip; description "Destination IP address of this connection"; } leaf remotePort { type uint32 { range "0..65535"; } description "Destination TCP port of this connection"; } // VRF of vcenter to connect to leaf remoteVrf { type l3_VrfName; default "management"; description "VRF to use for the destination of this connection"; } leaf remoteUserName { type string { length "0..128"; } description "Username for logging into this VMware host"; } leaf remotePassword { type string; description "Password for logging into this VMware server"; } // Password Encrypt Type leaf remotePasswordType { type vmtracker_PasswordType; description "Password EnCrypt Type"; } leaf connect { type boolean; default "false"; description "Attempt to establish this connection"; } // allowed VLANs learned leaf allowedVlans { type l2_VlanBitmap; default "1-4094"; description "Limit the possible VLANs learned from the destination by this set"; } leaf autoVlan { type boolean; default "true"; description "Enable dynamic creation of VLANs learned"; } leaf findNewHost { type uint32 { range "0..65355"; } default "3600"; description "Check this frequently for new hosts"; } leaf syncFullInfo { type uint32 { range "0..65355"; } default "3600"; description "Check this frequently for hosts, VMs, and port groups"; } } grouping acllog_Entity-group { description "Acllog entity"; // Acllog instance MO container inst-items { uses acllog_Inst-group; description "Acllog Inst Object"; } } grouping acllog_Inst-group { description "Acllog Inst Object"; container log-items { uses acllog_LogCache-group; description "Acllog cache object"; } } grouping acllog_LogCache-group { description "Acllog cache object"; leaf threshold { type uint32 { range "0..1000000"; } default "0"; description "Number of packets are logged before the expiry of the alert interval the system generates a Syslog message"; } leaf entries { type uint32 { range "0..1048576"; } default "8000"; description "Maximum number of flows to be monitored by logging process"; } leaf detailed { type boolean; description "Include detailed ACL information"; } leaf includeSgt { type boolean; description "Include source group tag info in syslogs"; } leaf interval { type union { type string; type uint64 { range "5..86400"; } } default "300"; description "Log update interval in seconds"; } leaf matchLevel { type uint8 { range "0..7"; } default "6"; description "Acllog logging level severity"; } } grouping conftmpl_TemplateTable-group { description "Template Table"; // TemplateEntry container templateEntry-items { list TemplateEntry-list { key "name"; uses conftmpl_TemplateEntry-group; description "Provides the details about a specific template entry list"; } description "Provides the details about a specific template entry"; } } grouping conftmpl_TemplateEntry-group { description "Provides the details about a specific template entry"; leaf name { type string; description "Name of the config template"; } leaf description { type string; description "Description"; } leaf refCount { config "false"; type uint32; description "Signifies the number of VRFs associated with this config template"; } // OpTable MO container opTable-items { uses conftmpl_OpTable-group; description "Template Create/Delete Operation Table"; } } grouping conftmpl_OpTable-group { description "Template Create/Delete Operation Table"; leaf description { type string; description "Description"; } // OpEntry container opEntry-items { list OpEntry-list { key "operationType"; uses conftmpl_OpEntry-group; description "Template Operation Entry list"; } description "Template Operation Entry"; } } grouping conftmpl_OpEntry-group { description "Template Operation Entry"; leaf operationType { type conftmpl_OperationType; description "OperationType"; } leaf templateType { type conftmpl_TemplateType; description "The type of config template depending on which resource it operates for"; } leaf substituteString { type string; description "The string in a config template to be substituted by string sent by controller before applying the template configurations"; } leaf configString { type string; description "A list of semicolon seperated commands configured in a config template"; } leaf description { type string; description "Description"; } leaf refCount { type uint32; description "Description"; } } grouping dhclient_Entity-group { description "Dhclient Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds per dhclient instance information. There is // only one instance of dhclient running in the system today container inst-items { uses dhclient_Inst-group; description "Dhclient Instance"; } } grouping dhclient_Inst-group { description "Dhclient Instance"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds per Dhclient domain (vrf) information container dom-items { list Dom-list { key "name"; uses dhclient_Dom-group; description "This Object Holds Per Dhclient Domain (vrf) Information list"; } description "This Object Holds Per Dhclient Domain (vrf) Information"; } } grouping dhclient_Dom-group { description "This Object Holds Per Dhclient Domain (vrf) Information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This object holds dhclient information that is operated at a // interface level container if-items { list If-list { key "id"; uses dhclient_If-group; description "Dhclient Interface list"; } description "Dhclient Interface"; } } grouping dhclient_If-group { description "Dhclient Interface"; leaf v4Client { type nw_AdminSt; default "disabled"; description "DHCP v4 client state of interface "; } leaf v6Client { type nw_AdminSt; default "disabled"; description "DHCP V6 client state of interface"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping fm_Entity-group { description "Feature entity"; // MPLS Static feature information container mplsstatic-items { uses fm_MplsStatic-group; description "MPLS Static Feature (Static MPLS label allocation)"; } // MPLS OAM feature information container mplsoam-items { uses fm_MplsOam-group; description "MPLS OAM Feature (MPLS ping and traceroute)"; } // SRTE feature information container srte-items { uses fm_SRTE-group; description "Segment-Routing Traffic Engineering Feature"; } // MPLS Segment-routing feature information container mplssgmntrtg-items { uses fm_MplsSgmntRtg-group; description "MPLS Segment-Routing Feature"; } // SRv6 feature information container srv6-items { uses fm_SRv6-group; description "SRv6 Feature"; } // MPLS LDP feature information container mplsldp-items { uses fm_MplsLdp-group; description "MPLS-Ldp Feature"; } // MPLS L3vpn feature information container mplsl3vpn-items { uses fm_MplsL3vpn-group; description "MPLS L3VPN Feature"; } // MPLS EVPN feature information container mplsevpn-items { uses fm_MplsEvpn-group; description "MPLS EVPN Feature"; } // EVMED feature information container evmed-items { uses fm_Evmed-group; description "Event manager event detector feature"; } // PNP feature information container pnp-items { uses fm_Pnp-group; description "Plug and Play feature"; } // Privilege feature information container privilege-items { uses fm_Privilege-group; description "Enable or Disable privilege level support"; } // BGP feature information container bgp-items { uses fm_Bgp-group; description "BGP feature"; } // HMM feature information container hmm-items { uses fm_Hmm-group; description "HMM aka feature fabric forwarding"; } // EVPN feature information container evpn-items { uses fm_Evpn-group; description "EVPN feature (nv overlay evpn)"; } // Sflow feature information container sflow-items { uses fm_Sflow-group; description "Sflow feature"; } // NGOAM feature information container ngoam-items { uses fm_Ngoam-group; description "NGOAM feature"; } // POE feature information container poe-items { uses fm_Poe-group; description "POE feature"; } // MSDP feature information container msdp-items { uses fm_Msdp-group; description "MSDP feature"; } // MVPN feature information container mvpn-items { uses fm_Mvpn-group; description "MVPN feature"; } // DHCP feature information container dhcp-items { uses fm_Dhcp-group; description "DHCP feature"; } // Interface-Vlan feature information container ifvlan-items { uses fm_InterfaceVlan-group; description "Interface-Vlan feature"; } container bashshell-items { uses fm_BashShell-group; description "Bash-Shell feature"; } container netconf-items { uses fm_Netconf-group; description "Netconf feature"; } container restconf-items { uses fm_Restconf-group; description "Restconf feature"; } container grpc-items { uses fm_Grpc-group; description "Grpc feature"; } container grpctunnel-items { uses fm_GrpcTunnel-group; description "Grpc tunnel feature"; } container openconfig-items { uses fm_OpenConfig-group; description "OpenConfig feature"; } container scpserver-items { uses fm_ScpServer-group; description "SCP-Server Feature"; } container lldp-items { uses fm_Lldp-group; description "Lldp feature"; } // LACP feature information container lacp-items { uses fm_Lacp-group; description "LACP feature"; } // Nxapi feature information container nxapi-items { uses fm_Nxapi-group; description "Nxapi feature"; } // Telnet feature information container telnet-items { uses fm_Telnet-group; description "Telnet Feature"; } // Ssh feature information container ssh-items { uses fm_Ssh-group; description "Ssh feature"; } // Nxdb feature information container nxdb-items { uses fm_Nxdb-group; description "Nxdb feature"; } // VnSegment feature information container vnsegment-items { uses fm_VnSegment-group; description "VnSegment feature"; } // Tacacs+ feature information container tacacsplus-items { uses fm_Tacacsplus-group; description "Tacacs+ Feature"; } // Ldap feature information container ldap-items { uses fm_Ldap-group; description "Ldap Feature"; } // Scheduler feature information container scheduler-items { uses fm_Scheduler-group; description "Scheduler Feature"; } // Imp feature information container imp-items { uses fm_Imp-group; description "Imp Feature"; } // sftpServer feature information container sftpserver-items { uses fm_SftpServer-group; description "sftp-server Feature"; } // UDLD feature information container udld-items { uses fm_Udld-group; description "UDLD feature"; } // NAT feature information container nat-items { uses fm_Nat-group; description "Nat feature"; } // VRRPv3 feature information container vrrpv3-items { uses fm_Vrrpv3-group; description "Virtual Router Redundancy Protocol (VRRP) Version 3 feature"; } // VRRP feature information container vrrp-items { uses fm_Vrrp-group; description "Virtual Router Redundancy Protocol (VRRP) Version 2 feature"; } // HSRP feature information container hsrp-items { uses fm_Hsrp-group; description "Hot Standby Router Protocol (HSRP) feature"; } // Netflow feature information container netflow-items { uses fm_Netflow-group; description "Netflow feature"; } // Analytics feature information container analytics-items { uses fm_Analytics-group; description "Analytics feature"; } // BFD feature information container bfd-items { uses fm_Bfd-group; description "BFD feature"; } // PTP feature information container ptp-items { uses fm_Ptp-group; description "PTP feature"; } // Tunnel feature information container tunnelif-items { uses fm_Tunnelif-group; description "Tunnel feature"; } // nv overlay feature information container nvo-items { uses fm_Nvo-group; description "Vxlan feature"; } // PBR feature information container pbr-items { uses fm_Pbr-group; description "PBR feature"; } // PIM feature information container pim-items { uses fm_Pim-group; description "PIM feature"; } // NGMVPN feature information container ngmvpn-items { uses fm_Ngmvpn-group; description "Ngmvpn feature"; } // VPC feature information container vpc-items { uses fm_Vpc-group; description "VPC feature"; } // VTP feature information container vtp-items { uses fm_Vtp-group; description "VTP feature"; } container pvlan-items { uses fm_Pvlan-group; description "PVLAN feature"; } // NTP feature information container ntpd-items { uses fm_Ntpd-group; description "NTP Feature"; } // NBM feature information container nbm-items { uses fm_Nbm-group; description "Nbm feature"; } // Telemetry feature information container telemetry-items { uses fm_Telemetry-group; description "Telemetry feature"; } // OSPF feature information container ospf-items { uses fm_Ospf-group; description "Open Shortest Path First (OSPF) Version 2 feature"; } // OSPFv3 feature information container ospfv3-items { uses fm_Ospfv3-group; description "Open Shortest Path First (OSPFv3) Version 3 feature"; } // Eigrp feature information container eigrp-items { uses fm_Eigrp-group; description "Enhanced Interior Gateway Routing Protocol feature"; } // Holds "vendor interop controller" info container vctrl-items { uses fm_VendorCntrl-group; description "Vendor controllor interop"; } // macsec feature information container macsec-items { uses fm_Macsec-group; description "Macsec feature"; } // Tunnel-Encryption (CloudSec) feature information container tunnelenc-items { uses fm_TunnelEncryption-group; description "Tunnel-Encryption feature"; } // macsec feature information container ofm-items { uses fm_Ofm-group; description "Static Tunnel feature"; } // mdns feature information container mdns-items { uses fm_Mdns-group; description "Mdns feature"; } // Npiv feature information container npiv-items { uses fm_Npiv-group; description "Npiv feature"; } // PIM6 feature information container pim6-items { uses fm_Pim6-group; description "PIM6 feature"; } // ISIS feature information container isis-items { uses fm_Isis-group; description "ISIS feature"; } // HW_Telemetry feature information container hwtelemetry-items { uses fm_HwTelemetry-group; description "HW_Telemetry feature"; } container itd-items { uses fm_Itd-group; description "ITD feature"; } container icam-items { uses fm_Icam-group; description "Icam feature"; } // Port Security feature information container portsec-items { uses fm_PortSec-group; description "Port-Security Feature"; } // Flexlink feature information container flexlink-items { uses fm_Flexlink-group; description "Flexlink feature"; } // Sla Sender feature information container slasender-items { uses fm_SlaSender-group; description "Sla-Sender Feature"; } // Sla Responder feature information container slaresponder-items { uses fm_SlaResponder-group; description "Sla-Responder Feature"; } // Sla twamp-server feature information container slatwampserver-items { uses fm_SlaTwampServer-group; description "Sla-Twamp-Server Feature"; } // vmtracker feature information container vmtracker-items { uses fm_VmTracker-group; description "VmTracker Feature"; } // Dot1x feature information container dot1x-items { uses fm_Dot1x-group; description "Enable or disable dot1x feature"; } // NxSdk feature information container nxsdk-items { uses fm_NxSdk-group; description "NxSdk feature"; } // OpenFlow feature information container openflow-items { uses fm_OpenFlow-group; description "Enable or disable OpenFlow feature"; } // Container tracker feature information container containertracker-items { uses fm_ContainerTracker-group; description "Container Tracker Feature"; } // frequency-synchronization feature information container fsyncmgr-items { uses fm_FsyncMgr-group; description "Frequency Synchronization"; } // EPBR feature information container epbr-items { uses fm_Epbr-group; description "Epbr feature"; } container tapagg-items { uses fm_TapAgg-group; description "Tap-Aggregation feature"; } // Apphost feature information container apphosting-items { uses fm_AppHosting-group; description "enable or disable application host feature"; } // Intersight feature information container intersight-items { uses fm_Intersight-group; description "enable or disable intersight feature"; } } grouping fm_MplsStatic-group { description "MPLS Static Feature (Static MPLS label allocation)"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } leaf conflictingFeature { config "false"; type string; description "Name of a feature that is enabled and conflicts with this feature, and so is preventing this feature from being enabled."; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_ServiceInstance-group { description "Operational instance information"; leaf id { config "false"; type uint32; description "Instance Id"; } leaf operSt { config "false"; type fm_InstOperState; description "Operational status of the instance"; } } grouping fm_MplsOam-group { description "MPLS OAM Feature (MPLS ping and traceroute)"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } leaf conflictingFeature { config "false"; type string; description "Name of a feature that is enabled and conflicts with this feature, and so is preventing this feature from being enabled."; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_SRTE-group { description "Segment-Routing Traffic Engineering Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_MplsSgmntRtg-group { description "MPLS Segment-Routing Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } leaf conflictingFeature { config "false"; type string; description "Name of a feature that is enabled and conflicts with this feature, and so is preventing this feature from being enabled."; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_SRv6-group { description "SRv6 Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_MplsLdp-group { description "MPLS-Ldp Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } leaf conflictingFeature { config "false"; type string; description "Name of a feature that is enabled and conflicts with this feature, and so is preventing this feature from being enabled."; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_MplsL3vpn-group { description "MPLS L3VPN Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } leaf conflictingFeature { config "false"; type string; description "Name of a feature that is enabled and conflicts with this feature, and so is preventing this feature from being enabled."; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_MplsEvpn-group { description "MPLS EVPN Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } leaf conflictingFeature { config "false"; type string; description "Name of a feature that is enabled and conflicts with this feature, and so is preventing this feature from being enabled."; } } grouping fm_Evmed-group { description "Event manager event detector feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Pnp-group { description "Plug and Play feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Privilege-group { description "Enable or Disable privilege level support"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Bgp-group { description "BGP feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Hmm-group { description "HMM aka feature fabric forwarding"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Evpn-group { description "EVPN feature (nv overlay evpn)"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Sflow-group { description "Sflow feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ngoam-group { description "NGOAM feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Poe-group { description "POE feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Msdp-group { description "MSDP feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Mvpn-group { description "MVPN feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Dhcp-group { description "DHCP feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_InterfaceVlan-group { description "Interface-Vlan feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_BashShell-group { description "Bash-Shell feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Netconf-group { description "Netconf feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Restconf-group { description "Restconf feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Grpc-group { description "Grpc feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_GrpcTunnel-group { description "Grpc tunnel feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_OpenConfig-group { description "OpenConfig feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_ScpServer-group { description "SCP-Server Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Lldp-group { description "Lldp feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Lacp-group { description "LACP feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Nxapi-group { description "Nxapi feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Telnet-group { description "Telnet Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } } grouping fm_Ssh-group { description "Ssh feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; default "enabled"; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } } grouping fm_Nxdb-group { description "Nxdb feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_VnSegment-group { description "VnSegment feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Tacacsplus-group { description "Tacacs+ Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ldap-group { description "Ldap Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Scheduler-group { description "Scheduler Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Imp-group { description "Imp Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_SftpServer-group { description "sftp-server Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Udld-group { description "UDLD feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Nat-group { description "Nat feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Vrrpv3-group { description "Virtual Router Redundancy Protocol (VRRP) Version 3 feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Vrrp-group { description "Virtual Router Redundancy Protocol (VRRP) Version 2 feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Hsrp-group { description "Hot Standby Router Protocol (HSRP) feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Netflow-group { description "Netflow feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Analytics-group { description "Analytics feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Bfd-group { description "BFD feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ptp-group { description "PTP feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Tunnelif-group { description "Tunnel feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Nvo-group { description "Vxlan feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Pbr-group { description "PBR feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Pim-group { description "PIM feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ngmvpn-group { description "Ngmvpn feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Vpc-group { description "VPC feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Vtp-group { description "VTP feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Pvlan-group { description "PVLAN feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ntpd-group { description "NTP Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } } grouping fm_Nbm-group { description "Nbm feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Telemetry-group { description "Telemetry feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ospf-group { description "Open Shortest Path First (OSPF) Version 2 feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ospfv3-group { description "Open Shortest Path First (OSPFv3) Version 3 feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Eigrp-group { description "Enhanced Interior Gateway Routing Protocol feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_VendorCntrl-group { description "Vendor controllor interop"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } } grouping fm_Macsec-group { description "Macsec feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_TunnelEncryption-group { description "Tunnel-Encryption feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Ofm-group { description "Static Tunnel feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Mdns-group { description "Mdns feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Npiv-group { description "Npiv feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Pim6-group { description "PIM6 feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Isis-group { description "ISIS feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_HwTelemetry-group { description "HW_Telemetry feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Itd-group { description "ITD feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Icam-group { description "Icam feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_PortSec-group { description "Port-Security Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Flexlink-group { description "Flexlink feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_SlaSender-group { description "Sla-Sender Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_SlaResponder-group { description "Sla-Responder Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_SlaTwampServer-group { description "Sla-Twamp-Server Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_VmTracker-group { description "VmTracker Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Dot1x-group { description "Enable or disable dot1x feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_NxSdk-group { description "NxSdk feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_OpenFlow-group { description "Enable or disable OpenFlow feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_ContainerTracker-group { description "Container Tracker Feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_FsyncMgr-group { description "Frequency Synchronization"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Epbr-group { description "Epbr feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_TapAgg-group { description "Tap-Aggregation feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_AppHosting-group { description "enable or disable application host feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fm_Intersight-group { description "enable or disable intersight feature"; // To enable/disable feature leaf adminSt { type fm_AdminState; default "enabled"; description "Admin status"; } // Operational state of the service. // Its in enabled state even if one instance is enabled leaf operSt { config "false"; type fm_OperState; description "Operational status"; } leaf maxInstance { config "false"; type fm_Instance; description "Maximum number of instances supported"; } // This object contains instance specific operational information // common to features. This MO is created when there is a service instance // and removed when the service instance is removed. container service-items { list ServiceInstance-list { config "false"; key "id"; uses fm_ServiceInstance-group; description "Operational instance information list"; } description "Operational instance information"; } } grouping fs_Entity-group { description "file system entity"; // fils system entry container fs-items { list Fs-list { config "false"; key "mountOn"; uses fs_Fs-group; description "file system objects list"; } description "file system objects"; } } grouping fs_Fs-group { description "file system objects"; // Mount location leaf mountOn { config "false"; type fs_fileString; description "Mount location"; } leaf oneKBlocks { config "false"; type uint64; description "1K block size"; } leaf used { config "false"; type uint64; description "Used size"; } leaf available { config "false"; type uint64; description "Available size"; } leaf usePercent { config "false"; type uint32; description "Used percentage"; } // File system type leaf fileSystem { config "false"; type fs_fileString; description "File system type"; } } grouping fsd_Entity-group { description "File System Daemon Entity"; // This object holds per fsd instance information. There is // only one instance running in the system today container inst-items { uses fsd_Inst-group; description "File System Daemon Instance"; } } grouping fsd_Inst-group { description "File System Daemon Instance"; // Holds SUDI file system information container sudifs-items { uses fsd_SudiFs-group; description "Htttps file system based on SUDI"; } } grouping fsd_SudiFs-group { description "Htttps file system based on SUDI"; leaf port { type uint32 { range "1..49151"; } description "Port number for the SUDI server"; } } grouping fset_FeatureSet-group { description "A FeatureSet is a purely software functionality. It is a collection of componenets that perform a specific set of function"; leaf name { type string; description "Feature-set Name"; } // To uninstall/install leaf adminSt { type fset_AdminState; description "Admin status"; } leaf force { type boolean; description "force status"; } // Operational state of the featureSet leaf operSt { config "false"; type fset_OperState; description "Operational status"; } } grouping guestshell_GuestShell-group { description "Guest Shell execution space"; // Guest Shell status container status-items { uses guestshell_Status-group; description "Guest Shell status information"; } // Guest Shell general information container info-items { uses guestshell_Info-group; description "Guest Shell general information"; } // Guest Shell resource information container resources-items { uses guestshell_ResourceInfo-group; description "Resource information for the Guest Shell"; } } grouping guestshell_Status-group { description "Guest Shell status information"; // Operational state leaf operState { config "false"; type guestshell_GuestShellOperState; description "Operational state of the Guest Shell"; } leaf lastActionStatus { config "false"; type string; description "Status/result of last action performed on the Guest Shell"; } } grouping guestshell_Info-group { description "Guest Shell general information"; leaf packageLocation { config "false"; type string; description "Location of the Guest Shell package file at the time it was installed"; } leaf version { config "false"; type string; description "Guest Shell version number"; } leaf description { config "false"; type string; description "Guest Shell description"; } // Signing Key leaf signingKeyType { config "false"; type guestshell_SigningKeyType; description "Type of key that was used to sign the Guest Shell source package"; } } grouping guestshell_ResourceInfo-group { description "Resource information for the Guest Shell"; // Memory resource information leaf memRequested { config "false"; type guestshell_MemoryResource; description "Requested memory limit"; } leaf memCommitted { config "false"; type guestshell_MemoryResource; description "Maximum amount of memory currently allowed to be used"; } leaf memAvailable { config "false"; type guestshell_MemoryResource; description "Amount of memory beneath the quota that may be committed"; } leaf memQuota { config "false"; type guestshell_MemoryResource; description "Maximum memory limit allowed"; } leaf memUtilized { config "false"; type guestshell_MemoryResource; description "Amount of memory in use"; } // CPU resource information leaf cpuRequested { config "false"; type guestshell_CpuResource; description "Requested share of CPU"; } leaf cpuCommitted { config "false"; type guestshell_CpuResource; description "Current share of CPU"; } leaf cpuAvailable { config "false"; type guestshell_CpuResource; description "Amount of CPU share beneath the quota that may be committed"; } leaf cpuQuota { config "false"; type guestshell_CpuResource; description "Maximum CPU share allowed"; } leaf cpuUtilized { config "false"; type guestshell_CpuResource; description "Current utilization of CPU resources"; } // Bootflash storage resource information leaf rootfsRequested { config "false"; type guestshell_BootflashResource; description "Requested space for rootfs"; } leaf bootflashCommitted { config "false"; type guestshell_BootflashResource; description "Amount of space used for rootfs and control files"; } leaf bootflashAvailable { config "false"; type guestshell_BootflashResource; description "Amount of bootflash space available beneath the quota that may be committed"; } leaf bootflashQuota { config "false"; type guestshell_BootflashResource; description "Maximum bootflash space that may be used"; } leaf rootfsUtilized { config "false"; type guestshell_BootflashResource; description "Current utilization of the rootfs"; } } grouping installer_InstallHistoryEntity-group { description "Installation History information table"; // Ephemeral data leaf numEntriesMax { config "false"; type uint32; description "Maximum number of entries that will be saved"; } // Ephemeral data container installhistoryentry-items { // Ephemeral data list InstallHistoryEntry-list { key "number"; uses installer_InstallHistoryEntry-group; description "Installation History information list"; } description "Installation History information"; } } grouping installer_InstallHistoryEntry-group { description "Installation History information"; // Ephemeral data leaf number { type uint32; description "Entry number"; } // Ephemeral data leaf historyEntry { config "false"; type string; description "Installation History information entry"; } } grouping installer_Install-group { description "Image installation information and result"; leaf imgName { config "false"; type string; description "Image name for target installation image"; } leaf packageName { config "false"; type string; description "path for package to be applied after reload"; } // Stage of the install task leaf stage { config "false"; type installer_Stage; description "Stage of installation operation"; } // Upgrade error string leaf upgErr { config "false"; type installer_InstErr; description "Install upgrade error value"; } leaf upgErrStr { config "false"; type string; description "Upgrade error details string"; } leaf progress { config "false"; type uint32; description "Upgrade completion progress percentage "; } // Installation table container mod-items { list InstallUpgTable-list { config "false"; key "module"; uses installer_InstallUpgTable-group; description "Installer upgrade table for each module list"; } description "Installer upgrade table for each module "; } } grouping installer_InstallUpgTable-group { description "Installer upgrade table for each module "; leaf module { config "false"; type uint32; description "Module number"; } // Per Module Upg table row container modtype-items { list ModUpgTable-list { config "false"; key "modType"; uses installer_ModUpgTable-group; description "Module upgrade details for each module type list"; } description "Module upgrade details for each module type "; } } grouping installer_ModUpgTable-group { description "Module upgrade details for each module type "; leaf module { config "false"; type uint32; description "Module number"; } // module Type leaf modType { config "false"; type installer_InstModType; description "Module type"; } leaf runVer { config "false"; type string; description "Current running version"; } leaf targetVer { config "false"; type string; description "Target version for installation"; } // Upgrade Required YES/NO leaf upgReq { config "false"; type installer_InstEnum; description "Upgrade required result"; } // Status of the mod install task leaf upgStatus { config "false"; type installer_UpgStatusType; description "Upgrade status of each module"; } leaf failStr { config "false"; type string; description "Module upgrade failure reason details "; } } grouping interface_Entity-group { description "Interface"; leaf descr { config "false"; type string; description "Intf"; } // Switched encap interface (aka L2 sub if) container encsw-items { list EncSwIf-list { key "id"; uses l2_EncSwIf-group; description "Encapsulated Switched Interface list"; } description "Encapsulated Switched Interface"; } // VNI interface container vni-items { list If-list { key "id"; uses ofm_If-group; description "Routed VNI Interface as new l3vni list"; } description "Routed VNI Interface as new l3vni"; } // Physical ethernet interface information holder container phys-items { list PhysIf-list { key "id"; uses l1_PhysIf-group; description "Layer 1 Physical Interface Configuration list"; } description "Layer 1 Physical Interface Configuration"; } // Aggregated interface, collection of physical ports; // aka port channel container aggr-items { list AggrIf-list { key "id"; uses pc_AggrIf-group; description "Aggregated Interface list"; } description "Aggregated Interface"; } // Routed concrete interface (aka routed port) container rtd-items { list RtdIf-list { key "id"; uses l3_RtdIf-group; description "Routed Interface list"; } description "Routed Interface"; } // Routed loopback interface container lb-items { list LbRtdIf-list { key "id"; uses l3_LbRtdIf-group; description "Routed Loopback Interface list"; } description "Routed Loopback Interface"; } // Routed encap interface (aka sub if) container encrtd-items { list EncRtdIf-list { key "id"; uses l3_EncRtdIf-group; description "Encapsulated Routed Interface list"; } description "Encapsulated Routed Interface"; } // Routed Vlan Interface (SVI) Svi:If gets created for L2:BD, immediately after // l2:BD is attached to l3:Ctx. Use case: Communication // between two Hosts in different BDs. This is achieved // through routing. The resource limit of svi is same // as the resource limit of BD container svi-items { list If-list { key "id"; uses svi_If-group; description "Routed Vlan Interface list"; } description "Routed Vlan Interface"; } container tunnelif-items { list If-list { key "id"; uses tunnelif_If-group; description "Tunnel Interface list"; } description "Tunnel Interface"; } } grouping l2_EncSwIf-group { description "Encapsulated Switched Interface"; // Administrative state leaf adminSt { type l1_AdminSt; default "down"; description "Interface Admin State"; } leaf snmpTrap { type enumeration { enum enable { value 1; } enum disable { value 2; } } default "disable"; description "Administrative Port Snmp Trap State"; } // Interface link logging enable leaf linkLog { type l1_LinkLog; description "Interface Link Logging Enable"; } // Interface Mtu Is it required, check with marketing? leaf mtu { type l1_Mtu; description "Interface MTU (Max Transmission Unit)"; } leaf encap { type string; description "Customer Encapsulation Vlan"; } leaf providerVlan { type string; description "Service (Provider) Encapsulation Vlan"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024 { length "0..254"; pattern "(.{1,254}).*|()"; } description "Interface Description or Name"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // L2 sub-interface information holder container encswif-items { uses ethpm_EncSwIf-group; description "Encapsulated Switched Interface"; } // @@@Relationship to policy providing physical configuration of // the ports @@@rel-def // name="IfConf" // type="named" // from="fv:RsCcepConn" // to="fabric:HIfPol" // cardinality="1-to-1" // owner="management" // mod="explicit" // > // container rtstaticbfd-items { list RtStaticBfd-list { key "intf nexthop"; uses ipv4_RtStaticBfd-group; description "IP route static bfd list"; } description "IP route static bfd"; } // This object holds ipv4 information that is operated at a // interface level container if-items { list If-list { key "id"; uses ipv4_If-group; description "IPv4 Interface list"; } description "IPv4 Interface"; } container multicastrt-items { list MulticastRoute-list { key "prefix"; uses ipv4_MulticastRoute-group; description "IPv4 Multicast Static Route list"; } description "IPv4 Multicast Static Route"; } // Ephemeral data container pstat-items { uses ipv4_ProcessStat-group; description "IPv4 Process Stat"; } // Static route definitions container rt-items { list Route-list { key "prefix"; uses ipv4_Route-group; description "IPv4 Static Route list"; } description "IPv4 Static Route"; } // Ephemeral data container routestat-items { uses ipv4_RouteStat-group; description "IPv4 Static Route"; } // This object holds ipv4 information that is operated at a // domain level // Ephemeral data container ifbriefstats-items { // Ephemeral data list VrfIfBriefStats-list { config "false"; key "interfaceId"; uses ipv4_VrfIfBriefStats-group; description "IPv4 Vrf Level Brief Interface Statistics list"; } description "IPv4 Vrf Level Brief Interface Statistics"; } } grouping ipv4_RtStaticBfd-group { description "IP route static bfd"; // interface value. leaf intf { type nw_IfId; description "Interface"; } leaf nexthop { type address_Ip; description "Nexthop Address"; } } grouping ipv4_If-group { description "IPv4 Interface"; leaf directedBroadcast { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "disabled"; description "IP directed broadcast"; } leaf acl { type string { length "0..63"; } description "IP directed broadcast ACL"; } // IP forward. When interface types: eth, mgmt, // or port channel. leaf forward { type nw_AdminSt; default "disabled"; description "IP forward"; } // IP unnumbered. When interface types: eth, tunnel leaf unnumbered { type nw_IfId; description "IP unnumbered"; } // URPF info on interface leaf urpf { type ip_UrpfT; description "URPF Info"; } leaf dropGlean { type nw_AdminSt; default "disabled"; description "ip drop-glean enabled/disabled"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type ip_UnnumberedOperStQual; description "Operational State Qualifier"; } // Interface address container addr-items { list Addr-list { key "addr"; uses ipv4_Addr-group; description "Ipv4 Address list"; } description "Ipv4 Address"; } container dampening-items { uses ipv4_Dampening-group; description "IPv4 interface dampening"; } // Ephemeral data container dampeningdata-items { uses ipv4_DampeningData-group; description "IPv4 interface dampening data"; } // Ephemeral data container trafficstat-items { uses ipv4_IfTrafficStat-group; description "IPv4 Interface Traffic Stat"; } // Ephemeral data container stat-items { uses ipv4_IfStat-group; description "IPv4 Interface Stat"; } // Route map entries container rpol-items { uses rtmap_RmapPolicy-group; description "interface Route map Policy"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping ipv4_Addr-group { description "Ipv4 Address"; // use-bia leaf useBia { type nw_AdminSt; default "disabled"; description "Use Interface MAC Address"; } leaf addr { type address_Ip; description "Address"; } // Type of the address leaf type { type ip_AddrT; description "Type"; } // Address controls leaf ctrl { type ip_AddrControl; description "Controls"; } leaf vpcPeer { type address_Ip; description "VPC Peer"; } // Ip address preference leaf pref { type ip_Preference; description "Preference"; } // Route tag leaf tag { type rt_Tag; description "Route Tag"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type ip_AddrOperStQual; description "Operational State Qualifier"; } container rsipAddr-items { list RsIpAddr-list { key "tDn"; uses ip_RsIpAddr_source-group; description "IF Policy Attachement list"; } description "IF Policy Attachement"; } container rsrtDefIpAddr-items { list RsRtDefIpAddr-list { key "tDn"; uses ip_RsRtDefIpAddr_source-group; description "Route Def Attachment list"; } description "Route Def Attachment"; } container rsaddrToIpDef-items { list RsAddrToIpDef-list { key "tDn"; uses ip_RsAddrToIpDef_source-group; description "IpDef attachment list"; } description "IpDef attachment"; } } grouping ipv4_Dampening-group { description "IPv4 interface dampening"; leaf halfLifePeriod { type uint64 { range "0..30"; } default "0"; description "Half life period"; } leaf reuseThreshold { type uint64 { range "0..20000"; } default "0"; description "Reuse threshold"; } leaf suppressThreshold { type uint64 { range "0..20000"; } default "0"; description "Suppress threshold"; } leaf maxSuppress { type uint64 { range "0..255"; } default "0"; description "Maximum suppress time"; } leaf restartEnabled { type nw_AdminSt; description "Restart enabled"; } leaf restartPenalty { type uint64 { range "0..20000"; } default "0"; description "Restart penalty"; } } grouping ipv4_DampeningData-group { description "IPv4 interface dampening data"; // Ephemeral data leaf flapCount { config "false"; type uint64; description "Flap count"; } // Ephemeral data leaf penalty { config "false"; type uint64; description "Penalty accumulated"; } // Ephemeral data leaf suppressed { config "false"; type uint64; description "Is interface suppressed"; } // Ephemeral data leaf reuseTime { config "false"; type uint64; description "Reuse time"; } // Ephemeral data leaf halfLifePeriod { config "false"; type uint64; description "Half life period"; } // Ephemeral data leaf reuseThreshold { config "false"; type uint64; description "Reuse threshold"; } // Ephemeral data leaf suppressThreshold { config "false"; type uint64; description "Suppress threshold"; } // Ephemeral data leaf maxSuppress { config "false"; type uint64; description "Max suppress"; } // Ephemeral data leaf maxPenalty { config "false"; type uint64; description "Maximum penalty"; } // Ephemeral data leaf restartPenalty { config "false"; type uint64; description "Restart penalty"; } } grouping ipv4_IfTrafficStat-group { description "IPv4 Interface Traffic Stat"; // Ephemeral data leaf upktSent { config "false"; type uint64; description "Unicast Packet sent"; } // Ephemeral data leaf upktRecv { config "false"; type uint64; description "Unicast Packet Receive"; } // Ephemeral data leaf upktFwd { config "false"; type uint64; description "Unicast Packet Forward"; } // Ephemeral data leaf upktOrig { config "false"; type uint64; description "Unicast Packet Originated"; } // Ephemeral data leaf upktConsumed { config "false"; type uint64; description "Unicast Packet Consumed"; } // Ephemeral data leaf ubyteSent { config "false"; type uint64; description "Unicast Byte Sent"; } // Ephemeral data leaf ubyteRcv { config "false"; type uint64; description "Unicast Byte Receive"; } // Ephemeral data leaf ubyteFwd { config "false"; type uint64; description "Unicast Byte Forward"; } // Ephemeral data leaf ubyteOrig { config "false"; type uint64; description "Unicast Byte Originated"; } // Ephemeral data leaf ubyteConsumed { config "false"; type uint64; description "Unicast Byte Consumed"; } // Ephemeral data leaf mpktSent { config "false"; type uint64; description "Multicast Packets Sent"; } // Ephemeral data leaf mpktRcv { config "false"; type uint64; description "Multicast Packets Receive"; } // Ephemeral data leaf mpktFwd { config "false"; type uint64; description "Multicast Packets Forward"; } // Ephemeral data leaf mpktOrig { config "false"; type uint64; description "Multicast Packets Originated"; } // Ephemeral data leaf mpktConsumed { config "false"; type uint64; description "Multicast Packets Consumed"; } // Ephemeral data leaf mbyteSent { config "false"; type uint64; description "Multicast Byte Sent"; } // Ephemeral data leaf mbyteRcv { config "false"; type uint64; description "Multicast Byte Receive"; } // Ephemeral data leaf mbyteFwd { config "false"; type uint64; description "Multicast Byte Forward"; } // Ephemeral data leaf mbyteOrig { config "false"; type uint64; description "Multicast Byte Originated"; } // Ephemeral data leaf mbyteConsumed { config "false"; type uint64; description "Multicast Byte Consumed"; } // Ephemeral data leaf bpktSent { config "false"; type uint64; description "Broadcast Packet Sent"; } // Ephemeral data leaf bpktRcv { config "false"; type uint64; description "Broadcast Packet Receive"; } // Ephemeral data leaf bpktFwd { config "false"; type uint64; description "Broadcast Packet Forward"; } // Ephemeral data leaf bpktOrig { config "false"; type uint64; description "Broadcast Packet Originated"; } // Ephemeral data leaf bpktConsumed { config "false"; type uint64; description "Broadcast Packet Consumed"; } // Ephemeral data leaf bbyteSent { config "false"; type uint64; description "Broadcast Byte Sent"; } // Ephemeral data leaf bbyteRcv { config "false"; type uint64; description "Broadcast Byte Receive"; } // Ephemeral data leaf bbyteFwd { config "false"; type uint64; description "Broadcast Byte Forward"; } // Ephemeral data leaf bbyteOrig { config "false"; type uint64; description "Broadcast Byte Originated"; } // Ephemeral data leaf bbyteConsumed { config "false"; type uint64; description "Broadcast Byte Consumed"; } // Ephemeral data leaf lpktSent { config "false"; type uint64; description "Labeled Packet Sent"; } // Ephemeral data leaf lpktRcv { config "false"; type uint64; description "Labeled Packet Receive"; } // Ephemeral data leaf lpktFwd { config "false"; type uint64; description "Labeled Packet Forward"; } // Ephemeral data leaf lpktOrig { config "false"; type uint64; description "Labeled Packet Originated"; } // Ephemeral data leaf lpktConsumed { config "false"; type uint64; description "Labeled Packet Consumed"; } // Ephemeral data leaf lbyteSent { config "false"; type uint64; description "Labeled Byte Sent"; } // Ephemeral data leaf lbyteRcv { config "false"; type uint64; description "Labeled Byte Receive"; } // Ephemeral data leaf lbyteFwd { config "false"; type uint64; description "Labeled Byte Forward"; } // Ephemeral data leaf lbyteOrig { config "false"; type uint64; description "Labeled Byte Originated"; } // Ephemeral data leaf lbyteConsumed { config "false"; type uint64; description "Labeled Byte Consumed"; } } grouping ipv4_IfStat-group { description "IPv4 Interface Stat"; // Ephemeral data leaf iodValue { config "false"; type uint64; description "Iod Value"; } // Ephemeral data leaf vrfNameOut { config "false"; type string; description "Vrf Name Out"; } // Ephemeral data leaf protoState { config "false"; type string; description "Protocol state"; } // Ephemeral data leaf linkState { config "false"; type string; description "Link State"; } // Ephemeral data leaf adminState { config "false"; type string; description "Admin State"; } // Ephemeral data leaf priAddr { config "false"; type address_Ipv4; description "Primary Address"; } // Ephemeral data leaf priSubnet { config "false"; type string; description "Primary Address Subnet"; } // Ephemeral data leaf priMasklen { config "false"; type uint8; description "Primary Address Masklen"; } // Ephemeral data leaf priRoutePref { config "false"; type uint8; description "Primary address route preference"; } // Ephemeral data leaf priTag { config "false"; type uint32; description "Primary Address Tag"; } // Ephemeral data leaf secAddr { config "false"; type string; description "Secondary IP Address"; } // Ephemeral data leaf secAddrSubnet { config "false"; type string; description "Secondary Address Subnet"; } // Ephemeral data leaf secAddrMasklen { config "false"; type string; description "Secondary Address Masklen"; } // Ephemeral data leaf secAddrRoutePref { config "false"; type string; description "Secondary address route preference"; } // Ephemeral data leaf secAddrTag { config "false"; type string; description "Secondary Address Tag"; } // Ephemeral data leaf numAddr { config "false"; type uint32; description "Number of addresses"; } // Ephemeral data leaf vaddrClient { config "false"; type string; description "Virtual address client"; } // Ephemeral data leaf vaddrPrefix { config "false"; type string; description "Virtual address prefix"; } // Ephemeral data leaf vaddrSubnet { config "false"; type string; description "Virtual address subnet"; } // Ephemeral data leaf vaddrMasklen { config "false"; type string; description "Virtual address masklen"; } // Ephemeral data leaf numVaddr { config "false"; type uint64; description "Number of virtual addresses"; } // Ephemeral data leaf unnumIntf { config "false"; type string; description "Unnumbered IP Interface"; } leaf firstIod { config "false"; type uint64; description "First iod"; } leaf unnumChildIntf { config "false"; type string; description "Un-numbered child interface"; } // Ephemeral data leaf ipDisabled { config "false"; type string; description "IP Disabled"; } // Ephemeral data leaf bcastAddr { config "false"; type address_Ipv4; description "Broadcast Address"; } // Ephemeral data leaf mAddr { config "false"; type string; description "IP Multicast Groups Address"; } // Ephemeral data leaf numMaddr { config "false"; type uint32; description "Number of multicast addresses"; } // Ephemeral data leaf mtu { config "false"; type uint16; description "MTU"; } // Ephemeral data leaf pref { config "false"; type uint8; description "Preference"; } // Ephemeral data leaf tag { config "false"; type uint32; description "Tag"; } // Ephemeral data leaf proxyArp { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_IfStat_proxyArp; description "Proxy Arp"; } // Ephemeral data leaf localProxyArp { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_IfStat_localProxyArp; description "Local Proxy Arp"; } // Ephemeral data leaf mRouting { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_IfStat_mRouting; description "Multicast Routing"; } // Ephemeral data leaf icmpRedirect { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_IfStat_icmpRedirect; description "Icmp Redirect"; } // Ephemeral data leaf directBcast { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_IfStat_directBcast; description "Directed Broadcast"; } // Ephemeral data leaf ipUnreach { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_IfStat_ipUnreach; description "IP Unreachable"; } // Ephemeral data leaf portUnreach { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_IfStat_portUnreach; description "Port Unreachable"; } // Ephemeral data leaf urpfMode { config "false"; type string; description "Unicast reverse path forwarding mode"; } // Ephemeral data leaf ipLoadSharing { config "false"; type string; description "IP Load Sharing Type"; } // Ephemeral data leaf aclIn { config "false"; type string; description "Acl In"; } // Ephemeral data leaf aclOut { config "false"; type string; description "Acl Out"; } // Ephemeral data leaf statsLastReset { config "false"; type string; description "Stats Last Reset"; } } grouping rtmap_RmapPolicy-group { description "interface Route map Policy"; leaf rmapname { type string { length "0..63"; } description "IP Route map Policy Name"; } leaf name { type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping ipv4_MulticastRoute-group { description "IPv4 Multicast Static Route"; leaf prefix { type address_Ip; description "Prefix"; } container nh-items { list MulticastNexthop-list { key "nhIf nhAddr nhVrf"; uses ipv4_MulticastNexthop-group; description "IPv4 Nexthop list"; } description "IPv4 Nexthop"; } } grouping ipv4_MulticastNexthop-group { description "IPv4 Nexthop"; leaf nhIf { type nw_IfId; description "Nexthop Interface"; } leaf nhAddr { type address_Ip; description "Nexthop Address"; } leaf nhVrf { type l3_VrfName; description "Nexthop VRF"; } leaf pref { type uint8; description "Route preference"; } } grouping ipv4_ProcessStat-group { description "IPv4 Process Stat"; // Ephemeral data leaf contextName { config "false"; type string; description "Context Name"; } // Ephemeral data leaf contextId { config "false"; type uint64; description "Context Id"; } // Ephemeral data leaf baseTId { config "false"; type uint64; description "Base Table Id"; } // Ephemeral data leaf autoDisc { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_ProcessStat_autoDisc; description "Auto Discard"; } // Ephemeral data leaf autoDiscAdd { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_ProcessStat_autoDiscAdd; description "Auto Discard Added"; } // Ephemeral data leaf nullBcast { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_ProcessStat_nullBcast; description "Null BroadCast"; } // Ephemeral data leaf autoPuntBcast { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_ProcessStat_autoPuntBcast; description "Auto Punt Broadcast"; } // Ephemeral data leaf staticDisc { config "false"; // Type is a Local-MO-Defined-Type type nw_AdminSt_ProcessStat_staticDisc; description "Static Discard"; } // Ephemeral data leaf staticDefRoute { config "false"; type uint64; description "Static Default Route Count"; } // Ephemeral data leaf ipUnreach { config "false"; type uint64; description "IP Unreachable Count"; } // Ephemeral data leaf entryIod { config "false"; type string; description "Entry IOD"; } // Ephemeral data leaf localAddr { config "false"; type string; description "Local Address"; } } grouping ipv4_Route-group { description "IPv4 Static Route"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf prefix { type address_Ip; description "Prefix"; } // Route preference, the administrative distance assigned // to this route leaf pref { type rt_Preference; description "Preference"; } // Route tag leaf tag { type rt_Tag; description "Tag"; } // Policy tag leaf pcTag { type actrl_PcTag; description "PC Tag"; } // Route ctrl leaf ctrl { type ip_RtControl; description "Controls"; } // Nexthops for the static route container nh-items { list Nexthop-list { key "nhIf nhAddr nhVrf"; uses ipv4_Nexthop-group; description "IPv4 Nexthop list"; } description "IPv4 Nexthop"; } // Temporary Nexthop stub created until the Spine proxy // IP address is determined. container nhs-items { list NexthopStub-list { config "false"; key "nhIf nhAddr nhVrf"; uses ipv4_NexthopStub-group; description "IPv4 Nexthop list"; } description "IPv4 Nexthop"; } container rsrouteToRouteDef-items { list RsRouteToRouteDef-list { config "false"; key "tDn"; uses ip_RsRouteToRouteDef_source-group; description "Route Def Attachment list"; } description "Route Def Attachment"; } container rsrouteToIfConn-items { list RsRouteToIfConn-list { config "false"; key "tDn"; uses ip_RsRouteToIfConn_source-group; description "Route if Attachment list"; } description "Route if Attachment"; } } grouping ipv4_Nexthop-group { description "IPv4 Nexthop"; leaf rtname { type string; description "Next hop name"; } leaf tag { type uint32; description "tag value"; } leaf pref { type uint8; description "Route preference"; } leaf object { type uint32; description "Object to be tracked"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Nexthop interface, force the packet that matches // this prefix on this interface leaf nhIf { type nw_IfId; description "Nexthop Interface"; } leaf nhAddr { type address_Ip; description "Nexthop Address"; } // Nexthop vrf @@@ This is marked unspecified if the nexthop is in // @@@ the same vrf as route leaf nhVrf { type l3_VrfName; description "Nexthop VRF"; } leaf rwEncap { type string; description "Rewrite Encapsulation"; } // Nexthop flags leaf flags { config "false"; type ip_NhFlags; description "Rnh Flags"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } container rsnexthopToNexthopDef-items { list RsNexthopToNexthopDef-list { config "false"; key "tDn"; uses ip_RsNexthopToNexthopDef_source-group; description "Nexthop Def Attachment list"; } description "Nexthop Def Attachment"; } container rsnexthopToProtG-items { list RsNexthopToProtG-list { config "false"; key "tDn"; uses ip_RsNexthopToProtG_source-group; description "Protection Group Attachment list"; } description "Protection Group Attachment"; } } grouping ipv4_NexthopStub-group { description "IPv4 Nexthop"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Nexthop interface, force the packet that matches // this prefix on this interface leaf nhIf { config "false"; type nw_IfId; description "Nexthop Interface"; } leaf nhAddr { config "false"; type address_Ip; description "Nexthop Address"; } // Nexthop vrf @@@ This is marked unspecified if the nexthop is in // @@@ the same vrf as route leaf nhVrf { config "false"; type l3_VrfName; description "Nexthop VRF"; } leaf rwEncap { config "false"; type string; description "Rewrite Encapsulation"; } // Nexthop flags leaf flags { config "false"; type ip_NhFlags; description "Rnh Flags"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } container rsnexthopToNexthopDef-items { list RsNexthopToNexthopDef-list { config "false"; key "tDn"; uses ip_RsNexthopToNexthopDef_source-group; description "Nexthop Def Attachment list"; } description "Nexthop Def Attachment"; } container rsnexthopToProtG-items { list RsNexthopToProtG-list { config "false"; key "tDn"; uses ip_RsNexthopToProtG_source-group; description "Protection Group Attachment list"; } description "Protection Group Attachment"; } } grouping ipv4_RouteStat-group { description "IPv4 Static Route"; // Ephemeral data leaf contextName { config "false"; type string; description "Context Name"; } // Ephemeral data leaf contextId { config "false"; type uint32; description "Context Id"; } // Ephemeral data leaf prefixMask { config "false"; type string; description "Prefix Mask"; } // Ephemeral data leaf nhPrefixMask { config "false"; type string; description "Next Hop Prefix Mask"; } // Ephemeral data leaf vrfInfo { config "false"; type string; description "vrf Info"; } // Ephemeral data leaf intrInfo { config "false"; type string; description "Interface Info"; } // Ephemeral data leaf uribStat { config "false"; type string; description "Urib State"; } // Ephemeral data leaf nhopUribStat { config "false"; type string; description "Next Hop Urib State"; } // Ephemeral data leaf trackObjNum { config "false"; type string; description "Track object number"; } // Ephemeral data leaf trackObjState { config "false"; type string; description "Track Object State"; } } grouping ipv4_VrfIfBriefStats-group { description "IPv4 Vrf Level Brief Interface Statistics"; // Ephemeral data leaf interfaceId { config "false"; type nw_IfId; description "Interface Name"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "IPv4 Address"; } // Ephemeral data leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Ephemeral data leaf protSt { config "false"; type nw_AdminSt; description "Protocol State"; } // Ephemeral data leaf linkSt { config "false"; type nw_AdminSt; description "Link State"; } // Ephemeral data leaf secAddrList { config "false"; type string; description "Seconday Address List"; } } grouping ipv4_IpPacketsPerSecond-group { description "IPv4 Packets per second config"; // Type of the PPS traffic which is thresholded leaf ipPpsType { type ipv4_IpPpsTypes; description "Packets per second type"; } leaf ipPpsThresholdSize { type uint32 { range "1..30000"; } description "Packets per second size"; } leaf ipPpsThresholdLogInterval { type uint32 { range "1..60"; } default "1"; description "Packets per second log interval"; } } grouping ipv4_Client-group { description "IPv4 Client"; // Ephemeral data leaf clientName { config "false"; type string; description "Client Name"; } // Ephemeral data leaf clientUuid { config "false"; type int32; description "Client uuid"; } // Ephemeral data leaf clientPid { config "false"; type int32; description "Client Pid"; } // Ephemeral data leaf clientExtPid { config "false"; type uint32; description "Client Extended Pid"; } // Ephemeral data leaf clientProtocol { config "false"; type uint8; description "Client Protocol"; } // Ephemeral data leaf clientIndex { config "false"; type uint16; description "Client Index"; } // Ephemeral data leaf clientContextId { config "false"; type uint32; description "Client Context Id"; } // client mts sap // Ephemeral data leaf clientMtsSap { config "false"; type ipv4_ClientMtsSapType; description "Client Data Mts Sap"; } // client flag // Ephemeral data leaf clientFlag { config "false"; type ipv4_ClientFlagType; description "Client Flag"; } // Ephemeral data leaf clientDataMsgSuccess { config "false"; type uint64; description "Client Data Msg Send Successful"; } // Ephemeral data leaf clientDataMsgFail { config "false"; type uint64; description "Client Data Msg Send Failed"; } // Ephemeral data leaf clientRcvFunName { config "false"; type string; description "Client Receive Function Name"; } } grouping ipv4_IPLoadSharing-group { description "IPv4 Load-sharing"; // load share mode for 'ip load-sharing' cli, there are four modes // - 1. {address source-destination} // cli: ip load-sharing address source-destination gre-outer // concatenation rotate 1 universal-id 2 // - 2. {address destination port destination} // cli: ip load-sharing address source-destination gre // concatenation rotate 1 universal-id 2 // - 3. {address source-destination gre-key} // cli: ip load-sharing address destination port destination // rotate 1 universal-id 2 // - 4. {address source-destination port source-destination} // cli: ip load-sharing address source-destination port // source-destination concatenation // - 5. {address source-destination gtpu-teid} // cli: ip load-sharing address source-destination gtpu // concatenation rotate 1 universal-id 2 leaf loadShareMode { type ip_LoadShareFormat; description "Load sharing mode"; } leaf universalID { type uint32 { range "0..4294967295"; } description "Universal-ID(Random seed)"; } leaf lbKeyshift { type uint32 { range "1..10"; } description "hardware lb-keyshift"; } leaf lb2ndHierKeyshift { type uint32 { range "1..10"; } description "hardware lb-2nd-hier-keyshift"; } // whether gre-outer hash is enabled leaf greOuterHash { type nw_AdminSt; default "disabled"; description "GRE Outer Hash"; } leaf udfOffset { type uint16 { range "0..127"; } description "source-destination udf"; } leaf udfLength { type uint16 { range "0..32"; } description "source-destination udf length"; } // whether concatenation is enabled leaf concatenation { type nw_AdminSt; default "disabled"; description "Concatenation"; } leaf rotate { type uint16 { range "1..63"; } default "32"; description "Rotate"; } // whether ecmploadsharing is enabled. // Not supported on n9k today, defined for future use leaf ecmpLoadSharing { type nw_AdminSt; default "disabled"; description "ECMP load sharing"; } } grouping ipv4_LoadSharingStat-group { description "IPv4 load-sharing statistics"; // Ephemeral data leaf univerIdRanSeed { config "false"; type uint32; description "Universal Id Random Seed"; } // Ephemeral data leaf ipLoadshareOption { config "false"; type string; description "IP Load Share Option"; } // Ephemeral data leaf hashFlag { config "false"; type nw_AdminSt; description "GRE-Outer Hash"; } // Ephemeral data leaf concat { config "false"; type nw_AdminSt; description "Concatenation"; } leaf rotate { config "false"; type uint16 { range "1..63"; } default "32"; description "Rotate"; } } grouping ipv4_IpTrafficStat-group { description "IP Software Processed Traffic Stat"; // Ephemeral data leaf received { config "false"; type uint32; description "Traffic Received"; } // Ephemeral data leaf sent { config "false"; type uint32; description "Traffic Sent"; } // Ephemeral data leaf consumed { config "false"; type uint32; description "Traffic Consumed"; } // Ephemeral data leaf fwdUcast { config "false"; type uint32; description "Forwarded Unicast"; } // Ephemeral data leaf fwdMcast { config "false"; type uint32; description "Forwarded Multicast"; } // Ephemeral data leaf fwdLabel { config "false"; type uint32; description "Forwarded Label"; } // Ephemeral data leaf ingressMcecFwdPkts { config "false"; type uint32; description "Ingress mcec forward"; } // Ephemeral data leaf optsEnd { config "false"; type uint32; description "OPTS End"; } // Ephemeral data leaf optsNop { config "false"; type uint32; description "OPTS Nop"; } // Ephemeral data leaf optsBsec { config "false"; type uint32; description "OPTS Basic Security"; } // Ephemeral data leaf optsLsrr { config "false"; type uint32; description "OPTS Loose Source Route"; } // Ephemeral data leaf optsTimestamp { config "false"; type uint32; description "OPTS Timestamp"; } // Ephemeral data leaf optsEsec { config "false"; type uint32; description "OPTS Extended Security"; } // Ephemeral data leaf optsRecordRoute { config "false"; type uint32; description "OPTS Record Route"; } // Ephemeral data leaf optsStrsrcRoute { config "false"; type uint32; description "OPTS Strict Source Route"; } // Ephemeral data leaf optsAlert { config "false"; type uint32; description "OPTS Alert"; } // Ephemeral data leaf optsOther { config "false"; type uint32; description "OPTS Other"; } // Ephemeral data leaf excpnIcmpUnreach { config "false"; type uint32; description "ICMP Unreachable Exception"; } // Ephemeral data leaf frag { config "false"; type uint32; description "Fragments Received"; } // Ephemeral data leaf fragmented { config "false"; type uint32; description "Fragments Sent"; } // Ephemeral data leaf outFrag { config "false"; type uint32; description "Fragments Created"; } // Ephemeral data leaf fragDrop { config "false"; type uint32; description "Fragments Dropped"; } // Ephemeral data leaf cantFrag { config "false"; type uint32; description "Packets with Dont Fragment Bit"; } // Ephemeral data leaf reasm { config "false"; type uint32; description "Packets Reassembled"; } // Ephemeral data leaf fragTO { config "false"; type uint32; description "Fragments Timed Out"; } } grouping ipv4_IpTrafficErrStat-group { description "IP Software Processed Traffic Stat"; // Ephemeral data leaf badCsum { config "false"; type uint32; description "Error Bad Checksum"; } // Ephemeral data leaf tooSmall { config "false"; type uint32; description "Error Packet Too Small"; } // Ephemeral data leaf badVer { config "false"; type uint32; description "Error Bad Version"; } // Ephemeral data leaf badHLen { config "false"; type uint32; description "Error Bad Header Length"; } // Ephemeral data leaf badLen { config "false"; type uint32; description "Error Bad Packet Length"; } // Ephemeral data leaf badDest { config "false"; type uint32; description "Error Bad Destination"; } // Ephemeral data leaf badTTL { config "false"; type uint32; description "Error Bad TTL"; } // Ephemeral data leaf cantFwd { config "false"; type uint32; description "Error Could Not Forward"; } // Ephemeral data leaf outDrop { config "false"; type uint32; description "Error No Buffer Dropped"; } // Ephemeral data leaf badEncap { config "false"; type uint32; description "Error Bad Encapsulation"; } // Ephemeral data leaf noRoute { config "false"; type uint32; description "Eroor No route"; } // Ephemeral data leaf noProto { config "false"; type uint32; description "Error Non-Existent Protocol"; } // Ephemeral data leaf badOptions { config "false"; type uint32; description "Error Bad Options"; } // Ephemeral data leaf vinciMigPkts { config "false"; type uint32; description "Vinci Migration Packet Count"; } // Ephemeral data leaf snoopSuccess { config "false"; type uint32; description "Packets Snooped"; } // Ephemeral data leaf sviIodDown { config "false"; type uint32; description "Packets On Down Svi"; } // Ephemeral data leaf restartPktDrop { config "false"; type uint32; description "Restart Packet Drop Count"; } // Ephemeral data leaf mbufErrCount { config "false"; type uint32; description "MBUF Pull Up Fail"; } // Ephemeral data leaf badCntxtIdDrop { config "false"; type uint32; description "Bad Context Id Drop Count"; } // Ephemeral data leaf rpfDrop { config "false"; type uint32; description "Rpf Drop Count"; } // Ephemeral data leaf badGwMacDrop { config "false"; type uint32; description "Bad GW MAC Drop Count"; } // Ephemeral data leaf ipsOptionFail { config "false"; type uint32; description "Ingress Option Processing Fail"; } // Ephemeral data leaf natInDrop { config "false"; type uint32; description "NAT Inside Drop Count"; } // Ephemeral data leaf natOutDrop { config "false"; type uint32; description "NAT Outside Drop Count"; } // Ephemeral data leaf ipsMfwdFail { config "false"; type uint32; description "Ingress Mforward Failed"; } // Ephemeral data leaf ipsLispDrop { config "false"; type uint32; description "Ingress Lisp Drop"; } // Ephemeral data leaf ipsLispDecapDrop { config "false"; type uint32; description "Ingress Lips Decap Drop"; } // Ephemeral data leaf ipsLispEncapDrop { config "false"; type uint32; description "Ingress Lisp Encap Drop"; } // Ephemeral data leaf ipsLispEncap { config "false"; type uint32; description "Ingress Lisp Encap"; } // Ephemeral data leaf ipsMfwdCopyDrop { config "false"; type uint32; description "Ingress Mfwd Copy Drop"; } // Ephemeral data leaf ipsRaReassDrop { config "false"; type uint32; description "Ingress RA/Reass Drop"; } // Ephemeral data leaf ipsIcmpRedirProcDrop { config "false"; type uint32; description "Ingress ICMP Redirect Processing Drop"; } // Ephemeral data leaf ipsIfmgrInitFail { config "false"; type uint32; description "Ingress Ifmgr Init Drop"; } // Ephemeral data leaf ipsInvalidFilter { config "false"; type uint32; description "Ingress Invalid Filter Drop"; } // Ephemeral data leaf ipsInvalidL2msg { config "false"; type uint32; description "Ingress Invalid L2 Msg Drop"; } // Ephemeral data leaf aclIngressDrop { config "false"; type uint32; description "ACL Filter Ingress Drops"; } // Ephemeral data leaf aclEgressDrop { config "false"; type uint32; description "ACL Filter Egree Drop"; } // Ephemeral data leaf aclDirBcastDrop { config "false"; type uint32; description "ACL Filter Directed Broadcsat Drop"; } } grouping ipv4_ICMPTrafficStat-group { description "ICMP Software Processed Traffic Stat"; // Ephemeral data leaf txRedir { config "false"; type uint32; description "Transmission Redirect"; } // Ephemeral data leaf txUnreach { config "false"; type uint32; description "Transmission Unreachable"; } // Ephemeral data leaf txEchoReq { config "false"; type uint32; description "Transmission Echo Request"; } // Ephemeral data leaf txEchoReply { config "false"; type uint32; description "Transmission Echo Reply"; } // Ephemeral data leaf txMaskReq { config "false"; type uint32; description "Transmission Mask Request"; } // Ephemeral data leaf txMaskReply { config "false"; type uint32; description "Transmission Mask Reply"; } // Ephemeral data leaf txInfoReq { config "false"; type uint32; description "Transmission Info Request"; } // Ephemeral data leaf txInfoReply { config "false"; type uint32; description "Transmission Info Reply"; } // Ephemeral data leaf txParamProb { config "false"; type uint32; description "Transmission Parameter Problem"; } // Ephemeral data leaf txSrcQuench { config "false"; type uint32; description "Transmission Source Quench"; } // Ephemeral data leaf txTstampReq { config "false"; type uint32; description "Transmission Timestamp Request"; } // Ephemeral data leaf txTstampReply { config "false"; type uint32; description "Transmission Timestamp Reply"; } // Ephemeral data leaf txTstampXceed { config "false"; type uint32; description "Transmission Timestamp Exceeded"; } // Ephemeral data leaf txRtrSolicit { config "false"; type uint32; description "Transmission Router Solicitation"; } // Ephemeral data leaf txRtrAdvert { config "false"; type uint32; description "Transmission Router Advertisement"; } // Ephemeral data leaf outBadLen { config "false"; type uint32; description "Output Bad Length Drop"; } // Ephemeral data leaf outEncapFail { config "false"; type uint32; description "Output Encapsulation Fail Drop"; } // Ephemeral data leaf outXmitFail { config "false"; type uint32; description "Output Xmit Fail Drop"; } // Ephemeral data leaf icmpOrigReq { config "false"; type uint32; description "ICMP Originate Req"; } // Ephemeral data leaf redirOrigReq { config "false"; type uint32; description "Redirected Originated Req"; } // Ephemeral data leaf outErr { config "false"; type uint32; description "Orginate Deny Resource Fail"; } // Ephemeral data leaf oldShortIp { config "false"; type uint32; description "Originate Deny Short Ip"; } // Ephemeral data leaf oldIcmp { config "false"; type uint32; description "Originate Deny Icmp"; } // Ephemeral data leaf errorDrop { config "false"; type uint32; description "Originatte Deny other error"; } // Ephemeral data leaf rxRedir { config "false"; type uint32; description "Reception Redirect"; } // Ephemeral data leaf rxUnreach { config "false"; type uint32; description "Reception Unreachable"; } // Ephemeral data leaf rxEchoReq { config "false"; type uint32; description "Reception Echo Request"; } // Ephemeral data leaf rxEchoReply { config "false"; type uint32; description "Reception Echo Reply"; } // Ephemeral data leaf rxMaskReq { config "false"; type uint32; description "Reception Mask Request"; } // Ephemeral data leaf rxMaskReply { config "false"; type uint32; description "Reception Mask Reply"; } // Ephemeral data leaf rxInfoReq { config "false"; type uint32; description "Reception Info Request"; } // Ephemeral data leaf rxInfoReply { config "false"; type uint32; description "Reception Info Reply"; } // Ephemeral data leaf rxParamProb { config "false"; type uint32; description "Reception Parameter Problem"; } // Ephemeral data leaf rxSrcQuench { config "false"; type uint32; description "Reception Source Quench"; } // Ephemeral data leaf rxTstampReq { config "false"; type uint32; description "Reception Timsetamp Request"; } // Ephemeral data leaf rxTstampReply { config "false"; type uint32; description "Reception Timestamp Reply"; } // Ephemeral data leaf rxTimeXceed { config "false"; type uint32; description "Reception Time Exceeded"; } // Ephemeral data leaf rxRtrSolicit { config "false"; type uint32; description "Reception Router Solicit"; } // Ephemeral data leaf rxRtrAdvert { config "false"; type uint32; description "Reception Router Advertisement"; } // Ephemeral data leaf rxFormatError { config "false"; type uint32; description "Reception Format Error"; } // Ephemeral data leaf rxCsumError { config "false"; type uint32; description "Reception Checksum Error"; } // Ephemeral data leaf icmpLispProcessed { config "false"; type uint32; description "ICMP Lisp Processed"; } // Ephemeral data leaf icmpNoClients { config "false"; type uint32; description "ICMP No Clients"; } // Ephemeral data leaf icmpConsumed { config "false"; type uint32; description "ICMP Consumed"; } // Ephemeral data leaf icmpReplies { config "false"; type uint32; description "ICMP replies"; } // Ephemeral data leaf icmpReplyDropInvldAddr { config "false"; type uint32; description "ICMP Replies Drop - Invalid Address"; } // Ephemeral data leaf icmpReplyDropInactAddr { config "false"; type uint32; description "ICMP Replies Drop - Inactive Address"; } // Ephemeral data leaf statsLastReset { config "false"; type string; description "Statistics last Rest"; } } grouping ipv4_RFC4293TrafficStat-group { description "RFC 4293: IP Software Processed Traffic Stat"; // Ephemeral data leaf inrcv { config "false"; type uint32; description "Reception Packets Received"; } // Ephemeral data leaf inoctet { config "false"; type uint32; description "Reception Bytes Received"; } // Ephemeral data leaf inhdrerr { config "false"; type uint32; description "Reception Inhdrerrors"; } // Ephemeral data leaf innoroutes { config "false"; type uint32; description "Reception Innoroutes"; } // Ephemeral data leaf inaddrerr { config "false"; type uint32; description "Reception Inaddrerrors"; } // Ephemeral data leaf innoproto { config "false"; type uint32; description "Reception Unknown Protos"; } // Ephemeral data leaf intruncated { config "false"; type uint32; description "Reception Truncated Packets"; } // Ephemeral data leaf inforwdgrams { config "false"; type uint32; description "Reception Inforwdgrams"; } // Ephemeral data leaf reasmreqds { config "false"; type uint32; description "Reception Fragments Reassemble Requested"; } // Ephemeral data leaf reasmoks { config "false"; type uint32; description "Reception Fragments Reassembled"; } // Ephemeral data leaf reasmfails { config "false"; type uint32; description "Reception Fragments Dropped"; } // Ephemeral data leaf indiscards { config "false"; type uint32; description "Reception Fragments Discard"; } // Ephemeral data leaf indelivers { config "false"; type uint32; description "Reception Fragments Deliver"; } // Ephemeral data leaf inMcastPkts { config "false"; type uint32; description "Reception Multicast Packets"; } // Ephemeral data leaf inMcastBytes { config "false"; type uint32; description "Reception Multicast Bytes"; } // Ephemeral data leaf inBcastPkts { config "false"; type uint32; description "Reception Broadcast Packets"; } // Ephemeral data leaf outRequest { config "false"; type uint32; description "Transmission Requests"; } // Ephemeral data leaf outNoRoutes { config "false"; type uint32; description "Transmission No Routes"; } // Ephemeral data leaf outForwdGrams { config "false"; type uint32; description "Transmission Forward Stats"; } // Ephemeral data leaf outDiscards { config "false"; type uint32; description "Transmission Fragments Discarded"; } // Ephemeral data leaf outFragReqds { config "false"; type uint32; description "Transmission Fragments Requested"; } // Ephemeral data leaf outFragOks { config "false"; type uint32; description "Transmission Fragments Ok"; } // Ephemeral data leaf outFragFails { config "false"; type uint32; description "Transmission Fragments Failed"; } // Ephemeral data leaf outFragCreates { config "false"; type uint32; description "Transmission Fragments Created"; } // Ephemeral data leaf outTransmits { config "false"; type uint32; description "Transmission Packets Transmits"; } // Ephemeral data leaf outBytes { config "false"; type uint32; description "Transmission Bytes Sent"; } // Ephemeral data leaf outMcastPkts { config "false"; type uint32; description "Transmission Multicast Packets sent"; } // Ephemeral data leaf outMcastBytes { config "false"; type uint32; description "Transmission Multicast Bytes sent"; } // Ephemeral data leaf outBcastPkts { config "false"; type uint32; description "Transmission Broadcast Packets"; } // Ephemeral data leaf outBcastBytes { config "false"; type uint32; description "Transmission Broadcast Bytes"; } } grouping ipv6_Entity-group { description "IPv6 Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per ipv6 instance information. There is // only one instance of ipv6 running in the system today container inst-items { uses ipv6_Inst-group; description "IPv6 Instance"; } } grouping ipv6_Inst-group { description "IPv6 Instance"; // ipv6 access-list match local leaf accessListMatchLocal { type nw_AdminSt; default "disabled"; description "Access-List Match Local"; } // static neighbor outside subnet leaf staticNeighborOutsideSubnet { type nw_AdminSt; default "disabled"; description "Static Neighbor Outside Subnet "; } // Queue 1 packet when triggered NS is sent leaf queuePackets { type nw_AdminSt; default "disabled"; description "Queue-packets"; } // Switch ND packets received on core ports leaf switchPackets { type ip_SwitchPktTarget; description "Switch-packets"; } // Drop fragmented ND packets leaf dropNdFragments { type nw_AdminSt; default "disabled"; description "Drop ND Fragments "; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Objectification of IPv6 route statistics // Ephemeral data container mtustats-items { uses ipv6_IPv6MtuCacheStatGlobal-group; description "IPv6 global MTU cache statistics"; } // Objectification of IPv6 Client statistics // Ephemeral data container clientstats-items { // Ephemeral data list IPv6Clients-list { config "false"; key "clientName clientProtocol"; uses ipv6_IPv6Clients-group; description "Registered clients with IPv6 process list"; } description "Registered clients with IPv6 process"; } // Domain (vrf) information container dom-items { list Dom-list { key "name"; uses ipv6_Dom-group; description "IPV6 Domain list"; } description "IPV6 Domain"; } // Objectification of IPv6 Fragments statistics // Ephemeral data container fragstats-items { // Ephemeral data list IPv6Fragments-list { config "false"; key "srcAddr"; uses ipv6_IPv6Fragments-group; description "IPv6 queued fragments list"; } description "IPv6 queued fragments"; } container logs-items { list IPv6EventLogs-list { key "eventType"; uses ipv6_IPv6EventLogs-group; description "IPv6 Event History Logging list"; } description "IPv6 Event History Logging"; } // Holds ipv6 global statistics // Ephemeral data container pktqstats-items { uses ipv6_IPv6InstStat-group; description "IPv6 global instance statistics"; } // Objectification of IPv6 neighbor statistics // Ephemeral data container ipv6stats-items { // Ephemeral data list IPv6Stat-list { config "false"; key "ftmName"; uses ipv6_IPv6Stat-group; description "IPv6 global statistics list"; } description "IPv6 global statistics"; } // Objectification of IPv6 interface statistics // Ephemeral data container trafficstats-items { uses ipv6_IPv6TrafficStat-group; description "IPv6 traffic statistics"; } } grouping ipv6_IPv6MtuCacheStatGlobal-group { description "IPv6 global MTU cache statistics"; // Ephemeral data leaf outstandingEntries { config "false"; type uint32; description "Outstanding Entries"; } // Ephemeral data leaf expiredEntries { config "false"; type uint64; description "Expired Entries"; } // Ephemeral data leaf purgedEntries { config "false"; type uint64; description "Purged Entries"; } // Ephemeral data leaf internalErrors { config "false"; type uint64; description "Internal Errors"; } // Ephemeral data leaf pktTooBig { config "false"; type uint64; description "Packet-Too-Big Messages Received"; } // Ephemeral data leaf cacheMisses { config "false"; type uint64; description "Cache misses"; } // Ephemeral data leaf cacheUpdates { config "false"; type uint64; description "Cache updates"; } // Ephemeral data leaf smallMtuAdv { config "false"; type uint64; description "Too small MTU advertised"; } // Ephemeral data leaf cacheNoUpdates { config "false"; type uint64; description "Cache No Updates"; } } grouping ipv6_IPv6Clients-group { description "Registered clients with IPv6 process"; // Ephemeral data leaf clientName { config "false"; type string; description "IPv6: Client name"; } // Ephemeral data leaf clientStatus { config "false"; type string; description "IPv6: Client status"; } // Ephemeral data leaf clientPid { config "false"; type int32; description "IPv6: Client pid"; } // Ephemeral data leaf clientExtPid { config "false"; type int32; description "IPv6: Client extended pid"; } // Ephemeral data leaf clientProtocol { config "false"; type int32; description "IPv6: Client protocol"; } // Ephemeral data leaf clientPibIndex { config "false"; type int32; description "IPv6: Client pib index"; } // Ephemeral data leaf clientUuid { config "false"; type int32; description "IPv6: Client Uuid"; } // Ephemeral data leaf clientRoutingVrf { config "false"; type int32; description "IPv6: Client routing vrf id"; } // Ephemeral data leaf clientRoutingFlag { config "false"; type int32; description "IPv6: Client routing flag id"; } // Ephemeral data leaf clientCtrlMtsSap { config "false"; type int32; description "IPv6: Client control Mts Sap"; } // Ephemeral data leaf clientDataMtsSap { config "false"; type int32; description "IPv6: Client Data MTS Sap"; } // Ephemeral data leaf destUnreachSent { config "false"; type int32; description "IPv6: IPC messages to control queue"; } // Ephemeral data leaf destUnreachRcvd { config "false"; type int32; description "IPv6: failed client IPC messages to control queue"; } // Ephemeral data leaf adminProhibSent { config "false"; type int32; description "IPv6: IPC messages to data queue"; } // Ephemeral data leaf adminProhibRcvd { config "false"; type int32; description "IPv6: failed IPC messages to data queue"; } // Ephemeral data leaf clientIfExtIndex { config "false"; type int32; description "IPv6: Client interface extended index"; } // Ephemeral data leaf clientRecvFn { config "false"; type string; description "IPv6: Client received function"; } // Ephemeral data leaf clientRecvHex { config "false"; type string; description "IPv6: Client received Hex"; } } grouping ipv6_Dom-group { description "IPV6 Domain"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data container mtustats-items { uses ipv6_IPv6MtuCacheStat-group; description "IPv6 MTU cache statistics"; } // ipv6 route static bfd container rtstaticbfd-items { list RtStaticBfd-list { key "intf nexthop"; uses ipv6_RtStaticBfd-group; description "IPV6 route static bfd list"; } description "IPV6 route static bfd"; } // This object holds ipv6 information that is operated at a // interface level container if-items { list If-list { key "id"; uses ipv6_If-group; description "IPV6 Interface list"; } description "IPV6 Interface"; } // Objectification of IPv6 route statistics // Ephemeral data container procstats-items { uses ipv6_IPv6ProcessStat-group; description "IPv6 process statistics"; } // Static route definitions container rt-items { list Route-list { key "prefix"; uses ipv6_Route-group; description "IPv6 Static Route list"; } description "IPv6 Static Route"; } // Objectification of IPv6 route statistics // Ephemeral data container routestats-items { uses ipv6_IPv6RouteStat-group; description "IPv6 Route Statistics"; } } grouping ipv6_IPv6MtuCacheStat-group { description "IPv6 MTU cache statistics"; // Ephemeral data container addr-items { // Ephemeral data list IPv6MtuCacheDestStat-list { config "false"; key "pathDestination"; uses ipv6_IPv6MtuCacheDestStat-group; description "IPv6 MTU cache destination statistics list"; } description "IPv6 MTU cache destination statistics"; } } grouping ipv6_IPv6MtuCacheDestStat-group { description "IPv6 MTU cache destination statistics"; // Ephemeral data leaf pathDestination { config "false"; type address_Ipv6; description "Path destination address"; } // Ephemeral data leaf pathMtu { config "false"; type uint16; description "Path MTU"; } // Ephemeral data leaf outgoingIod { config "false"; type string; description "Outgoing IOD"; } // Ephemeral data leaf smallMtuReceived { config "false"; type string; description "Too small MTU received"; } // Ephemeral data leaf bigMtuReeived { config "false"; type string; description "Too big MTU received"; } // Ephemeral data leaf smallMtu { config "false"; type uint16; description "Minimum mtu received less than the v6 minimum mtu"; } // Ephemeral data leaf lastMtuUpdate { config "false"; type string; description "Last MTU update"; } } grouping ipv6_RtStaticBfd-group { description "IPV6 route static bfd"; // interface value. leaf intf { type nw_IfId; description "Interface"; } leaf nexthop { type address_Ip; description "Nexthop Address"; } } grouping ipv6_If-group { description "IPV6 Interface"; // Handle ipv6 address use-link-local-address" leaf useLinkLocalAddr { type nw_AdminSt; default "disabled"; description "IPv6 Address Use Link Local Address"; } // Handle ipv6 link-local use-bia leaf llAddrUseBia { type nw_AdminSt; default "disabled"; description "IPv6 Link Local Use BIA"; } // Handle ipv6 urpf info" leaf urpf { type ip_UrpfT; description "IPv6 URPF Info"; } // Handle ipv6 forward" leaf forward { type nw_AdminSt; default "disabled"; description "IPv6 forward"; } // IPv6 Stateless address autoconfig leaf autoconfig { type nw_AdminSt; default "disabled"; description "IPv6 Stateless address autoconfig"; } // adds default route and the nh would be fetched from RA source address leaf defaultRoute { type nw_AdminSt; default "disabled"; description "Default Route Addition with Nexthop as RA Source Address"; } leaf llAddr { type address_Ip; description "IPv6 Link Local Address"; } // To Handle the config fault for this MO leaf configError { config "false"; type ipv6_ConfigErr; default "noerror"; description "Config error"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type ip_UnnumberedOperStQual; description "Operational State Qualifier"; } // Interface address container addr-items { list Addr-list { key "addr"; uses ipv6_Addr-group; description "IPV6 Address list"; } description "IPV6 Address"; } // Link local Interface address container lladdr-items { list LLaddr-list { key "addr"; uses ipv6_LLaddr-group; description "IPV6 Link Local Address list"; } description "IPV6 Link Local Address"; } // IPv6 Neighbor Address container nghbr-items { list Neighbor-list { key "addr"; uses ipv6_Neighbor-group; description "IPV6 Neighbor Address list"; } description "IPV6 Neighbor Address"; } // Objectification of IPv6 interface statistics // Ephemeral data container ifstats-items { uses ipv6_IPv6IfStat-group; description "IPv6 interface statistics"; } // Objectification of IPv6 neighbor statistics container nbrstats-items { list IPv6NeighborStat-list { config "false"; key "ngbrAddr"; uses ipv6_IPv6NeighborStat-group; description "IPv6 neighbour statistics list"; } description "IPv6 neighbour statistics"; } // Route map entries container rpol-items { uses rtmap_RmapPolicy-group; description "interface Route map Policy"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping ipv6_Addr-group { description "IPV6 Address"; leaf aggregatePrefixLength { type uint16 { range "0..127"; } default "0"; description "Prefix-Length for AM Route Aggregation"; } leaf useBia { type nw_AdminSt; default "disabled"; description "Use Interface MAC Address"; } leaf addr { type address_Ip; description "Address"; } // Type of the address leaf type { type ip_AddrT; description "Type"; } // Address controls leaf ctrl { type ip_AddrControl; description "Controls"; } leaf vpcPeer { type address_Ip; description "VPC Peer"; } // Ip address preference leaf pref { type ip_Preference; description "Preference"; } // Route tag leaf tag { type rt_Tag; description "Route Tag"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type ip_AddrOperStQual; description "Operational State Qualifier"; } container rsipAddr-items { list RsIpAddr-list { key "tDn"; uses ip_RsIpAddr_source-group; description "IF Policy Attachement list"; } description "IF Policy Attachement"; } container rsrtDefIpAddr-items { list RsRtDefIpAddr-list { key "tDn"; uses ip_RsRtDefIpAddr_source-group; description "Route Def Attachment list"; } description "Route Def Attachment"; } container rsaddrToIpDef-items { list RsAddrToIpDef-list { key "tDn"; uses ip_RsAddrToIpDef_source-group; description "IpDef attachment list"; } description "IpDef attachment"; } } grouping ipv6_LLaddr-group { description "IPV6 Link Local Address"; leaf addr { type address_Ip; description "Address"; } // Type of the address leaf type { type ip_AddrT; description "Type"; } // Address controls leaf ctrl { type ip_AddrControl; description "Controls"; } leaf vpcPeer { type address_Ip; description "VPC Peer"; } // Ip address preference leaf pref { type ip_Preference; description "Preference"; } // Route tag leaf tag { type rt_Tag; description "Route Tag"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type ip_AddrOperStQual; description "Operational State Qualifier"; } container rsipAddr-items { list RsIpAddr-list { key "tDn"; uses ip_RsIpAddr_source-group; description "IF Policy Attachement list"; } description "IF Policy Attachement"; } container rsrtDefIpAddr-items { list RsRtDefIpAddr-list { key "tDn"; uses ip_RsRtDefIpAddr_source-group; description "Route Def Attachment list"; } description "Route Def Attachment"; } container rsaddrToIpDef-items { list RsAddrToIpDef-list { key "tDn"; uses ip_RsAddrToIpDef_source-group; description "IpDef attachment list"; } description "IpDef attachment"; } } grouping ipv6_Neighbor-group { description "IPV6 Neighbor Address"; leaf neighborMac { type address_Mac; description "IPv6 neighbor MAC Address"; } // To Handle the config fault for this MO leaf configError { config "false"; type ipv6_ConfigErr; default "noerror"; description "Config error"; } leaf addr { type address_Ip; description "Address"; } // Type of the address leaf type { type ip_AddrT; description "Type"; } // Address controls leaf ctrl { type ip_AddrControl; description "Controls"; } leaf vpcPeer { type address_Ip; description "VPC Peer"; } // Ip address preference leaf pref { type ip_Preference; description "Preference"; } // Route tag leaf tag { type rt_Tag; description "Route Tag"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } container rsipAddr-items { list RsIpAddr-list { key "tDn"; uses ip_RsIpAddr_source-group; description "IF Policy Attachement list"; } description "IF Policy Attachement"; } container rsrtDefIpAddr-items { list RsRtDefIpAddr-list { key "tDn"; uses ip_RsRtDefIpAddr_source-group; description "Route Def Attachment list"; } description "Route Def Attachment"; } container rsaddrToIpDef-items { list RsAddrToIpDef-list { key "tDn"; uses ip_RsAddrToIpDef_source-group; description "IpDef attachment list"; } description "IpDef attachment"; } } grouping ipv6_IPv6IfStat-group { description "IPv6 interface statistics"; leaf id { config "false"; type string; description "Interface ID"; } // Ephemeral data leaf ifName { config "false"; type string; description "Interface Name"; } // Ephemeral data leaf ifProtoState { config "false"; type string; description "Protocol state"; } // Ephemeral data leaf ifLinkState { config "false"; type string; description "Link state"; } // Ephemeral data leaf ifAdminState { config "false"; type string; description "Administrative state"; } // Ephemeral data leaf ifIod { config "false"; type uint32; description "Interface IOD"; } // Ephemeral data leaf ifFwdStatus { config "false"; type boolean; description "Interface forwarding status"; } // Ephemeral data leaf ifIpv6Enabled { config "false"; type string; description "IPv6 enabled/disabled"; } // Ephemeral data leaf ifAddr { config "false"; type string; description "IPv6 address"; } // Ephemeral data leaf ifAddrSubnet { config "false"; type address_Ip; description "Address Subnet"; } // Ephemeral data leaf ifAnycastAddr { config "false"; type string; description "Anycast configured address"; } // Ephemeral data leaf ifLLaddr { config "false"; type address_Ip; description "IPv6 link-local address"; } // Ephemeral data leaf ifLinkLocalConfigStatus { config "false"; type string; description "Link local configuration status"; } // Ephemeral data leaf ifLinkLocalState { config "false"; type string; description "Link local address state"; } // Ephemeral data leaf ifVIPAddr { config "false"; type string; description "Virtual ip address"; } // Ephemeral data leaf ifMcastRoutingStatus { config "false"; type string; description "Multicast routing enabled"; } // Ephemeral data leaf ifReportLLStatus { config "false"; type string; description "Send local reports to MLD"; } // Ephemeral data leaf ifMcastGroupLocallyJoined { config "false"; type string; description "Multicast group locally joined"; } // Ephemeral data leaf ifMcastSrcGrpAddr { config "false"; type string; description "Multicast (S,G) entries joined"; } // Ephemeral data leaf ifmtu { config "false"; type uint32; description "Mtu"; } // Ephemeral data leaf ifUcastRevPathFwdMode { config "false"; type string; description "IPv6 unicast reverse path forwarding"; } // Ephemeral data leaf ifUcastRevPathFwdFlag { config "false"; type string; description "IPv6 unicast reverse path forwarding flag"; } // Ephemeral data leaf ifLoadSharing { config "false"; type string; description "IPv6 load sharing"; } // Ephemeral data leaf ifStatLastReset { config "false"; type string; description "IPv6 interface statistics last reset"; } // Ephemeral data leaf ifAclInbound { config "false"; type string; description "ACL inbound"; } // Ephemeral data leaf ifAclOutbound { config "false"; type string; description "ACL outbound"; } // Ephemeral data leaf ifUnspecifiedSrc { config "false"; type uint32; description "Unspecified source"; } // Ephemeral data leaf ifTotalPktRxTentativeAddr { config "false"; type uint32; description "Total packet received on tentative address"; } // Ephemeral data leaf ifTotalPktRxInvalidAddrState { config "false"; type uint32; description "Total Packet received on invalid address state"; } // Ephemeral data leaf ifTotalPktRxDuplicateState { config "false"; type uint32; description "Total packet received on duplicate state"; } // Ephemeral data leaf ifAnycastPktTCP { config "false"; type uint32; description "Anycast packet arrived on TCP"; } // Ephemeral data leaf ifDeliverInterfaceDown { config "false"; type uint32; description "Deliver interface Down"; } // Ephemeral data leaf ifFragmentedNdDrops { config "false"; type uint32; description "Fragmented ND Drops"; } // Ephemeral data leaf rpUcastPktsForwarded { config "false"; type uint32; description "RP unicast packets forwarded"; } // Ephemeral data leaf rpUcastPktsOriginated { config "false"; type uint32; description "RP unicast packets originated"; } // Ephemeral data leaf rpUcastPktsConsumed { config "false"; type uint32; description "RP unicast packets consumed"; } // Ephemeral data leaf rpUcastBytesForwarded { config "false"; type uint32; description "RP unicast bytes forwarded"; } // Ephemeral data leaf rpUcastBytesOriginated { config "false"; type uint32; description "RP unicast bytes originated"; } // Ephemeral data leaf rpUcastBytesConsumed { config "false"; type uint32; description "RP unicast bytes consumed"; } // Ephemeral data leaf rpMcastPktsForwarded { config "false"; type uint32; description "RP multicast packets forwarded"; } // Ephemeral data leaf rpMcastPktsOriginated { config "false"; type uint32; description "RP multicast packets originated"; } // Ephemeral data leaf rpMcastPktsConsumed { config "false"; type uint32; description "RP multicast packets consumed"; } // Ephemeral data leaf rpMcastBytesForwarded { config "false"; type uint32; description "RP multicast bytes forwarded"; } // Ephemeral data leaf rpMcastBytesOriginated { config "false"; type uint32; description "RP multicast bytes originated"; } // Ephemeral data leaf rpMcastBytesConsumed { config "false"; type uint32; description "RP multicast bytes consumed"; } } grouping ipv6_IPv6NeighborStat-group { description "IPv6 neighbour statistics"; leaf ngbrAddr { config "false"; type address_Ipv6; description "Neighbor address"; } } grouping ipv6_IPv6ProcessStat-group { description "IPv6 process statistics"; // Ephemeral data leaf procVRFId { config "false"; type uint32; description "VRF id"; } // Ephemeral data leaf procAutoDiscard { config "false"; type string; description "Auto discard"; } // Ephemeral data leaf procAutoDiscardAdded { config "false"; type string; description "Auto discard added"; } // Ephemeral data leaf procStaticDiscard { config "false"; type string; description "Static discard"; } // Ephemeral data leaf procStaticDefaultCount { config "false"; type uint32; description "Number of static default route configured"; } // Ephemeral data leaf procIODList { config "false"; type string; description "IOD and intrface index list"; } // Ephemeral data leaf procLocalAddrList { config "false"; type string; description "Local address list"; } } grouping ipv6_Route-group { description "IPv6 Static Route"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf prefix { type address_Ip; description "Prefix"; } // Route preference, the administrative distance assigned // to this route leaf pref { type rt_Preference; description "Preference"; } // Route tag leaf tag { type rt_Tag; description "Tag"; } // Policy tag leaf pcTag { type actrl_PcTag; description "PC Tag"; } // Route ctrl leaf ctrl { type ip_RtControl; description "Controls"; } // Nexthops for the static route container nh-items { list Nexthop-list { key "nhIf nhAddr nhVrf"; uses ipv6_Nexthop-group; description "IPv6 Nexthop list"; } description "IPv6 Nexthop"; } // Temporary Nexthop stub created until the Spine proxy // IP address is determined. container nhs-items { list NexthopStub-list { config "false"; key "nhIf nhAddr nhVrf"; uses ipv6_NexthopStub-group; description "IPv6 next-hop stub list"; } description "IPv6 next-hop stub"; } container rsrouteToRouteDef-items { list RsRouteToRouteDef-list { config "false"; key "tDn"; uses ip_RsRouteToRouteDef_source-group; description "Route Def Attachment list"; } description "Route Def Attachment"; } container rsrouteToIfConn-items { list RsRouteToIfConn-list { config "false"; key "tDn"; uses ip_RsRouteToIfConn_source-group; description "Route if Attachment list"; } description "Route if Attachment"; } } grouping ipv6_Nexthop-group { description "IPv6 Nexthop"; leaf rtname { type string; description "Next hop name"; } leaf tag { type uint32; description "tag value"; } leaf pref { type uint8; description "Route preference"; } leaf object { type uint32; description "Object to be tracked"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Nexthop interface, force the packet that matches // this prefix on this interface leaf nhIf { type nw_IfId; description "Nexthop Interface"; } leaf nhAddr { type address_Ip; description "Nexthop Address"; } // Nexthop vrf @@@ This is marked unspecified if the nexthop is in // @@@ the same vrf as route leaf nhVrf { type l3_VrfName; description "Nexthop VRF"; } leaf rwEncap { type string; description "Rewrite Encapsulation"; } // Nexthop flags leaf flags { config "false"; type ip_NhFlags; description "Rnh Flags"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } container rsnexthopToNexthopDef-items { list RsNexthopToNexthopDef-list { config "false"; key "tDn"; uses ip_RsNexthopToNexthopDef_source-group; description "Nexthop Def Attachment list"; } description "Nexthop Def Attachment"; } container rsnexthopToProtG-items { list RsNexthopToProtG-list { config "false"; key "tDn"; uses ip_RsNexthopToProtG_source-group; description "Protection Group Attachment list"; } description "Protection Group Attachment"; } } grouping ipv6_NexthopStub-group { description "IPv6 next-hop stub"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Nexthop interface, force the packet that matches // this prefix on this interface leaf nhIf { config "false"; type nw_IfId; description "Nexthop Interface"; } leaf nhAddr { config "false"; type address_Ip; description "Nexthop Address"; } // Nexthop vrf @@@ This is marked unspecified if the nexthop is in // @@@ the same vrf as route leaf nhVrf { config "false"; type l3_VrfName; description "Nexthop VRF"; } leaf rwEncap { config "false"; type string; description "Rewrite Encapsulation"; } // Nexthop flags leaf flags { config "false"; type ip_NhFlags; description "Rnh Flags"; } // Operational state leaf operSt { config "false"; type ip_OperSt; description "Operational State"; } container rsnexthopToNexthopDef-items { list RsNexthopToNexthopDef-list { config "false"; key "tDn"; uses ip_RsNexthopToNexthopDef_source-group; description "Nexthop Def Attachment list"; } description "Nexthop Def Attachment"; } container rsnexthopToProtG-items { list RsNexthopToProtG-list { config "false"; key "tDn"; uses ip_RsNexthopToProtG_source-group; description "Protection Group Attachment list"; } description "Protection Group Attachment"; } } grouping ipv6_IPv6RouteStat-group { description "IPv6 Route Statistics"; // Ephemeral data container pfx-items { // Ephemeral data list IPv6RouteStatPfx-list { config "false"; key "rtPrefix rtNextHop"; uses ipv6_IPv6RouteStatPfx-group; description "IPv6 Route Statistics list"; } description "IPv6 Route Statistics"; } } grouping ipv6_IPv6RouteStatPfx-group { description "IPv6 Route Statistics"; // Ephemeral data leaf rtPrefix { config "false"; type address_Ip; description "Route prefix and mask len"; } // Ephemeral data leaf rtNextHop { config "false"; type address_Ip; description "Next hop IP address/prefix"; } // Ephemeral data leaf rtRealNextHop { config "false"; type string; description "Real next-hop from u6rib resolve"; } // Ephemeral data leaf rtRealNextHopIod { config "false"; type string; description "Iod from u6rib resolution"; } // Ephemeral data leaf rtInterface { config "false"; type string; description "Interface static routes"; } // Ephemeral data leaf rtPreference { config "false"; type uint32; description "Configured route preference"; } // Ephemeral data leaf rtNhVrfName { config "false"; type string; description "Next hop VRF name"; } // Ephemeral data leaf rtResolveTableId { config "false"; type uint32; description "Resolve table id"; } // Ephemeral data leaf rtTrackObjNum { config "false"; type uint32; description "Track object number"; } // Ephemeral data leaf rtTrackObjState { config "false"; type string; description "Tracking enabled"; } // Ephemeral data leaf rtRnhSentToUrib { config "false"; type string; description "Route next hop sent to urib"; } // Ephemeral data leaf rtBfdEnabled { config "false"; type string; description "BFD enabled"; } } grouping ipv6_IPv6Fragments-group { description "IPv6 queued fragments"; // Ephemeral data leaf srcAddr { config "false"; type address_Ipv6; description "Source address"; } // Ephemeral data leaf dstAddr { config "false"; type address_Ipv6; description "Destination address"; } // Ephemeral data leaf fragId { config "false"; type int32; description "Fragment id"; } // Ephemeral data leaf fragOffset { config "false"; type int32; description "Fragment offset"; } // Ephemeral data leaf fragMFlag { config "false"; type int32; description "Fragment m-falg"; } // Ephemeral data leaf fragNextHeader { config "false"; type int32; description "Fragment next header"; } // Ephemeral data leaf fragPayloadLen { config "false"; type int32; description "Fragment payload length"; } // Ephemeral data leaf fragExpirationTime { config "false"; type int32; description "Fragment expires in msec"; } } grouping ipv6_IPv6EventLogs-group { description "IPv6 Event History Logging"; // Type of Event leaf eventType { type ipv6_IPv6EventType; description "Event Log Type"; } // Type of Event LogSize leaf logSize { type ipv6_IPv6EventLogSize; description "Event Log Size"; } } grouping ipv6_IPv6InstStat-group { description "IPv6 global instance statistics"; // Ephemeral data leaf queuePacket { config "false"; type string; description "IPv6 queue packet"; } } grouping ipv6_IPv6Stat-group { description "IPv6 global statistics"; // Ephemeral data leaf ftmName { config "false"; type string; description "FTM timer"; } // Ephemeral data leaf ftmTimeSecond { config "false"; type uint32; description "FTM tv_sec"; } // Ephemeral data leaf ftmTimeNanoSecond { config "false"; type uint32; description "FTM tv_nsec"; } // Ephemeral data leaf ftCount { config "false"; type uint64; description "FTM ft count"; } } grouping ipv6_IPv6TrafficStat-group { description "IPv6 traffic statistics"; // Ephemeral data leaf statLastReset { config "false"; type string; description "Traffic statistics last reset time(uptime)"; } // Ephemeral data leaf ucastFragOriginated { config "false"; type uint64; description "RP Unicast fragments originated"; } // Ephemeral data leaf mcastFragOriginated { config "false"; type uint64; description "Multicast fragments originated"; } // Ephemeral data leaf ucastFragConsumed { config "false"; type uint64; description "Unicast fragments consumed"; } // Ephemeral data leaf mcastFragConsumed { config "false"; type uint64; description "Multicast fragments consumed"; } // Ephemeral data leaf ingressMcecFwdPkts { config "false"; type uint32; description "Ingress mcec forward packets"; } // Ephemeral data leaf ingressPktsVinciMigration { config "false"; type uint32; description "Ingress packets during Vinci migration"; } // Ephemeral data leaf errBadVersion { config "false"; type uint64; description "Error bad version"; } // Ephemeral data leaf errRouteLookupFailed { config "false"; type uint64; description "Error route lookup failed"; } // Ephemeral data leaf errHopLimitExceeded { config "false"; type uint64; description "Error hop limit exceeded"; } // Ephemeral data leaf errIngressIfMgrInitDrops { config "false"; type uint32; description "Error ingress interface manager init drops"; } // Ephemeral data leaf errRpfDrop { config "false"; type uint32; description "Error rpf drops"; } // Ephemeral data leaf errOptionHeader { config "false"; type uint64; description "Error option header"; } // Ephemeral data leaf errPayloadLenTooSmall { config "false"; type uint64; description "Error payload length too small"; } // Ephemeral data leaf errPMFailed { config "false"; type uint64; description "Error pm failed"; } // Ephemeral data leaf errMbufError { config "false"; type uint64; description "MBUF errors"; } // Ephemeral data leaf errEncapError { config "false"; type uint64; description "Encapsulation errors"; } // Ephemeral data leaf errPktsDroppedDestIfDown { config "false"; type uint64; description "Packets dropped dut to destination interface down"; } // Ephemeral data leaf pktsRecvRx { config "false"; type uint64; description "Packets received at ingress"; } // Ephemeral data leaf bytesRecvRx { config "false"; type uint64; description "Bytes received at ingress"; } // Ephemeral data leaf headerErrorsRx { config "false"; type uint32; description "Header errors of packets at ingress"; } // Ephemeral data leaf noRoutesRx { config "false"; type uint32; description "No routes for packets at ingress"; } // Ephemeral data leaf addrErrorRx { config "false"; type uint32; description "Address error in packets at ingress"; } // Ephemeral data leaf unknownProtoRx { config "false"; type uint32; description "Unknown protocol in packets at ingress"; } // Ephemeral data leaf truncatedPktsRx { config "false"; type uint32; description "Truncated packets at ingress"; } // Ephemeral data leaf forwardgramsRx { config "false"; type uint64; description "Forwardgrams at ingress"; } // Ephemeral data leaf reassemblyRequiredRx { config "false"; type uint32; description "Reassembly required at ingress"; } // Ephemeral data leaf reassemblySuccessfulRx { config "false"; type uint32; description "Reassembly successful at ingress"; } // Ephemeral data leaf reassemblyFailedRx { config "false"; type uint32; description "Reassembly failed at ingress"; } // Ephemeral data leaf discardedPktsRx { config "false"; type uint32; description "Discarded packets at ingress"; } // Ephemeral data leaf deliveredPktsRx { config "false"; type uint64; description "Delivered packets at ingress"; } // Ephemeral data leaf mcastPktsRx { config "false"; type uint64; description "Multicast packets at ingress"; } // Ephemeral data leaf mcastBytesRx { config "false"; type uint64; description "Multicast bytes at ingress"; } // Ephemeral data leaf pktsSentTx { config "false"; type uint64; description "Packets sent at egress"; } // Ephemeral data leaf bytesSentTx { config "false"; type uint64; description "Bytes sent at egress"; } // Ephemeral data leaf sentRequestsTx { config "false"; type uint64; description "sent requests at egress"; } // Ephemeral data leaf noRoutesTx { config "false"; type uint32; description "No routes for packets at egress"; } // Ephemeral data leaf forwardgramsTx { config "false"; type uint64; description "Forwardgrams at egress"; } // Ephemeral data leaf discardedPktsTx { config "false"; type uint32; description "Discarded packets at egress"; } // Ephemeral data leaf fragRequiredTx { config "false"; type uint32; description "Fragmentation required at egress"; } // Ephemeral data leaf fragSuccesfulTx { config "false"; type uint32; description "Fragmentation successfully done at egress"; } // Ephemeral data leaf fragFailedTx { config "false"; type uint32; description "Fragmentation failed at egress"; } // Ephemeral data leaf fragCreatesTx { config "false"; type uint32; description "Fragcreates at egress"; } // Ephemeral data leaf transmitsTx { config "false"; type uint64; description "Transmits at egress"; } // Ephemeral data leaf mcastPktsTx { config "false"; type uint64; description "Multicast packets at egress"; } // Ephemeral data leaf mcastBytesTx { config "false"; type uint64; description "Multicast bytes at egress"; } // Ephemeral data leaf unreachExcpnDrop { config "false"; type uint32; description "ICMPv6 Unreachable Exception Drops"; } // Ephemeral data leaf rpUcastPktsForwarded { config "false"; type uint32; description "RP unicast packets forwarded"; } // Ephemeral data leaf rpUcastPktsOriginated { config "false"; type uint32; description "RP unicast packets originated"; } // Ephemeral data leaf rpUcastPktsConsumed { config "false"; type uint32; description "RP unicast packets consumed"; } // Ephemeral data leaf rpUcastBytesForwarded { config "false"; type uint32; description "RP unicast bytes forwarded"; } // Ephemeral data leaf rpUcastBytesOriginated { config "false"; type uint32; description "RP unicast bytes originated"; } // Ephemeral data leaf rpUcastBytesConsumed { config "false"; type uint32; description "RP unicast bytes consumed"; } // Ephemeral data leaf rpMcastPktsForwarded { config "false"; type uint32; description "RP multicast packets forwarded"; } // Ephemeral data leaf rpMcastPktsOriginated { config "false"; type uint32; description "RP multicast packets originated"; } // Ephemeral data leaf rpMcastPktsConsumed { config "false"; type uint32; description "RP multicast packets consumed"; } // Ephemeral data leaf rpMcastBytesForwarded { config "false"; type uint32; description "RP multicast bytes forwarded"; } // Ephemeral data leaf rpMcastBytesOriginated { config "false"; type uint32; description "RP multicast bytes originated"; } // Ephemeral data leaf rpMcastBytesConsumed { config "false"; type uint32; description "RP multicast bytes consumed"; } } grouping kcmgr_Entity-group { description "keychain manager Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } container keychains-items { uses kcmgr_Keychains-group; description "Keychains"; } } grouping kcmgr_Keychains-group { description "Keychains"; // Holds key chain info container classickeychain-items { list ClassicKeychain-list { key "keychainName"; uses kcmgr_ClassicKeychain-group; description "keychain list"; } description "keychain"; } // Holds key chain info container macseckeychain-items { list MacsecKeychain-list { key "keychainName"; uses kcmgr_MacsecKeychain-group; description "Macsec keychain list"; } description "Macsec keychain"; } container macsecpsk-items { uses kcmgr_Macsecpsk-group; description "Macsecpresharedkey no show"; } // Holds key chain info container tunnelencryptkeychain-items { list TunnelencryptKeychain-list { key "keychainName"; uses kcmgr_TunnelencryptKeychain-group; description "Tunnelencrypt keychain list"; } description "Tunnelencrypt keychain"; } container tunnelencryptpsk-items { uses kcmgr_Tunnelencryptpsk-group; description "Tunnelencryptpresharedkey no show"; } } grouping kcmgr_ClassicKeychain-group { description "keychain"; leaf keychainName { type kcmgr_name; description "Keychain name of classic keychain"; } // Holds Classic keychain Key information container classickeyid-items { list Key-list { key "keyId"; uses kcmgr_Key-group; description "Key list"; } description "Key"; } } grouping kcmgr_Key-group { description "Key"; leaf keyId { type kcmgr_key; description "keyId of classic key chain"; } leaf encryptType { type kcmgr_encryptionTypeClassic; description "encryption type value based on user input"; } leaf keyString { type kcmgr_keyString; description "keyString provided by user for the keychain"; } leaf encryptedType { config "false"; type kcmgr_encryptionTypeClassic; description "encryption type used for encryption of classic keychain"; } leaf encryptedKeyString { config "false"; type kcmgr_keyString; description "encrypted keyString of classic keychain"; } leaf keystringConfigError { config "false"; type kcmgr_ConfigErr; description "config Error associated with the keystring"; } leaf cryptoAlgo { type kcmgr_cryptoAlgoClassic; description "cryptographic Algorithm used in key"; } // Holds accept-lifetime of keychain container sendlifetime-items { uses kcmgr_Sendlifetime-group; description "Sendlifetime"; } // Holds accept-lifetime of keychain container acceptlifetime-items { uses kcmgr_Acceptlifetime-group; description "Acceptlifetime"; } } grouping kcmgr_Sendlifetime-group { description "Sendlifetime"; leaf local { type kcmgr_timeZone; description "local timezone notification"; } leaf startTime { type kcmgr_timestamp; description "HH:MM:SS Start Time of lifetime"; } leaf startDay { type kcmgr_day; description "starting Day of Lifetime for the keychain"; } leaf startMonth { type kcmgr_month; description "starting month of Lifetime for the keychain"; } leaf startYear { type kcmgr_year; description "starting Year of Lifetime for the keychain"; } leaf duration { type kcmgr_duration; description "duration period of lifetime"; } leaf infinite { type kcmgr_adminSt; description "Lifetime has no endtime"; } leaf endTime { type kcmgr_timestamp; description "HH:MM:SS End Time of lifetime"; } leaf endDay { type kcmgr_day; description "Ending date of lifetime for the keychain"; } leaf endMonth { type kcmgr_month; description "Ending month of lifetime for the keychain"; } leaf endYear { type kcmgr_year; description "Ending Year of lifetime for the keychain"; } } grouping kcmgr_Acceptlifetime-group { description "Acceptlifetime"; leaf local { type kcmgr_timeZone; description "local timezone notification"; } leaf startTime { type kcmgr_timestamp; description "HH:MM:SS Start Time of lifetime"; } leaf startDay { type kcmgr_day; description "starting Day of Lifetime for the keychain"; } leaf startMonth { type kcmgr_month; description "starting month of Lifetime for the keychain"; } leaf startYear { type kcmgr_year; description "starting Year of Lifetime for the keychain"; } leaf duration { type kcmgr_duration; description "duration period of lifetime"; } leaf infinite { type kcmgr_adminSt; description "Lifetime has no endtime"; } leaf endTime { type kcmgr_timestamp; description "HH:MM:SS End Time of lifetime"; } leaf endDay { type kcmgr_day; description "Ending date of lifetime for the keychain"; } leaf endMonth { type kcmgr_month; description "Ending month of lifetime for the keychain"; } leaf endYear { type kcmgr_year; description "Ending Year of lifetime for the keychain"; } } grouping kcmgr_MacsecKeychain-group { description "Macsec keychain"; leaf keychainName { type kcmgr_name; description "Keychain name of macseckeychain"; } // Holds Macsec Key information container macseckeyid-items { list MacsecKeyId-list { key "keyId"; uses kcmgr_MacsecKeyId-group; description "macsecKeyId list"; } description "macsecKeyId"; } } grouping kcmgr_MacsecKeyId-group { description "macsecKeyId"; leaf keyId { type kcmgr_keyHexId; description "keyId of macseckeychain"; } leaf keyHexString { type kcmgr_keyString; description "keystring of macseckeychain"; } leaf encryptType { type kcmgr_encryptionTypeMacsec; description "Encryption type of macseckeychain"; } leaf encryptedKeyString { config "false"; type kcmgr_keyString; description "key string of macseckeychain after encryption"; } leaf encryptedType { config "false"; type kcmgr_encryptionTypeMacsec; description "Encryption type used for encryption of macseckeystring"; } leaf keystringConfigError { config "false"; type kcmgr_ConfigErr; description "config Error associated with the keystring"; } leaf cryptographicAlgo { type kcmgr_cryptographicAlgoAes; description "cryptographicAlgo of macseckeychain"; } // Holds Macsec sendlifetime container macsecsendlifetime-items { uses kcmgr_MacsecSendlifetime-group; description "MacsecSendlifetime"; } } grouping kcmgr_MacsecSendlifetime-group { description "MacsecSendlifetime"; leaf local { type kcmgr_timeZone; description "local timezone notification"; } leaf startTime { type kcmgr_timestamp; description "HH:MM:SS Start Time of lifetime"; } leaf startDay { type kcmgr_day; description "starting Day of Lifetime for the keychain"; } leaf startMonth { type kcmgr_month; description "starting month of Lifetime for the keychain"; } leaf startYear { type kcmgr_year; description "starting Year of Lifetime for the keychain"; } leaf duration { type kcmgr_duration; description "duration period of lifetime"; } leaf infinite { type kcmgr_adminSt; description "Lifetime has no endtime"; } leaf endTime { type kcmgr_timestamp; description "HH:MM:SS End Time of lifetime"; } leaf endDay { type kcmgr_day; description "Ending date of lifetime for the keychain"; } leaf endMonth { type kcmgr_month; description "Ending month of lifetime for the keychain"; } leaf endYear { type kcmgr_year; description "Ending Year of lifetime for the keychain"; } } grouping kcmgr_Macsecpsk-group { description "Macsecpresharedkey no show"; leaf pskNoshow { type kcmgr_adminSt; description "macsec-psk hide them in show "; } } grouping kcmgr_TunnelencryptKeychain-group { description "Tunnelencrypt keychain"; leaf keychainName { type kcmgr_name; description "Keychain name of tunnelencrypt keychain"; } // Holds Tunnelencrypt Key information container tunnelencryptkeyid-items { list TunnelencryptKeyId-list { key "keyId"; uses kcmgr_TunnelencryptKeyId-group; description "TunnelencryptKeyId list"; } description "TunnelencryptKeyId"; } } grouping kcmgr_TunnelencryptKeyId-group { description "TunnelencryptKeyId"; leaf keyId { type kcmgr_keyHexId; description "keyId of Tunnel encrypt keychain"; } leaf keyHexString { type kcmgr_keyString; description "key string of Tunnel encrypt keychain"; } leaf encryptType { type kcmgr_encryptionTypeTunnelEncrypt; description "Encryption type of Tunnel encrypt keychain"; } leaf encryptedKeyString { config "false"; type kcmgr_keyString; description "key string of Tunnel encrypt keychain after encryption"; } leaf encryptedType { config "false"; type kcmgr_encryptionTypeMacsec; description "Encryption type used for encryption of tunnelencrypt keystring"; } leaf keystringConfigError { config "false"; type kcmgr_ConfigErr; description "config Error associated with the keystring"; } leaf cryptographicAlgo { type kcmgr_cryptographicAlgoAes; description "cryptographicAlgo of Tunnel encrypt keychain"; } // Holds TunnelEncrypt sendlifetime container tunnelencryptsendlifetime-items { uses kcmgr_TunnelencryptSendlifetime-group; description "TunnelencryptSendlifetime"; } } grouping kcmgr_TunnelencryptSendlifetime-group { description "TunnelencryptSendlifetime"; leaf local { type kcmgr_timeZone; description "local timezone notification"; } leaf startTime { type kcmgr_timestamp; description "HH:MM:SS Start Time of lifetime"; } leaf startDay { type kcmgr_day; description "starting Day of Lifetime for the keychain"; } leaf startMonth { type kcmgr_month; description "starting month of Lifetime for the keychain"; } leaf startYear { type kcmgr_year; description "starting Year of Lifetime for the keychain"; } leaf duration { type kcmgr_duration; description "duration period of lifetime"; } leaf infinite { type kcmgr_adminSt; description "Lifetime has no endtime"; } leaf endTime { type kcmgr_timestamp; description "HH:MM:SS End Time of lifetime"; } leaf endDay { type kcmgr_day; description "Ending date of lifetime for the keychain"; } leaf endMonth { type kcmgr_month; description "Ending month of lifetime for the keychain"; } leaf endYear { type kcmgr_year; description "Ending Year of lifetime for the keychain"; } } grouping kcmgr_Tunnelencryptpsk-group { description "Tunnelencryptpresharedkey no show"; leaf pskNoshow { type kcmgr_adminSt; description "tunnelencrypt-psk hide them in show "; } } grouping ethpm_Entity-group { description "Ethernet Port Manager Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This class shall store the global configuration // for a running EthPM instance. We have single EthPM // in a system container inst-items { uses ethpm_Inst-group; description "Ethernet Port Manager Instance"; } } grouping ethpm_Inst-group { description "Ethernet Port Manager Instance"; leaf vlanTagNative { type boolean; description "Tag Native Vlan"; } // System default layer leaf systemDefaultLayer { type l1_Layer; description "System Default Layer"; } // System default admin st leaf systemDefaultAdminSt { type l1_AdminSt; description "System Default Admin St"; } // System jumbo Mtu leaf systemJumboMtu { type l1_Mtu; default "9216"; description "System Jumbo MTU"; } leaf systemStormControlMultiThreshold { type boolean; default "false"; description "Enable or disable the storm control multi threshold"; } // System Interface Shutdown leaf systemIfAdminState { type ethpm_SystemIfAdminState; description "System Interface Admin State"; } // System logging event leaf logEvent { type l1_LogEventBitmap; default "0"; description "Logging Interface events"; } leaf allowUnsupportedSfp { type boolean; default "true"; description "Allow Unsupported SFP"; } // Interface syslog info leaf ifSyslogInfo { type ethpm_SyslogInfo; description "Interface Syslog Info"; } // Admin link-up syslog level leaf adminLinkUpSyslogLevel { type ethpm_SyslogLevel; description "Admin Link-Up Syslog Level"; } // Admin link-down syslog level leaf adminLinkDownSyslogLevel { type ethpm_SyslogLevel; description "Admin Link-Down Syslog Level"; } leaf chassisInfraIPv6addr { type address_Ipv6; description "Chassis infra IPv6 address"; } // Chassis infra vlan leaf chassisInfraVlan { type ethpm_infraVlan; description "Chassis infra vlan id"; } // Chassis infra adaptor vlan leaf chassisInfraAdaptorVlan { type ethpm_infraVlan; description "Chassis infra adaptor vlan id"; } // Chassis infra EPDS port no leaf chassisInfraEpdsPortNo { type ethpm_epdsPortNo; description "Chassis infra EPDS port no"; } leaf chassisMgmtInst { type string; description "Chassis MGMT instance"; } // Chassis MGMT fabric no leaf chassisMgmtInstFabricNo { type ethpm_mgmtInstFabricNo; description "Chassis MGMT fabric no"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } container runtime-items { uses ethpm_InstRuntime-group; description "Instance Entity"; } // Global Error-disable recovery related configuration container errdisrecover-items { uses ethpm_ErrDisRecover-group; description "Error Disable Recovery Policy"; } // This object stores the runtime state of vlan inside ethpm container vlan-items { list Vlan-list { config "false"; key "id"; uses ethpm_Vlan-group; description "Vlan list"; } description "Vlan"; } // This object stores the runtime state associated // with a module inside ethpm container module-items { list Module-list { config "false"; key "id"; uses ethpm_Module-group; description "Module list"; } description "Module"; } } grouping ethpm_InstRuntime-group { description "Instance Entity"; leaf staticRMacCfgRefCount { config "false"; type uint32; description "Static Router MAC Config Reference Count"; } leaf pvlanTrunkCfgRefCount { config "false"; type uint32; description "PVLAN Trunk Config Reference Count"; } leaf pvlanPortCfgRefCount { config "false"; type uint32; description "PVLAN Port Config Reference Count"; } leaf dot1qRefCount { config "false"; type uint32; description "Dot1q Config Reference Count"; } leaf ethertypeRefCount { config "false"; type uint32; description "Ether Type Config Reference Count"; } leaf l3SatportRefCount { config "false"; type uint32; description "L3 Satellite Port Reference Count"; } leaf snmpIfTblLastChange { config "false"; type union { type string; type uint64; } description "Snmp if Table Last Change"; } leaf issuPacerRefCount { config "false"; type uint32; description "ISSU Pacer Reference Count"; } leaf featurePongState { config "false"; type uint8; description "Feature Pong Status"; } leaf slowdrainCongCoreConfChkState { config "false"; type uint8; description "Slow Drain Congestion Core Conf Check State"; } leaf slowdrainCongEdgeConfChkState { config "false"; type uint8; description "Slow Drain Congestion Edge Conf Check State"; } leaf slowdrainPausConfChkState { config "false"; type uint8; description "Slow Drain Congestion Core Conf-Check Status"; } leaf slowdrainPausEdgeConfChkState { config "false"; type uint8; description "Slow Drain Pause Edge Conf-Check Status"; } leaf eeeRefCount { config "false"; type uint32; description "EEE Reference Count"; } leaf fabpathCfgRefCount { config "false"; type uint32; description "Fabric Path Config Lock Reference Count"; } leaf dceSwId { config "false"; type uint32; description "DCE Switch ID"; } leaf lifLoopbackDone { config "false"; type boolean; description "LIF Loopback Done"; } leaf numBundles { config "false"; type uint32; description "Number of Bundles"; } // bundle If list leaf bundleIfList { config "false"; type ethpm_IfBundleList1024; description "Bundle Interface List"; } // Configured loopback interfaces leaf lbIfs { config "false"; type ethpm_LbBitmap; description "Configured Loopback Interfaces"; } } grouping ethpm_ErrDisRecover-group { description "Error Disable Recovery Policy"; // Error disable recovery interval leaf errDisRecovIntvl { type ethpm_ErrDisRecovIntvl; description "Error Disable Recovery Interval"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } container Event-items { list Event-list { key "event"; uses ethpm_Event-group; description "Error Disabled Recovery Event list"; } description "Error Disabled Recovery Event"; } container rserrDisRecoverPolCons-items { uses ethpm_RsErrDisRecoverPolCons_source-group; description "ErrDisableRecovery Policy Attachment"; } } grouping ethpm_Event-group { description "Error Disabled Recovery Event"; // Error disable event type leaf event { type ethpm_ErrDisEvent; description "Event"; } leaf detect { type boolean; default "true"; description "Detection Enabled"; } leaf recover { type boolean; default "false"; description "Recovery Enabled"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } } grouping ethpm_Vlan-group { description "Vlan"; // vlan id TODO: how do we add properties to rn // for objects owned by process? Currently // compilation seems to fails if owner="oper" leaf id { config "false"; type l2_DomId; description "Vlan ID"; } leaf numIf { config "false"; type uint32; description "Number of Interfaces"; } leaf flag { config "false"; type uint32; description "Vlan Flags"; } // shut state of vlan leaf shutState { config "false"; type l1_AdminSt; description "Shut State of VLAN"; } // state of vlan leaf state { config "false"; type l2_DomAdminSt; description "Operational State of VLAN"; } } grouping ethpm_Module-group { description "Module"; leaf id { config "false"; type uint8; description "Module ID"; } leaf numPortTypes { config "false"; type uint32; description "Number of Port-Types"; } leaf swCardId { config "false"; type uint16; description "Software Card ID"; } // cfgd ports leaf cfgdPorts { config "false"; type ethpm_PortBitmap; description "Configured Ports"; } leaf flags { config "false"; type uint32; description "Module Flags"; } leaf runtimeNumPorts { config "false"; type uint8; description "Runtime Number of Ports"; } // module type leaf moduleType { config "false"; type l1_Module; description "Module Type"; } leaf isOffline { config "false"; type boolean; description "Module Offline Status"; } leaf lcNodeAddress { config "false"; type uint32; description "LC Node Address"; } leaf portCfgSap { config "false"; type uint16; description "Port Config SAP"; } // runtime ports leaf runtimePorts { config "false"; type ethpm_PortBitmap; description "Runtime Ports"; } } grouping im_Breakout-group { description "Interface Breakout"; container module-items { list Mod-list { key "id"; uses im_Mod-group; description "Module list"; } description "Module"; } } grouping im_Mod-group { description "Module"; leaf id { type uint8 { range "1..32"; } description "Module Id"; } // Front-panel port container fport-items { list FpP-list { key "id"; uses im_FpP-group; description "Front Panel Port list"; } description "Front Panel Port"; } } grouping im_FpP-group { description "Front Panel Port"; leaf id { type uint8 { range "1..108"; } description "Front Panel port id"; } // Breakout Map leaf breakoutMap { type im_BreakoutMapT; description "Breakout Map"; } } grouping im_Entity-group { description "Interface Manager Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This class shall store the global configuration // for a running GIM instance. We have single GIM // in a system container inst-items { uses im_Inst-group; description "Interface Manager Instance"; } } grouping im_Inst-group { description "Interface Manager Instance"; leaf mode100M { type im_Mode100M; description "Mode 100M"; } leaf modeHwProfile { config "false"; type im_ModeHwProfile; description "Mode 4C, 2C+4Q"; } // default VDC state leaf vdcSt { config "false"; type l1_VdcSt; description "Default VDC State"; } leaf BreakoutProfile { config "false"; type im_BreakoutProfile; description "Breakout Profile"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This class shall store the software/feature capability // information for the GIM instance container cap-items { list Capability-list { config "false"; key "id"; uses im_Capability-group; description "Capability list"; } description "Capability"; } // This object stores the runtime state associated // with a module inside GIM container module-items { list Module-list { config "false"; key "id"; uses im_Module-group; description "Module list"; } description "Module"; } } grouping im_Capability-group { description "Capability"; leaf id { config "false"; type uint32; description "Capability Id"; } leaf autoInstCpbl { config "false"; type boolean; description "Auto-Install Capability"; } leaf isInstalled { config "false"; type boolean; description "Installed State"; } } grouping im_Module-group { description "Module"; leaf id { config "false"; type uint8; description "Module Id"; } leaf numPorts { config "false"; type uint8; description "Number of Port"; } // Module type leaf moduleType { config "false"; type l1_Module; description "Module Type"; } leaf swCardId { config "false"; type uint16; description "Software Card Id"; } leaf lcNodeAddress { config "false"; type uint32; description "LC Node Address"; } leaf portCfgSap { config "false"; type uint16; description "Port Config Sap"; } leaf isPresent { config "false"; type boolean; description "Module Presence Status"; } leaf runtimeFlag { config "false"; type uint8; description "Runtime Flag"; } leaf moduleInitiEvalFlag { config "false"; type uint32; description "Module Initialize Evaluation Flag"; } leaf lcExceptionFlag { config "false"; type uint32; description "LC Exception Flag"; } leaf lcInsertPldSz { config "false"; type uint32; description "LC Insertion Payload Size"; } // This object stores the information about // different port-types in a module container portinfo-items { list PortInfo-list { config "false"; key "phyLayer"; uses im_PortInfo-group; description "Information on different port-types in a module list"; } description "Information on different port-types in a module"; } } grouping im_PortInfo-group { description "Information on different port-types in a module"; // Physical Layer leaf phyLayer { config "false"; type l1_PhyLayer; description "Physical Layer"; } leaf numPorts { config "false"; type uint8; description "Number of Ports"; } leaf type { config "false"; type uint8; description "Specific Type of the Object or Component"; } } grouping pc_Entity-group { description "Port Channel Entity"; // This object holds per port channel instance information container pc-items { uses pc_Inst-group; description "Port Channel Instance"; } } grouping pc_Inst-group { description "Port Channel Instance"; // Hash distribution type leaf hashDist { type pc_PCHashDist; description "Hash Distribution Type"; } // Load defer timeout leaf loadDeferTime { type pc_LoadDeferTime; default "120"; description "Load Defer Timeout"; } // Max number of port-channels leaf maxChannels { config "false"; type pc_NumChannels; description "Max Number of Port-channels"; } // Number of used port-channels leaf usedChannels { config "false"; type pc_NumChannels; description "Number of Used Port-channels"; } // Number of free port-channels leaf freeChannels { config "false"; type pc_NumChannels; description "Number of Free Port-channels"; } // Percentage of used port-channels leaf pcntChannels { config "false"; type pc_PcntChannels; description "Percentage of Used Port-channels"; } } grouping flexlink_Flexlink-group { description "Flexlink configuration and management"; container if-items { list Interface-list { key "id"; uses flexlink_Interface-group; description "Interface configuration and management for Flexlink list"; } description "Interface configuration and management for Flexlink"; } } grouping flexlink_Interface-group { description "Interface configuration and management for Flexlink"; // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface ID"; } // switchport backup interface leaf backupIntf { type nw_IfId; description "Backup Interface configuration for flexlink"; } leaf fastConv { type enumeration { enum disabled { value 0; description "Disabled"; } enum enabled { value 1; description "Enabled"; } } default "disabled"; description "multicast fast-convergence configuration for flexlink"; } // switchport backup interface preemption mode leaf preemptionMode { type flexlink_Mode; description "switchport backup interface preemption mode configuration for flexlink"; } // switchport backup interface preemption delay leaf preemptionDelay { type flexlink_Delay; description "switchport backup interface preemption delay configuration for flexlink"; } } grouping l2fm_Entity-group { description "l2fm"; // mac-learn leaf macLearn { type l2fm_Learning; description "mac-learn Enable Disable"; } leaf macLoopDetect { type l2fm_LoopDetect; description "mac loop-detect port-down enable Disable"; } leaf macGuardVpcPeergwMac { type l2fm_GuardVpcPeergwMac; description "mac guard vpc peer GW Mac Enable Disable"; } leaf macMoveNotification { type l2fm_MacMoveNotification; description "mac move notification Enable disable"; } // MAC move policy container macmovepolicy-items { uses l2fm_MacMovePolicy-group; description "Mac move policy"; } // MTS buildup check container mtsbuildupcheck-items { uses l2fm_MtsBuildupCheck-group; description "MTS Buildup Check"; } // Holds macMove trap information container macmovetrap-items { uses l2fm_MacMoveTrap-group; description "Mac Move Trap"; } // Holds L2fm Ephemeral Oper information // Ephemeral data container l2fmeph-items { uses l2fm_L2fmEph-group; description "l2fm Ephemeral Oper Object"; } } grouping l2fm_MacMovePolicy-group { description "Mac move policy"; // mac-learn leaf macMovePolicyState { type l2fm_Learning; description "mac-move policy Enable Disable"; } leaf macMoveThreshold { type l2fm_MacMoveThreshold; description "mac-move policy move-threshold"; } leaf macMoveDetectIntvl { type l2fm_MacMoveDetectIntvl; description "mac-move policy move-threshold detect-intvl"; } leaf macMoveHoldIntvl { type l2fm_MacMoveHoldIntvl; description "mac-move policy move-threshold detect-intvl hold-intvl"; } } grouping l2fm_MtsBuildupCheck-group { description "MTS Buildup Check"; // mac-learn leaf mtsBuildupCheckState { type l2fm_Learning; description "mts-buildup check Enable Disable"; } leaf mtsBuildupCheckPercent { type l2fm_MtsBuildupCheckPercent; description "mts-buildup check percent"; } leaf mtsBuildupCheckIntvl { type l2fm_MtsBuildupCheckIntvl; description "mts-buildup check interval"; } } grouping l2fm_MacMoveTrap-group { description "Mac Move Trap"; leaf macMoveAddress { config "false"; type address_Mac; description "Mac Move Address"; } leaf macMoveVlanNumber { config "false"; type uint32; description "Mac Move Vlan Number"; } leaf macMoveFromPortID { config "false"; type uint32; description "Mac Move From Port ID"; } leaf macMoveToPortID { config "false"; type uint32; description "Mac Move To Port ID"; } leaf macMoveTime { config "false"; type string; description "Mac Move Time"; } } grouping l2fm_L2fmEph-group { description "l2fm Ephemeral Oper Object"; // Holds L2fm mac address table oper counter information // Ephemeral data container macaddrcounters-items { uses l2fm_MacAddrTableCounters-group; description "Mac address table ephemeral counters oper object"; } } grouping l2fm_MacAddrTableCounters-group { description "Mac address table ephemeral counters oper object"; // Ephemeral data leaf macAddrsAdded { config "false"; type uint32; description "Mac Addresses added count"; } // Ephemeral data leaf macAddrsMoved { config "false"; type uint32; description "Mac Addresses moved count"; } // Ephemeral data leaf macAddrsMovedBorder { config "false"; type uint32; description "Mac Addresses moved border count"; } // Ephemeral data leaf macAddrsRemoved { config "false"; type uint32; description "Mac Addresses removed count"; } // Ephemeral data leaf macRegisterDeleteNotifs { config "false"; type uint32; description "Mac Register/Delete notifications sent to AM MAC"; } // Ephemeral data leaf dynamicLocalAddrCount { config "false"; type uint32; description "Dynamic Local Address count"; } // Ephemeral data leaf dynamicRemoteAddrCount { config "false"; type uint32; description "Dynamic Remote Address count"; } // Ephemeral data leaf staticLocalAddrCount { config "false"; type uint32; description "Static Local Address count"; } // Ephemeral data leaf staticRemoteAddrCount { config "false"; type uint32; description "Static Remote Address count"; } // Ephemeral data leaf secureAddrCount { config "false"; type uint32; description "Total Secure Address count"; } // Ephemeral data leaf totalMacAddrCount { config "false"; type uint32; description "Total Mac Address in use count"; } } grouping l2pt_L2protocol-group { description "L2 Protocol Tunneling configuration and management"; leaf cos { type l2pt_Cos; description "L2PT Cos Value"; } container if-items { list If-list { key "id"; uses l2pt_If-group; description "Interface configuration and management for L2PT list"; } description "Interface configuration and management for L2PT"; } } grouping l2pt_If-group { description "Interface configuration and management for L2PT"; leaf id { type string; description "Interface ID"; } container tunnel-items { uses l2pt_Tunnel-group; description "Tunneling Protocols on Interface"; } } grouping l2pt_Tunnel-group { description "Tunneling Protocols on Interface"; leaf cdp { type boolean; description "Cisco Discovery Protocol"; } leaf stp { type boolean; description "Spanning Tree Protocol"; } leaf stpBridge { type boolean; description "Spanning Tree Protocol Bridge"; } leaf vtp { type boolean; description "VLAN Trunking Protocol"; } leaf lldp { type boolean; description "Link Layer Discovery Protocol"; } leaf lacp { type boolean; description "Link Aggregation Control Protocol"; } leaf doubleTag { type boolean; description "Enable or Disable Double Tag for L2PT"; } leaf cdpShutThreshold { type l2pt_Threshold; description "Shut Threshold for Cisco Discovery Protocol"; } leaf stpShutThreshold { type l2pt_Threshold; description "Shut Threshold for Spanning Tree Protocol"; } leaf stpBridgeShutThreshold { type l2pt_Threshold; description "Shut Threshold for Spanning Tree Protocol Bridge"; } leaf vtpShutThreshold { type l2pt_Threshold; description "Shut Threshold for VLAN Trunking Protocol"; } leaf lldpShutThreshold { type l2pt_Threshold; description "Shut Threshold for Link Layer Discovery Protocol"; } leaf lacpShutThreshold { type l2pt_Threshold; description "Shut Threshold for Link Aggregation Control Protocol"; } leaf cdpDropThreshold { type l2pt_Threshold; description "Drop Threshold for Cisco Discovery Protocol"; } leaf stpDropThreshold { type l2pt_Threshold; description "Drop Threshold for Spanning Tree Protocol"; } leaf stpBridgeDropThreshold { type l2pt_Threshold; description "Drop Threshold for Spanning Tree Protocol Bridge"; } leaf vtpDropThreshold { type l2pt_Threshold; description "Drop Threshold for VLAN Trunking Protocol"; } leaf lldpDropThreshold { type l2pt_Threshold; description "Drop Threshold for Link Layer Discovery Protocol"; } leaf lacpDropThreshold { type l2pt_Threshold; description "Drop Threshold for Link Aggregation Control Protocol"; } leaf l2ptTunnelVlanRange { type l2pt_Bitmap; description "Enable tunneling of L2 packets for a range of vxlan vlans with multiple vlan tags"; } } grouping l2rib_Entity-group { description "L2RIB Entity"; // Global L2RIB instance configuration and operation state. // There is only one instance of L2RIB at any time. container inst-items { uses l2rib_Inst-group; description "L2RIB Instance"; } } grouping l2rib_Inst-group { description "L2RIB Instance"; container clients-items { uses l2rib_Clients-group; description "This model is container of L2RIB clients"; } // Event History buffer size configure container eventhistsize-items { list EventHistorySize-list { key "type"; uses l2rib_EventHistorySize-group; description "Configure event-history buffer size list"; } description "Configure event-history buffer size"; } // L2RIB EVPN Host MAC Mobility Object container evpn-items { uses l2rib_EvpnMACmob-group; description "EVPN MAC mobility cfg"; } // Peer entry in L2RIB. container peers-items { uses l2rib_Peers-group; description "Container object of peer entries in L2RIB."; } container producers-items { uses l2rib_Producers-group; description "This model is container of L2RIB producers"; } container registrations-items { uses l2rib_Registrations-group; description "L2RIB Registrations"; } // Summary container in L2RIB. container summary-items { uses l2rib_Summary-group; description "Summary of total memory usage in L2RIB"; } container topology-items { uses l2rib_Topology-group; description "Topology Object"; } } grouping l2rib_Clients-group { description "This model is container of L2RIB clients"; container client-items { list Client-list { config "false"; key "id"; uses l2rib_Client-group; description "This model containes information a L2RIB client list"; } description "This model containes information a L2RIB client"; } } grouping l2rib_Client-group { description "This model containes information a L2RIB client"; leaf id { config "false"; type uint8; description "Client identifier"; } leaf uuid { config "false"; type uint32; description "Client universally unique identifier"; } leaf name { config "false"; type string; description "Client process suffix"; } } grouping l2rib_EventHistorySize-group { description "Configure event-history buffer size"; leaf type { type l2rib_EvtHistType; description "Event history buffer type"; } leaf size { type l2rib_EvtHistSize; description "Event history buffer size"; } } grouping l2rib_EvpnMACmob-group { description "EVPN MAC mobility cfg"; leaf ddMoves { type uint16 { range "1..1000"; } default "5"; description "Dup Detect MAC num-moves (def:5)"; } leaf ddDuration { type uint16 { range "2..36000"; } default "180"; description "Dup Detect MAC duration secs (def:180)"; } leaf drTimeout { type uint16 { range "0..1800"; } default "30"; description "Dup MAC Recover timeout secs (def:30)"; } leaf drRetryCnt { type uint16 { range "0..3000"; } default "3"; description "Dup MAC Recover retry cnt (def:3)"; } } grouping l2rib_Peers-group { description "Container object of peer entries in L2RIB."; // Peer entry in L2RIB. container peer-items { list PeerId-list { config "false"; key "ifName ip"; uses l2rib_PeerId-group; description "Entry of learnt peers in L2RIB. list"; } description "Entry of learnt peers in L2RIB."; } } grouping l2rib_PeerId-group { description "Entry of learnt peers in L2RIB."; leaf ip { config "false"; type address_Ip; description "IP address of peer object"; } leaf ifName { config "false"; type string; description "Name of the NVE interface"; } leaf ifHdl { config "false"; type uint64; description "Handle of NVE interface"; } leaf id { config "false"; type uint32; description "The oper property peer-identifier"; } leaf numMac { config "false"; type uint32; description "Count of MAC routes linked with this peer"; } leaf numNh { config "false"; type uint32; description "Count of Next-hops linked with this peer"; } leaf peerIfIdx { config "false"; type uint64; description "Interface index of peer"; } } grouping l2rib_Producers-group { description "This model is container of L2RIB producers"; container prod-items { list Producer-list { config "false"; key "name id clientId objType"; uses l2rib_Producer-group; description "Producer list"; } description "Producer"; } } grouping l2rib_Producer-group { description "Producer"; leaf name { config "false"; type string; description "Producer Name"; } leaf id { config "false"; type uint32; description "Producer identifier"; } leaf clientId { config "false"; type uint8; description "Client identifier"; } leaf objType { config "false"; type string; description "Type of object"; } leaf adminDist { config "false"; type uint32; description "Admin distance"; } leaf purgeTime { config "false"; type uint32; description "Producer purge timer"; } leaf state { config "false"; type l2rib_ProducerStT; description "Producer state"; } leaf flags { config "false"; type uint32; description "Producer Flags"; } } grouping l2rib_Registrations-group { description "L2RIB Registrations"; container client-items { list RegClient-list { config "false"; key "name"; uses l2rib_RegClient-group; description "Global Registraion Entries list"; } description "Global Registraion Entries"; } } grouping l2rib_RegClient-group { description "Global Registraion Entries"; leaf id { config "false"; type uint8; description "Client identifier"; } leaf name { config "false"; type string; description "Client process suffix"; } container topo-items { list RegTopo-list { config "false"; key "id objType"; uses l2rib_RegTopo-group; description "Registrations identified based on topology list"; } description "Registrations identified based on topology"; } } grouping l2rib_RegTopo-group { description "Registrations identified based on topology"; leaf id { config "false"; type string; description "Topology identifier"; } leaf objType { config "false"; type string; description "Object type"; } leaf prodName { config "false"; type string; description "Producer name"; } leaf filters { config "false"; type string; description "Registration Filters"; } } grouping l2rib_Summary-group { description "Summary of total memory usage in L2RIB"; leaf cnvrgdTblCnt { config "false"; type uint32; description "Count of object tables converged"; } leaf totalSize { config "false"; type uint32; description "Sum of bytes allocated by all objects of L2RIB"; } // Summary Table of different objects in L2RIB. container obj-items { list SummaryObj-list { config "false"; key "objName"; uses l2rib_SummaryObj-group; description "Summary of memory usage in L2RIB per object type list"; } description "Summary of memory usage in L2RIB per object type"; } } grouping l2rib_SummaryObj-group { description "Summary of memory usage in L2RIB per object type"; leaf objName { config "false"; type string; description "Name of object-type summary table"; } leaf numObj { config "false"; type uint32; description "Number of objects occupying memory"; } leaf size { config "false"; type uint32; description "Total sum of bytes occupied by object(s)"; } container prod-items { list ObjProducer-list { config "false"; key "prodName"; uses l2rib_ObjProducer-group; description "Summary of memory usage of an object across all producers. list"; } description "Summary of memory usage of an object across all producers."; } } grouping l2rib_ObjProducer-group { description "Summary of memory usage of an object across all producers."; leaf prodName { config "false"; type string; description "Name of object producer"; } leaf id { config "false"; type uint32; description "Producer identifier information"; } leaf numObj { config "false"; type uint32; description "Number of objects per producer"; } leaf size { config "false"; type uint32; description "Total memory usage of per object per producer"; } } grouping l2rib_Topology-group { description "Topology Object"; // This object holds the topology information container topo-items { list Topo-list { config "false"; key "topoId"; uses l2rib_Topo-group; description "This model contains information of topology object list"; } description "This model contains information of topology object"; } } grouping l2rib_Topo-group { description "This model contains information of topology object"; leaf topoId { config "false"; type uint32; description "Topology identifier"; } leaf name { config "false"; type string; description "Topology name"; } leaf txId { config "false"; type uint32; description "Transaction ID for Topology Ack"; } leaf rcvdAck { config "false"; type boolean; description "Flag to Indicate Topology Ack"; } // flags leaf flags { config "false"; type l2rib_TopoFlagsT; description " Topology operational flags"; } // sub flags leaf subFlags { config "false"; type l2rib_TopoSubFlagsT; description "Topology operational sub category flags"; } container topocmcast-items { uses l2rib_TopoCmcast-group; description "This MO contains a Container for all Cmcast routes in the topology"; } // Container of EAD entries in L2RIB. container ead-items { uses l2rib_Ead-group; description "Container model of EAD entries in L2RIB."; } // Container of ethernet-segment entries in L2RIB. container es-items { uses l2rib_Es-group; description "Container model of ethernet-segment entries in L2RIB."; } container fhs-items { uses l2rib_FhsTable-group; description "This MO is a contianer of FhsTable in a topology."; } container floodlist-items { uses l2rib_FloodList-group; description "Flood-List"; } // Container of IMET route in L2RIB. container imet-items { uses l2rib_Imet-group; description "Container model of IMET route in L2RIB"; } container macip-items { uses l2rib_MacIp-group; description "This model is container of all Mac-Ip route objects under a topology"; } container mac-items { uses l2rib_Mac-group; description "This model is contianer of all Mac-routes under a topology."; } // Container of path-list entries in L2RIB. container pl-items { uses l2rib_Pl-group; description "Container model of path-list entries in L2RIB."; } container spmsi-items { uses l2rib_SpmsiTable-group; description "This MO contains a Container for all SPMSI Table of a topology"; } // This object holds the VNI attributes of topology container vni_attr-items { uses l2rib_TopoVniAttr-group; description "This model contains VNI attributes of topology"; } // This object holds the EVI attributes of topology container evi_attr-items { uses l2rib_TopoEviAttr-group; description "This model contains EVI attributes of topology"; } } grouping l2rib_TopoCmcast-group { description "This MO contains a Container for all Cmcast routes in the topology"; container cmcast_srcip-items { list TopoCmcastAttr-list { config "false"; key "srcIp grpIp peerIp"; uses l2rib_TopoCmcastAttr-group; description "This MO contains a Cmcast route in the topology list"; } description "This MO contains a Cmcast route in the topology"; } } grouping l2rib_TopoCmcastAttr-group { description "This MO contains a Cmcast route in the topology"; leaf srcIp { config "false"; type address_Ip; description "Source IP address information of l2route Cmcast"; } leaf grpIp { config "false"; type address_Ip; description "Group IP address information of l2route Cmcast"; } leaf peerIp { config "false"; type address_Ip; description "Peer IP address information of l2route Cmcast"; } leaf prodType { config "false"; type string; description "Producer type in the l2route for Cmcast"; } leaf peerType { config "false"; type string; description "Producer type in the l2route for Cmcast"; } leaf peerId { config "false"; type uint32; description "Peer ID in the l2route for Cmcast"; } leaf vrfId { config "false"; type uint32; description "VRF ID in the l2route for Cmcast"; } leaf l3vniId { config "false"; type uint32; description "L3VNI ID in the l2route for Cmcast"; } } grouping l2rib_Ead-group { description "Container model of EAD entries in L2RIB."; // EAD enteries in L2RIB container ead_entry-items { list EadEntry-list { config "false"; key "esi"; uses l2rib_EadEntry-group; description "EAD entry produced in L2RIB. list"; } description "EAD entry produced in L2RIB."; } } grouping l2rib_EadEntry-group { description "EAD entry produced in L2RIB."; leaf esi { config "false"; type string; description "Indicates ESI id of EAD entry"; } // Ead producers container prod-items { list EadProducer-list { config "false"; key "prodName"; uses l2rib_EadProducer-group; description "Producers of EAD entry in L2RIB. list"; } description "Producers of EAD entry in L2RIB."; } } grouping l2rib_EadProducer-group { description "Producers of EAD entry in L2RIB."; leaf topoId { config "false"; type uint32; description "Topology identifier information"; } leaf prodName { config "false"; type string; description "Name of EAD entry producer"; } leaf sentTo { config "false"; type string; description "List of clients notified about object"; } leaf numPls { config "false"; type uint32; description "Count of linked path-list entries"; } leaf numHops { config "false"; type uint32; description "Indicates count of next hops in EAD entry"; } leaf nhList { config "false"; type string; description "List of next hop addresses"; } } grouping l2rib_Es-group { description "Container model of ethernet-segment entries in L2RIB."; // Ethernet-segment enteries in L2RIB container es-items { list EsEntry-list { config "false"; key "esi prodName originIp"; uses l2rib_EsEntry-group; description "Ethernet-segment entry produced in L2RIB. list"; } description "Ethernet-segment entry produced in L2RIB."; } } grouping l2rib_EsEntry-group { description "Ethernet-segment entry produced in L2RIB."; leaf esi { config "false"; type string; description "ESI of ethernet-segment entry"; } leaf prodName { config "false"; type string; description "Name of ethernet-segment entry producer"; } leaf originIp { config "false"; type address_Ip; description "Originator IP of ethernet-segment entry"; } leaf sentTo { config "false"; type string; description "List of clients notified about object"; } leaf ifHandle { config "false"; type string; description "Interface handle information"; } } grouping l2rib_FhsTable-group { description "This MO is a contianer of FhsTable in a topology."; container mac_addr-items { list FhsEntry-list { config "false"; key "macAddr hostIp"; uses l2rib_FhsEntry-group; description "This model contains information of each Fhs entry list"; } description "This model contains information of each Fhs entry"; } } grouping l2rib_FhsEntry-group { description "This model contains information of each Fhs entry"; leaf macAddr { config "false"; type address_Mac; description "Physical address of the host"; } leaf hostIp { config "false"; type address_Ip; description "Ip address of the host"; } container producer-items { list FhsRt-list { config "false"; key "producer"; uses l2rib_FhsRt-group; description "Fhs Route Object list"; } description "Fhs Route Object"; } } grouping l2rib_FhsRt-group { description "Fhs Route Object"; leaf producer { config "false"; type string; description "Name of FHS route producer"; } // FHS route flags leaf flags { config "false"; type l2rib_FhsRtFlagsT; description "List of flags enabled for fhs-route"; } // Generic object flags leaf genericFlags { config "false"; type l2rib_GenericFlagsT; description "Generic flags of l2rib object"; } leaf seqNo { config "false"; type uint32; description "Fhs route sequence Number"; } leaf stime { config "false"; type string; description "Fhs route lease start time"; } leaf ltime { config "false"; type uint32; description "Fhs route lease time"; } leaf encapType { config "false"; type uint32; description "Fhs route encapsulation type"; } leaf soo { config "false"; type uint32; description "Fhs route source-of-origin(soo)"; } leaf peerId { config "false"; type uint32; description "Fhs route associated peerid"; } leaf nh { config "false"; type string; description "List of next-hop address"; } } grouping l2rib_FloodList-group { description "Flood-List"; container fl-items { list Fl-list { config "false"; key "ip"; uses l2rib_Fl-group; description "Flood list Object list"; } description "Flood list Object"; } } grouping l2rib_Fl-group { description "Flood list Object"; leaf topoId { config "false"; type uint32; description "Topology identifier"; } leaf ip { config "false"; type address_Ip; description "Ip address of flood-list entry"; } leaf serviceNode { config "false"; type boolean; description "Service Node"; } leaf peerId { config "false"; type uint32; description "Peer identifier information"; } leaf sentTo { config "false"; type string; description "List of clients notified about object"; } } grouping l2rib_Imet-group { description "Container model of IMET route in L2RIB"; // Producer of IMET route in L2RIB. container prod-items { list ImetProducer-list { config "false"; key "prodName"; uses l2rib_ImetProducer-group; description "Producer model of IMET route in L2RIB list"; } description "Producer model of IMET route in L2RIB"; } } grouping l2rib_ImetProducer-group { description "Producer model of IMET route in L2RIB"; leaf prodName { config "false"; type string; description "Indicates name of IMET route producer"; } // Imet route in L2RIB container imet-items { list ImetEntry-list { config "false"; key "ip imetLabel ethTagId encapType"; uses l2rib_ImetEntry-group; description "IMET route produced in L2RIB list"; } description "IMET route produced in L2RIB"; } } grouping l2rib_ImetEntry-group { description "IMET route produced in L2RIB"; leaf ip { config "false"; type address_Ip; description "Indicates IP of IMET route"; } leaf vni { config "false"; type uint32; description "Indicates vni information of IMET route"; } leaf imetLabel { config "false"; type uint32; description "Indicates IMET label information of route"; } leaf prodName { config "false"; type string; description "Indicates producer of IMET route"; } leaf sentTo { config "false"; type string; description "List of clients notified about object"; } leaf topoId { config "false"; type uint32; description "Topology identifier information"; } leaf pmsiType { config "false"; type uint32; description "Type of IMET route entry"; } leaf pmsiFlags { config "false"; type uint32; description "Indicates state of PMSI Flags for IMET route"; } leaf ethTagId { config "false"; type uint32; description "Indicates ethernet tag id of IMET route"; } leaf encapType { config "false"; type uint16; description "Indicates encapsultion type of IMET route"; } leaf tunnelId { config "false"; type string; description "Indicates tunnel id of IMET route"; } leaf origin { config "false"; type l2rib_ImetRtOriginT; description "Indicates origin of IMET route"; } leaf teFlag { config "false"; type string; description "Indicates Traffic Engineering type of IMET route"; } leaf vrfId { config "false"; type uint32; description "Indicates Resolution VRF ID of IMET route"; } } grouping l2rib_MacIp-group { description "This model is container of all Mac-Ip route objects under a topology"; container macip_entry-items { list MacIpEntry-list { config "false"; key "macAddr ip"; uses l2rib_MacIpEntry-group; description "This model contais information of mac-ip entry list"; } description "This model contais information of mac-ip entry"; } } grouping l2rib_MacIpEntry-group { description "This model contais information of mac-ip entry"; leaf macAddr { config "false"; type address_Mac; description "Mac address of mac-ip route"; } leaf ip { config "false"; type address_Ip; description "Ip address of mac-ip route"; } container prod-items { list MacIpProducer-list { config "false"; key "producer"; uses l2rib_MacIpProducer-group; description "Mac Ip Producer Object list"; } description "Mac Ip Producer Object"; } } grouping l2rib_MacIpProducer-group { description "Mac Ip Producer Object"; leaf topoId { config "false"; type uint32; description "Topology identifier"; } leaf macAddr { config "false"; type address_Mac; description "Mac address of mac-ip route"; } leaf hostIp { config "false"; type address_Ip; description "Ip Address"; } leaf producer { config "false"; type string; description "Mac Route Producer"; } leaf flags { config "false"; type l2rib_MacIpRtFlagsT; description "List of flags enabled in mac-ip route"; } leaf genericFlags { config "false"; type l2rib_GenericFlagsT; description "Generic flags of l2rib object"; } leaf seqNo { config "false"; type uint32; description "Sequence Number"; } leaf peerId { config "false"; type uint32; description "Peer Id"; } leaf peerIfIdx { config "false"; type uint64; description "Peer interface index"; } leaf nh { config "false"; type string; description "List of next hop address"; } leaf sentTo { config "false"; type string; description "List of clients notified about object"; } leaf esi { config "false"; type string; description "Ethernet-segment identifier"; } leaf pcInfo { config "false"; type string; description "Name of port channel interface"; } leaf siteOrigin { config "false"; type string; description "Site of origin"; } leaf l3TopoId { config "false"; type uint32; description "Layer 3 topology identifier"; } } grouping l2rib_Mac-group { description "This model is contianer of all Mac-routes under a topology."; container mac_entry-items { list MacEntry-list { config "false"; key "macAddr"; uses l2rib_MacEntry-group; description "This model contains information of each mac-route list"; } description "This model contains information of each mac-route"; } } grouping l2rib_MacEntry-group { description "This model contains information of each mac-route"; leaf macAddr { config "false"; type address_Mac; description "Physical address of mac-route"; } container prod-items { list MacProducer-list { config "false"; key "producer"; uses l2rib_MacProducer-group; description "Mac Producer Object list"; } description "Mac Producer Object"; } } grouping l2rib_MacProducer-group { description "Mac Producer Object"; leaf topoId { config "false"; type uint32; description "Topology identifier"; } leaf macAddr { config "false"; type address_Mac; description "MAC address of mac route object"; } leaf producer { config "false"; type string; description "Name of mac route producer"; } leaf flags { config "false"; type l2rib_MacRtFlagsT; description "List of flags enabled for mac-route"; } leaf genericFlags { config "false"; type l2rib_GenericFlagsT; description "Generic flags of l2rib object"; } leaf seqNo { config "false"; type uint32; description "Sequence Number"; } leaf nh { config "false"; type string; description "List of next-hop address"; } leaf rtResolution { config "false"; type l2rib_MacRtResolutionT; description "MAC route resolution"; } leaf fwdSt { config "false"; type string; description "Forwarding state"; } leaf sentTo { config "false"; type string; description "List of clients notified about object"; } leaf esi { config "false"; type string; description "Ethernet-segment identifier"; } leaf pcInfo { config "false"; type string; description "Name of port channel Interface"; } leaf siteOrigin { config "false"; type string; description "Site of origin"; } leaf plNh { config "false"; type string; description "Resultant next hop of path-list category"; } } grouping l2rib_Pl-group { description "Container model of path-list entries in L2RIB."; // Path-list enteries in L2RIB container pl-items { list PlEntry-list { config "false"; key "esi prodName rtType"; uses l2rib_PlEntry-group; description "Path-list entry produced in L2RIB. list"; } description "Path-list entry produced in L2RIB."; } } grouping l2rib_PlEntry-group { description "Path-list entry produced in L2RIB."; leaf esi { config "false"; type string; description "ESI information of path-list entry"; } leaf prodName { config "false"; type string; description "Name of path-list entry producer"; } leaf rtType { config "false"; type l2rib_MacRtResolutionT; description "Type of mac-route linked with object"; } leaf topoId { config "false"; type uint32; description "Topology identifier information"; } leaf cpNh { config "false"; type string; description "List of control-plane based next-hop addresses"; } leaf glblEadNh { config "false"; type string; description "List of next-hop addresses which are part of global ead linked next-hop addresses"; } leaf restNh { config "false"; type string; description "List of next-hop addresses which are neither global ead linked next-hop addresses nor control-plan based"; } leaf bkpNh { config "false"; type string; description "List of backup next-hop addresses"; } leaf sentTo { config "false"; type string; description "List of clients notified about object"; } leaf ecmpLabel { config "false"; type uint32; description "ECMP label information"; } leaf flags { config "false"; type string; description "Indicates flags set for path-list entry"; } leaf numMac { config "false"; type uint32; description "Count of MAC linked with object"; } leaf clientCtx { config "false"; type uint32; description "Client context for path-list entry"; } } grouping l2rib_SpmsiTable-group { description "This MO contains a Container for all SPMSI Table of a topology"; container producer-items { list Spmsi-list { config "false"; key "prodType csIp cgIp domain"; uses l2rib_Spmsi-group; description "This MO contains a SPMSI route in the topology list"; } description "This MO contains a SPMSI route in the topology"; } } grouping l2rib_Spmsi-group { description "This MO contains a SPMSI route in the topology"; leaf prodType { config "false"; type string; description "Producer of the spmsi route"; } leaf csIp { config "false"; type address_Ip; description "Customer Source IP address of the smpsi route"; } leaf cgIp { config "false"; type address_Ip; description "Customer Group IP address of the smpsi route"; } leaf domain { config "false"; type uint32; description "Domain of the spmsi route"; } leaf vrfId { config "false"; type uint32; description "VRF ID in the l2route for Cmcast"; } leaf l3vniId { config "false"; type uint32; description "L3VNI ID in the l2route for Cmcast"; } leaf dsIp { config "false"; type address_Ip; description "Delivery Source IP address of the spmsi route"; } leaf dgIp { config "false"; type address_Ip; description "Delivery Group IP address of the spmsi route"; } } grouping l2rib_TopoVniAttr-group { description "This model contains VNI attributes of topology"; leaf id { config "false"; type uint32; description "virtual network identifier"; } // Topology Type leaf topoType { config "false"; type l2rib_TopoTypeT; description "Topology Type"; } // Encap Type leaf encapType { config "false"; type l2rib_EncapTypeT; description "Encapsulation type of VNI"; } leaf iod { config "false"; type uint32; description "Ordinial information of VNI "; } leaf ifHdl { config "false"; type uint32; description "Handle value of nve interface"; } leaf vtepIp { config "false"; type address_Ip; description "VTEP IP address information of VNI"; } leaf emulatedVtepIp { config "false"; type address_Ip; description "Emulated VTEP IP address information of VNI"; } leaf emulatedRoIp { config "false"; type address_Ip; description "virtual ip address used for re-origination"; } leaf vrfId { config "false"; type uint32; description "Value of vrf id for vni"; } leaf rMac { config "false"; type address_Mac; description "Local Router MAC (For L3 VNIs)"; } leaf vMac { config "false"; type address_Mac; description "Local Virtual MAC (For L3 VNIs)"; } leaf vMacRo { config "false"; type address_Mac; description "Local Virtual MAC RO (For L3 VNIs)"; } } grouping l2rib_TopoEviAttr-group { description "This model contains EVI attributes of topology"; leaf id { config "false"; type uint32; description "EVI identifier information"; } // Topology Type leaf topoType { config "false"; type l2rib_TopoTypeT; description "Topology Type"; } // Encap Type leaf encapType { config "false"; type l2rib_EncapTypeT; description "Encapsulation type of EVI"; } leaf ifHdl { config "false"; type uint32; description "Handle value of nve interface"; } leaf vtepIp { config "false"; type address_Ip; description "VTEP IP address information of VNI"; } leaf emulatedVtepIp { config "false"; type address_Ip; description "Emulated VTEP IP address information of VNI"; } leaf bdLabel { config "false"; type uint32; description "BD Label informa of EVI"; } } grouping portsecurity_PortSecurity-group { description "Port Security configuration and management at interface"; // DN: sys/portsecurity/table container table-items { uses portsecurity_PortSecurityTable-group; description "MAC Address Table for Secure Entries"; } // DN: sys/portsecurity/if-[if] container if-items { list PortSecurityIf-list { key "if"; uses portsecurity_PortSecurityIf-group; description "Port Security configuration and management at interface list"; } description "Port Security configuration and management at interface"; } } grouping portsecurity_PortSecurityTable-group { description "MAC Address Table for Secure Entries"; // DN: sys/portsecurity/table/vlan-[vlan-x]-mac- container vlan-items { list MacEntry-list { config "false"; key "vlan macAddress"; uses portsecurity_MacEntry-group; description "Secure mac address entry list"; } description "Secure mac address entry"; } } grouping portsecurity_MacEntry-group { description "Secure mac address entry"; leaf macAddress { config "false"; type address_Mac; description "Secure MAC address value"; } leaf vlan { config "false"; type string; description "Vlan for secure Mac entry"; } leaf if { config "false"; type nw_IfId; description "Interface id of Secure MAC entry"; } leaf static { config "false"; type boolean; description "Secure MAC entry is static if true"; } leaf sticky { config "false"; type boolean; description "Secure MAC entry is sticky if true"; } } grouping portsecurity_PortSecurityIf-group { description "Port Security configuration and management at interface"; // portsecurity if id leaf if { type nw_IfId; description "Interface id of port with Port Security"; } leaf portSecurity { type boolean; default "false"; description "Enable or disable Port Security on interface"; } leaf aging { type uint16 { range "0..1440"; } default "0"; description "Aging time of mac addresses on interface"; } leaf agingType { type portsecurity_AgingType; description "Aging type of mac addresses on interface"; } leaf violation { type portsecurity_ViolationMode; description "Security violation modes"; } leaf maximum { type uint16 { range "1..1025"; } default "1"; description "Maximum number of secure mac addresses on interface"; } leaf sticky { type boolean; default "false"; description "Enable or disable sticky secure addresses on interface"; } // DN: sys/portsecurity/if-[if]/vlan-[vlan-x] container vlan-items { list PortSecurityVlan-list { key "vlanId"; uses portsecurity_PortSecurityVlan-group; description "Port Security configuration and management for specific VLAN at interface list"; } description "Port Security configuration and management for specific VLAN at interface"; } // DN: sys/portsecurity/if-[if]/mac-[macAddress] container mac-items { list SecureMac-list { key "macAddress"; uses portsecurity_SecureMac-group; description "Static secure MAC at interface list"; } description "Static secure MAC at interface"; } } grouping portsecurity_PortSecurityVlan-group { description "Port Security configuration and management for specific VLAN at interface"; leaf vlanId { type string; description "VLAN id for Port Security"; } leaf vlanMaximum { type uint16 { range "0..1025"; } description "Per VLAN maximum number of secure mac addresses on interface"; } // DN: sys/portsecurity/if-[if]/vlan-[vlan-x]/mac-[macAddress] container mac-items { list SecureMacEntry-list { key "macAddress"; uses portsecurity_SecureMacEntry-group; description "Static secure MAC at interface list"; } description "Static secure MAC at interface"; } } grouping portsecurity_SecureMacEntry-group { description "Static secure MAC at interface"; leaf macAddress { type address_Mac; description "Static secure MAC address on interface"; } } grouping portsecurity_SecureMac-group { description "Static secure MAC at interface"; leaf macAddress { type address_Mac; description "Static secure MAC address on interface"; } } grouping pvlan_PrivateVlan-group { description "Private VLAN (PVLAN) configuration and management"; // Fex Trunk Enable leaf fexTrunk { type nw_AdminSt; default "disabled"; description "Enable or disable PVLANs for FEX trunk"; } // Abstraction for a layer-1 interface in the system. // The properties apply to all types of interfaces DN: sys/pvlan/svi-[[CEncapType]] container svi-items { list Svi-list { key "if"; uses pvlan_Svi-group; description "SVI configuration for propagating L3 capabilities to secondary VLANs list"; } description "SVI configuration for propagating L3 capabilities to secondary VLANs"; } // Abstraction for a layer-1 interface in the system. // The properties apply to all types of interfaces DN: sys/pvlan/if-[[CIfIdType]] container if-items { list If-list { key "if"; uses pvlan_If-group; description "PVLAN port configurations list"; } description "PVLAN port configurations"; } // Layer2 private-vlan domain DN: sys/pvlan/vlan-[[CEncapType]] container vlan-items { list Vlan-list { key "id"; uses pvlan_Vlan-group; description "VLAN configuration and operation for PVLAN list"; } description "VLAN configuration and operation for PVLAN"; } } grouping pvlan_Svi-group { description "SVI configuration for propagating L3 capabilities to secondary VLANs"; leaf if { type nw_IfId; description "Interface id of port with PVLAN"; } leaf secondaryVlans { type l2_VlanBitmap; description "Secondary VLANS of the PVLAN domain"; } } grouping pvlan_If-group { description "PVLAN port configurations"; // pvlan if id leaf if { type nw_IfId; description "Interface id of port with PVLAN"; } // access DN: sys/pvlan/if-[[CIfIdType]]/access container access-items { uses pvlan_Access-group; description "PVLAN access mode configurations on port"; } // trunk DN: sys/pvlan/if-[[CIfIdType]]/trunk container trunk-items { uses pvlan_Trunk-group; description "PVLAN Trunk configuration tables"; } } grouping pvlan_Access-group { description "PVLAN access mode configurations on port"; // access promiscuous port mapping DN: sys/pvlan/if-[[CIfIdType]]/access/promiscuous container promiscuous-items { uses pvlan_AccessPromiscuous-group; description "PVLAN promiscuous port configurations"; } // DN: sys/pvlan/if-[[CIfIdType]]/access/secondary can be isolated or community container secondary-items { uses pvlan_AccessSecondary-group; description "Host VLAN access port configurations for isolated or community"; } } grouping pvlan_AccessPromiscuous-group { description "PVLAN promiscuous port configurations"; leaf primaryVlan { type string; description "Primary VLAN of a PVLAN domain"; } leaf secondaryVlans { type l2_VlanBitmap; description "Secondary VLANS of the PVLAN domain"; } } grouping pvlan_AccessSecondary-group { description "Host VLAN access port configurations for isolated or community"; leaf primaryVlan { type string; description "Primary VLAN of a PVLAN domain"; } leaf secondaryVlan { type string; description "Secondary VLAN configured as host VLAN"; } } grouping pvlan_Trunk-group { description "PVLAN Trunk configuration tables"; leaf nativeVlan { type string; default "vlan-1"; description "Native VLAN on PVLAN trunk"; } leaf trunkAllowedVlans { type l2_VlanBitmap; description "Trunk Allowed VLANs on PVLAN trunk"; } // trunk promiscous port mapping DN: sys/pvlan/if-[[CIfIdType]]/trunk/promiscuous container promiscuous-items { uses pvlan_TrunkPromiscuousTable-group; description "PVLAN Promiscuous Trunk Table"; } // trunk secondary port mapping DN: sys/pvlan/if-[[CIfIdType]]/trunk/secondary container secondary-items { uses pvlan_TrunkSecondaryTable-group; description "PVLAN Isolated Trunk Table"; } } grouping pvlan_TrunkPromiscuousTable-group { description "PVLAN Promiscuous Trunk Table"; // trunk promiscous vlan mapping entries DN: sys/pvlan/if-[[CIfIdType]]/trunk/promiscuous/primary-[[CEncapType]] container primary-items { list TrunkPromiscuousEntry-list { key "primaryVlan"; uses pvlan_TrunkPromiscuousEntry-group; description "PVLAN Promiscuous Trunk Entry list"; } description "PVLAN Promiscuous Trunk Entry"; } } grouping pvlan_TrunkPromiscuousEntry-group { description "PVLAN Promiscuous Trunk Entry"; leaf primaryVlan { type string; description "Primary VLAN of a PVLAN domain"; } leaf secondaryVlans { type l2_VlanBitmap; description "Secondary VLANS of the PVLAN domain"; } } grouping pvlan_TrunkSecondaryTable-group { description "PVLAN Isolated Trunk Table"; // trunk secondary vlan mapping entries DN: sys/pvlan/if-[[CIfIdType]]/trunk/secondary/primary-[[CEncapType]] secondary can only be isolated container primary-items { list TrunkSecondaryEntry-list { key "primaryVlan"; uses pvlan_TrunkSecondaryEntry-group; description "PVLAN Isolated Trunk Entry list"; } description "PVLAN Isolated Trunk Entry"; } } grouping pvlan_TrunkSecondaryEntry-group { description "PVLAN Isolated Trunk Entry"; leaf primaryVlan { type string; description "Primary VLAN of a PVLAN domain"; } leaf secondaryVlan { type string; description "Isolated VLAN of the PVLAN domain"; } } grouping pvlan_Vlan-group { description "VLAN configuration and operation for PVLAN"; leaf id { type string; description "VLAN ID in a PVLAN"; } // Private Vlan Type (Primary, Community, Isolated) leaf pvlanType { type l2_PvlanTypes; description "Type of VLAN in a PVLAN: Primary, Community or Isolated"; } // Association of primary to secondary vlans leaf association { type l2_VlanBitmap; description "Association of Primay VLAN to Secondary VLANs in a PVLAN"; } } grouping vlanmgr_Entity-group { description "Vlan Manager Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name of the Entity of VlanMgr"; } // This objects hold per vlan-mgr instance information. There is only // one instance of vlan-mgr running in the system today container inst-items { uses vlanmgr_Inst-group; description "Vlan Manager Instance"; } } grouping vlanmgr_Inst-group { description "Vlan Manager Instance"; leaf longName { type boolean; default "false"; description "Enable or Disable long name of 128 characters for VLAN"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name of the Instance of VlanMgr"; } leaf vdcId { config "false"; type l2_VdcId; description "Virtual Device Context ID"; } // DomainMbrIf class container dommbr-items { list DomMbrIf-list { config "false"; key "ifIdx"; uses l2_DomMbrIf-group; description "Domain Member Interface list"; } description "Domain Member Interface"; } } grouping l2_DomMbrIf-group { description "Domain Member Interface"; // if-index (Secondary Key) leaf ifIdx { config "false"; type nw_IfId; description "Interface Index"; } // create-flag to track interface creation status leaf createFlag { config "false"; type l2_CreateState; description "Create Flag"; } // bundle_port_state to track port-channel's operational status leaf bundlePortSt { config "false"; type l1_OperSt; description "Bundle Port State"; } // phy-port-state to track port's physical state leaf phyPortState { config "false"; type l1_OperSt; description "Physical Port State"; } // pm-port-state to track port's protocol state leaf pmPortState { config "false"; type l1_OperSt; description "Protocol State"; } // port's access vlan leaf accessVlan { config "false"; type l2_DomId; description "Access VLAN"; } // port's native vlan leaf nativeVlan { config "false"; type l2_DomId; description "Native VLAN"; } // pm-port-mode to track port's mode (access, trunk etc) leaf pmPortMode { config "false"; type l1_Mode; description "Port Mode"; } // allowed-vlan-bitmap used to track vlans that are configured on the interface leaf allowedVlanBmp { config "false"; type l2_VlanBitmap; description "Allowed Vlan Bitmap"; } // up-vlan-bitmap used to track vlans that are up on the interface leaf trunkPortUpVlanBmp { config "false"; type l2_VlanBitmap; description "Trunk Port Up Vlan Bitmap"; } leaf name { config "false"; type naming_Name; description "Name"; } } grouping nvo_Eps-group { description "Container object for NVO endpoint."; leaf vxlanUDPPort { type uint16 { range "1024..65535"; } default "4789"; description "VxLAN UDP Port. Allowed value range is 1024-65535"; } leaf vxlanUDPSrcPortMode { type nvo_vxlanUDPSrcPortModeT; default "low"; description "VxLAN UDP Source Port Mode."; } leaf operResourceMcastBUM { config "false"; type uint32; description "Number of underlay multicast groups used for BUM traffic."; } leaf operResourceMcastDefaultMDT { config "false"; type uint32; description "Number of underlay multicast groups used for default MDTs."; } leaf operResourceMcastDataMDT { config "false"; type uint32; description "Number of underlay multicast groups used for data MDTs."; } leaf operResourceMcastTotalUsed { config "false"; type uint32; description "Total number of underlay multicast groups in use."; } leaf operResourceMcastLimit { config "false"; type uint32; description "Maximum number of underlay multicast groups allowed."; } leaf operResourceMcastDataMDTFailed { config "false"; type uint32; description "Number of current failed data MDT allocations due to resource exhaustion."; } container oper_peer-items { list OperPeer-list { config "false"; key "ip"; uses nvo_OperPeer-group; description "Object containing operational information of peers learnt through segment routing encapsulation list"; } description "Object containing operational information of peers learnt through segment routing encapsulation"; } container evpnmulticast-items { uses nvo_EvpnMulticast-group; description "Enabler for Advertise EVPN Multicast."; } container multisite-items { uses nvo_EvpnMultisiteBordergw-group; description "Configuration of EVPN Multisite Border Gateway."; } container stormcontrol-items { list EvpnStormControl-list { key "name"; uses nvo_EvpnStormControl-group; description "Evpn Storm-control information list"; } description "Evpn Storm-control information"; } container epId-items { list Ep-list { key "epId"; uses nvo_Ep-group; description "Endpoint for Network Virtualization Overlay Object. list"; } description "Endpoint for Network Virtualization Overlay Object."; } } grouping nvo_OperPeer-group { description "Object containing operational information of peers learnt through segment routing encapsulation"; leaf ip { config "false"; type address_Ip; description "Indicates IP address of learnt peer"; } leaf upTime { config "false"; type union { type string; type uint64; } description "Indicates NVE peer uptime in POSIX format"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Indicates the time at which the peer was first discovered in POSIX format"; } leaf operSt { config "false"; type nvo_PeerStateT; description "Indicates the operational state of the peer"; } container peer_adj-items { list PeerAdjacency-list { config "false"; key "eviId"; uses nvo_PeerAdjacency-group; description "Object containing operational information of peer adjacencies list"; } description "Object containing operational information of peer adjacencies"; } } grouping nvo_PeerAdjacency-group { description "Object containing operational information of peer adjacencies"; leaf eviId { config "false"; type uint32; description "Indicates the EVI adjacent to the peer."; } leaf egressLbl { config "false"; type uint32; description "Indicates the egress MPLS label for this adjacency"; } leaf ownership { config "false"; type nvo_OwnershipT; description "Indicates the ownership type of the peer adjacency"; } leaf operSt { config "false"; type nvo_PeerStateT; description "Indicates the operational state of the peer adjancency"; } } grouping nvo_EvpnMulticast-group { description "Enabler for Advertise EVPN Multicast."; leaf state { type nvo_EvpnMcastStT; description "Advertise EVPN Multicast State."; } } grouping nvo_EvpnMultisiteBordergw-group { description "Configuration of EVPN Multisite Border Gateway."; leaf state { type nvo_MultisiteStateT; description "Configures the state of EVPN Multisite Border-gateway."; } leaf siteId { type uint64; description "Configuration of EVPN Multisite Border Gateway."; } leaf dciAdvertisePip { type nvo_DciAdvertisePipStateT; description "Enables/disables advertise PIP towards DCI in EVPN Multisite Border-gateway setup."; } leaf splitHorizonPerSite { type nvo_SplitHorizonPerSiteStateT; description "Enables/disables the per-site split-horizon feature on an EVPN Multisite anycast border gateway."; } leaf delayRestoreTime { type uint16 { range "30..1000"; } default "180"; description "Delay-Restore Time."; } leaf dfElectionTime { type decimal64 { fraction-digits 6; range "1..3"; } default "3"; description "DF election time for anycast border gateways. Only one fractional digit supported"; } } grouping nvo_EvpnStormControl-group { description "Evpn Storm-control information"; leaf name { type nvo_EvpnSiteName; description "Broadcast or Multicast or Unicast Name"; } leaf floatlevel { type decimal64 { fraction-digits 6; range "0..100"; } description "Storm Suppression float Level"; } } grouping nvo_Ep-group { description "Endpoint for Network Virtualization Overlay Object."; leaf epId { type nvo_EpIdT; description "Network Virtualization Overlay Endpoint (NVE) ID"; } leaf adminSt { type nw_AdminSt; default "disabled"; description "Administrative Up or Down state of the NVE."; } leaf descr { type string; description "Description for the NVE"; } leaf sourceInterface { type nw_IfId; description "Source Interface associated with the NVE."; } leaf anycastIntf { type nw_IfId; description "Anycast Source Interface associated with the NVE."; } leaf multisiteBordergwInterface { type nw_IfId; description "Interface representing the Multisite Border Gateway."; } leaf holdDownTime { type uint16 { range "1..1500"; } default "180"; description "Hold Down Time."; } leaf fabricReadyTime { type uint16 { range "0..1200"; } default "0"; description "Time in seconds after which fabric convergence is signalled"; } leaf mcastRtSrcIntf { type nw_IfId; description "mcast-routing source interface"; } leaf hostReach { type nvo_HostReachT; default "Flood-and-learn"; description "Host Reachability Protocol."; } leaf suppressARP { type boolean; default "false"; description "Suppress ARP."; } leaf suppressND { type boolean; description "Suppress ND enabled for those VNIs that have suppress ARP already enabled on them."; } leaf suppressMacRoute { type boolean; default "false"; description "Suppress MAC Route."; } leaf mcastGroupL2 { type mcast_GrpIp; description "Base multicast group address for L2."; } leaf mcastGroupL3 { type mcast_GrpIp; description "Base multicast group address for L3."; } leaf ingressReplProtoBGP { type boolean; default "false"; description "VxLAN Ingress Replication Protocol BGP."; } leaf advertiseVmac { type boolean; default "false"; description "Enable or disable Virtual MAC Advertisement in VPC mode."; } leaf virtualMac { type address_Mac; description "Custom Virtual Router MAC address configuration for VPC VxLAN."; } leaf controllerId { type uint32; default "0"; description "Controller ID (applicable when host reachability proto is controller)."; } leaf cfgSrc { type nvo_CfgSrcT; default "unknown"; description "Enable or disable VxLAN configuration via controller."; } leaf encapType { type nvo_EncapT; default "unknown"; description "Encapsulation Type."; } leaf autoRemapReplicationServers { type boolean; default "false"; description "Configures auto remapping of VNIs for controller-based replication servers."; } leaf operState { config "false"; type l2_DomOperSt; description "Operational State of the NVE."; } leaf operStSrcLoopbackIntf { config "false"; type l2_DomOperSt; description "Operational State Up or Down of NVE Source Loopback Interface."; } leaf operStAnycastSrcIntf { config "false"; type l2_DomOperSt; description "Operational State Up or Down of NVE Anycast Source Loopback Interface."; } leaf operStMultisiteBrdrGwLoopbackIntf { config "false"; type l2_DomOperSt; description "Operational State Up or Down of Multisite Border Gateway Loopback Interface."; } leaf adminStMultisiteBrdrGwLoopackIntf { config "false"; type nw_AdminSt; description "Administrative State Up or Down of Multisite Border Gateway Loopback Interface."; } leaf operEncapType { config "false"; type nvo_EncapT; default "unknown"; description "Operational encapsulation type."; } leaf mac { config "false"; type address_Mac; description "Local Router MAC address"; } leaf virtualRtrMac { config "false"; type address_Mac; description "Virtual Router MAC address for VPC VxLAN."; } leaf virtualRtrMacReorig { config "false"; type address_Mac; description "Virtual Router Re-origination MAC address for Multisite VxLAN."; } leaf learningMode { config "false"; type nvo_HostLearnModeT; description "Indicates the host learning mode (Control plane or data plane)."; } leaf holdUpTime { config "false"; type uint16; description "The time for which the Source Interface will be held operationally Up in VPC mode during bring-down."; } leaf holdDownTimerExpiryTime { config "false"; type nvo_ETimeStamp; description "Indicates the time after which the hold down timer will expire (in milliseconds)."; } leaf holdUpTimerExpiryTime { config "false"; type nvo_ETimeStamp; description "Indicates the time after which the hold up timer will expire (in milliseconds)."; } leaf fabricReadyExpiryTime { config "false"; type nvo_ETimeStamp; description "Indicates the time after which the fabric timer will expire (in milliseconds)."; } leaf delayRestoreMsBrdrGwExpiryTime { config "false"; type nvo_ETimeStamp; description "Time when delay restore for Multisite Border Gateway Loopback Interface will expire."; } leaf vpcVIPNotified { config "false"; type boolean; description "Flag to indicate that Virtual IP configuration for the NVE source interface has been enabled in VPC mode."; } leaf primaryIp { config "false"; type address_Ipv4; description "Primary IP of NVE Source Loopback Interface."; } leaf secondaryIp { config "false"; type address_Ipv4; description "The Lowest Secondary IP of NVE Source Loopback Interface."; } leaf primaryIpv6 { config "false"; type address_Ipv6; description "Primary IPv6 of NVE Source Loopback Interface."; } leaf secondaryIpv6 { config "false"; type address_Ipv6; description "Secondary IPv6 of NVE Source Loopback Interface."; } leaf multisiteBrdrGwIntfIp { config "false"; type address_Ipv4; description "IPv4 address assigned to Multisite Border Gateway Interface Loopback."; } container redundancygrp-items { uses nvo_RedundancyGrp-group; description "Redundancy Group under NVE"; } container peers-items { uses nvo_Peers-group; description "Parent object for all peers."; } container nws-items { uses nvo_Nws-group; description "Container object for Virtual Network Entries (VNIs)."; } // Commented out // // // // // // // // Ephemeral data container cntrs-items { uses nvo_Counters-group; description "Counters for Nve Interface, VNI, peers."; } container rsoperSourceInterface-items { uses nvo_RsOperSourceInterface_source-group; description "Operational Up/Down status of the Source Interface."; } } grouping nvo_RedundancyGrp-group { description "Redundancy Group under NVE"; leaf state { type nvo_RedundancyGrpStT; description "Redundancy Group State"; } container group-items { list RedundancyGrpIp-list { key "ip"; uses nvo_RedundancyGrpIp-group; description "Redundancy Group IP under NVE interface list"; } description "Redundancy Group IP under NVE interface"; } } grouping nvo_RedundancyGrpIp-group { description "Redundancy Group IP under NVE interface"; leaf ip { type address_Ipv4; description "Redundancy Group IP"; } } grouping nvo_Peers-group { description "Parent object for all peers."; container st_ir_peer-items { list StIRPeer-list { config "false"; key "ip"; uses nvo_StIRPeer-group; description "Object containing operational properties for Static Ingress Replication Peer. list"; } description "Object containing operational properties for Static Ingress Replication Peer."; } container dyn_ir_peer-items { list DyIRPeer-list { config "false"; key "ip"; uses nvo_DyIRPeer-group; description "Object containing operational properties for a dynamically learnt BGP Ingress Replication Peer. list"; } description "Object containing operational properties for a dynamically learnt BGP Ingress Replication Peer."; } container dy_peer-items { list DyPeer-list { config "false"; key "ip"; uses nvo_DyPeer-group; description "Object containing operational properties for a dynamically learnt peer (BGP-RNH or dataplane). list"; } description "Object containing operational properties for a dynamically learnt peer (BGP-RNH or dataplane)."; } // Commented out // // // // // // // container st_peer-items { list StPeer-list { key "ip"; uses nvo_StPeer-group; description "Object containing operational properties for Controller-learnt Peer. list"; } description "Object containing operational properties for Controller-learnt Peer."; } } grouping nvo_StIRPeer-group { description "Object containing operational properties for Static Ingress Replication Peer."; leaf ip { config "false"; type address_Ip; description "Indicates Peer IP for Static IR Peer."; } leaf state { config "false"; type nvo_PeerStateT; description "Indicates the NVE Peer Up or Down state."; } leaf upStateTransitionTs { config "false"; type union { type string; type uint64; } description "Indicates NVE Peer uptime in seconds."; } leaf createTs { config "false"; type union { type string; type uint64; } description "Indicates the time at which the peer was first discovered."; } // Commented out // // // // // // // // Ephemeral data container cntrs-items { uses nvo_Counters-group; description "Counters for Nve Interface, VNI, peers."; } } grouping nvo_Counters-group { description "Counters for Nve Interface, VNI, peers."; // Ephemeral data leaf txUcastpkts { config "false"; type uint64; description "Indicates transmitted unicast packets."; } // Ephemeral data leaf txUcastbytes { config "false"; type uint64; description "Indicates transmitted unicast bytes."; } // Ephemeral data leaf txMcastpkts { config "false"; type uint64; description "Indicates transmitted multicast packets."; } // Ephemeral data leaf txMcastbytes { config "false"; type uint64; description "Indicates transmitted multicast bytes."; } // Ephemeral data leaf rxUcastpkts { config "false"; type uint64; description "Indicates received Unicast packets."; } // Ephemeral data leaf rxUcastbytes { config "false"; type uint64; description "Indicates received Unicast bytes."; } // Ephemeral data leaf rxMcastpkts { config "false"; type uint64; description "Indicates received Multicast packets."; } // Ephemeral data leaf rxMcastbytes { config "false"; type uint64; description "Indicates received Multicast Bytes."; } } grouping nvo_DyIRPeer-group { description "Object containing operational properties for a dynamically learnt BGP Ingress Replication Peer."; leaf ip { config "false"; type address_Ip; description "Indicates Peer IP for BGP IR Peer."; } leaf state { config "false"; type nvo_PeerStateT; description "Indicates the NVE Peer Up or Down state."; } leaf upStateTransitionTs { config "false"; type union { type string; type uint64; } description "Indicates NVE Peer uptime in seconds."; } leaf createTs { config "false"; type union { type string; type uint64; } description "Indicates the time at which the peer was first discovered."; } // Commented out // // // // // // // // Ephemeral data container cntrs-items { uses nvo_Counters-group; description "Counters for Nve Interface, VNI, peers."; } } grouping nvo_DyPeer-group { description "Object containing operational properties for a dynamically learnt peer (BGP-RNH or dataplane)."; leaf ip { config "false"; type address_Ip; description "Indicates Peer IP for BGP-RNH or dataplane learnt peer."; } leaf state { config "false"; type nvo_PeerStateT; description "Indicates the NVE Peer Up or Down state."; } leaf upStateTransitionTs { config "false"; type union { type string; type uint64; } description "Indicates NVE Peer uptime in seconds."; } leaf mac { config "false"; type address_Mac; description "Indicates Peer MAC address."; } leaf firstVNI { config "false"; type nvo_VniT; description "Indicates the first VNI on which the NVE peer was learnt."; } leaf createTs { config "false"; type union { type string; type uint64; } description "Indicates the time at which the peer was first discovered."; } // Commented out // // // // // // // // Ephemeral data container cntrs-items { uses nvo_Counters-group; description "Counters for Nve Interface, VNI, peers."; } } grouping nvo_StPeer-group { description "Object containing operational properties for Controller-learnt Peer."; leaf ip { type address_Ipv4; description "Indicates Peer IP for Controller-learnt Peer."; } leaf type { type tunnel_EpT; description "NVO Peer type (mcast/physical)."; } leaf peerId { type uint32; description "Internal use only. Please leave unspecified."; } leaf state { config "false"; type nvo_PeerStateT; description "Indicates the NVE Peer Up or Down state."; } leaf upStateTransitionTs { config "false"; type union { type string; type uint64; } description "Indicates NVE Peer uptime in seconds."; } leaf mac { config "false"; type address_Mac; description "Indicates Peer MAC address."; } leaf firstVNI { config "false"; type nvo_VniT; description "Indicates the first VNI on which the NVE peer was learnt."; } leaf createTs { config "false"; type union { type string; type uint64; } description "Indicates the time at which the peer was first discovered."; } // Commented out // // // // // // // // Ephemeral data container cntrs-items { uses nvo_Counters-group; description "Counters for Nve Interface, VNI, peers."; } } grouping nvo_Nws-group { description "Container object for Virtual Network Entries (VNIs)."; container vni-items { list Nw-list { key "vni"; uses nvo_Nw-group; description "Object containing configurable properties for a single Virtual Network ID (VNI). list"; } description "Object containing configurable properties for a single Virtual Network ID (VNI)."; } container opervni-items { list OperNw-list { config "false"; key "vni"; uses nvo_OperNw-group; description "Object containing operational properties for a single Virtual Network ID (VNI). list"; } description "Object containing operational properties for a single Virtual Network ID (VNI)."; } container vnis-items { list NwRange-list { key "vniRangeMin vniRangeMax"; uses nvo_NwRange-group; description "Object containing configurable properties for a range of Virtual Network IDs (VNIs). list"; } description "Object containing configurable properties for a range of Virtual Network IDs (VNIs)."; } } grouping nvo_Nw-group { description "Object containing configurable properties for a single Virtual Network ID (VNI)."; leaf vni { type nvo_VniT; description "Configure Virtual Network ID"; } leaf suppressARP { type nvo_SuppressARPT; description "Enable or disable ARP suppression for VNI(s)."; } leaf mcastGroup { type mcast_GrpIp; description "Configures multicast group address for VNI(s)."; } leaf associateVrfFlag { type boolean; description "Configures VNI(s) as L3 VNI."; } leaf isLegacyMode { type boolean; default "false"; description "Indicates whether Multicast group configuration for the VNI(s) is configured in legacy mode or not."; } leaf multisiteIngRepl { type nvo_MultisiteIngReplStateT; description "Enable or disable Multisite Ingress Replication for VNI(s)."; } leaf multisiteMcastGroup { type mcast_GrpIp; description "Configures multisite multicast group address for VNI(s)."; } leaf spineAnyCastGw { type boolean; description "Enable or disable spine anycast gateway for VNI(s)."; } // This property is hidden (secure="yes") and used only for internal validation. // Following are the expected values - // non-CLI/non-Controller DME agents (eg. NetConf/RestConf) - "0" // CLI - "cli" // Controller - "controller" leaf cfgSrc { type nvo_CfgSrcT; default "unknown"; description "Internal system property. Not intended for external use."; } container peervtep-items { list PeerVtep-list { key "ip"; uses nvo_PeerVtep-group; description "Peer-VTEP for VNI(s) list"; } description "Peer-VTEP for VNI(s)"; } container IngRepl-items { uses nvo_IngRepl-group; description "Object containing Ingress Replication configuration for VNI(s)."; } } grouping nvo_PeerVtep-group { description "Peer-VTEP for VNI(s)"; leaf ip { type address_Ip; description "Configures the IP address for Peer-VTEP."; } } grouping nvo_IngRepl-group { description "Object containing Ingress Replication configuration for VNI(s)."; leaf proto { type nvo_IngReplProtoT; description "Configure VxLAN Ingress Replication mode."; } // This property is required specifically for configuring replication // servers from the controller. When its value is replicationServer, it // signifies that the static peers downloaded from controller should // programmed wth vni hashing. This property directly maps to the // replicationMode property in BdEntry MO in the aggregate model. // And since this property is to be set only from the controller, it has // been defined as hidden. So it will not be visible in REST/Netconf or // any other external interface. leaf replMode { type nvo_ReplModeT; description "Replication Mode. For internal use only."; } container config_st_ir_peer-items { list ConfigStIRPeer-list { key "ip"; uses nvo_ConfigStIRPeer-group; description "Configuration for Static Ingress Replication (IR) Peer. list"; } description "Configuration for Static Ingress Replication (IR) Peer."; } } grouping nvo_ConfigStIRPeer-group { description "Configuration for Static Ingress Replication (IR) Peer."; leaf ip { type address_Ipv4; description "Peer IP configuration for Static IR Peer."; } } grouping nvo_OperNw-group { description "Object containing operational properties for a single Virtual Network ID (VNI)."; // Operational properties leaf vni { config "false"; type nvo_VniT; description "Virtual Network ID."; } leaf epId { config "false"; type nvo_EpIdT; description "Network Virtualization Overlay endpoint (NVE) ID."; } leaf operMcastGroup { config "false"; type mcast_GrpIp; description "Indicates the multicast group address."; } leaf operSupprARP { config "false"; type boolean; description "Indicates state of ARP suppression for VNI(s)."; } leaf state { config "false"; type nvo_VniStateT; description "Indicates VNI Up or Down state."; } leaf mode { config "false"; type nvo_HostLearnModeT; description "Indicates VNI Host reachability mode."; } leaf type { config "false"; type nvo_VniTypeT; description "Indicates if VNI is in L2 or L3 type."; } leaf vrfName { config "false"; type string; description "For L3VNIs, displays the name of the VRF associated with the VNI."; } leaf vlanBD { config "false"; type string; description "Indicates the VLAN associated to VNI."; } leaf hybridIrb { config "false"; type boolean; description "Indicates state of Hybrid IRB mode for VNI(s)."; } leaf assocL3Vni { config "false"; type uint32; description "Indicates if VNI is associated to L3VNI."; } leaf operSupprND { config "false"; type boolean; description "Indicates state of ND suppression for VNI(s)."; } // Commented out // // // // // // // // Ephemeral data container cntrs-items { uses nvo_Counters-group; description "Counters for Nve Interface, VNI, peers."; } } grouping nvo_NwRange-group { description "Object containing configurable properties for a range of Virtual Network IDs (VNIs)."; leaf vniRangeMin { type nvo_VniT; description "Configures the minimum value for the VNI range."; } leaf vniRangeMax { type nvo_VniT; description "Configures the maximum value for the VNI range."; } leaf isMcastRange { type boolean; description "Indicates if the multicast group configuration is a range."; } leaf suppressARP { type nvo_SuppressARPT; description "Enable or disable ARP suppression for VNI(s)."; } leaf mcastGroup { type mcast_GrpIp; description "Configures multicast group address for VNI(s)."; } leaf associateVrfFlag { type boolean; description "Configures VNI(s) as L3 VNI."; } leaf isLegacyMode { type boolean; default "false"; description "Indicates whether Multicast group configuration for the VNI(s) is configured in legacy mode or not."; } leaf multisiteIngRepl { type nvo_MultisiteIngReplStateT; description "Enable or disable Multisite Ingress Replication for VNI(s)."; } leaf multisiteMcastGroup { type mcast_GrpIp; description "Configures multisite multicast group address for VNI(s)."; } leaf spineAnyCastGw { type boolean; description "Enable or disable spine anycast gateway for VNI(s)."; } // This property is hidden (secure="yes") and used only for internal validation. // Following are the expected values - // non-CLI/non-Controller DME agents (eg. NetConf/RestConf) - "0" // CLI - "cli" // Controller - "controller" leaf cfgSrc { type nvo_CfgSrcT; default "unknown"; description "Internal system property. Not intended for external use."; } container peervtep-items { list PeerVtep-list { key "ip"; uses nvo_PeerVtep-group; description "Peer-VTEP for VNI(s) list"; } description "Peer-VTEP for VNI(s)"; } container IngRepl-items { uses nvo_IngRepl-group; description "Object containing Ingress Replication configuration for VNI(s)."; } } grouping l3_Ctx-group { description "Context"; // parameter used by node to enforce filter rules leaf pcEnfPref { type fv_PcEnfPref; description "Policy Control Enforcement"; } // Type of the context leaf type { type l3_CtxT; description "Type"; } // It represents the classId for the multicast traffic // terminating on this context leaf pcTag { type actrl_PcTag; description "PC Tag"; } // Local managment class id leaf mgmtPcTag { type actrl_PcTag; description "Management PC Tag"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Vrf Id. Its a Policyelemnt owned ID used for resource tracking purpose leaf resourceId { config "false"; type l3_VrfId; description "VRF ID"; } // vrf id leaf id { config "false"; type l3_VrfId; description "VRF ID"; } leaf encap { type string; description "Encapsulation"; } leaf descr { type string; description "Description"; } // Scope of the context. It identifies the classId // pool and all the epg/bd classIds belonging to // this context needs to be allocated from this pool leaf scope { config "false"; type actrl_ScopeId; description "Scope"; } // Controller Id leaf ctrlrId { type aggregate_ControllerID; description "Controller ID"; } // SecurityLabel leaf secLbl { config "false"; type actrl_SecLbl; description "Security Label"; } // vrf Admin State leaf adminState { type l3_VrfAdminState; description "Admin State"; } // vrf Oper State leaf operState { config "false"; type l3_VrfOperState; description "Operational State"; } // oper state reason leaf operStQual { config "false"; type l3_VrfOperStateQual; description "Operational State Qualifier"; } // old oper state reason leaf oldOperStQual { config "false"; type l3_VrfOperStateQual; description "Old Operational State Qualifier"; } leaf gsdbCtx { config "false"; type uint32; description "GSDB Context"; } leaf pending { config "false"; type boolean; description "Pending"; } leaf v4TibValid { config "false"; type boolean; description "IPV4 Table Validity"; } leaf v4TibId { config "false"; type uint32; description "IPV4 Table ID"; } leaf v4TibName { config "false"; type string; description "IPV4 Table Name"; } leaf v4TibPending { config "false"; type boolean; description "IPV4 Table Pending"; } // ipv4 table Oper State leaf v4TibOperState { config "false"; type l3_VrfOperState; description "IPV4 Table Operational State"; } // ipv4 table oper state reason leaf v4TibOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV4 Table Operational State Qualifier"; } // ipv4 table old oper state reason leaf v4TibOldOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV4 Old Operational State Qualifier"; } leaf v6TibValid { config "false"; type boolean; description "IPV6 Table Validity"; } leaf v6TibId { config "false"; type uint32; description "IPV6 Table ID"; } leaf v6TibName { config "false"; type string; description "IPV6 Table Name"; } leaf v6TibPending { config "false"; type boolean; description "IPV6 Table Pending"; } // ipv6 table Oper State leaf v6TibOperState { config "false"; type l3_VrfOperState; description "IPV6 Table Operational State"; } // ipv6 table oper state reason leaf v6TibOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV6 Table Operational State Qualifer"; } // ipv6 table old oper state reason leaf v6TibOldOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV6 Table Operational State Qualifer"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Creation Timestamp"; } leaf lastChgdTs { config "false"; type union { type string; type uint64; } description "Last State Change Timestamp"; } // bgp route distinguisher leaf bgpRd { config "false"; type l3_BgpRdBytes; description "BGP Route Distinguisher"; } leaf bgpRdDisp { config "false"; type string; description "BGP Route Distinguisher for Display"; } leaf prtclBmp { config "false"; type uint32; description "Protocol Bitmap"; } leaf oui { type string; description "OUI"; } leaf vpnId { type string; description "Configure VPN ID"; } leaf l3vni { type boolean; default "false"; description "L3 VNI Interface Enable"; } // Prefix list entry definition container pfx-items { list PfxEntry-list { config "false"; key "addr"; uses actrl_PfxEntry-group; description "Prefix Entry list"; } description "Prefix Entry"; } // Abstraction of epm database container db-items { list Db-list { config "false"; key "type"; uses epm_Db-group; description "Database list"; } description "Database"; } // Routed management interface container mgmt-items { list RtdMgmtIf-list { key "id"; uses mgmt_RtdMgmtIf-group; description "Routed Management Interface list"; } description "Routed Management Interface"; } container rtdbgexpUserCtx-items { list RtDbgexpUserCtx-list { config "false"; key "tDn"; uses dbgexp_RtDbgexpUserCtx_target-group; description "Relation to L3 Context Export Policy list"; } description "Relation to L3 Context Export Policy"; } container rtfvEPgDefToL3Dom-items { list RtFvEPgDefToL3Dom-list { config "false"; key "tDn"; uses fv_RtFvEPgDefToL3Dom_target-group; description "EPgDef to L3 Domain Attachment list"; } description "EPgDef to L3 Domain Attachment"; } container rsctxToEpP-items { list RsCtxToEpP-list { key "tDn"; uses l3_RsCtxToEpP_source-group; description "Epp Attachment list"; } description "Epp Attachment"; } } grouping actrl_PfxEntry-group { description "Prefix Entry"; leaf addr { config "false"; type address_Ip; description "Address"; } // Policy tag leaf pcTag { config "false"; type actrl_PcTag; description "PC Tag"; } // Prefix operational state leaf operSt { config "false"; type actrl_OperSt; description "Operational State"; } leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping mgmt_RtdMgmtIf-group { description "Routed Management Interface"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type l1_AdminSt; description "Admin State"; } container rtpseudoIf-items { uses dhcp_RtPseudoIf_target-group; description "Pseudo Interface"; } container rsrtdMgmtConf-items { uses mgmt_RsRtdMgmtConf_source-group; } container rsl3If-items { list RsL3If-list { key "tDn"; uses l3_RsL3If_source-group; description "L3 Interface Attachment list"; } description "L3 Interface Attachment"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping l3_Inst-group { description "Overlay Instance"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Vrf Id. Its a Policyelemnt owned ID used for resource tracking purpose leaf resourceId { config "false"; type l3_VrfId; description "VRF ID"; } // vrf id leaf id { config "false"; type l3_VrfId; description "VRF ID"; } leaf encap { type string; description "Encapsulation"; } leaf descr { type string; description "Description"; } // Scope of the context. It identifies the classId // pool and all the epg/bd classIds belonging to // this context needs to be allocated from this pool leaf scope { config "false"; type actrl_ScopeId; description "Scope"; } // Controller Id leaf ctrlrId { type aggregate_ControllerID; description "Controller ID"; } // SecurityLabel leaf secLbl { config "false"; type actrl_SecLbl; description "Security Label"; } // vrf Admin State leaf adminState { type l3_VrfAdminState; description "Admin State"; } // vrf Oper State leaf operState { config "false"; type l3_VrfOperState; description "Operational State"; } // oper state reason leaf operStQual { config "false"; type l3_VrfOperStateQual; description "Operational State Qualifier"; } // old oper state reason leaf oldOperStQual { config "false"; type l3_VrfOperStateQual; description "Old Operational State Qualifier"; } leaf gsdbCtx { config "false"; type uint32; description "GSDB Context"; } leaf pending { config "false"; type boolean; description "Pending"; } leaf v4TibValid { config "false"; type boolean; description "IPV4 Table Validity"; } leaf v4TibId { config "false"; type uint32; description "IPV4 Table ID"; } leaf v4TibName { config "false"; type string; description "IPV4 Table Name"; } leaf v4TibPending { config "false"; type boolean; description "IPV4 Table Pending"; } // ipv4 table Oper State leaf v4TibOperState { config "false"; type l3_VrfOperState; description "IPV4 Table Operational State"; } // ipv4 table oper state reason leaf v4TibOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV4 Table Operational State Qualifier"; } // ipv4 table old oper state reason leaf v4TibOldOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV4 Old Operational State Qualifier"; } leaf v6TibValid { config "false"; type boolean; description "IPV6 Table Validity"; } leaf v6TibId { config "false"; type uint32; description "IPV6 Table ID"; } leaf v6TibName { config "false"; type string; description "IPV6 Table Name"; } leaf v6TibPending { config "false"; type boolean; description "IPV6 Table Pending"; } // ipv6 table Oper State leaf v6TibOperState { config "false"; type l3_VrfOperState; description "IPV6 Table Operational State"; } // ipv6 table oper state reason leaf v6TibOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV6 Table Operational State Qualifer"; } // ipv6 table old oper state reason leaf v6TibOldOperStQual { config "false"; type l3_VrfOperStateQual; description "IPV6 Table Operational State Qualifer"; } leaf createTs { config "false"; type union { type string; type uint64; } description "Creation Timestamp"; } leaf lastChgdTs { config "false"; type union { type string; type uint64; } description "Last State Change Timestamp"; } // bgp route distinguisher leaf bgpRd { config "false"; type l3_BgpRdBytes; description "BGP Route Distinguisher"; } leaf bgpRdDisp { config "false"; type string; description "BGP Route Distinguisher for Display"; } leaf prtclBmp { config "false"; type uint32; description "Protocol Bitmap"; } leaf oui { type string; description "OUI"; } leaf vpnId { type string; description "Configure VPN ID"; } leaf l3vni { type boolean; default "false"; description "L3 VNI Interface Enable"; } // Ftag tree, fabric multicast tree to direct the tenant flood // and multicast traffic over the fabric container tree-items { list Tree-list { config "false"; key "id"; uses fmcast_Tree-group; description "Multicast Tree list"; } description "Multicast Tree"; } // Layer3 Domain (aka vrf) container for routing protocols container dom-items { list Dom-list { key "name"; uses rtctrl_Dom-group; description "Domain list"; } description "Domain"; } // Abstraction of epm database container db-items { list Db-list { config "false"; key "type"; uses epm_Db-group; description "Database list"; } description "Database"; } // Shard chaining policy container shchp-items { list ShardChP-list { config "false"; key "af"; uses topoctrl_ShardChP-group; description "Shard Chain Policy list"; } description "Shard Chain Policy"; } // Routed management interface container mgmt-items { list RtdMgmtIf-list { key "id"; uses mgmt_RtdMgmtIf-group; description "Routed Management Interface list"; } description "Routed Management Interface"; } container rtfvEPgDefToL3Dom-items { list RtFvEPgDefToL3Dom-list { config "false"; key "tDn"; uses fv_RtFvEPgDefToL3Dom_target-group; description "EPgDef to L3 Domain Attachment list"; } description "EPgDef to L3 Domain Attachment"; } container rsvrfMbr-items { list RsVrfMbr-list { key "tDn"; uses l3_RsVrfMbr_source-group; description "VRF Membership Association list"; } description "VRF Membership Association"; } container rsvrfPolicyAtt-items { uses l3_RsVrfPolicyAtt_source-group; description "Vrf Reference to Analytics policy."; } container rsvrfMonitorAtt-items { uses l3_RsVrfMonitorAtt_source-group; description "Vrf Reference to Analytics monitor."; } } grouping fmcast_Tree-group { description "Multicast Tree"; // Id leaf id { config "false"; type fmcast_Id; description "Tree Id"; } // Multicast root for this tree, identified by the node // ip address leaf root { config "false"; type mcast_Root; description "Root"; } // Administrative state leaf adminSt { config "false"; type nw_AdminSt; description "Adminitrative State"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping rtctrl_Dom-group { description "Domain"; leaf rd { type mtx_array_community; description "Route Distinguisher"; } leaf operRd { config "false"; type mtx_array_community; description "Operational Route Distinguisher"; } leaf encap { type string; description "Encapsulation of MPLS"; } leaf operSecondaryRd { config "false"; type mtx_array_community; description "Operational Secondary RD for vxlan multisite border gateway"; } leaf name { type naming_Name256 { length "1..128"; pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}"; } description "Name"; } // This object holds per address family bgp vrf information container af-items { list DomAf-list { key "type"; uses rtctrl_DomAf-group; description "Address Family Domain list"; } description "Address Family Domain"; } } grouping rtctrl_DomAf-group { description "Address Family Domain"; // Type leaf type { type bgp_AfT; description "Type"; } // This object holds policy to control vpn af // information for a given vrf container ctrl-items { list AfCtrl-list { key "type"; uses rtctrl_AfCtrl-group; description "Virtual Private Network Control Policy list"; } description "Virtual Private Network Control Policy"; } container vxlandatagrps-items { uses nvo_VxlanDataGrps-group; description "Container object for VxLAN MDT data groups"; } container maxrts-items { uses l3_MaxRoutes-group; description "Maximum Routes Policy"; } } grouping rtctrl_AfCtrl-group { description "Virtual Private Network Control Policy"; // Type leaf type { type bgp_AfT; description "Type"; } // Route policy holds all route policy entries and route controls container rttp-items { list RttP-list { key "type"; uses rtctrl_RttP-group; description "Route Policy list"; } description "Route Policy"; } } grouping nvo_VxlanDataGrps-group { description "Container object for VxLAN MDT data groups"; container group-items { list DataGrp-list { key "grpAddr"; uses nvo_DataGrp-group; description "VxLAN MDT data group information list"; } description "VxLAN MDT data group information"; } } grouping nvo_DataGrp-group { description "VxLAN MDT data group information"; leaf grpAddr { type mcast_GrpIp; description "Multicast group range prefix"; } leaf rtMap { type nvo_RtMapType; description "Route-map name to control the distribution"; } leaf threshold { type nvo_MdtThresholdT; description "Threshold value to activate the distribution"; } leaf seqNo { type nvo_MdtSeqNoT; description "Sequence Number Identifier for a route-map"; } } grouping l3_MaxRoutes-group { description "Maximum Routes Policy"; // Maximum number of routes allowed leaf maxRt { type l3_MaxLmt; description "Maximum number of routes allowed"; } // Threshold at which warning is issued when number of // routes crosses the threshold leaf thresh { type l3_MaxRtThresh; description "Threshold percentage at which to generate a warning"; } leaf reinstall { type l3_MaxRtThresh; description "Reinstall previous rejected route due to over maximum route limit"; } leaf action { type l3_MaxRtAct; description "Action to do when warning message limit is exceeded"; } } grouping topoctrl_ShardChP-group { description "Shard Chain Policy"; // Address family for chaining leaf af { config "false"; type nw_AddrF; description "Address Family"; } // Redundancy node, determines the node to go to in case of // a local node failure leaf node { config "false"; type topoctrl_ShardChNode; description "Node"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping ipfib_Entity-group { description "Ipfib Entity Information"; // Holds SR MPLS label table information container srmplsentitylabeltable-items { uses ipfib_SrMplsEntityLabelTable-group; description "Table that holds dst tep index to SR MPLS labels mapping entries"; } // Holds per domain (vrf) information // Ephemeral data container dom-items { // Ephemeral data list Dom-list { config "false"; key "name"; uses ipfib_Dom-group; description "Domain: Virtual Router Context (VRF) list"; } description "Domain: Virtual Router Context (VRF)"; } } grouping ipfib_SrMplsEntityLabelTable-group { description "Table that holds dst tep index to SR MPLS labels mapping entries"; container dsttep-items { list SrMplsEntity-list { config "false"; key "dsttep lcnum"; uses ipfib_SrMplsEntity-group; description "SR MPLS entity containing dst-tep to labels mapping list"; } description "SR MPLS entity containing dst-tep to labels mapping"; } } grouping ipfib_SrMplsEntity-group { description "SR MPLS entity containing dst-tep to labels mapping"; leaf dsttep { config "false"; type uint32; description "Dest tep or DTEP or RwEncap ptr"; } leaf lcnum { config "false"; type uint8; description "LC or slot number esp necessary for EOR"; } leaf labels { config "false"; type string; description "Comma separated SR MPLS labels"; } leaf isValid { config "false"; type boolean; description "Valid bit present in rw encap table"; } leaf labelop { config "false"; type ipfib_OutOperEnum; description "Operation push,pop,swap etc."; } leaf labelCount { config "false"; type uint8; description "Number of SR MPLS labels in label stack"; } } grouping ipfib_Dom-group { description "Domain: Virtual Router Context (VRF)"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data container label-items { // Ephemeral data list Label-list { config "false"; key "label"; uses ipfib_Label-group; description "The push/swap label for the given FEC list"; } description "The push/swap label for the given FEC"; } // Holds route information for a particular destination address // Ephemeral data container pfx-items { // Ephemeral data list Route-list { config "false"; key "pfxAddr"; uses ipfib_Route-group; description "Prefix Info list"; } description "Prefix Info"; } } grouping ipfib_Label-group { description "The push/swap label for the given FEC"; // Ephemeral data leaf label { config "false"; type uint32; description "Segment Routing Label value"; } leaf tableId { config "false"; type uint32; description "Prefix/Table ID. Usually the VRF Id"; } leaf fectype { config "false"; type ipfib_FecType; description "The type of Forwarding Equivalence Class"; } leaf fec { config "false"; type string; description "Typicaly the Destination IP address"; } // Ephemeral data container nh-items { // Ephemeral data list MplsNextHopInfo-list { config "false"; key "nhAddr"; uses ipfib_MplsNextHopInfo-group; description "NextHop adjacency information for label entries list"; } description "NextHop adjacency information for label entries"; } } grouping ipfib_MplsNextHopInfo-group { description "NextHop adjacency information for label entries"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Ephemeral data leaf nhAddr { config "false"; type address_Ip; description "NextHop IP address. It could be a connected or a remote Next Hop"; } // Outgoing interface // Ephemeral data leaf nhIntf { config "false"; type nw_IfId; description "NextHop Interface ID. The port on the switch where the next hop ip address is learnt"; } // drop, receive, attached // Ephemeral data leaf routeType { config "false"; type ipfib_SpecialAdj; description "Special route type. Marks if its a drop/direct/supervisor route"; } // Ephemeral data leaf partialInst { config "false"; type string; description "Identifies if the route is partially installed"; } // Ephemeral data leaf outLabel { config "false"; type string; description "Outgoing label Stack for MPLS next hops"; } // MPLS label operation // Ephemeral data leaf outOperation { config "false"; type ipfib_OutOperEnum; description "Operation performed on outgoing packets for MPLS next hops. Push/Swap/Pop"; } } grouping ipfib_Route-group { description "Prefix Info"; // Ephemeral data leaf pfxAddr { config "false"; type address_Ip; description "Prefix address. IPv4 or IPv6"; } leaf addrType { config "false"; type ipfib_AddressType; description "Address Family. Ipv4 or Ipv6"; } leaf partialInst { config "false"; type boolean; description "Identifies if the prefix is partially installed."; } // Ephemeral data container nh-items { // Ephemeral data list RouteNextHopInfo-list { config "false"; key "nhAddr"; uses ipfib_RouteNextHopInfo-group; description "NextHop adjacency information list"; } description "NextHop adjacency information"; } } grouping ipfib_RouteNextHopInfo-group { description "NextHop adjacency information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Ephemeral data leaf nhAddr { config "false"; type address_Ip; description "NextHop IP address. It could be a connected or a remote Next Hop"; } // Outgoing interface // Ephemeral data leaf nhIntf { config "false"; type nw_IfId; description "NextHop Interface ID. The port on the switch where the next hop ip address is learnt"; } // drop, receive, attached // Ephemeral data leaf routeType { config "false"; type ipfib_SpecialAdj; description "Special route type. Marks if its a drop/direct/supervisor route"; } // Ephemeral data leaf partialInst { config "false"; type string; description "Identifies if the route is partially installed"; } // Ephemeral data leaf outLabel { config "false"; type string; description "Outgoing label Stack for MPLS next hops"; } // MPLS label operation // Ephemeral data leaf outOperation { config "false"; type ipfib_OutOperEnum; description "Operation performed on outgoing packets for MPLS next hops. Push/Swap/Pop"; } } grouping l3vm_Entity-group { description "L3VM Entity"; // as-format type leaf asFormat { type l3vm_AsFormatType; description "Specifies the Autonomous system number (ASN) notation to asdot format"; } leaf vrfmemberchangeretainl3cfg { type boolean; default "true"; description "vrf member change retain l3 config"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Interface Object for L3VM container if-items { list L3vmIf-list { key "id"; uses l3vm_L3vmIf-group; description "L3VM related information for the interface list"; } description "L3VM related information for the interface"; } // This objects hold per l3vm instance information. There is only // one instance of l3vm running in the system today container inst-items { uses l3vm_Inst-group; description "L3VM Instance"; } } grouping l3vm_L3vmIf-group { description "L3VM related information for the interface"; leaf soo { type mtx_array_community; description "Site Of Origin information for the interface"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping l3vm_Inst-group { description "L3VM Instance"; leaf vrfAllocId { config "false"; type uint32; description "Allocated VRF ID"; } leaf tblAllocId { config "false"; type uint32; description "Allocated Table ID"; } leaf featureSet { config "false"; type uint32; description "Feature Set Bitmap"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { config "false"; type nw_InstCtrl; description "Controls"; } // DomainMbrIf class container dommbr-items { list DomMbrIf-list { config "false"; key "id"; uses l3_DomMbrIf-group; description "Domain Member Interface list"; } description "Domain Member Interface"; } // This objects hold runtime information on l3vm tables container tbl-items { list Tbl-list { config "false"; key "id"; uses l3vm_Tbl-group; description "Table Entity list"; } description "Table Entity"; } } grouping l3_DomMbrIf-group { description "Domain Member Interface"; // ifindex leaf id { config "false"; type nw_IfId; description "Interface ID"; } leaf iod { config "false"; type uint32; description "IOD"; } // vrfId leaf vrfId { config "false"; type l3_VrfId; description "VRF ID"; } // old vrfId leaf oldVrfId { config "false"; type l3_VrfId; description "Old VRF ID"; } // vrf name leaf vrfName { config "false"; type l3_VrfName; description "VRF Name"; } // old vrf name leaf oldVrfName { config "false"; type l3_VrfName; description "Old VRF Name"; } leaf gsdbCtx { config "false"; type uint32; description "GSDB Context"; } // gsdb context type leaf gsdbCtxType { config "false"; type l3_VrfGsdbCtxType; description "GSDB Context Type"; } leaf name { config "false"; type naming_Name; description "Name"; } } grouping l3vm_Tbl-group { description "Table Entity"; leaf id { config "false"; type uint32; description "Table ID"; } leaf gsdbCtx { config "false"; type uint32; description "GSDB Context"; } leaf rtLmtMax { config "false"; type uint32; description "Maximum Number of Routes Supported"; } leaf rtLmtWarn { config "false"; type uint32; description "Route Warning Limit"; } leaf rtLmtWarnOnly { config "false"; type boolean; description "Route Limit Warning Only"; } leaf rtLmtWarnPct { config "false"; type uint8; description "Route Limit Warning Threshold (percentage)"; } leaf rtLmtReinstPct { config "false"; type uint8; description "Route Limit Reinstall Threshold (percentage)"; } } grouping urib_Entity4-group { description "Urib ipv4 root element"; // Specific to v4 container table4-items { list Table4-list { config "false"; key "vrfName"; uses urib_Table4-group; description "IPv4 urib table. list"; } description "IPv4 urib table."; } } grouping urib_Table4-group { description "IPv4 urib table."; leaf vrfName { config "false"; type l3_VrfName; description "VRF name"; } leaf routeCount { config "false"; type urib_Counter32; description "Total number of route in this table"; } // Specific to v4 // Ephemeral data container recursivenexthop4-items { // Ephemeral data list RecursiveNextHop4-list { config "false"; key "prefix"; uses urib_RecursiveNextHop4-group; description "ipv4 recursive next-hop list"; } description "ipv4 recursive next-hop"; } // Specific to v4 // Ephemeral data container route4-items { // Ephemeral data list Route4-list { config "false"; key "prefix"; uses urib_Route4-group; description "ipv4 route list"; } description "ipv4 route"; } // Specific to v4 cached summary // Ephemeral data container summary-items { uses urib_SummaryTable4-group; description "IPv4 urib table cached summary."; } // ==================================== IPv4 urib table non cached summary ======================================= Specific to v4 non cached summary (including per protocol path counts) // Ephemeral data container summarydb-items { uses urib_SummaryTable4DB-group; description "IPv4 urib table non cached summary."; } // Specific to v4 route summary container sum-items { uses urib_SumTable4-group; description "IPv4 urib table cached summary."; } } grouping urib_RecursiveNextHop4-group { description "ipv4 recursive next-hop"; // Ephemeral data leaf prefix { config "false"; type address_Ip; description "RNH address with mask"; } // Ephemeral data leaf uptime { config "false"; type urib_TimeStr; description "Elapsed time since this RNH has been added/modified."; } // Ephemeral data leaf multipath { config "false"; type boolean; description "Used for eibgp mixed-path purpose"; } // Ephemeral data leaf eLB { config "false"; type boolean; description "This RNH is resolved to an eLB route"; } // Ephemeral data leaf owner { config "false"; type string; description "The owners of this RNH"; } // Ephemeral data leaf restricted { config "false"; type boolean; description "In restricted mode, i.e. cannot be resolved with the default route 0/0"; } // Ephemeral data leaf staleOwner { config "false"; type string; description "The stale owners of this RNH"; } // Ephemeral data leaf upathEpoch { config "false"; type uint32; description "Epoch of the unicast path"; } // Ephemeral data leaf refCount { config "false"; type uint32; description "The reference count of this RNH"; } // Ephemeral data leaf pendingUfdm { config "false"; type boolean; description "Waiting to be send to UFDM."; } // Ephemeral data leaf pendingCC { config "false"; type boolean; description "Waiting to be send to UFDM for inconsistency check"; } // Ephemeral data leaf upathResolvedClients { config "false"; type string; description "The routing protocols want to resolve this RNH with unicast paths"; } // Ephemeral data leaf mpathEpoch { config "false"; type uint32; description "Epoch of the path used for multicast purpose"; } // Ephemeral data leaf mpathResolvedClients { config "false"; type string; description "The routing protocols want to resolve this RNH with the paths for multicast purpose"; } // Specific to v4 // Ephemeral data container rnhpath4-items { // Ephemeral data list RecursiveNextHopPath4-list { config "false"; key "id"; uses urib_RecursiveNextHopPath4-group; description "IPv4 recursive next-hop resolved path. list"; } description "IPv4 recursive next-hop resolved path."; } } grouping urib_RecursiveNextHopPath4-group { description "IPv4 recursive next-hop resolved path."; // Ephemeral data leaf id { config "false"; type uint32; description "Unique id among all paths of the recursive next-hop. Only used internally."; } // Ephemeral data leaf pathType { config "false"; type string; description "Path used for unicast or multicast purpose"; } // Ephemeral data leaf address { config "false"; type address_Ip; description "Resolved RNH path address."; } // Ephemeral data leaf vrf { config "false"; type l3_VrfName; description "VRF name of the resolved RNH path."; } // Ephemeral data leaf interfaceName { config "false"; type string; description "Interface name of the resolved RNH path."; } // Ephemeral data leaf bindinglabel { config "false"; type uint32; description "SRTE binding label of the resolved RNH path."; } // Ephemeral data leaf segmentId { config "false"; type uint32; description "Client provided segment ID. 0 means not set."; } // Ephemeral data leaf tunnelId { config "false"; type uint32; description "Client provided tunnel ID. 0 means not set."; } // Ephemeral data leaf vtepIpAddress { config "false"; type address_Ip; description "VxLAN VTEP IP address."; } // Ephemeral data leaf vtepUnderlayVrfId { config "false"; type uint32; description "VxLAN VTEP underlay VRF ID."; } // Ephemeral data leaf labelStack { config "false"; type string; description "MPLS label stack of the resolved RNH path.."; } // Ephemeral data leaf labelType { config "false"; type string; description "Label stack type of the resolved RNH path.."; } } grouping urib_Route4-group { description "ipv4 route"; // Ephemeral data leaf prefix { config "false"; type address_Ip; description "Route address with mask"; } // Ephemeral data leaf uBestNextHopCount { config "false"; type uint32; description "Number of unicast best next hop"; } // Ephemeral data leaf mBestNextHopCount { config "false"; type uint32; description "Number of multicast best next hop"; } // Ephemeral data leaf flags { config "false"; type uint32; description "Route flags."; } // Ephemeral data leaf sortKey { config "false"; type uint32; description "Eibgp mixed-path sort key."; } // Ephemeral data leaf pendingUfdm { config "false"; type boolean; description "Waiting to be send to UFDM."; } // Ephemeral data leaf pendingHw { config "false"; type boolean; description "UFDM sent, waiting for ack from HW."; } // Specific to v4 // Ephemeral data container nh4-items { // Ephemeral data list NextHop4-list { config "false"; key "id"; uses urib_NextHop4-group; description "IPV4 next hop. list"; } description "IPV4 next hop."; } } grouping urib_NextHop4-group { description "IPV4 next hop."; // Ephemeral data leaf id { config "false"; type uint32; description "Unique id among all nh of the route. Only used internally."; } // Ephemeral data leaf address { config "false"; type address_Ip; description "Next-hop address."; } // Ephemeral data leaf bindinglabel { config "false"; type uint32; description "SRTE binding label"; } // Ephemeral data leaf isBest { config "false"; type boolean; description "Is the next-hop in the best list"; } // Ephemeral data leaf vrf { config "false"; type l3_VrfName; description "VRF name."; } // Ephemeral data leaf interfaceName { config "false"; type string; description "Interface name."; } // Ephemeral data leaf owner { config "false"; type string; description "local, attached-export, static or unknown."; } // Ephemeral data leaf preference { config "false"; type uint32; description "Preference."; } // Ephemeral data leaf metric { config "false"; type uint32; description "Metric."; } // Ephemeral data leaf uptime { config "false"; type urib_TimeStr; description "Elapsed time since this next hop has been added/modified."; } // Ephemeral data leaf routeType { config "false"; type string; description "Type."; } // Ephemeral data leaf tag { config "false"; type uint32; description "Client defined tag."; } // Ephemeral data leaf segmentId { config "false"; type uint32; description "Client provided segment ID. 0 means not set."; } // Ephemeral data leaf segidType { config "false"; type string; description "Client provided segment type. 0 means not set."; } // Ephemeral data leaf sourceId { config "false"; type uint32; description "Client provided source ID. 0 means not set."; } // Ephemeral data leaf tunnelId { config "false"; type uint32; description "Client provided tunnel ID. 0 means not set."; } // Support for VXLAN encap type only with EVPN // Ephemeral data leaf encapType { config "false"; type urib_NextHopEncapType; description "Either VXLAN or none."; } // Ephemeral data leaf vtepIpAddress { config "false"; type address_Ip; description "VxLAN VTEP IP address."; } // Ephemeral data leaf vtepUnderlayVrfId { config "false"; type uint32; description "VxLAN VTEP underlay VRF ID."; } // Ephemeral data leaf labelStack { config "false"; type string; description "MPLS label stack."; } // Ephemeral data leaf nhlfeOwner { config "false"; type string; description "nhlfe owner name."; } // Internal use. // Urib doesn't know how to interpret client data // Ephemeral data leaf clientData { config "false"; type urib_YesNo; description "Yes if client put data in the next-hop."; } // Ephemeral data leaf recursiveNextHopPrefix { config "false"; type address_Ip; description "Recursive nexthop."; } // Ephemeral data leaf xriBgpOrigin { config "false"; type string; description "Extended route information comming from BGP."; } // Ephemeral data leaf xriBgpPeer { config "false"; type string; description "Extended route information comming from BGP."; } // Ephemeral data leaf tlv { config "false"; type string; description "Type-Length-Value; client provided opaque data."; } // Ephemeral data leaf tlvExtentedCommunity { config "false"; type string; description "Type-Length-Value."; } // Ephemeral data leaf tlvAttachExport { config "false"; type string; description "Type-Length-Value."; } // Ephemeral data leaf flags { config "false"; type uint32; description "Flags, each bit has a different meaning."; } // Ephemeral data leaf nhlfeFlags { config "false"; type uint32; description "Next-hop Label Forwarding flags."; } // Ephemeral data leaf tlvType { config "false"; type uint32; description "Type-Length-Value type."; } // Ephemeral data leaf properties { config "false"; type urib_NextHopProperties; description "Next-Hop Properties."; } // Specific to v4 // Ephemeral data container srv6info4-items { uses urib_NextHopSrv6Info4-group; description "Srv6 info associated with an IPv4 next hop."; } } grouping urib_NextHopSrv6Info4-group { description "Srv6 info associated with an IPv4 next hop."; // Ephemeral data leaf sourceIp { config "false"; type address_Ip; description "Source IP adress used for SRv6 encapsulation."; } // Ephemeral data leaf functionId { config "false"; type uint64; description "Function ID used for handling SRv6 routes."; } // Ephemeral data leaf bindingSid { config "false"; type address_Ip; description "Binding SID used for SRv6-TE."; } // Specific to v4 // Ephemeral data container remotesid4-items { // Ephemeral data list NextHopSrv6RemoteSid4-list { config "false"; key "id"; uses urib_NextHopSrv6RemoteSid4-group; description "Remote SID used for an IPv4 next hop. list"; } description "Remote SID used for an IPv4 next hop."; } } grouping urib_NextHopSrv6RemoteSid4-group { description "Remote SID used for an IPv4 next hop."; // Ephemeral data leaf id { config "false"; type uint32; description "Unique id among all remote SID of a next-hop. Only used internally."; } // Ephemeral data leaf remoteSid { config "false"; type address_Ip; description "Remote SID used for SRv6 next-hops."; } } grouping urib_SummaryTable4-group { description "IPv4 urib table cached summary."; // Ephemeral data leaf route_total { config "false"; type uint32; description "Total route count."; } // Ephemeral data leaf uroute_total { config "false"; type uint32; description "unicast route count."; } // Ephemeral data leaf path_total { config "false"; type uint32; description "Total path count."; } // Ephemeral data leaf mpath_total { config "false"; type uint32; description "multicast path count."; } // Ephemeral data leaf routesPerSubnet { config "false"; type string; description "Total number of route per mask in this table"; } } grouping urib_SummaryTable4DB-group { description "IPv4 urib table non cached summary."; // Ephemeral data leaf bestPathsPerProtocol { config "false"; type string; description "Total number of best paths per protocol in this table"; } // Ephemeral data leaf backupPathsPerProtocol { config "false"; type string; description "Total number of backup paths per protocol in this table"; } // Ephemeral data leaf route_total { config "false"; type uint32; description "Total route count."; } // Ephemeral data leaf uroute_total { config "false"; type uint32; description "unicast route count."; } // Ephemeral data leaf path_total { config "false"; type uint32; description "Total path count."; } // Ephemeral data leaf mpath_total { config "false"; type uint32; description "multicast path count."; } // Ephemeral data leaf routesPerSubnet { config "false"; type string; description "Total number of route per mask in this table"; } } grouping urib_SumTable4-group { description "IPv4 urib table cached summary."; leaf routeTotal { config "false"; type uint32; description "Urib summary total route count."; } leaf pathTotal { config "false"; type uint32; description "Urib summary total path count."; } leaf mpathTotal { config "false"; type uint32; description "Urib summary multicast path count."; } leaf routesPerSubnet { config "false"; type string; description "Total number of route per mask in this table"; } leaf bestPathsPerProtocol { config "false"; type string; description "Total number of best paths per protocol in this table"; } leaf backupPathsPerProtocol { config "false"; type string; description "Total number of backup paths per protocol in this table"; } } grouping urib_Entity6-group { description "Urib ipv6 root element"; // Specific to v6 container table6-items { list Table6-list { config "false"; key "vrfName"; uses urib_Table6-group; description "IPv6 urib table list"; } description "IPv6 urib table"; } } grouping urib_Table6-group { description "IPv6 urib table"; leaf vrfName { config "false"; type l3_VrfName; description "VRF name"; } leaf routeCount { config "false"; type urib_Counter32; description "Total number of route in this table"; } // Specific to v6 // Ephemeral data container recursivenexthop6-items { // Ephemeral data list RecursiveNextHop6-list { config "false"; key "prefix"; uses urib_RecursiveNextHop6-group; description "ipv6 recursive next-hop list"; } description "ipv6 recursive next-hop"; } // Specific to v6 // Ephemeral data container route6-items { // Ephemeral data list Route6-list { config "false"; key "prefix"; uses urib_Route6-group; description "ipv6 urib route list"; } description "ipv6 urib route"; } // =============================================================================================================== Specific to v6 cached summary // Ephemeral data container summary-items { uses urib_SummaryTable6-group; description "IPv6 urib table cached summary."; } // ==================================== IPv6 urib table non cached summary ======================================= Specific to v6 non cached summary (including per protocol path counts) // Ephemeral data container summarydb-items { uses urib_SummaryTable6DB-group; description "IPv6 urib table non cached summary."; } // Specific to v6 route summary container sum-items { uses urib_SumTable6-group; description "IPv6 urib table cached summary."; } } grouping urib_RecursiveNextHop6-group { description "ipv6 recursive next-hop"; // Ephemeral data leaf prefix { config "false"; type address_Ip; description "RNH address with mask"; } // Ephemeral data leaf uptime { config "false"; type urib_TimeStr; description "Elapsed time since this RNH has been added/modified."; } // Ephemeral data leaf eLB { config "false"; type boolean; description "This RNH is resolved to an eLB route"; } // Ephemeral data leaf owner { config "false"; type string; description "The owners of this RNH"; } // Ephemeral data leaf restricted { config "false"; type boolean; description "In restricted mode, i.e. cannot be resolved with the default route 0/0"; } // Ephemeral data leaf staleOwner { config "false"; type string; description "The stale owners of this RNH"; } // Ephemeral data leaf upathEpoch { config "false"; type uint32; description "Epoch of the unicast path"; } // Ephemeral data leaf refCount { config "false"; type uint32; description "The reference count of this RNH"; } // Ephemeral data leaf pendingUfdm { config "false"; type boolean; description "Waiting to be send to UFDM."; } // Ephemeral data leaf pendingCC { config "false"; type boolean; description "Waiting to be send to UFDM for inconsistency check"; } // Ephemeral data leaf upathResolvedClients { config "false"; type string; description "The routing protocols want to resolve this RNH with unicast paths"; } // Ephemeral data leaf mpathEpoch { config "false"; type uint32; description "Epoch of the path used for multicast purpose"; } // Ephemeral data leaf mpathResolvedClients { config "false"; type string; description "The routing protocols want to resolve this RNH with the paths for multicast purpose"; } // Specific to v6 // Ephemeral data container rnhpath6-items { // Ephemeral data list RecursiveNextHopPath6-list { config "false"; key "id"; uses urib_RecursiveNextHopPath6-group; description "IPv6 recursive next-hop resolved path. list"; } description "IPv6 recursive next-hop resolved path."; } } grouping urib_RecursiveNextHopPath6-group { description "IPv6 recursive next-hop resolved path."; // Ephemeral data leaf id { config "false"; type uint32; description "Unique id among all paths of the recursive next-hop. Only used internally."; } // Ephemeral data leaf pathType { config "false"; type string; description "Path used for unicast or multicast purpose"; } // Ephemeral data leaf address { config "false"; type address_Ip; description "Resolved RNH path address."; } // Ephemeral data leaf vrf { config "false"; type l3_VrfName; description "VRF name of the resolved RNH path."; } // Ephemeral data leaf interfaceName { config "false"; type string; description "Interface name of the resolved RNH path."; } // Ephemeral data leaf bindinglabel { config "false"; type uint32; description "SRTE binding label of the resolved RNH path."; } // Ephemeral data leaf segmentId { config "false"; type uint32; description "Client provided segment ID. 0 means not set."; } // Ephemeral data leaf tunnelId { config "false"; type uint32; description "Client provided tunnel ID. 0 means not set."; } // Ephemeral data leaf vtepIpAddress { config "false"; type address_Ip; description "VxLAN VTEP IP address."; } // Ephemeral data leaf vtepUnderlayVrfId { config "false"; type uint32; description "VxLAN VTEP underlay VRF ID."; } // Ephemeral data leaf labelStack { config "false"; type string; description "MPLS label stack of the resolved RNH path.."; } // Ephemeral data leaf labelType { config "false"; type string; description "Label stack type of the resolved RNH path.."; } } grouping urib_Route6-group { description "ipv6 urib route"; // Ephemeral data leaf prefix { config "false"; type address_Ip; description "Route address with mask"; } // Ephemeral data leaf uBestNextHopCount { config "false"; type uint32; description "Number of unicast best next hop"; } // Ephemeral data leaf mBestNextHopCount { config "false"; type uint32; description "Number of multicast best next hop"; } // Ephemeral data leaf flags { config "false"; type uint32; description "Route flags."; } // Ephemeral data leaf sortKey { config "false"; type uint32; description "Eibgp mixed-path sort key."; } // Ephemeral data leaf pendingUfdm { config "false"; type boolean; description "Waiting to be send to UFDM."; } // Ephemeral data leaf pendingHw { config "false"; type boolean; description "UFDM sent, waiting for ack from HW."; } // Specific to v6 // Ephemeral data container nh6-items { // Ephemeral data list NextHop6-list { config "false"; key "id"; uses urib_NextHop6-group; description "ipv6 next hop list"; } description "ipv6 next hop"; } } grouping urib_NextHop6-group { description "ipv6 next hop"; // Ephemeral data leaf id { config "false"; type uint32; description "Unique id among all nh of the route. Only used internally."; } // Ephemeral data leaf address { config "false"; type address_Ip; description "Next-hop address."; } // Ephemeral data leaf bindinglabel { config "false"; type uint32; description "SRTE binding label"; } // Ephemeral data leaf isBest { config "false"; type boolean; description "Is the next-hop in the best list"; } // Ephemeral data leaf vrf { config "false"; type l3_VrfName; description "VRF name."; } // Ephemeral data leaf interfaceName { config "false"; type string; description "Interface name."; } // Ephemeral data leaf owner { config "false"; type string; description "local, attached-export, static or unknown."; } // Ephemeral data leaf preference { config "false"; type uint32; description "Preference."; } // Ephemeral data leaf metric { config "false"; type uint32; description "Metric."; } // Ephemeral data leaf uptime { config "false"; type urib_TimeStr; description "Elapsed time since this next hop has been added/modified."; } // Ephemeral data leaf routeType { config "false"; type string; description "Type."; } // Ephemeral data leaf tag { config "false"; type uint32; description "Client defined tag."; } // Ephemeral data leaf segmentId { config "false"; type uint32; description "Client provided segment ID. 0 means not set."; } // Ephemeral data leaf segidType { config "false"; type string; description "Client provided segment type. 0 means not set."; } // Ephemeral data leaf tunnelId { config "false"; type uint32; description "Client provided tunnel ID. 0 means not set."; } // Support for VXLAN encap type only with EVPN // Ephemeral data leaf encapType { config "false"; type urib_NextHopEncapType; description "Either VXLAN or none."; } // Ephemeral data leaf vtepIpAddress { config "false"; type address_Ip; description "VxLAN VTEP IP address."; } // Ephemeral data leaf vtepUnderlayVrfId { config "false"; type uint32; description "VxLAN VTEP underlay VRF ID."; } // Ephemeral data leaf labelStack { config "false"; type string; description "MPLS label stack."; } // Ephemeral data leaf nhlfeOwner { config "false"; type string; description "nhlfe owner name."; } // Internal use. // Urib doesn't know how to interpret client data // Ephemeral data leaf clientData { config "false"; type urib_YesNo; description "Yes if client put data in the next-hop."; } // Ephemeral data leaf recursiveNextHopPrefix { config "false"; type address_Ip; description "Recursive nexthop."; } // Ephemeral data leaf xriBgpOrigin { config "false"; type string; description "Extended route information comming from BGP."; } // Ephemeral data leaf xriBgpPeer { config "false"; type string; description "Extended route information comming from BGP."; } // Ephemeral data leaf tlv { config "false"; type string; description "Type-Length-Value; client provided opaque data."; } // Ephemeral data leaf tlvExtentedCommunity { config "false"; type string; description "Type-Length-Value."; } // Ephemeral data leaf tlvAttachExport { config "false"; type string; description "Type-Length-Value."; } // Ephemeral data leaf flags { config "false"; type uint32; description "Flags, each bit has a different meaning."; } // Ephemeral data leaf nhlfeFlags { config "false"; type uint32; description "Next-hop Label Forwarding flags."; } // Ephemeral data leaf tlvType { config "false"; type uint32; description "Type-Length-Value type."; } // Ephemeral data leaf properties { config "false"; type urib_NextHopProperties; description "Next-Hop Properties."; } // Specific to v6 // Ephemeral data container srv6info6-items { uses urib_NextHopSrv6Info6-group; description "Srv6 info associated with an IPv6 next hop."; } } grouping urib_NextHopSrv6Info6-group { description "Srv6 info associated with an IPv6 next hop."; // Ephemeral data leaf sourceIp { config "false"; type address_Ip; description "Source IP adress used for SRv6 encapsulation."; } // Ephemeral data leaf functionId { config "false"; type uint64; description "Function ID used for handling SRv6 routes."; } // Ephemeral data leaf bindingSid { config "false"; type address_Ip; description "Binding SID used for SRv6-TE."; } // Specific to v6 // Ephemeral data container remotesid6-items { // Ephemeral data list NextHopSrv6RemoteSid6-list { config "false"; key "id"; uses urib_NextHopSrv6RemoteSid6-group; description "Remote SID used for an IPv6 next hop. list"; } description "Remote SID used for an IPv6 next hop."; } } grouping urib_NextHopSrv6RemoteSid6-group { description "Remote SID used for an IPv6 next hop."; // Ephemeral data leaf id { config "false"; type uint32; description "Unique id among all remote SID of a next-hop. Only used internally."; } // Ephemeral data leaf remoteSid { config "false"; type address_Ip; description "Remote SID used for SRv6 next-hops."; } } grouping urib_SummaryTable6-group { description "IPv6 urib table cached summary."; // Ephemeral data leaf route_total { config "false"; type uint32; description "Total route count."; } // Ephemeral data leaf uroute_total { config "false"; type uint32; description "unicast route count."; } // Ephemeral data leaf path_total { config "false"; type uint32; description "Total path count."; } // Ephemeral data leaf mpath_total { config "false"; type uint32; description "multicast path count."; } // Ephemeral data leaf routesPerSubnet { config "false"; type string; description "Total number of route per mask in this table"; } } grouping urib_SummaryTable6DB-group { description "IPv6 urib table non cached summary."; // Ephemeral data leaf bestPathsPerProtocol { config "false"; type string; description "Total number of best paths per protocol in this table"; } // Ephemeral data leaf backupPathsPerProtocol { config "false"; type string; description "Total number of backup paths per protocol in this table"; } // Ephemeral data leaf route_total { config "false"; type uint32; description "Total route count."; } // Ephemeral data leaf uroute_total { config "false"; type uint32; description "unicast route count."; } // Ephemeral data leaf path_total { config "false"; type uint32; description "Total path count."; } // Ephemeral data leaf mpath_total { config "false"; type uint32; description "multicast path count."; } // Ephemeral data leaf routesPerSubnet { config "false"; type string; description "Total number of route per mask in this table"; } } grouping urib_SumTable6-group { description "IPv6 urib table cached summary."; leaf routeTotal { config "false"; type uint32; description "Urib summary total route count."; } leaf pathTotal { config "false"; type uint32; description "Urib summary total path count."; } leaf mpathTotal { config "false"; type uint32; description "Urib summary multicast path count."; } leaf routesPerSubnet { config "false"; type string; description "Total number of route per mask in this table"; } leaf bestPathsPerProtocol { config "false"; type string; description "Total number of best paths per protocol in this table"; } leaf backupPathsPerProtocol { config "false"; type string; description "Total number of backup paths per protocol in this table"; } } grouping uribv4_Entity-group { description "IPv4 Unicast Routing Information Base Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Domain (vrf) information container dom-items { list Dom-list { config "false"; key "name"; uses uribv4_Dom-group; description "Domain list"; } description "Domain"; } } grouping uribv4_Dom-group { description "Domain"; // Operational state leaf operSt { config "false"; type rib_DomOperSt; description "TBD"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } container db-items { list Db-list { config "false"; key "type"; uses uribv4_Db-group; description "Database list"; } description "Database"; } } grouping uribv4_Db-group { description "Database"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository leaf type { config "false"; type rib_DbT; description "Type"; } // Route container rt-items { list Route-list { config "false"; key "prefix"; uses uribv4_Route-group; description "Route list"; } description "Route"; } } grouping uribv4_Route-group { description "Route"; leaf prefix { config "false"; type address_Ip; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // URIB next-hop database record container nh-items { list Nexthop-list { config "false"; key "owner addr if vrf"; uses uribv4_Nexthop-group; description "Nexthop Record list"; } description "Nexthop Record"; } // URIB route ownership record container owner-items { list RouteOwner-list { config "false"; key "owner"; uses uribv4_RouteOwner-group; description "Route Owner list"; } description "Route Owner"; } } grouping uribv4_Nexthop-group { description "Nexthop Record"; // Owner leaf owner { config "false"; type rib_OwnerT; description "Nexthop Owner"; } leaf addr { config "false"; type address_Ip; description "Nexthop Address"; } // Nexthop interface leaf if { config "false"; type nw_IfId; description "Nexthop Interface"; } // Nexthop vrf leaf vrf { config "false"; type l3_VrfName; description "Nexthop VRF"; } // NH type leaf type { config "false"; type rib_NhT; description "TBD"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping uribv4_RouteOwner-group { description "Route Owner"; // Owner's name leaf owner { config "false"; type rib_OwnerT; description "TBD"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // URIB next-hop database record container nh-items { list Nexthop-list { config "false"; key "owner addr if vrf"; uses uribv4_Nexthop-group; description "Nexthop Record list"; } description "Nexthop Record"; } container rsrouteOwnerToNexthopAtt-items { list RsRouteOwnerToNexthopAtt-list { key "tDn"; uses uribv4_RsRouteOwnerToNexthopAtt_source-group; } } } grouping uribv6_Entity-group { description "Unicast Routing Information Base Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Domain (vrf) information container dom-items { list Dom-list { config "false"; key "name"; uses uribv6_Dom-group; description "Domain list"; } description "Domain"; } } grouping uribv6_Dom-group { description "Domain"; // Operational state leaf operSt { config "false"; type rib_DomOperSt; description "TBD"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } container db-items { list Db-list { config "false"; key "type"; uses uribv6_Db-group; description "Database list"; } description "Database"; } } grouping uribv6_Db-group { description "Database"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository leaf type { config "false"; type rib_DbT; description "Type"; } // Route container rt-items { list Route-list { config "false"; key "prefix"; uses uribv6_Route-group; description "Route list"; } description "Route"; } } grouping uribv6_Route-group { description "Route"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf prefix { config "false"; type address_Ip; } // URIB next-hop database record container nh-items { list Nexthop-list { config "false"; key "owner addr if vrf"; uses uribv6_Nexthop-group; description "Nexthop record list"; } description "Nexthop record"; } // URIB route ownership record container owner-items { list RouteOwner-list { config "false"; key "owner"; uses uribv6_RouteOwner-group; description "Route Owner list"; } description "Route Owner"; } } grouping uribv6_Nexthop-group { description "Nexthop record"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Owner leaf owner { config "false"; type rib_OwnerT; description "Nexthop Owner"; } leaf addr { config "false"; type address_Ip; description "Nexthop Address"; } // Nexthop interface leaf if { config "false"; type nw_IfId; description "Nexthop Interface"; } // Nexthop vrf leaf vrf { config "false"; type l3_VrfName; description "Nexthop VRF"; } // NH type leaf type { config "false"; type rib_NhT; description "TBD"; } } grouping uribv6_RouteOwner-group { description "Route Owner"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Owner's name leaf owner { config "false"; type rib_OwnerT; description "TBD"; } // URIB next-hop database record container nh-items { list Nexthop-list { config "false"; key "owner addr if vrf"; uses uribv6_Nexthop-group; description "Nexthop record list"; } description "Nexthop record"; } container rsrouteOwnerToNexthopAtt-items { list RsRouteOwnerToNexthopAtt-list { key "tDn"; uses rib_RsRouteOwnerToNexthopAtt_source-group; } } } grouping licensemanager_LicenseManager-group { description "LicenseManager node, used as a placeholder for uniformity"; container inst-items { uses licensemanager_Inst-group; description "Inst node, used to indicate the instance of a LicenseManager MO"; } } grouping licensemanager_Inst-group { description "Inst node, used to indicate the instance of a LicenseManager MO"; container globalstatus-items { uses licensemanager_GlobalStatus-group; description "Holds global properties for license manager"; } container smartlicensing-items { uses licensemanager_SmartLicensing-group; description "Smart Licensing container for licence manager"; } } grouping licensemanager_GlobalStatus-group { description "Holds global properties for license manager"; } grouping licensemanager_SmartLicensing-group { description "Smart Licensing container for licence manager"; leaf transportMode { type licensemanager_transportmodeType; default "transportCslu"; description "Defining transport mode property"; } container customid-items { uses licensemanager_CustomId-group; description "Smart Licensing container for licence manager custom id"; } container privacyhostname-items { uses licensemanager_PrivacyHostname-group; description "Holds Privacy hostname information for Smart Licensing container"; } container privacyversion-items { uses licensemanager_PrivacyVersion-group; description "Holds Privacy version information for Smart Licensing container"; } container proxyaddress-items { uses licensemanager_ProxyAddress-group; description "Holds Proxy information for Smart Licensing container"; } container proxyport-items { uses licensemanager_ProxyPort-group; description "Holds Proxy information for Smart Licensing container"; } container usage-items { uses licensemanager_Usage-group; description "Holds Usage information for Smart Licensing container"; } container transportsmarturl-items { uses licensemanager_TransportSmartUrl-group; description "Holds Transport Smart Url information for Smart Licensing container"; } container transportcsluurl-items { uses licensemanager_TransportCsluUrl-group; description "Holds Transport CSLU Url information for Smart Licensing container"; } container vrf-items { uses licensemanager_Vrf-group; description "Smart Licensing container for licence manager vrf name"; } container sourceinterface-items { uses licensemanager_SourceInterface-group; description "Smart Licensing container for licence manager source Interface"; } } grouping licensemanager_CustomId-group { description "Smart Licensing container for licence manager custom id"; leaf id { type string { length "1..128"; } description "Defining property custom id"; } } grouping licensemanager_PrivacyHostname-group { description "Holds Privacy hostname information for Smart Licensing container"; leaf hostname { type licensemanager_privacyHostnameType; default "privacyHostnameEnabled"; description "Defining privacy hostname property"; } } grouping licensemanager_PrivacyVersion-group { description "Holds Privacy version information for Smart Licensing container"; leaf version { type licensemanager_privacyVersionType; default "privacyVersionEnabled"; description "Defining privacy version property"; } } grouping licensemanager_ProxyAddress-group { description "Holds Proxy information for Smart Licensing container"; leaf address { type string { length "1..255"; } description "Defining proxy address property"; } } grouping licensemanager_ProxyPort-group { description "Holds Proxy information for Smart Licensing container"; leaf port { type string; description "Defining proxy port property"; } } grouping licensemanager_Usage-group { description "Holds Usage information for Smart Licensing container"; leaf interval { type uint32 { range "1..365"; } default "30"; description "Defining usage interval property"; } } grouping licensemanager_TransportSmartUrl-group { description "Holds Transport Smart Url information for Smart Licensing container"; leaf url { type string { length "1..255"; } default "https://smartreceiver.cisco.com/licservice/license"; description "Defining Transport Smart url property"; } } grouping licensemanager_TransportCsluUrl-group { description "Holds Transport CSLU Url information for Smart Licensing container"; leaf url { type string { length "1..255"; } default "cslu-local"; description "Defining Transport CSLU url property"; } } grouping licensemanager_Vrf-group { description "Smart Licensing container for licence manager vrf name"; leaf vrfname { type string { length "1..32"; } default "management"; description "Defining property vrf name"; } } grouping licensemanager_SourceInterface-group { description "Smart Licensing container for licence manager source Interface"; leaf sourceInterface { type string { length "1..255"; } description "Source Interface property"; } } grouping mmode_Entity-group { description "MMODE Entity"; // This objects holds per mmode instance information. There is // only one instance of mmode running in the system today container inst-items { uses mmode_Inst-group; description "MMODE Instance"; } // This objects holds maintenance mode profile. container profile-items { list Profile-list { key "profType"; uses mmode_Profile-group; description "MMODE Profile list"; } description "MMODE Profile"; } } grouping mmode_Inst-group { description "MMODE Instance"; // Maintenance mode action leaf modeAction { type mmode_MaintModeActionType; description "Maintenance Mode Action"; } // Maintenance mode action status leaf modeActionStatus { config "false"; type mmode_MaintModeActionStatusType; description "Maintenance Mode Action Status"; } leaf modeSwitchInProgress { config "false"; type boolean; description "Maintenance Mode Switch In Progress"; } // Maintenance system mode value leaf sysMode { config "false"; type mmode_MaintModeType; description "Maintenance System Mode"; } // Maintenance mode timeout value leaf timeout { type mmode_TimeoutInterval; default "65535"; description "Timeout"; } leaf onReloadResetReasonHwError { type boolean; description "On-Reload Reset-Reason Harware Error"; } leaf onReloadResetReasonSvcFailure { type boolean; description "On-Reload Reset-Reason Critical Service Failure"; } leaf onReloadResetReasonKernFailure { type boolean; description "On-Reload Reset-Reason Kernel Panic"; } leaf onReloadResetReasonWdogTimeout { type boolean; description "On-Reload Reset-Reason Watchdog Timeout"; } leaf onReloadResetReasonFatalError { type boolean; description "On-Reload Reset-Reason Fatal Error"; } leaf onReloadResetReasonLcFailure { type boolean; description "On-Reload Reset-Reason LC Failure"; } leaf onReloadResetReasonManualReload { type boolean; description "On-Reload Reset-Reason Manual Reload"; } leaf onReloadResetReasonMaintenance { type boolean; description "On-Reload Reset-Reason Maintenance Mode"; } leaf onReloadResetReasonAnyOther { type boolean; description "On-Reload Reset-Reason Any Other Reset"; } leaf snapshotDelay { type uint16; default "120"; description "Snapshot Delay Time"; } leaf maintDelay { type uint16; default "120"; description "Maintenance Delay Time"; } leaf useCustomProfile { type boolean; description "Use Custom Profile"; } } grouping mmode_Profile-group { description "MMODE Profile"; // Maintenance profile type leaf profType { type mmode_MaintProfileType; description "Maintenance Profile Type"; } // This objects holds maintenance mode profile entries. container entry-items { list ProfileEntry-list { key "sequence"; uses mmode_ProfileEntry-group; description "MMODE Profile Entry list"; } description "MMODE Profile Entry"; } } grouping mmode_ProfileEntry-group { description "MMODE Profile Entry"; leaf sequence { type uint16; description "Profile Entry Sequence Number"; } leaf parentSequence { type uint16; default "0"; description "Profile Entry Parent Sequence Number"; } leaf configCmd { type string; description "Config Command to be applied"; } leaf configCmdValid { config "false"; type boolean; description "Config Command is Valid"; } } grouping mts_Mts-group { description "MTS stats"; container config-items { uses mts_Config-group; description "MTS buffer age to trigger callhome message"; } container topsaps-items { uses mts_TopSaps-group; description "Top saps based on their usuage"; } container qfullsaps-items { uses mts_QfullSaps-group; description "MTS Q full saps based on their queue limit"; } } grouping mts_Config-group { description "MTS buffer age to trigger callhome message"; leaf callAge { type uint32 { range "1..1800000"; } default "1440"; description "Threshold age for mts messages to generate callhome notification"; } leaf supLatencyThreshold { type uint32 { range "60..2147483647"; } default "300000"; description "queuing, processing, request response latency threshold age of mts messages for SUP"; } leaf lcLatencyThreshold { type uint32 { range "60..2147483647"; } default "300000"; description "queuing, processing, request response latency threshold age of mts messages for LC"; } } grouping mts_TopSaps-group { description "Top saps based on their usuage"; leaf memUsed { config "false"; type uint32; description "% of memory used by all apps"; } container tsap-items { list TSap-list { config "false"; key "index"; uses mts_TSap-group; description "Top saps list"; } description "Top saps"; } } grouping mts_TSap-group { description "Top saps"; leaf sapId { config "false"; type uint32; description "sap num"; } leaf desc { config "false"; type string; description "sap description"; } leaf process { config "false"; type string; description "Process owns sap"; } leaf timestamp { config "false"; type string; description "Exact time at which this condition happened"; } leaf msgCount { config "false"; type uint32; description "Num of messages consumed by the sap"; } leaf bytesCount { config "false"; type uint32; description "Num of bytes consumed by the sap"; } leaf memUsedInTotalMem { config "false"; type uint32; description "% of memory used from the global mts memory"; } leaf memUsedInSapShare { config "false"; type uint32; description "% of memory used from the memory limit assigned to sap"; } leaf index { config "false"; type uint32; description "Index of the sap"; } leaf nodeId { config "false"; type uint32; description "Node id of the sap"; } } grouping mts_QfullSaps-group { description "MTS Q full saps based on their queue limit"; container qsap-items { list QSap-list { config "false"; key "sapId"; uses mts_QSap-group; description "Top saps list"; } description "Top saps"; } } grouping mts_QSap-group { description "Top saps"; leaf qstate { config "false"; type string; description "Queue state of the sap"; } leaf sapId { config "false"; type uint32; description "sap num"; } leaf desc { config "false"; type string; description "sap description"; } leaf process { config "false"; type string; description "Process owns sap"; } leaf timestamp { config "false"; type string; description "Exact time at which this condition happened"; } leaf msgCount { config "false"; type uint32; description "Num of messages consumed by the sap"; } leaf bytesCount { config "false"; type uint32; description "Num of bytes consumed by the sap"; } leaf memUsedInTotalMem { config "false"; type uint32; description "% of memory used from the global mts memory"; } leaf memUsedInSapShare { config "false"; type uint32; description "% of memory used from the memory limit assigned to sap"; } leaf index { config "false"; type uint32; description "Index of the sap"; } leaf nodeId { config "false"; type uint32; description "Node id of the sap"; } } grouping nw_Vdc-group { description "VDC"; leaf name { type string { length "0..63"; } default "switch"; description "VDC name"; } // vdc ID leaf id { type l2_VdcId { range "1"; } description "ID Property has READ-Create access."; } container limres-items { uses resmgr_LimRes-group; description "Resource configuration"; } } grouping resmgr_LimRes-group { description "Resource configuration"; leaf vlanMin { type uint16 { range "16..4094"; } default "16"; description "Minimum VLANs to allocate"; } leaf vlanMax { type uint16 { range "16..4094"; } default "4094"; description "Maximum VLANs to allocate"; } leaf vrfMin { type uint16 { range "2..4097"; } default "2"; description "Minimum vrf resources to allocate"; } leaf vrfMax { type uint16 { range "2..4097"; } default "4097"; description "Maximum vrf resources to allocate"; } leaf poMin { type uint16 { range "0..766"; } default "0"; description "Minimum port channels to allocate"; } leaf poMax { type uint16 { range "0..766"; } default "511"; description "Maximum port channels to allocate"; } leaf u4rtMemMin { type uint16 { range "1..768"; } default "248"; description "Minimum route memory to allocate for unicast Ipv4"; } leaf poReductionAllowed { config "false"; type boolean; default "true"; description "LimitResource Port-channel reduction allowed"; } leaf u4rtMemMax { type uint16 { range "1..768"; } default "248"; description "Maximum route memory to allocate for unicast Ipv4"; } leaf u6rtMemMin { type uint16 { range "1..512"; } default "96"; description "Minimum route memory to allocate for unicast Ipv6"; } leaf u6rtMemMax { type uint16 { range "1..512"; } default "96"; description "Maximum route memory to allocate for unicast Ipv6"; } leaf m4rtMemMin { type uint16 { range "3..150"; } default "58"; description "Minimum route memory to allocate for multicast Ipv4"; } leaf m4rtMemMax { type uint16 { range "3..150"; } default "58"; description "Maxiimum route memory to allocate for multicast Ipv4"; } leaf m6rtMemMin { type uint16 { range "3..20"; } default "8"; description "Minimum route memory to allocate for multicast Ipv6"; } leaf m6rtMemMax { type uint16 { range "3..20"; } default "8"; description "Maximum route memory to allocate for multicast Ipv6"; } } grouping nxsdk_Entity-group { description "Nx-sdk Manager"; // This objects hold per service-name Inst information container inst-items { list Inst-list { key "serviceName"; uses nxsdk_Inst-group; description "NxSDK service name instances list"; } description "NxSDK service name instances"; } // This objects hold per remote port information container remoteport-items { list RemotePort-list { key "port"; uses nxsdk_RemotePort-group; description "NxSDK remote port instance list"; } description "NxSDK remote port instance"; } // This objects hold profile information container profile-items { list Profile-list { key "profileName"; uses nxsdk_Profile-group; description "NxSDK profile list"; } description "NxSDK profile"; } } grouping nxsdk_Inst-group { description "NxSDK service name instances"; leaf serviceName { type string { length "0..20"; } description "NxSDK service name"; } leaf profileName { type string { length "0..20"; } description "Name of the profile"; } leaf serviceSt { config "false"; type nxsdk_ServiceSt; description "NxSDK service name error state"; } } grouping nxsdk_RemotePort-group { description "NxSDK remote port instance"; leaf port { type uint16 { range "50002..51000"; } description "Remote port value"; } leaf vrfName { type l3_VrfName { length "0..32"; } description "VRF name"; } leaf certificate { type string { length "0..64"; } description "Certificate Trustpoint Label to secure nxsdk remote sessions"; } leaf remotePortSt { config "false"; type nxsdk_ServiceSt; description "NxSDK remote port state"; } container remotesvcinst-items { list RemoteSvcInst-list { key "serviceName"; uses nxsdk_RemoteSvcInst-group; description "Remote service name instances list"; } description "Remote service name instances"; } } grouping nxsdk_RemoteSvcInst-group { description "Remote service name instances"; leaf serviceName { type string { length "0..20"; } description "NxSDK service name"; } leaf profileName { type string { length "0..20"; } description "Name of the profile"; } leaf serviceSt { config "false"; type nxsdk_ServiceSt; description "NxSDK service name error state"; } } grouping nxsdk_Profile-group { description "NxSDK profile"; leaf profileName { type string { length "0..20"; } description "Name of the Profile"; } leaf systemStateMod { type nxsdk_SecLevel; description "Modify the state of the system to Permit/Throttle all write API calls"; } } grouping pktmgr_Entity-group { description "Pktmgr Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per pktmgr instance information. There is // only one instance of pktmgr running in the system today container inst-items { uses pktmgr_Inst-group; description "Pktmgr Instance"; } } grouping pktmgr_Inst-group { description "Pktmgr Instance"; // logging level enabling leaf loggingLevel { type arp_LoggingLevel; default "critical"; description "Logging Level"; } // Setting Rate-limit leaf rateLimitDirection { type pktmgr_RateLimitDirection; description "Rate Limit Direction"; } // Default value handled in local MO type leaf rateLimitPps { // Type is a Local-MO-Defined-Type type pktmgr_RateLimitPps_Inst_rateLimitPps; description "Rate Limit Pps"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Interfce MO container if-items { list If-list { key "id"; uses pktmgr_If-group; description "Pktmgr Instance list"; } description "Pktmgr Instance"; } } grouping pktmgr_If-group { description "Pktmgr Instance"; leaf rateLimitDirection { type pktmgr_RateLimitDirection; description "Rate Limit Direction"; } // Default value handled in local MO type leaf rateLimitPps { // Type is a Local-MO-Defined-Type type pktmgr_RateLimitPps_If_rateLimitPps; description "Rate Limit Pps"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping proc_System-group { description "System Process Information"; // Maximum memory allocated for the system leaf maxMemAlloc { config "false"; type proc_ProcMem; description "Maximum Memory Allocated"; } leaf upTs { config "false"; type string; description "Up Time of the device"; } leaf bootTime { config "false"; type uint64; description "system boot time since unix epoch time"; } leaf name { config "false"; type naming_Name256; description "Name"; } // Process entry in the system container proc-items { list Proc-list { config "false"; key "id"; uses proc_Proc-group; description "Process list"; } description "Process"; } // System core list container syscore-items { uses proc_SysCore-group; description "system cores"; } // System load statistics container sysload-items { uses proc_SysLoad-group; description "system load"; } // System cpu summary statistics container syscpusummary-items { uses proc_SysCpuSummary-group; description "system cpu"; } // System memory statistics container sysmem-items { uses proc_SysMem-group; description "system memory"; } } grouping proc_Proc-group { description "Process"; // Process id leaf id { config "false"; type proc_ProcId; description "Process ID"; } // State of the process leaf operSt { config "false"; type proc_OperSt; description "Operational State"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_SysCore-group { description "system cores"; leaf numOfCores { config "false"; type uint32; description "Number of cores"; } leaf name { config "false"; type naming_Name256; description "Name"; } // System core details container core-items { list Core-list { config "false"; key "processId"; uses proc_Core-group; description "system core list"; } description "system core"; } } grouping proc_Core-group { description "system core"; leaf processId { config "false"; type uint32; description "Process ID"; } leaf vdcId { config "false"; type uint32; description "VDC Id"; } leaf moduleNumber { config "false"; type uint32; description "Module Number"; } leaf instanceNumber { config "false"; type uint32; description "Instance Number"; } leaf processName { config "false"; type string; description "Process Name"; } leaf date { config "false"; type string; description "Date"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_SysLoad-group { description "system load"; leaf loadAverage1m { config "false"; type decimal64 { fraction-digits 6; } description "Load average of the cpu in the system for a 1 minute preiod of time, represented as float"; } leaf loadAverage5m { config "false"; type decimal64 { fraction-digits 6; } description "Load average of the cpu in the system for a 5 minute preiod of time, represented as float"; } leaf loadAverage15m { config "false"; type decimal64 { fraction-digits 6; } description "Load average of the cpu in the system for a 15 minute preiod of time, represented as float"; } leaf loadAverage5sec { config "false"; type decimal64 { fraction-digits 6; } description "Load average of the cpu in the system for a 5 second preiod of time, represented as float"; } leaf totalProc { config "false"; type uint32; description "Total number of the processes in the system, represented as an integer"; } leaf runProc { config "false"; type uint32; description "Total number of the running processes in the system, represented as an integer"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_SysCpuSummary-group { description "system cpu"; leaf user { config "false"; type decimal64 { fraction-digits 6; } description "Overall CPU usage by the user processes in the system, represented as a float"; } leaf kernel { config "false"; type decimal64 { fraction-digits 6; } description "Overall CPU usage by the kernel processes in the system, represented as a float"; } leaf idle { config "false"; type decimal64 { fraction-digits 6; } description "Overall CPU idle in the system, represented as a float"; } leaf name { config "false"; type naming_Name256; description "Name"; } // System cpu history statistics container syscpuhistory-items { list SysCpuHistory-list { config "false"; key "durationname"; uses proc_SysCpuHistory-group; description "system cpu history list"; } description "system cpu history"; } // System cpu statistics container syscpu-items { list SysCpu-list { config "false"; key "id"; uses proc_SysCpu-group; description "system cpu list"; } description "system cpu"; } } grouping proc_SysCpuHistory-group { description "system cpu history"; // cpu history duration name leaf durationname { config "false"; type proc_CpuHistoryDurationName; description "cpu history duration name, it can be last60seconds, last60minutes, last60hours"; } // history data leaf usage { config "false"; type proc_CpuHistoryList; description "Overall CPU usage in the system for the last duration time (60sec/60min/60hours)"; } // minimum usage data leaf usageMin { config "false"; type proc_PerUsage; description "Minimum of cpu usage for the last duration time (60sec/60min/60hours)"; } leaf usageAvg { config "false"; type decimal64 { fraction-digits 6; } description "Average of cpu usage for the last duration time (60sec/60min/60hours)"; } // maximum usage data leaf usageMax { config "false"; type proc_PerUsage; description "Maximum of cpu usage for the last duration time (60sec/60min/60hours)"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_SysCpu-group { description "system cpu"; leaf id { config "false"; type string; description " CPU id/name present in the system, represented as string"; } leaf name { config "false"; type naming_Name256; description "Name"; } // System cpu statistics container kernel-items { uses proc_Kernel-group; description "system kernel"; } // System cpu statistics container total-items { uses proc_Total-group; description "system total"; } // User cpu statistics container user-items { uses proc_User-group; description "system user"; } // System cpu statistics container nice-items { uses proc_Nice-group; description "system nice"; } // System cpu statistics container idle-items { uses proc_Idle-group; description "system total"; } // System cpu statistics container wait-items { uses proc_Wait-group; description "system wait"; } // System cpu statistics container irq-items { uses proc_Irq-group; description "system Irq"; } // System cpu statistics container softirq-items { uses proc_Softirq-group; description "system Irq"; } } grouping proc_Kernel-group { description "system kernel"; leaf avg { config "false"; type uint16; description "Overall CPU usage by the kernel processes in this CPU, represented as a float"; } leaf min { config "false"; type uint16; description "Overall CPU usage by the kernel processes in this CPU, represented as a float"; } leaf max { config "false"; type uint16; description "cpu kernel max"; } leaf minInstant { config "false"; type uint64; description "cpu kernel min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu kernel max instant"; } leaf stats { config "false"; type uint64; description "cpu kernel stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous kernel stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_Total-group { description "system total"; leaf avg { config "false"; type uint16; description "cpu total stat"; } leaf min { config "false"; type uint16; description "cpu total min"; } leaf max { config "false"; type uint16; description "cpu Total max"; } leaf minInstant { config "false"; type uint64; description "cpu Total min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu Total max instant"; } leaf stats { config "false"; type uint64; description "cpu Total stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous total stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_User-group { description "system user"; leaf avg { config "false"; type uint16; description "cpu user stat"; } leaf min { config "false"; type uint16; description "cpu user min"; } leaf max { config "false"; type uint16; description "cpu User max"; } leaf minInstant { config "false"; type uint64; description "cpu User min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu User max instant"; } leaf stats { config "false"; type uint64; description "cpu User stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous User stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_Nice-group { description "system nice"; leaf avg { config "false"; type uint16; description "cpu nice stat"; } leaf min { config "false"; type uint16; description "cpu nice min"; } leaf max { config "false"; type uint16; description "cpu nice max"; } leaf minInstant { config "false"; type uint64; description "cpu nice min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu nice max instant"; } leaf stats { config "false"; type uint64; description "cpu nice stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous nice stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_Idle-group { description "system total"; leaf avg { config "false"; type uint16; description "cpu idle stat"; } leaf min { config "false"; type uint16; description "cpu idle min"; } leaf max { config "false"; type uint16; description "cpu idle max"; } leaf minInstant { config "false"; type uint64; description "cpu Idle min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu Idle max instant"; } leaf stats { config "false"; type uint64; description "cpu idle stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous idle stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_Wait-group { description "system wait"; leaf avg { config "false"; type uint16; description "cpu wait stat"; } leaf min { config "false"; type uint16; description "cpu wait min"; } leaf max { config "false"; type uint16; description "cpu wait max"; } leaf minInstant { config "false"; type uint64; description "cpu wait min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu wait max instant"; } leaf stats { config "false"; type uint64; description "cpu wait stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous wait stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_Irq-group { description "system Irq"; leaf avg { config "false"; type uint16; description "cpu irq stat"; } leaf min { config "false"; type uint16; description "cpu irq min"; } leaf max { config "false"; type uint16; description "cpu irq max"; } leaf minInstant { config "false"; type uint64; description "cpu irq min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu irq max instant"; } leaf stats { config "false"; type uint64; description "cpu irq stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous irq stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_Softirq-group { description "system Irq"; leaf avg { config "false"; type uint16; description "cpu softirq stat"; } leaf min { config "false"; type uint16; description "cpu softirq min"; } leaf max { config "false"; type uint16; description "cpu softirq max"; } leaf minInstant { config "false"; type uint64; description "cpu softirq min instant"; } leaf maxInstant { config "false"; type uint64; description "cpu softirq max instant"; } leaf stats { config "false"; type uint64; description "cpu softirq stats"; } leaf pct { config "false"; type uint16; description "cpu instantaneous softirq stats"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_SysMem-group { description "system memory"; leaf total { config "false"; type uint64; description "Total memory in the system represented as an integer"; } leaf reserved { config "false"; type uint64; description "Reserved memory for system use, in Kilobytes"; } leaf memstatus { config "false"; type string; description "Memory status of the overall system. Indicates OK or not OK"; } leaf buffers { config "false"; type uint64; description "Memory in buffer cache, in kilobytes"; } leaf cached { config "false"; type uint64; description "Memory in page cache exclude swap cached, in kilobytes"; } leaf name { config "false"; type naming_Name256; description "Name"; } // System memory Usage container sysmemusage-items { uses proc_SysMemUsage-group; description "system memory usage"; } // System Free memory container sysmemfree-items { uses proc_SysMemFree-group; description "system free memory"; } // System Used memory container sysmemused-items { uses proc_SysMemUsed-group; description "system used memory"; } } grouping proc_SysMemUsage-group { description "system memory usage"; leaf min { config "false"; type decimal64 { fraction-digits 6; } description "percentage of system memory used. Recorded minimum value."; } leaf timemin { config "false"; type uint64; description "Time stamp at when minimum memory usage was recorded."; } leaf max { config "false"; type decimal64 { fraction-digits 6; } description "percentage of system memory used. Recorded maximum value."; } leaf timemax { config "false"; type uint64; description "Time stamp at when maximum memory usage recorded."; } leaf avg { config "false"; type decimal64 { fraction-digits 6; } description "Average usage of system memory."; } leaf curr { config "false"; type decimal64 { fraction-digits 6; } description "percentage of system memory used at this instant."; } leaf interval { config "false"; type string; description "Interval at which data is collected."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_SysMemFree-group { description "system free memory"; leaf min { config "false"; type uint64; description "Recorded minimum free memory of system."; } leaf timemin { config "false"; type uint64; description "Time stamp at when minimum free memory recorded."; } leaf max { config "false"; type uint64; description "Recorded maximum free memory of system."; } leaf timemax { config "false"; type uint64; description "Time stamp at when maximum free memory recorded."; } leaf avg { config "false"; type uint64; description "Average free memory of system."; } leaf curr { config "false"; type uint64; description "Free memory of the system at this instant."; } leaf interval { config "false"; type string; description "Interval at which data is collected."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_SysMemUsed-group { description "system used memory"; leaf min { config "false"; type uint64; description "Recorded minimum used memory of system."; } leaf timemin { config "false"; type uint64; description "Time stamp at when minimum system memory is used."; } leaf max { config "false"; type uint64; description "Recorded maximum used memory of system."; } leaf timemax { config "false"; type uint64; description "Time stamp at when maximum system memory is used."; } leaf avg { config "false"; type uint64; description "Average used memory of system."; } leaf curr { config "false"; type uint64; description "Used memory of the system at this instant."; } leaf interval { config "false"; type string; description "Interval at which data is collected."; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping proc_ExitProcEntity-group { description "Exit Proc Entity"; leaf name { config "false"; type naming_Name256; description "Name"; } // Service entry in the system container proc-items { list ExitProcEntry-list { config "false"; key "key"; uses proc_ExitProcEntry-group; description "Exit Process Entry list"; } description "Exit Process Entry"; } } grouping proc_ExitProcEntry-group { description "Exit Process Entry"; leaf key { config "false"; type uint32; description "key index"; } leaf pid { config "false"; type uint32; description "Current pid of process."; } leaf procName { config "false"; type string; description "Name of the process."; } leaf exitReason { config "false"; type uint32; description "service last exit reason"; } leaf exitTime { config "false"; type uint64; description "Epoch time at when process exited."; } leaf sysmgrSvc { config "false"; type boolean; description "Is process owned by sysmgr?"; } leaf normalExit { config "false"; type boolean; description "Is a normal exit?"; } leaf coreExist { config "false"; type boolean; description "Core existence in system."; } leaf stackExist { config "false"; type boolean; description "Stack info available in crash file."; } } grouping proc_Entity-group { description "Process Entity"; // Maximum memory allocated for the system // Ephemeral data leaf maxMemAlloc { config "false"; type proc_ProcMem; description "Maximum Memory Allocated"; } // Free memory in the system // Ephemeral data leaf memFree { config "false"; type proc_ProcMem; description "Free Memory"; } // CPU Usage in the system // Ephemeral data leaf cpuPct { config "false"; type proc_PerUsage; description "CPU Usage"; } leaf name { config "false"; type naming_Name256; description "Name"; } // Process entry in the system // Ephemeral data container process-items { // Ephemeral data list Entry-list { config "false"; key "id"; uses proc_Entry-group; description "Process Entry list"; } description "Process Entry"; } } grouping proc_Entry-group { description "Process Entry"; // Process id // Ephemeral data leaf id { config "false"; type proc_ProcId; description "Process id of process. Represented in an integer value"; } // Process name // Ephemeral data leaf processName { config "false"; type proc_ProcessName; description "Process name represented as a string"; } // Start count of the process // Ephemeral data leaf startCnt { config "false"; type proc_StartCnt; description "Number of times the process is started"; } // Program counter // Ephemeral data leaf pc { config "false"; type proc_ProgCntr; description "Address of the program counter represented in integer."; } // Stack pointer // Ephemeral data leaf esp { config "false"; type proc_Stack; description "Process stack pointer represented as an integer address"; } // Process Type leaf processType { config "false"; type proc_ProcessType; description "Type to indicate whether the process is a vdc-local/vdc-global/non-sysmgr, represented as an enum"; } // Maximum memory allocated for a process // Ephemeral data leaf maxMemAlloc { config "false"; type proc_ProcMem; description "Maximum memory allocated by the process"; } // Maximum memory used by a process leaf memUsed { config "false"; type proc_ProcMem; description "Maximum memory used by the process"; } // Operational state for a process // Ephemeral data leaf operState { config "false"; type proc_OperState; description "State to indicate process status[up/down], represented as an enum"; } // Physical memory used by a process // Ephemeral data leaf phyMem { config "false"; type proc_ProcMem; description "Actual real physical memory used by the process (ram)"; } // PSS memory used by a process // Ephemeral data leaf memShared { config "false"; type proc_ProcMem; description "PSS memory used by the process(ram)"; } // Ephemeral data leaf procArg { config "false"; type string; description "Argument list passed to the process"; } // Ephemeral data leaf startTime { config "false"; type uint64; description "Start time of process,reported as nano seconds since unix epoch."; } // Ephemeral data leaf upTime { config "false"; type uint64; description "Amount of time elapsed sine process started,expressed in timetick."; } // Ephemeral data leaf cpuUsgUsr { config "false"; type uint64; description "Amount of CPU time used in user mode, expressed in timetick."; } // Ephemeral data leaf cpuUsgSys { config "false"; type uint64; description "Amount of CPU time used in kernal mode, expressed in timetick."; } // Process CPU utilization // Ephemeral data leaf cpuUtil { config "false"; type proc_PerUsage; description "Overall CPU time consumed by this process expressed in percentage."; } // Process Memory Utilization // Ephemeral data leaf memUtil { config "false"; type proc_PerUsage; description "Utilization of RAM by this process expressed in percentage."; } // Ephemeral data leaf cpuUtil5sec { config "false"; type decimal64 { fraction-digits 6; } description "CPU Utilization of the process for the last 5 second, represented as percent"; } // Ephemeral data leaf cpuUtil1min { config "false"; type decimal64 { fraction-digits 6; } description "CPU Utilization of the process for the last 1 minute, represented as percent"; } // Ephemeral data leaf cpuUtil5min { config "false"; type decimal64 { fraction-digits 6; } description "CPU Utilization of the process for the last 5 minute, represented as percent"; } // Priority of the process // Ephemeral data leaf priority { config "false"; type proc_ProcPriority; description "priority of the process, with which it is started"; } // Ephemeral data leaf avgCpuUtil { config "false"; type uint32; description "Average CPU Util for the process in microsecond"; } leaf name { config "false"; type naming_Name256; description "Name"; } } grouping rpm_Entity-group { description "Route Policy Map Entity"; // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } container inst-items { uses rpm_Inst-group; description "Instance of route policy map"; } // Route control rule for extended community lists container rtextcom-items { list Rule-list { key "name"; uses rtextcom_Rule-group; description "Rule list"; } description "Rule"; } // Route control rule for large community lists container rtlargecom-items { list Rule-list { key "name"; uses rtlargecom_Rule-group; description "Rule list"; } description "Rule"; } // Route control rule for access lists container accesslist-items { list Rule-list { key "name"; uses rtlist_Rule-group; description "Rule list"; } description "Rule"; } // Route control rule for mac-lists container maclist-items { list RuleMac-list { key "name"; uses rtmaclist_RuleMac-group; description "Mac Rule list"; } description "Mac Rule"; } // Rpm internal use container rpminternal-items { uses rtmap_RpmInternalUse-group; description "Internal MO to keeptrack of required details"; } // Route map rule container rtmap-items { list Rule-list { key "name"; uses rtmap_Rule-group; description "Rule list"; } description "Rule"; } // Expanded Community List container expcommlist-items { list ExpandedComList-list { key "regex expcommname"; uses rtmap_ExpandedComList-group; description "Rule list"; } description "Rule"; } // Route control rule for V4 prefix lists container pfxlistv4-items { list RuleV4-list { key "name"; uses rtpfx_RuleV4-group; description "IPv4 Rule list"; } description "IPv4 Rule"; } // Route control rule for V6 prefix lists container pfxlistv6-items { list RuleV6-list { key "name"; uses rtpfx_RuleV6-group; description "IPv6 Rule list"; } description "IPv6 Rule"; } // Route control rule for regular community lists container rtregcom-items { list Rule-list { key "name"; uses rtregcom_Rule-group; description "Rule list"; } description "Rule"; } } grouping rpm_Inst-group { description "Instance of route policy map"; // Object to hold RPM policy data stored at interface level container rpmif-items { list RpmIf-list { key "id"; uses rpm_RpmIf-group; description "RPM policy data at Interface level list"; } description "RPM policy data at Interface level"; } // Object to hold RPM v6 policy data stored at interface level container rpmv6if-items { list Rpmv6If-list { key "id"; uses rpm_Rpmv6If-group; description "RPM v6 policy data at Interface level list"; } description "RPM v6 policy data at Interface level"; } // Route map global config container rmapvalidateapplied-items { uses rpm_RoutemapValidateApplied-group; description "Blocking functionality of route-map deletion when used by client"; } } grouping rpm_RpmIf-group { description "RPM policy data at Interface level"; leaf id { type nw_IfId; description "Interface id over which the pbr policy is configured"; } leaf rmapname { type string { length "0..63"; } description "IP Route map Policy Name"; } // Config error in this MO leaf configError { config "false"; type rpm_ConfigErr; description "config Error associated with this MO"; } } grouping rpm_Rpmv6If-group { description "RPM v6 policy data at Interface level"; leaf id { type nw_IfId; description "Interface id over which the pbr policy is configured"; } leaf rmapname { type string { length "0..63"; } description "IP Route map Policy Name"; } // Config error in this MO leaf configError { config "false"; type rpm_ConfigErr; description "config Error associated with this MO"; } } grouping rpm_RoutemapValidateApplied-group { description "Blocking functionality of route-map deletion when used by client"; // Route map deletion block leaf blockDelete { type rpm_KnobSt; description "Enable or disable the blocking functionality"; } } grouping rtextcom_Rule-group { description "Rule"; leaf name { type pol_ObjName { length "0..64"; } description "Name"; } // Mode leaf mode { type rtcom_Mode; description "Mode"; } // Extended community list entry container ent-items { list Entry-list { key "order"; uses rtextcom_Entry-group; description "Entry list"; } description "Entry"; } container rtExtCommAtt-items { uses rtmap_RtExtCommAtt_target-group; description "Extended Community Attachment"; } } grouping rtextcom_Entry-group { description "Entry"; // Order leaf order { type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { type rtflt_Action; description "Action"; } leaf regex { type string { pattern ".*[^a-zA-Z~!#%@`;]{0,63}.*"; } description "Regular Expression"; } // Item in the community list container item-items { list Item-list { key "scope community"; uses rtextcom_Item-group; description "Item list"; } description "Item"; } // Extended Rmac community container extrmac-items { list ExtRmac-list { key "commRmac"; uses rtextcom_ExtRmac-group; description "Extended community Router MAC list"; } description "Extended community Router MAC"; } } grouping rtextcom_Item-group { description "Item"; // type leaf type { type rtextcom_Type; description "Type"; } // Scope leaf scope { type rtextcom_Scope; description "Scope"; } leaf community { type mtx_array_community; description "Community"; } } grouping rtextcom_ExtRmac-group { description "Extended community Router MAC"; leaf commRmac { type address_Mac; description "RMAC Community Value"; } } grouping rtlargecom_Rule-group { description "Rule"; leaf name { type pol_ObjName { length "0..64"; } description "Name"; } // Large community list entry container ent-items { list Entry-list { key "order"; uses rtlargecom_Entry-group; description "Entry list"; } description "Entry"; } container rtrtmapLargeCommAtt-items { list RtRtmapLargeCommAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapLargeCommAtt_target-group; description "Large Community Attachment list"; } description "Large Community Attachment"; } } grouping rtlargecom_Entry-group { description "Entry"; // Order leaf order { type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { type rtflt_Action; description "Action"; } leaf regex { type string { pattern ".*[^a-zA-Z~!#%@`;]{0,63}.*"; } description "Regular Expression"; } // Item in the large community list container item-items { list Item-list { key "community"; uses rtlargecom_Item-group; description "Item list"; } description "Item"; } } grouping rtlargecom_Item-group { description "Item"; leaf community { type mtx_array_community; description "Community"; } } grouping rtlist_Rule-group { description "Rule"; leaf name { type pol_ObjName { length "1..63"; } description "Name"; } // Prefix list entry definition container ent-items { list Entry-list { key "order"; uses rtlist_Entry-group; description "Entry list"; } description "Entry"; } container rtrtmapRtDstAccAtt-items { list RtRtmapRtDstAccAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtDstAccAtt_target-group; description "Access List Attachment list"; } description "Access List Attachment"; } container rtrtmapRtDstV6AccAtt-items { list RtRtmapRtDstV6AccAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtDstV6AccAtt_target-group; description "Access List Attachment list"; } description "Access List Attachment"; } container rtrtmapRtAsPathAccAtt-items { list RtRtmapRtAsPathAccAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtAsPathAccAtt_target-group; description "Access List Attachment list"; } description "Access List Attachment"; } container rtrtmapRtAsnAsPathAccAtt-items { list RtRtmapRtAsnAsPathAccAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtAsnAsPathAccAtt_target-group; description "Access List Attachment list"; } description "Access List Attachment"; } } grouping rtlist_Entry-group { description "Entry"; // Order leaf order { type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { type rtflt_Action; description "Action"; } leaf regex { type string { pattern ".*[^a-zA-Z~!#%@`;]{0,63}.*"; } description "Regular Expression"; } } grouping rtmaclist_RuleMac-group { description "Mac Rule"; leaf name { type pol_ObjName { length "0..63"; } description "Name"; } // Prefix list entry definition container ent-items { list Entry-list { key "order"; uses rtmaclist_Entry-group; description "Entry list"; } description "Entry"; } container rtrtmapRtMacListAtt-items { list RtRtmapRtMacListAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtMacListAtt_target-group; description "Mac List list"; } description "Mac List"; } } grouping rtmaclist_Entry-group { description "Entry"; leaf macAddr { type address_Mac; description "Mac Address"; } leaf macAddrMask { type address_Mac; description "Mac Address Mask"; } // Order leaf order { type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { type rtflt_Action; description "Action"; } } grouping rtmap_RpmInternalUse-group { description "Internal MO to keeptrack of required details"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Route map refcount config container rmapapplied-items { list RmapApplied-list { config "false"; key "rmap"; uses rtmap_RmapApplied-group; description "Route-map used by the client list"; } description "Route-map used by the client"; } } grouping rtmap_RmapApplied-group { description "Route-map used by the client"; // Route map name leaf rmap { config "false"; type rtmap_RmapName; description "Route-map name used by the client"; } // reference count config container clientinfo-items { list ClientInfo-list { config "false"; key "clientName"; uses rtmap_ClientInfo-group; description "Route-map used by the client list"; } description "Route-map used by the client"; } } grouping rtmap_ClientInfo-group { description "Route-map used by the client"; // Client name leaf clientName { config "false"; type rtmap_ClientName; description "client that is in association with route-map"; } // number of times client uses this routemap leaf refCount { config "false"; type rtmap_RefCountVal; description "number of times the client uses this route-map"; } } grouping rtmap_Rule-group { description "Rule"; // Route map pbr-statistics leaf pbrStatistics { type rtmap_AdminSt; description "Route map pbr-statistics"; } leaf name { type pol_ObjName { length "0..63"; } description "Name"; } // Route map entries container ent-items { list Entry-list { key "order"; uses rtmap_Entry-group; description "Entry list"; } description "Entry"; } } grouping rtmap_Entry-group { description "Entry"; // Load Sharing v4 leaf loadShareV4 { type rtmap_AdminSt; description "Load Sharing V4"; } // Load Sharing v6 leaf loadShareV6 { type rtmap_AdminSt; description "Load Sharing V6"; } // Force Order v4 leaf forceOrderV4 { type rtmap_AdminSt; description "Force Order V4"; } // Force Order v6 leaf forceOrderV6 { type rtmap_AdminSt; description "Force Order V6"; } // Drop On Fail v4 leaf dropOnFailV4 { type rtmap_AdminSt; description "Drop On Fail V4 for v4 nexthop"; } // Drop On Fail v6 leaf dropOnFailV6 { type rtmap_AdminSt; description "Drop On Fail V6 for v6 nexthop"; } // Next Hop Type V4 leaf verifyAvailabilityV4 { type rtmap_AdminSt; description "Next Hop with V4 Verify Availability"; } // Next Hop Type V6 leaf verifyAvailabilityV6 { type rtmap_AdminSt; description "Next Hop with V6 Verify Availability"; } // Default Next Hop Type V4 leaf setDefaultNhV4 { type rtmap_AdminSt; description "Default V4 Next-hop Address"; } // Default Next Hop Type V6 leaf setDefaultNhV6 { type rtmap_AdminSt; description "Default V6 Next-hop Address"; } // Next Hop V4 with set VRF leaf setVrfV4 { type rtmap_AdminSt; description "Enable vrf based set ipv4 next-hop resolution"; } // Next Hop V6 with set VRF leaf setVrfV6 { type rtmap_AdminSt; description "Enable vrf based set ipv6 next-hop resolution"; } // Config error in this MO leaf configError { config "false"; type rtmap_ConfigErr; description "config Error associated with this MO"; } leaf descr { type naming_Descr { length "0..90"; } description "descr"; } // Order leaf order { type rtflt_Order { range "0..65535"; } description "Order"; } // Action leaf action { type rtflt_Action; description "Action"; } // Match rule based on regular communities container mregcomm-items { uses rtmap_MatchRegComm-group; description "Match on Regular Community"; } // Match rule based on extended communities container mextcomm-items { uses rtmap_MatchExtComm-group; description "Match on Extended Community"; } // Match rule based on large communities container mlargecomm-items { uses rtmap_MatchLargeComm-group; description "Match on Large Community"; } // Match rule based on route destinations container mrtdst-items { uses rtmap_MatchRtDst-group; description "Match on Route Destination"; } // Match rule based on IPv6 route destinations container mrtdstv6-items { uses rtmap_MatchRtDstV6-group; description "Match on V6 Route Destination"; } // Match rule based on ipv4 multicast attributes container mipv4mcast-items { uses rtmap_MatchIPv4Mcast-group; description "Match on IPv4 Multicast attributes"; } // Match rule based on ipv6 multicast attributes container mipv6mcast-items { uses rtmap_MatchIPv6Mcast-group; description "Match on IPv6 Multicast attributes"; } // Match rule based on route nexthops container mrtnh-items { uses rtmap_MatchRtNh-group; description "Match on Route Nexthop"; } // Match rule based on route nexthops ipv6 container mrtnhv6-items { uses rtmap_MatchRtNhV6-group; description "Match on Route Nexthop Ipv6"; } // Match rule based on route sources container mrtsrc-items { uses rtmap_MatchRtSrc-group; description "Match on Route Source"; } // Match rule based on route sources ipv6 container mrtsrcv6-items { uses rtmap_MatchRtSrcV6-group; description "Match on Route Source ipv6"; } // Match rule based on route types container mrttype-items { list MatchRtType-list { key "routeT"; uses rtmap_MatchRtType-group; description "Match on Route Types list"; } description "Match on Route Types"; } // Match rule based on route tag container mrttag-items { list MatchRtTag-list { key "tag"; uses rtmap_MatchRtTag-group; description "Match on Route Tag list"; } description "Match on Route Tag"; } // Match rule based on source protocol container msrcprot-items { list MatchSrcProto-list { key "proto"; uses rtmap_MatchSrcProto-group; description "Match on Route ASN list"; } description "Match on Route ASN"; } // Match rule based on pervasive routes container mrtpervasive-items { uses rtmap_MatchRtPervasive-group; description "Match on Route Pervasive"; } // Match rule based on AS Path Access List container mrtacclist-items { uses rtmap_MatchAsPathAccessList-group; description "Match on AS Path Access List"; } // Match rule based on ASN AS Path Access List container mrtasnacclist-items { uses rtmap_MatchAsnAsPathAccessList-group; description "Match on ASN AS Path Access List"; } // Match rule based on route metric container mrtmetric-items { list MatchRtMetric-list { key "measure deviation"; uses rtmap_MatchRtMetric-group; description "Match on Route Metric list"; } description "Match on Route Metric"; } // Match rule based on route asn container mrtasn-items { list MatchRtAsn-list { key "asn"; uses rtmap_MatchRtAsn-group; description "Match on Route Asn list"; } description "Match on Route Asn"; } // Match rule based on route Interface container mrtif-items { list MatchRtIf-list { key "id"; uses rtmap_MatchRtIf-group; description "Match on Route Interface list"; } description "Match on Route Interface"; } // Match rule based on Ospf-area container mrtospf-items { list MatchRtOspf-list { key "area"; uses rtmap_MatchRtOspf-group; description "Match on Ospf Area ID list"; } description "Match on Ospf Area ID"; } // Match rule based on mac-list container mrtmaclist-items { uses rtmap_MatchRtMacList-group; description "Match on Mac-list"; } // Match rule based on RPKI state container mrpki-items { uses rtmap_MatchRpki-group; description "Match on Resource Public Key Infrastructure states "; } // Route map Continue container scontinue-items { uses rtmap_Continue-group; description "Entry"; } // Set rule based on regular communities container sregcomm-items { uses rtmap_SetRegComm-group; description "Set Regular Community"; } // Set rule based on generic extended communities container sextcomm-items { uses rtmap_SetExtComm-group; description "Set Extended Community"; } // Set rule based on cost communities container sextcommcost-items { list SetExtCommCost-list { key "commCrit commId"; uses rtmap_SetExtCommCost-group; description "Set Extcommunity Cost list"; } description "Set Extcommunity Cost "; } // Set rule based on color community container sextcommcolor-items { uses rtmap_SetExtCommColor-group; description "Set Extcommunity Color "; } // Set rule based on rmac community container sextcommrmac-items { uses rtmap_SetExtCommRmac-group; description "Set Extcommunity RMAC "; } // Set rule based on large communities container slargecomm-items { uses rtmap_SetLargeComm-group; description "Set Large Community"; } // Set rule based on community list (for deletion) container scommlist-items { uses rtmap_SetCommList-group; description "Set Community"; } // Set rule based on community list (for deletion) container sextcommlist-items { uses rtmap_SetExtCommList-group; description "Set Ext Community"; } // Set rule based on large community list (for deletion) container slargecommlist-items { uses rtmap_SetLargeCommList-group; description "Set Large Community"; } // Set rule based on route targets communities container srtt-items { uses rtmap_SetRttComm-group; description "Set Route Target Community"; } // Set rule based on route distance container srtdist-items { uses rtmap_SetRtDist-group; description "Set Route Distance"; } // Set rule based on route tag container srttag-items { uses rtmap_SetRtTag-group; description "Set Route Tag"; } // Set rule based on weight container sweight-items { uses rtmap_SetWeight-group; description "Set Weight"; } // Set rule based on label-index container slblindex-items { uses rtmap_SetLabelIndex-group; description "Set LabelIndex"; } // Set rule based on preference container spref-items { uses rtmap_SetPref-group; description "Set Preference"; } // Set rule based on metric container smetric-items { uses rtmap_SetMetric-group; description "Set Metric"; } // Set rule based on metric type container smetrict-items { uses rtmap_SetMetricType-group; description "Set Metric Type"; } container sdamp-items { uses rtmap_SetDampeningType-group; description "Set Dampening"; } container sprec-items { uses rtmap_SetPrecedence-group; description "Set Precedence"; } container sprecv6-items { uses rtmap_SetV6Precedence-group; description "Set IPv6 Precedence"; } // Set rule based on ospf-nssa container snssa-items { uses rtmap_SetOspfNssa-group; description "Set Ospf Nssa"; } // Set rule based on ospf forwarding address container sfwdaddr-items { uses rtmap_SetOspfFwdAddr-group; description "Set Ospf Forwarding Address"; } // Set rule based on srte-policy container ssrtepolicy-items { uses rtmap_SetSrtePolicy-group; description "Set srte-policy"; } // Set rule based on ipv4/ipv6 next-hop srte-policy container snhsrtepolicy-items { uses rtmap_SetNhSrtePolicy-group; description "Set ipv4/ipv6 next-hop srte-policy"; } // Set rule based on next hop container nh-items { list SetNh-list { key "addr"; uses rtmap_SetNh-group; description "Set Nexthop list"; } description "Set Nexthop"; } // Set rule based on next hop peer-address container nhpa-items { uses rtmap_SetNhPeerAddr-group; description "Set Nexthop Peer Address"; } // Set rule based on as-path container setaspath-items { uses rtmap_SetAsPath-group; description "Set as-path attribute on the route with the given list of asn"; } // Set rule based on as-path replace container setaspathreplace-items { uses rtmap_SetAsPathReplace-group; description "Match as-path attribute in the route and replace it with the configured asn"; } // Set rule based on as-path prepend container setaspathprepend-items { uses rtmap_SetPrepend-group; description "Set Prepend"; } // Set Prepend Last As container setaspathlastas-items { uses rtmap_SetPrependLastAs-group; description "Set Prepend Last As"; } // Set Prepend Tag container setaspathtag-items { uses rtmap_SetAsPathTag-group; description "Set As Path Tag"; } // Set rule based on origin type container origin-items { uses rtmap_SetOrigin-group; description "Set Origin Type"; } // Set Ipv4 address Prefix list container sipv4pfxlist-items { uses rtmap_SetV4PrefixList-group; description "Set IPv4 address Prefix list"; } // Set Ipv6 address Prefix list container sipv6pfxlist-items { uses rtmap_SetV6PrefixList-group; description "Set IPv6 address Prefix list"; } // Set rule based on evpn gateway ipaddr container sevpn-items { uses rtmap_SetEvpn-group; description "Set Evpn Gateway Ip Addr and Ether Tag"; } // Set Path Selection container spselect-items { uses rtmap_SetPathSelection-group; description "Set As Path Tag"; } // set Interface container sintf-items { list SetIntf-list { key "if"; uses rtmap_SetIntf-group; description "Set Interface for route-map list"; } description "Set Interface for route-map"; } // Set rule based on ISIS level container sisislevel-items { uses rtmap_SetIsisLevel-group; description "Set ISIS level for route-map"; } // Set rule based on ESI configuration for Firewall Clustering container sesi-items { uses rtmap_SetEsi-group; description "Set ESI configuration for route-map to be used for Firewall Clustering"; } // Set rule based on difference in as-path-length value container saspathlendiff-items { uses rtmap_SetAsPathLengthDiff-group; description "set as-path-length difference"; } // Set rule based on difference in metric value container smetricdiff-items { uses rtmap_SetMetricDifference-group; description "set metric difference"; } // Set rule based on Maximum Paths container smaxpaths-items { uses rtmap_SetMaxPaths-group; description "Set rule based on Maximum Paths"; } // Set rule based on Load Share Value container sloadshare-items { uses rtmap_SetLoadShare-group; description "Set rule based on Load Share Value"; } // Set rule based on Load Share Value for multipath-equal-group container sloadsharempathequal-items { uses rtmap_SetLoadShareMpathEqualGroup-group; description "Set Load Share Value for multipath-equal-group"; } // Set rule based on Load Share Value for multipath-unequal-group container sloadsharempathunequal-items { uses rtmap_SetLoadShareMpathUnequalGroup-group; description "Set Load Share Value for multipath-unequal-group"; } } grouping rtmap_MatchRegComm-group { description "Match on Regular Community"; // criteria leaf criteria { type rtmap_Criteria; description "Criteria"; } container rsregCommAtt-items { list RsRegCommAtt-list { key "tDn"; uses rtmap_RsRegCommAtt_source-group; description "Regular Community Attachment list"; } description "Regular Community Attachment"; } } grouping rtmap_MatchExtComm-group { description "Match on Extended Community"; // criteria leaf criteria { type rtmap_Criteria; description "Criteria"; } container rsextCommAtt-items { list RsExtCommAtt-list { key "tDn"; uses rtmap_RsExtCommAtt_source-group; description "Extended Community Attachment list"; } description "Extended Community Attachment"; } } grouping rtmap_MatchLargeComm-group { description "Match on Large Community"; // criteria leaf criteria { type rtmap_Criteria; description "Criteria"; } container rslargeCommAtt-items { list RsLargeCommAtt-list { key "tDn"; uses rtmap_RsLargeCommAtt_source-group; description "Large Community Attachment list"; } description "Large Community Attachment"; } } grouping rtmap_MatchRtDst-group { description "Match on Route Destination"; // Config error in this MO leaf configError { config "false"; type rtmap_ConfigErr; description "config Error associated with this MO"; } container rsrtDstAtt-items { list RsRtDstAtt-list { key "tDn"; uses rtmap_RsRtDstAtt_source-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } container rsrtDstAccAtt-items { list RsRtDstAccAtt-list { key "tDn"; uses rtmap_RsRtDstAccAtt_source-group; description "Access List Attachment list"; } description "Access List Attachment"; } } grouping rtmap_MatchRtDstV6-group { description "Match on V6 Route Destination"; // Config error in this MO leaf configError { config "false"; type rtmap_ConfigErr; description "config Error associated with this MO"; } container rsrtDstV6Att-items { list RsRtDstV6Att-list { key "tDn"; uses rtmap_RsRtDstV6Att_source-group; description "IPv6 Prefix List Attachment list"; } description "IPv6 Prefix List Attachment"; } container rsrtDstV6AccAtt-items { list RsRtDstV6AccAtt-list { key "tDn"; uses rtmap_RsRtDstV6AccAtt_source-group; description "Access List Attachment list"; } description "Access List Attachment"; } } grouping rtmap_MatchIPv4Mcast-group { description "Match on IPv4 Multicast attributes"; leaf groupAddr { type address_Ip; description "multicast group prefix"; } leaf groupStartAddr { type address_Ip; description "multicast group start range"; } leaf groupEndAddr { type address_Ip; description "multicast group end range"; } leaf rp { type address_Ip; description "multicast rendezvous prefix"; } // rp type ASM/Bidir leaf rpType { type rtmap_rpTypeT; description "rp type ASM/Bidir"; } leaf sourceAddr { type address_Ip; description "multicast source prefix"; } } grouping rtmap_MatchIPv6Mcast-group { description "Match on IPv6 Multicast attributes"; leaf groupAddr { type address_Ip; description "multicast group prefix"; } leaf groupStartAddr { type address_Ip; description "multicast group start range"; } leaf groupEndAddr { type address_Ip; description "multicast group end range"; } leaf rp { type address_Ip; description "multicast rendezvous prefix"; } // rp type ASM/Bidir leaf rpType { type rtmap_rpTypeT; description "rp type ASM/Bidir"; } leaf sourceAddr { type address_Ip; description "multicast source prefix"; } } grouping rtmap_MatchRtNh-group { description "Match on Route Nexthop"; container rsrtNhAtt-items { list RsRtNhAtt-list { key "tDn"; uses rtmap_RsRtNhAtt_source-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } } grouping rtmap_MatchRtNhV6-group { description "Match on Route Nexthop Ipv6"; container rsrtNhV6Att-items { list RsRtNhV6Att-list { key "tDn"; uses rtmap_RsRtNhV6Att_source-group; description "Prefix List Attachment Ipv6 list"; } description "Prefix List Attachment Ipv6"; } } grouping rtmap_MatchRtSrc-group { description "Match on Route Source"; container rsrtSrcAtt-items { list RsRtSrcAtt-list { key "tDn"; uses rtmap_RsRtSrcAtt_source-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } } grouping rtmap_MatchRtSrcV6-group { description "Match on Route Source ipv6"; container rsrtSrcV6Att-items { list RsRtSrcV6Att-list { key "tDn"; uses rtmap_RsRtSrcV6Att_source-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } } grouping rtmap_MatchRtType-group { description "Match on Route Types"; // Route types leaf routeT { type rtmap_RouteT; description "Route Type"; } } grouping rtmap_MatchRtTag-group { description "Match on Route Tag"; // Route tag leaf tag { type rtmap_RouteTag; description "Route Tag"; } } grouping rtmap_MatchSrcProto-group { description "Match on Route ASN"; leaf proto { type string { length "1..32"; } description "Match Source Protocol"; } } grouping rtmap_MatchRtPervasive-group { description "Match on Route Pervasive"; // Route pervasive leaf pervasive { type rtmap_RoutePervasive; description "Pervasive"; } } grouping rtmap_MatchAsPathAccessList-group { description "Match on AS Path Access List"; container rsrtAsPathAccAtt-items { list RsRtAsPathAccAtt-list { key "tDn"; uses rtmap_RsRtAsPathAccAtt_source-group; description "Access List Attachment list"; } description "Access List Attachment"; } } grouping rtmap_MatchAsnAsPathAccessList-group { description "Match on ASN AS Path Access List"; container rsrtAsnAsPathAccAtt-items { list RsRtAsnAsPathAccAtt-list { key "tDn"; uses rtmap_RsRtAsnAsPathAccAtt_source-group; description "Access List Attachment list"; } description "Access List Attachment"; } } grouping rtmap_MatchRtMetric-group { description "Match on Route Metric"; // Route metric measure leaf measure { type rtmap_CommunityVal; description "Route Metric Measure"; } // Route metric deviation leaf deviation { type rtmap_CommunityVal; description "Route Metric Deviation"; } } grouping rtmap_MatchRtAsn-group { description "Match on Route Asn"; leaf asn { type string; description "Route Asn"; } } grouping rtmap_MatchRtIf-group { description "Match on Route Interface"; // Route asn leaf id { type nw_IfId; description "Route If"; } } grouping rtmap_MatchRtOspf-group { description "Match on Ospf Area ID"; // Route ospf leaf area { type rtmap_OSPFArea; description "OSPF Area"; } } grouping rtmap_MatchRtMacList-group { description "Match on Mac-list"; container rsrtMacListAtt-items { list RsRtMacListAtt-list { key "tDn"; uses rtmap_RsRtMacListAtt_source-group; description "Mac List list"; } description "Mac List"; } } grouping rtmap_MatchRpki-group { description "Match on Resource Public Key Infrastructure states "; // Metric Type leaf rpkiState { type rtmap_RpkiL; description "Resource Public Key Infrastructure state "; } } grouping rtmap_Continue-group { description "Entry"; // Continue leaf continue { type rtmap_Order; description "continue"; } } grouping rtmap_SetRegComm-group { description "Set Regular Community"; // Add To Existing Community leaf additive { type rtmap_AdminSt; description "Add To Existing Community"; } // No Community Attribute leaf noCommAttr { type rtmap_AdminSt; description "No Community Attribute"; } // Type leaf type { config "false"; type rtmap_SetT; description "Type"; } // Set criteria leaf setCriteria { type rtmap_SetCriteria; description "Criteria"; } // List of community values container scomm-items { list SetCommItem-list { key "community"; uses rtmap_SetCommItem-group; description "Set Community Item list"; } description "Set Community Item"; } // Item in the community list container item-items { list Item-list { key "community"; uses rtregcom_Item-group; description "Item list"; } description "Item"; } } grouping rtmap_SetCommItem-group { description "Set Community Item"; leaf community { type mtx_array_community; description "Community"; } } grouping rtregcom_Item-group { description "Item"; leaf community { type mtx_array_community; description "Community"; } } grouping rtmap_SetExtComm-group { description "Set Extended Community"; // Add To Existing Community leaf additive { type rtmap_AdminSt; description "Add To Existing Community"; } // No Community Attribute leaf noCommAttr { type rtmap_AdminSt; description "No Community Attribute"; } leaf scope { type rtextcom_Scope; description "Scope"; } // Type leaf type { config "false"; type rtmap_SetT; default "ext-gen-community"; description "Type"; } // Set criteria leaf setCriteria { type rtmap_SetCriteria; description "Criteria"; } // Item in the community list container item-items { list Item-list { key "scope community"; uses rtextcom_Item-group; description "Item list"; } description "Item"; } // List of community values container scomm-items { list SetCommItem-list { key "community"; uses rtmap_SetCommItem-group; description "Set Community Item list"; } description "Set Community Item"; } } grouping rtmap_SetExtCommCost-group { description "Set Extcommunity Cost "; // Set criteria for IGP or Pre-bestpath leaf commCrit { type rtmap_SetCriteria; description "Criteria"; } // Community Id leaf commId { type rtmap_CommunityId; description "Community Id"; } // Community Value leaf commValue { type rtmap_CommunityVal; description "Community Value"; } // Set criteria leaf setCriteria { type rtmap_SetCriteria; description "Criteria"; } } grouping rtmap_SetExtCommColor-group { description "Set Extcommunity Color "; leaf commValue { type uint32 { range "1..4294967295"; } description "Color Community Value"; } // Color only bit Value leaf coFlagValue { type rtmap_CoFlag; description "Color only flag Value"; } } grouping rtmap_SetExtCommRmac-group { description "Set Extcommunity RMAC "; leaf commRmac { type address_Mac; description "RMAC Community Value"; } } grouping rtmap_SetLargeComm-group { description "Set Large Community"; // Add To Existing Community leaf additive { type rtmap_AdminSt; description "Add To Existing Large Community"; } // No Community Attribute leaf noCommAttr { type rtmap_AdminSt; description "No Large Community Attribute"; } // Item in the large community list container item-items { list Item-list { key "community"; uses rtlargecom_Item-group; description "Item list"; } description "Item"; } } grouping rtmap_SetCommList-group { description "Set Community"; leaf name { type string { pattern ".*[!-~]{1,63}.*"; } description "Community list Name to configure"; } // Delete Matching Communities leaf delete { type rtmap_AdminSt; description "Delete Matching Communities"; } // Type leaf type { config "false"; type rtmap_SetT; default "list-community"; description "Type"; } // Set criteria leaf setCriteria { type rtmap_SetCriteria; description "Criteria"; } } grouping rtmap_SetExtCommList-group { description "Set Ext Community"; leaf name { type string { pattern ".*[!-~]{1,63}.*"; } description "Ext Community list Name to configure"; } // Delete Matching Communities leaf delete { type rtmap_AdminSt; description "Delete Matching Ext Communities"; } // Set criteria leaf setCriteria { type rtmap_SetCriteria; description "Criteria"; } } grouping rtmap_SetLargeCommList-group { description "Set Large Community"; leaf name { type string { pattern ".*[!-~]{1,63}.*"; } description "Large community list Name to configure"; } // Delete Matching Communities leaf delete { type rtmap_AdminSt; description "Delete Matching Large Communities"; } } grouping rtmap_SetRttComm-group { description "Set Route Target Community"; // Add To Existing Community leaf additive { type rtmap_AdminSt; description "Add To Existing Community"; } // Set criteria leaf setCriteria { type rtmap_SetCriteria; description "Criteria"; } // Item in the community list container item-items { list Item-list { key "scope community"; uses rtextcom_Item-group; description "Item list"; } description "Item"; } // List of community values container scomm-items { list SetCommItem-list { key "community"; uses rtmap_SetCommItem-group; description "Set Community Item list"; } description "Set Community Item"; } } grouping rtmap_SetRtDist-group { description "Set Route Distance"; // Route Administrative Distance for IGP or EBGP leaf dist { type rtmap_RouteDist; description "Distance"; } // Route Administrative Distance for Internal leaf distI { type rtmap_RouteDist; description "Distance internal"; } // Route Administrative Distance for local leaf distL { type rtmap_RouteDist; description "Distance local"; } } grouping rtmap_SetRtTag-group { description "Set Route Tag"; // Tag value leaf tag { type rtmap_RouteTag; description "Tag"; } } grouping rtmap_SetWeight-group { description "Set Weight"; // Weight value leaf weight { type rtmap_Weight; description "Weight"; } } grouping rtmap_SetLabelIndex-group { description "Set LabelIndex"; // Label Index value leaf index { type rtmap_Index; description "Label Index"; } } grouping rtmap_SetPref-group { description "Set Preference"; // Preference value leaf localPref { type rtmap_LocalPref; description "Local Preference"; } } grouping rtmap_SetMetric-group { description "Set Metric"; // Metric value for bandwidth leaf metric { type rtmap_MetricS; description "Metric"; } // Metric value for delay leaf metricD { type rtmap_MetricD; description "Metric delay"; } // Metric value for reliability leaf metricR { type rtmap_MetricR; description "Metric rlblty"; } // Metric value for load leaf metricL { type rtmap_MetricL; description "Metric load"; } // Metric value for mtu leaf metricM { type rtmap_MetricM; description "Metric mtu"; } // is BGP config leaf isBGP { type rtmap_Proto; description "is BGP config"; } } grouping rtmap_SetMetricType-group { description "Set Metric Type"; // Metric Type leaf metricT { type rtmap_MetricT; description "Metric Type"; } } grouping rtmap_SetDampeningType-group { description "Set Dampening"; // Dampening Halflife leaf halflife { type rtmap_HalfLife; description "Dampening Halfife"; } // Dampening Reuse leaf reuse { type rtmap_Reuse; description "Dampening Reuse"; } // Dampening Supress leaf supress { type rtmap_Supress; description "Dampening Supress"; } // Dampening Duration leaf duration { type rtmap_Duration; description "Dampening Duration"; } } grouping rtmap_SetPrecedence-group { description "Set Precedence"; // Precedence Name leaf precname { type rtmap_PrecName; description "Precedence Name"; } } grouping rtmap_SetV6Precedence-group { description "Set IPv6 Precedence"; // Precedence Name leaf precname { type rtmap_PrecName; description "Precedence Name"; } } grouping rtmap_SetOspfNssa-group { description "Set Ospf Nssa"; // Set type leaf type { type rtmap_NssaOnly; description "Type"; } } grouping rtmap_SetOspfFwdAddr-group { description "Set Ospf Forwarding Address"; leaf fwdAddr { type address_Ip; description "Forwarding Address"; } } grouping rtmap_SetSrtePolicy-group { description "Set srte-policy"; // Config error in this MO leaf configError { config "false"; type rtmap_ConfigErr; description "config Error associated with this MO"; } // srte-policy name leaf srtePolicyName { type kcmgr_name; description "Segment Routing TE Policy Name"; } leaf srteEndpoint { type address_Ip; description "Segment Routing TE Endpoint IPv4/v6 address"; } leaf srteColor { type uint64 { range "1..4294967295"; } description "Segment Routing TE Policy Color"; } } grouping rtmap_SetNhSrtePolicy-group { description "Set ipv4/ipv6 next-hop srte-policy"; leaf addr { type address_Ip; description "ipv4/ipv6 next-hop address"; } // Config error in this MO leaf configError { config "false"; type rtmap_ConfigErr; description "config Error associated with this MO"; } // srte-policy name leaf srtePolicyName { type kcmgr_name; description "Segment Routing TE Policy Name"; } leaf srteEndpoint { type address_Ip; description "Segment Routing TE Endpoint IPv4/v6 address"; } leaf srteColor { type uint64 { range "1..4294967295"; } description "Segment Routing TE Policy Color"; } } grouping rtmap_SetNh-group { description "Set Nexthop"; leaf addr { type address_Ip; description "Address"; } // Config error in this MO leaf configError { config "false"; type rtmap_ConfigErr; description "config Error associated with this MO"; } // Track id leaf trackId { type rtmap_SetTrackValue; description "Track id for Next Hop VA Address"; } // Set VRF name for NH resolution leaf vrf { type l3_VrfName; description "VRF over which given next-hop must be resolved"; } } grouping rtmap_SetNhPeerAddr-group { description "Set Nexthop Peer Address"; // IPv4 Next hop peer address leaf v4PeerAddr { type rtmap_AdminSt; description "Set Next Hop V4 Peer Address"; } // IPv6 Next hop peer address leaf v6PeerAddr { type rtmap_AdminSt; description "Set Next Hop V6 Peer Address"; } // IPv4 Next hop Unchanged leaf v4Unchange { type rtmap_AdminSt; description "Set IPv4 Next Hop Unchanged"; } // IPv6 Next hop Unchanged leaf v6Unchange { type rtmap_AdminSt; description "Set IPv6 Next Hop Unchanged"; } // IPv4 Next hop Redist Unchanged leaf v4RedistUnchange { type rtmap_AdminSt; description "Set IPv4 Next Hop Redist Unchanged"; } // IPv6 Next hop Redist Unchanged leaf v6RedistUnchange { type rtmap_AdminSt; description "Set IPv6 Next Hop Redist Unchanged"; } // Config error in this MO leaf configError { config "false"; type rtmap_ConfigErr; description "config Error associated with this MO"; } } grouping rtmap_SetAsPath-group { description "Set as-path attribute on the route with the given list of asn"; leaf asnList { type string { pattern ".*[0-9 \\.a-z-]*"; } description "set as-path attribute with asn list provided under this property. It can be a list of (4byte asn or local-as or remote-as separated by space) or none"; } } grouping rtmap_SetAsPathReplace-group { description "Match as-path attribute in the route and replace it with the configured asn"; leaf matchAsnList { type string { pattern ".*[0-9 ,\\.]*"; } description "4byte asn list(1-4294967295 | 1-65535[.(0-65535)]) separated by comma. Used to match with the as-path attribute in the route"; } leaf matchPrivateAs { type boolean; description "match private-as in aspath attribute of route"; } // Replace type leaf replaceType { type rtmap_ReplaceType; description "type of replacing asn with the matched asn in the aspath.Default is local asn"; } leaf replaceAsn { type string { pattern ".*[0-9\\.]*"; } description "4 byte replacing asn(1-4294967295 | 1-65535[.(0-65535)]) if replaceType is chosen as asn"; } } grouping rtmap_SetPrepend-group { description "Set Prepend"; leaf as { type string { pattern ".*[0-9 \\.]*"; } description "As Path Prepend"; } } grouping rtmap_SetPrependLastAs-group { description "Set Prepend Last As"; // As Path Last As leaf lastas { type rtmap_RouteLastAs; description "LastAs"; } } grouping rtmap_SetAsPathTag-group { description "Set As Path Tag"; // Set as path leaf tag { type rtmap_AdminSt; description "Set as path tag"; } } grouping rtmap_SetOrigin-group { description "Set Origin Type"; // Metric Type leaf originT { type rtmap_OriginT; description "Origin Type"; } // Remote ASN leaf asn { type rtcom_AS; description "Autonomous System Number"; } } grouping rtmap_SetV4PrefixList-group { description "Set IPv4 address Prefix list"; leaf ipv4PfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "IPv4 Address Prefix list name"; } } grouping rtmap_SetV6PrefixList-group { description "Set IPv6 address Prefix list"; leaf ipv6PfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "IPv6 Address Prefix list name"; } } grouping rtmap_SetEvpn-group { description "Set Evpn Gateway Ip Addr and Ether Tag"; leaf ip { type address_Ip; description "EVPN Gateway IP Address"; } // Gateway-ip type leaf gwType { type rtmap_GatewayT; description "EVPN Gateway Address Type"; } } grouping rtmap_SetPathSelection-group { description "Set As Path Tag"; // BGP path advertise leaf psAdvertise { type rtmap_PsType; description "Specifies BGP path Advertise"; } } grouping rtmap_SetIntf-group { description "Set Interface for route-map"; leaf if { type nw_IfId; description "set interface for route-map"; } } grouping rtmap_SetIsisLevel-group { description "Set ISIS level for route-map"; // Metric Type leaf level { type rtmap_IsisL; description "Metric Type for ISIS Level"; } } grouping rtmap_SetEsi-group { description "Set ESI configuration for route-map to be used for Firewall Clustering"; // ESI Setting leaf esiSetting { type rtmap_EsiL; description "ESI setting for Firewall Clustering"; } } grouping rtmap_SetAsPathLengthDiff-group { description "set as-path-length difference"; leaf value { type uint8 { range "1..255"; } description "Difference in as-path-length value"; } } grouping rtmap_SetMetricDifference-group { description "set metric difference"; leaf value { type uint16 { range "1..65535"; } description "Difference in Metric value"; } } grouping rtmap_SetMaxPaths-group { description "Set rule based on Maximum Paths"; leaf value { type uint8 { range "1..64"; } description "Set Value for Maximum Paths"; } } grouping rtmap_SetLoadShare-group { description "Set rule based on Load Share Value"; leaf value { type uint8 { range "1..255"; } description "Set Value for Load Share"; } } grouping rtmap_SetLoadShareMpathEqualGroup-group { description "Set Load Share Value for multipath-equal-group"; leaf value { type uint8 { range "1..255"; } description "Set Value for Load Share"; } } grouping rtmap_SetLoadShareMpathUnequalGroup-group { description "Set Load Share Value for multipath-unequal-group"; leaf value { type uint8 { range "1..255"; } description "Set Value for Load Share"; } } grouping rtmap_ExpandedComList-group { description "Rule"; leaf regex { type string { length "0..63"; } description "Expanded Community list Regular Expression"; } leaf expcommname { type string { length "0..63"; } description "Expanded Community list Name"; } // Deny or Permit leaf action { type rtmap_Action; description "Action"; } leaf name { type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping rtpfx_RuleV4-group { description "IPv4 Rule"; // Mode leaf mode { type rtpfx_IPv4Mode; description "Mode of ipv4 prefix-list"; } leaf name { type pol_ObjName { length "1..63"; } description "Name"; } leaf descr { type naming_Descr { length "0..90"; } description "descr"; } // Prefix list entry definition container ent-items { list Entry-list { key "order"; uses rtpfx_Entry-group; description "Entry list"; } description "Entry"; } container rtrtmapRtDstAtt-items { list RtRtmapRtDstAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtDstAtt_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } container rtrtmapRtDstV6Att-items { list RtRtmapRtDstV6Att-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtDstV6Att_target-group; description "IPv6 Prefix List Attachment list"; } description "IPv6 Prefix List Attachment"; } container rtrtmapRtNhAtt-items { list RtRtmapRtNhAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtNhAtt_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } container rtrtmapRtNhV6Att-items { list RtRtmapRtNhV6Att-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtNhV6Att_target-group; description "Prefix List Attachment Ipv6 list"; } description "Prefix List Attachment Ipv6"; } container rtrtmapRtSrcAtt-items { list RtRtmapRtSrcAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtSrcAtt_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } container rtrtmapRtSrcV6Att-items { list RtRtmapRtSrcV6Att-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtSrcV6Att_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } } grouping rtpfx_Entry-group { description "Entry"; leaf pfx { type address_Ip; description "Prefix"; } leaf mask { type address_Ip; description "mask"; } // criteria, exact match or inexact match leaf criteria { type rtpfx_Criteria; description "Criteria"; } // If the criteria is not an exact match, use a range to // describe the prefix list range leaf fromPfxLen { type l3_IpPfxLen; description "Start of Prefix Length"; } leaf toPfxLen { type l3_IpPfxLen; description "End of Prefix Length"; } // Order leaf order { type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { type rtflt_Action; description "Action"; } } grouping rtpfx_RuleV6-group { description "IPv6 Rule"; // Mode leaf mode { type rtpfx_IPv6Mode; description "Mode of ipv6 prefix-list"; } leaf name { type pol_ObjName { length "1..63"; } description "Name"; } leaf descr { type naming_Descr { length "0..90"; } description "descr"; } // Prefix list entry definition container ent-items { list Entry-list { key "order"; uses rtpfx_Entry-group; description "Entry list"; } description "Entry"; } container rtrtmapRtDstAtt-items { list RtRtmapRtDstAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtDstAtt_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } container rtrtmapRtDstV6Att-items { list RtRtmapRtDstV6Att-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtDstV6Att_target-group; description "IPv6 Prefix List Attachment list"; } description "IPv6 Prefix List Attachment"; } container rtrtmapRtNhAtt-items { list RtRtmapRtNhAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtNhAtt_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } container rtrtmapRtNhV6Att-items { list RtRtmapRtNhV6Att-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtNhV6Att_target-group; description "Prefix List Attachment Ipv6 list"; } description "Prefix List Attachment Ipv6"; } container rtrtmapRtSrcAtt-items { list RtRtmapRtSrcAtt-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtSrcAtt_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } container rtrtmapRtSrcV6Att-items { list RtRtmapRtSrcV6Att-list { config "false"; key "tDn"; uses rtmap_RtRtmapRtSrcV6Att_target-group; description "Prefix List Attachment list"; } description "Prefix List Attachment"; } } grouping rtregcom_Rule-group { description "Rule"; leaf name { type pol_ObjName { length "0..64"; } description "Name"; } // Mode leaf mode { type rtcom_Mode; description "Mode"; } // Regular community list entry container ent-items { list Entry-list { key "order"; uses rtregcom_Entry-group; description "Entry list"; } description "Entry"; } container rtRegCommAtt-items { uses rtmap_RtRegCommAtt_target-group; description "Regular Community Attachment"; } } grouping rtregcom_Entry-group { description "Entry"; // Order leaf order { type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { type rtflt_Action; description "Action"; } leaf regex { type string { pattern ".*[^a-zA-Z~!#%@`;]{0,63}.*"; } description "Regular Expression"; } // Item in the community list container item-items { list Item-list { key "community"; uses rtregcom_Item-group; description "Item list"; } description "Item"; } } grouping srcintf_Entity-group { description " IP Source Interface"; container dns-items { list DnsSrcIf-list { key "vrf"; uses srcintf_DnsSrcIf-group; description "DNS Source Interface list"; } description "DNS Source Interface"; } container tftp-items { list Tftp-list { key "vrf"; uses srcintf_Tftp-group; description "TFTP Source Interface list"; } description "TFTP Source Interface"; } container ftp-items { list Ftp-list { key "vrf"; uses srcintf_Ftp-group; description "FTP Source Interface list"; } description "FTP Source Interface"; } container telnet-items { list Telnet-list { key "vrf"; uses srcintf_Telnet-group; description "Telnet Source Interface list"; } description "Telnet Source Interface"; } container ssh-items { list Ssh-list { key "vrf"; uses srcintf_Ssh-group; description "SSH Source Interface list"; } description "SSH Source Interface"; } container ping-items { list Ping-list { key "vrf"; uses srcintf_Ping-group; description "Ping Source Interface list"; } description "Ping Source Interface"; } container traceroute-items { list Traceroute-list { key "vrf"; uses srcintf_Traceroute-group; description "Traceroute Source Interface list"; } description "Traceroute Source Interface"; } container http-items { list Http-list { key "vrf"; uses srcintf_Http-group; description "Http Source Interface list"; } description "Http Source Interface"; } } grouping srcintf_DnsSrcIf-group { description "DNS Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "DNS Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "DNS Source VRF"; } } grouping srcintf_Tftp-group { description "TFTP Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "TFTP Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "TFTP Source VRF"; } } grouping srcintf_Ftp-group { description "FTP Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "FTP Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "FTP Source VRF"; } } grouping srcintf_Telnet-group { description "Telnet Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "Telnet Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "Telnet Source VRF"; } } grouping srcintf_Ssh-group { description "SSH Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "SSH Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "SSH Source VRF"; } } grouping srcintf_Ping-group { description "Ping Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "Ping Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "Ping Source VRF"; } } grouping srcintf_Traceroute-group { description "Traceroute Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "Traceroute Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "Traceroute Source VRF"; } } grouping srcintf_Http-group { description "Http Source Interface"; // Source interface leaf srcIf { type nw_IfId; description "Http Source Interface"; } // vrf name leaf vrf { type l3_VrfName; description "Http Source VRF"; } } grouping swpkgs_Install-group { description "Software packages Install"; // Information about the packages present in the system container rpminfo-items { list RpmInfo-list { config "false"; key "name"; uses swpkgs_RpmInfo-group; description "RPM Packages in the system list"; } description "RPM Packages in the system"; } // TPS request from the user container configuretps-items { uses swpkgs_ConfigureTps-group; description "Control TPS installation"; } // Information about TPS installation container tpsinstall-items { uses swpkgs_TpsInstall-group; description "Informationn about TPS installation"; } } grouping swpkgs_RpmInfo-group { description "RPM Packages in the system"; leaf name { config "false"; type string; description "Name of Package"; } // Operational state of the package leaf operSt { config "false"; type swpkgs_OperState; description "Operational status"; } // Last Package action leaf lastAction { config "false"; type swpkgs_PackageAction; description "Last action on the package"; } // Last Action Result on the package leaf lastActionResult { config "false"; type swpkgs_PackageActionResult; description "Result of last action"; } leaf lastActionFailedReason { config "false"; type string; description "Last action failed reason"; } leaf signatureStatus { config "false"; type string; description "Signature status of package"; } } grouping swpkgs_ConfigureTps-group { description "Control TPS installation"; // To enable/disable TPS installation leaf action { type swpkgs_TpsAction; description "Action on TPS installation"; } leaf lastActionStatus { config "false"; type string; description "Status/Result of last action"; } } grouping swpkgs_TpsInstall-group { description "Informationn about TPS installation"; leaf state { type string; description "State of TPS installation"; } } grouping sysmgr_Entity-group { description "Entity"; // System state container sys-items { uses sysmgr_SysSt-group; description "System State"; } // Holds system control plane entity information container sysCfg-items { uses sysmgr_SysCfgSt-group; description "MDP Replay Ascii Configuration mode and Operational Data Publish Status"; } // MO definition to configure sysmgr container config-items { uses sysmgr_Config-group; description "To configure sysmgr properties."; } // Holder for cores policy container core-items { list Cores-list { config "false"; key "dest"; uses sysmgrp_Cores-group; description "Core File Policy list"; } description "Core File Policy"; } } grouping sysmgr_SysSt-group { description "System State"; // Sup state container sup-items { list SupSt-list { config "false"; key "type"; uses sysmgr_SupSt-group; description "Supervisor State list"; } description "Supervisor State"; } // Firmware state container image-items { list FwSt-list { config "false"; key "type"; uses sysmgr_FwSt-group; description "Firmware State list"; } description "Firmware State"; } } grouping sysmgr_SupSt-group { description "Supervisor State"; // Local/Remote leaf type { config "false"; type sysmgr_SupT; description "Type"; } // Oper state leaf operSt { config "false"; type sysmgr_SupSt; description "Operational State"; } } grouping sysmgr_FwSt-group { description "Firmware State"; // Type of the firmware leaf type { config "false"; type sysmgr_FwT; description "Type"; } // The firmware mode in which we are running, either // it is recovery or regular mode leaf mode { config "false"; type sysmgr_FwMode; description "Mode"; } } grouping sysmgr_SysCfgSt-group { description "MDP Replay Ascii Configuration mode and Operational Data Publish Status"; // MDP Replay Ascii configuration mode leaf cfgMode { config "false"; type sysmgr_CfgMode; description "MDP Replay Ascii Configuration State. ['init']-Initial, ['replay']-Configuration replay started, ['done']-Configuration replay completed."; } // MDP operational data publish mode leaf operDataMode { config "false"; type sysmgr_OperDataMode; description "MDP Operational Data Publish Mode State. ['init']-Initial, ['publish']-Data publish started, ['done']-System ready or Box Online."; } } grouping sysmgr_Config-group { description "To configure sysmgr properties."; // Admin state to configure sysmgr param leaf adminSt { type sysmgr_CfgAdminSt; description "State to configure sysmgr properites"; } leaf traceMask { type sysmgr_TraceMask; default "0"; description "Mask to set sysmgr log trace(in hex)"; } // Operational state of trace setting leaf operSt { config "false"; type sysmgr_OperState; description "Operational status set by sysmgr"; } // Fast-reload timer value for network stabilization // cli:sh system fast-reload stabilization-timer leaf fastReloadTimer { type sysmgr_ReloadTimer; default "300"; description "Fast-reload timer value for network stabilization(in secs). Used only during fast-reload"; } // MO definition to configure system cores container systemcore-items { uses sysmgr_SystemCore-group; description "sysmgr configure system cores"; } } grouping sysmgr_SystemCore-group { description "sysmgr configure system cores"; // Admin state to configure sysmgr param leaf adminSt { type sysmgr_CoreAdminSt; description "State to configure sysmgr properites"; } leaf uriType { type sysmgr_CoreUriType; description "URI type of uri provided"; } leaf server { type string; description "Config server for shipping cores"; } leaf path { type string; description "Dir patch for shipping cores"; } leaf vrf { type string; description "VRF for shipping cores"; } // Operational state of system core setting leaf operSt { config "false"; type sysmgr_OperState; description "Operational status set by sysmgr"; } } grouping sysmgrp_Cores-group { description "Core File Policy"; leaf dest { config "false"; type string; description "Destination"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } // Clients can add their own data for entity correlation leaf ownerKey { config "false"; type naming_Descr; description "TBD"; } // Clients can add their own data, for example, to indicate who created this object leaf ownerTag { config "false"; type naming_Descr1024 { length "0..64"; pattern ".*[a-zA-Z0-9\\\\!#$%\\(\\)\\*,-./:;@ _\\{\\|\\}~\\?&\\+]*.*"; } description "TBD"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping sysmgr_ShowVersion-group { description "Show Version CLI"; leaf copyRight { config "false"; type string; description "Copy Right"; } leaf biosVersion { config "false"; type string; description "Bios Version"; } leaf nxosVersion { config "false"; type string; description "Nxos Version"; } leaf biosCompileTime { config "false"; type string; description "Bios Compile Time"; } leaf nxosImageFile { config "false"; type string; description "Nxos Image File"; } leaf nxosCompileTime { config "false"; type string; description "Nxos Compile Time"; } leaf bootflashSize { config "false"; type uint32; description "Bootflash Size"; } leaf kernelUptime { config "false"; type string; description "Kernel Uptime"; } leaf lastResetTime { config "false"; type string; description "Last Reset Time"; } leaf lastResetReason { config "false"; type string; description "Last Reset Reason"; } leaf lastResetSysVersion { config "false"; type string; description "Last Reset System Version"; } leaf lastResetService { config "false"; type string; description "Last Reset Service"; } leaf plugin { config "false"; type string; description "Plugin"; } leaf activePackage { config "false"; type string; description "Active Package"; } leaf lastResetEpochTime { config "false"; type uint64; description "Last reset time since Unix Epoch time"; } } grouping tcpudp_Entity-group { description "Tcpdp Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per tcpudp instance information. There is // only one instance of tcpudp running in the system today container inst-items { uses tcpudp_Inst-group; description "Tcpudp Instance"; } } grouping tcpudp_Inst-group { description "Tcpudp Instance"; // Set time to wait on new TCP connections leaf synWaitTime { type tcpudp_SynwaitTime; description "Set time to wait on new TCP connections"; } // Enable path-MTU discovery on TCP leaf pathMtuDiscovery { type nw_AdminSt; default "disabled"; description "Enable path-MTU discovery on TCP"; } // Setting up TCP Maximum Segment Size in Bytes leaf tcpMssBytes { type tcpudp_TCPMss; description "Set the Tcp Mss Byte"; } // Setting up TCP Socket Local Start Port Range leaf tcpStartPortRange { type tcpudp_TcpStartPort; description "Sockets Local Start Port Range"; } // Setting up TCP Socket Local End Port Range leaf tcpEndPortRange { type tcpudp_TcpEndPort; description "Sockets Local End Port Range"; } // Setting dscp value for ip dscp leaf dscpLop { type tcpudp_DscpLop; description "DSCP value for Locally Originated Packets"; } container localport-items { uses tcpudp_LocalPort-group; description "Sockets Local Port Range information"; } } grouping tcpudp_LocalPort-group { description "Sockets Local Port Range information"; leaf kstackStartPort { config "false"; type tcpudp_TcpStartPort; description "Kstack Start Port:"; } leaf kstackEndPort { config "false"; type tcpudp_TcpEndPort; description "Kstack End Port:"; } leaf netstackStartPort { config "false"; type tcpudp_TcpStartPort; description "Netstack Start Port:"; } leaf netstackEndPort { config "false"; type tcpudp_TcpEndPort; description "Netstack End Port:"; } leaf natStartPort { config "false"; type tcpudp_TcpStartPort; description "Nat Start Port:"; } leaf natEndPort { config "false"; type tcpudp_TcpEndPort; description "Nat End Port:"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping terminal_Terminal-group { description "Terminal"; // Line MO is the MO inside which type of line either vty or console // would be organize container ln-items { uses terminal_Line-group; description "line"; } } grouping terminal_Line-group { description "line"; // Console MO is to consolidate the console specific MO and its // properties which is propretary for the vsh session which is // spawned via console port container cons-items { uses terminal_Console-group; description "line type console"; } // VTY MO is to consolidate the VTY specific MO and its // properties which is propretary for the vsh session which is // spawned via mgmt/telnet ip to box container vty-items { uses terminal_Vty-group; description "line type vty"; } } grouping terminal_Console-group { description "line type console"; // Organizes the exec timeout specific properties container execTmeout-items { uses terminal_ExecTimeout-group; description "Configure exec timeout of terminal"; } // Organizes the console terminal width specific properties container wdth-items { uses terminal_Width-group; description "Configure terminal width"; } // Organizes the console terminal length specific properties container lgth-items { uses terminal_Length-group; description "Number of lines to be displayed on terminal"; } // Organizes the console terminal speed specific properties container speed-items { uses terminal_Speed-group; description "terminal console speed"; } // Organizes the databits number properties container databits-items { uses terminal_DataBits-group; description "databits nums"; } // Organizes the async line stopbits properties container stopbits-items { uses terminal_StopBits-group; description "async line stopbits"; } // Organizes the terminal parity properties container parity-items { uses terminal_Parity-group; description "databits nums"; } } grouping terminal_ExecTimeout-group { description "Configure exec timeout of terminal"; leaf timeout { type terminal_TimeoutT; default "30"; description "Configure exec timeout of terminal"; } } grouping terminal_Width-group { description "Configure terminal width"; leaf termwidth { type terminal_TermSize { range "51..511"; } default "80"; description "Configure width of the display terminal"; } } grouping terminal_Length-group { description "Number of lines to be displayed on terminal"; leaf termlength { type terminal_TermSize { range "0..511"; } default "24"; description "Configure number of lines to display on terminal"; } } grouping terminal_Speed-group { description "terminal console speed"; leaf speed { type uint32 { range "9600..115200"; } default "9600"; description "console speed"; } } grouping terminal_DataBits-group { description "databits nums"; leaf dataBits { type uint32 { range "5..8"; } default "8"; description "databits numbers"; } } grouping terminal_StopBits-group { description "async line stopbits"; leaf stopBits { type uint32 { range "1"; } default "1"; description "async line stopbits"; } } grouping terminal_Parity-group { description "databits nums"; leaf parity { type terminal_TermParity; description "databits numbers"; } } grouping terminal_Vty-group { description "line type vty"; // Organizes the exec timeout specific properties container execTmeout-items { uses terminal_ExecTimeout-group; description "Configure exec timeout of terminal"; } // Organizes the VTY session's absolute timeout specific properties container absTmeout-items { uses terminal_AbsTimeout-group; description "Configure absolute timeout for terminal"; } // Organizes the VTY session's limit specific properties container ssLmt-items { uses terminal_SesLmt-group; description "Configure session limit"; } // Organizes the VTY session's logout warning specific properties container lgoutWarning-items { uses terminal_LogoutWarning-group; description "Logout warning time"; } } grouping terminal_AbsTimeout-group { description "Configure absolute timeout for terminal"; leaf timeout { type terminal_TimeoutT; default "0"; description "Configure absolute timeout for terminal"; } } grouping terminal_SesLmt-group { description "Configure session limit"; leaf sesLmt { type terminal_Limit { range "1..64"; } default "32"; description "Configure maximum number of concurrent vsh sessions allowed"; } } grouping terminal_LogoutWarning-group { description "Logout warning time"; leaf lgtWarn { type terminal_Limit { range "0..60"; } default "20"; description "Configure logout warning time"; } } grouping terminal_TerminalLog-group { description "Enable accounting log for all commands"; leaf logShowCommand { type boolean; description "Configure accounting log of all commands including the show commands"; } } grouping tunnel_If-group { description "Tunnel Interface"; leaf src { config "false"; type address_Ip; description "Tunnel Source IP"; } leaf dest { config "false"; type address_Ip; description "Tunnel Destination IP"; } // Tunnel type leaf tType { config "false"; type tunnel_TunnelQual; description "Tunnel Type"; } // Tunnel VRF name leaf vrfName { config "false"; type l3_VrfName; description "VRF"; } // Tunnel MTU leaf cfgdMtu { config "false"; type tunnel_ConfMtu; description "MTU"; } // Tunnel keep-alive period leaf keepAlvIntvl { config "false"; type tunnel_KeepAlvIntvl; description "Keep Alive Interval"; } // Tunnel keep-alive retries leaf keepAlvRetries { config "false"; type tunnel_KeepAlvRetries; description "Keep Alive Retries"; } // Tunnel administrative state leaf adminSt { config "false"; type tunnel_AdminSt; description "Administrative State"; } // Tunnel type leaf type { config "false"; type tunnel_EpT; description "Endpoint Type"; } // Tunnel layer: L2 or L3 leaf tLayer { config "false"; type tunnel_LayerT; description "Layer"; } leaf mac { config "false"; type address_Mac; description "Destination MAC"; } // Tunnel operational state leaf operSt { config "false"; type tunnel_OperSt; description "Operational State"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { config "false"; type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { config "false"; type nw_IfId; description "Interface Identifier of this endpoint"; } // @@@Relationship to policy providing physical configuration of // the ports @@@rel-def // name="IfConf" // type="named" // from="fv:RsCcepConn" // to="fabric:HIfPol" // cardinality="1-to-1" // owner="management" // mod="explicit" // > // layer2-port binding unknown"; } // valid for n9knontahoe leaf qosMinBuffer { type platform_QosMinBuffer; description "qos min-buffer qos-group"; } leaf switchingMode { type platform_SwitchingMode; description "Corresponds to the global switching mode. Default is cut-through"; } leaf switchingFabricSpeed { type platform_FabricSpeed; description "Corresponds to the switching fabric speed."; } leaf mcastNlb { type platform_McastNlb; description "Used to enable/disable hardware profile multicast nlb"; } leaf disParseErr { type platform_DisParseErr; description "Used to disable/enable hardware profile disable parse-err"; } leaf ipStatistics { type platform_IpStatistics; description "Used to disable/enable hardware forwarding ip statistics"; } leaf mldSnooping { type platform_MldSnooping; description "Used to enable/disable system mld snooping"; } leaf mcastDcsCheck { type platform_mcastDcsCheck; description "Used to enable/disable system mcast DCS check"; } leaf mcastFlexStats { type platform_McastFlexStats; description "Used to enable/disable hardware profile multicast flex-stats"; } leaf sviFlexStats { type platform_SviFlexStats; description "Used to enable/disable hardware profile si flex-stats"; } leaf sviAndSiFlexStats { type platform_SviAndSiFlexStats; description "Used to enable/disable hardware profile sviandsi flex-stats"; } leaf iRaclSize { type platform_tcamLabelSize; description "To set the ingress RACL TCAM label size to 9 bits and the default value is 6 bits"; } leaf iBdIfaclLblOpt { type platform_QosLabelOpt; description "To optimize the ingress QOS Ingress BD IFACL label size"; } leaf globalTxSpan { type platform_GlobalTxSpan; description "Used to enable/disable hardware multicast global tx span"; } leaf appliedRoutingMode { config "false"; type platform_RoutingMode; description "Actual routing mode that got applied"; } leaf ingRepRoundRobin { type boolean; description "Round-Robin hashing of underlay-paths for VXLAN ingress-replication peers"; } // valid for n3ktoronly leaf pbrSkipSelfIp { type nw_AdminSt; default "disabled"; description "Configure Skipping PBR for self-ip packets"; } leaf mcastLpmMaxEntries { type platform_McastLpmMaxEntriesType; description "Maximum limit for multicast LPM routes"; } leaf systemFabricMode { type platform_FabricMode; description "Corresponds to the system fabric mode"; } leaf switchMode { type platform_SwitchMode; description "Corresponds to the switch mode(N3K/N9K)"; } leaf mroutingPerfMode { type platform_MroutingPerfMode; description "Corresponds to enabling/disabling mrouting performance mode"; } leaf mroutingDisableSecRouteUpd { type platform_MroutingDisableSecRouteUpd; description "Corresponds to enabling/disabling second route update"; } leaf mroutingDisableL2Upd { type platform_MroutingDisableL2Upd; description "Corresponds to enabling/disabling l2 update"; } leaf unicastTrace { type platform_UnicastTrace; description "Used to enable/disable unicast trace"; } leaf hwLouResThreshold { type uint16 { range "1..50"; } default "5"; description "Hardware Lou Resource Threshold value."; } leaf accessListMatchInnerHeader { type enumeration { enum disable { value 0; } enum enable { value 1; } } default "disable"; description "Used to enable/disable hardware access-list match inner-header"; } leaf mplsAdjStatsMode { type platform_MplsStatsType; description "Corresponds to MPLS Adjacency stats type"; } leaf mplsCfgEcmpMode { type platform_MplsEcmpMode; description "Used to enable/disable extended-ecmp for MPLS on RX-series Linecards N9K"; } leaf wrrUnicastBw { type uint8 { range "0..100"; } default "50"; description "WRR Unicast Bandwidth Value"; } leaf tcamSyslogThreshold { type platform_Percentage; description "Specifies to generate a syslog entry when the specified maximum buffer size is exceeded for TCAM. The default is 90 percent of the total available shared buffer"; } leaf mcastRaclBridge { type platform_AdminState; description "Apply permit/drop for mcast bridged pkt"; } leaf serviceTemplateName { type platform_TcamTemplateName; description "Name of the user-defined service template"; } // PIC related properties leaf picCoreEnable { type platform_AdminState; description "Configure PIC core"; } // validinn3500pltfm leaf openflowForwardPdu { type nw_AdminSt; default "disabled"; description "Configure openflow forward-pdu"; } leaf updatedhwLouResThreshold { config "false"; type uint16; description "Hardware Lou Resource Threshold value sent from backend(pltfm_config) to frontend"; } container buffermonitorstats-items { uses platform_BufferMonitorStats-group; description "Contains Active Buffer Monitor Statistics"; } container entityextd-items { uses platform_EntityExtended-group; description "Platform Entity Extended Mo"; } container natpeer-items { list NatPeer-list { key "natPeerIp"; uses platform_NatPeer-group; description "Platform Nat Peer IP Config list"; } description "Platform Nat Peer IP Config"; } // Port-channel Load-Balance Related Properties container pclb-items { uses platform_LoadBalance-group; description "Port-Channel Load-Balance"; } // Hardware Profile Related Properties container profile-items { uses platform_Profile-group; description "Platform Profile"; } // congestion-control properties [default value = (0xFFFF * 208){no of cells * no of bytes for each cell}] container globalrandomdetect-items { uses platform_GlobalRandomDetect-group; description "Congestion-control Random-detect"; } // TCAM resource utilization on the module container mod-items { list TcamStatsModule-list { config "false"; key "module"; uses platform_TcamStatsModule-group; description "represents module for which TCAM resource utilization is required list"; } description "represents module for which TCAM resource utilization is required"; } container nve-items { list NVE-list { key "id"; uses platform_NVE-group; description "Nve Configs list"; } description "Nve Configs"; } container forwardingmode-items { uses platform_ForwardingMode-group; description "Forwarding Mode Property"; } // ECMP related properties container ecmp-items { uses platform_Ecmp-group; description "represents hardware related ecmp properties"; } // IPL3 related properties container ipl3-items { uses platform_IpL3-group; description "represents platform config related ip L3 properties"; } // FP-MODE related properties container fpmode-items { uses platform_FpMode-group; description "represents platform config related for FP MODE properties"; } // Hardware Qos Related Properties container qos-items { uses platform_Qos-group; description "Hardware qos type"; } // LLFC Wd Related Properties container linklevelflowctrlwd-items { uses platform_LinkLevelFlowCtrlWd-group; description "LLFC WD config"; } // PFC Wd Related Properties container priorflowctrlwd-items { uses platform_PriorFlowCtrlWd-group; description "PFC WD config"; } container wredqueue-items { uses platform_WredQueue-group; description "Enable queue based ECN marking"; } // Rate Limiter Related Properties container ratelimiter-items { uses platform_RateLimiter-group; description "Rate Limiter container for the platform entity "; } // Rate Limiter Mod Related Properties container ratelimitermod-items { list RateLimiterMod-list { key "module"; uses platform_RateLimiterMod-group; description "Rate Limiter Mod container for the platform entity list"; } description "Rate Limiter Mod container for the platform entity "; } // Hardware Rate Limiter Related Properties container hwratelimiter-items { uses platform_HwRateLimiter-group; description "Hardware Rate Limiter properties"; } // TCAM Template Related Properties container template-items { list TcamTemplate-list { key "name"; uses platform_TcamTemplate-group; description "Manages the user defined tcam template list"; } description "Manages the user defined tcam template"; } // Proactive Consistency Checker Config Properties container proactivecc-items { uses platform_ProactiveCC-group; description "Proactive Consistency Checker"; } // Deduplication related properties container dedup-items { uses platform_FlowDedup-group; description "Deduplication"; } // Container for all the BDs to hold platform data in the system. container bd-items { uses platform_BdEntity-group; description "Bridge domain"; } // Container for all the interfaces in the system. container intf-items { uses platform_Intf-group; description "Interface"; } // This object configs platform logging level container loglevel-items { uses platform_LogLevel-group; description "Config Platform logging level"; } // Container for all the power off config data in the system. container poweroffEntity-items { uses platform_PoweroffEntity-group; description "Poweroff Module Config"; } container sysmemth-items { uses platform_SysMemTh-group; description "System Memory Threshold"; } // Container for all the tcam regions in the system. container tcamRegion-items { uses platform_TcamRegion-group; description "Tcam region type"; } container latencymonitor-items { uses platform_LatencyMonitor-group; description "Latency Monitor Property"; } container buffermonitor-items { uses platform_BufferMonitor-group; description "Buffer Monitor Property"; } container pfcmmubuffer-items { uses platform_PfcMmuBuffer-group; description "Pfc mmu buffer Property"; } // Container for all udf . container udf-items { uses platform_UdfEntity-group; description "UdfEntity"; } } grouping platform_BufferMonitorStats-group { description "Contains Active Buffer Monitor Statistics"; // Ucast Buffer block // Ephemeral data container ucastbb-items { // Ephemeral data list UcastBufferBlock-list { config "false"; key "ifIdx timeStamp"; uses platform_UcastBufferBlock-group; description "Specifies Unicast Buffer Block Snapshot indicated by timestamp property list"; } description "Specifies Unicast Buffer Block Snapshot indicated by timestamp property"; } // Multicast Buffer Block // Ephemeral data container mcastbb-items { // Ephemeral data list McastBufferBlock-list { config "false"; key "bufferBlockValue timeStamp"; uses platform_McastBufferBlock-group; description "Specifies Multicast Buffer Block Snapshot indicated by timestamp property list"; } description "Specifies Multicast Buffer Block Snapshot indicated by timestamp property"; } } grouping platform_UcastBufferBlock-group { description "Specifies Unicast Buffer Block Snapshot indicated by timestamp property"; // Ephemeral data leaf ifIdx { config "false"; type string; description "Helps identifying front panel port"; } // Ephemeral data leaf b384 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 384K bytes bucket"; } // Ephemeral data leaf b768 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 768K bytes bucket"; } // Ephemeral data leaf b1152 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 1152K bytes bucket"; } // Ephemeral data leaf b1536 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 1536K bytes bucket"; } // Ephemeral data leaf b1920 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 1920K bytes bucket"; } // Ephemeral data leaf b2304 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 2304K bytes bucket"; } // Ephemeral data leaf b2688 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 2688K bytes bucket"; } // Ephemeral data leaf b3072 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 3072K bytes bucket"; } // Ephemeral data leaf b3456 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 3456K bytes bucket"; } // Ephemeral data leaf b3840 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 3840K bytes bucket"; } // Ephemeral data leaf b4224 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 4224K bytes bucket"; } // Ephemeral data leaf b4608 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 4608K bytes bucket"; } // Ephemeral data leaf b4992 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 4992K bytes bucket"; } // Ephemeral data leaf b5376 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 5376K bytes bucket"; } // Ephemeral data leaf b5760 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 5760K bytes bucket"; } // Ephemeral data leaf b6144 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 6144K bytes bucket"; } // Ephemeral data leaf timeStamp { config "false"; type platform_timeStampValue; description "Indicates Time at which buffer block snapshot is taken"; } } grouping platform_McastBufferBlock-group { description "Specifies Multicast Buffer Block Snapshot indicated by timestamp property"; // Ephemeral data leaf bufferBlockValue { config "false"; type platform_BufferBlockValue; description "Indicates multicast buffer block instance"; } // Ephemeral data leaf b384 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 384K bytes bucket"; } // Ephemeral data leaf b768 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 768K bytes bucket"; } // Ephemeral data leaf b1152 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 1152K bytes bucket"; } // Ephemeral data leaf b1536 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 1536K bytes bucket"; } // Ephemeral data leaf b1920 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 1920K bytes bucket"; } // Ephemeral data leaf b2304 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 2304K bytes bucket"; } // Ephemeral data leaf b2688 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 2688K bytes bucket"; } // Ephemeral data leaf b3072 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 3072K bytes bucket"; } // Ephemeral data leaf b3456 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 3456K bytes bucket"; } // Ephemeral data leaf b3840 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 3840K bytes bucket"; } // Ephemeral data leaf b4224 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 4224K bytes bucket"; } // Ephemeral data leaf b4608 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 4608K bytes bucket"; } // Ephemeral data leaf b4992 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 4992K bytes bucket"; } // Ephemeral data leaf b5376 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 5376K bytes bucket"; } // Ephemeral data leaf b5760 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 5760K bytes bucket"; } // Ephemeral data leaf b6144 { config "false"; type platform_AbmCounterValues; description "Counter indicates buffer usage in 6144K bytes bucket"; } // Ephemeral data leaf timeStamp { config "false"; type platform_timeStampValue; description "Indicates Time at which buffer block snapshot is taken"; } } grouping platform_EntityExtended-group { description "Platform Entity Extended Mo"; leaf ptpCorrHw { type boolean; default "true"; description "Ptp frequnecy correction from hardware or software"; } leaf mplsQosPipeMode { type platform_AdminState; description "Fretta MPLS QoS Pipe Mode"; } leaf siFlexStats { type platform_SiFlexStats; description "Used to enable/disable hardware profile sub-interface flex-stats"; } leaf statsTemplate { type platform_StatsTemplate; description "Used to enable stats on given template on S1"; } leaf vrfAwareNatEnable { type platform_AdminState; description "Configure Vrf Aware Nat"; } leaf iPaclIfaclLabelSize { type platform_iPaclIfaclTcamLabelSize; description "To set the ingress IFACL TCAM label size to 6 bits and the default value is 5 bits"; } leaf egrL2QosIfaclLabelSize { type platform_egrL2QosIfaclTcamLabelSize; description "To set the EGRESS IFACL QOS label size to 6 bits and the default value is 5 bits"; } leaf pbrFastConvergence { type platform_PbrConfig; description "Policy-Based Routing Fast Convergence"; } leaf pbrEcmpPaths { type uint8 { range "1..64"; } description "Policy Based Routing ECMP Paths limit"; } leaf mcastNlbStickPc { type platform_McastNlbStickPc; description "Used to enable/disable hardware profile multicast nlb on a stick Port Channel configuration"; } leaf atomicUpdate { type platform_AtomicUpdate; description "To optimize enable/disable atomic update"; } leaf atomicUpdateStrict { type platform_AtomicUpdateStrict; description "Strict check on TCAM size for using mutliple features"; } leaf tcamDefaultResult { type platform_TcamDefaultResult; description "Default access-list result during non-atomic hardware update"; } leaf aclDisableRedirectShare { type platform_AclDisableRedirectShare; description "Disable acl redirect share"; } leaf iVrfNatBdLabelWidth { type platform_BdLabelWidth; description "To set the ingress Vrf NAT TCAM label size to user configured width of 0-6 bits"; } leaf mcastStatsDisable { type platform_McastStatsDisable; description "Used to enable/disable hardware profile multicast stats-disable"; } leaf multicastPriority { type platform_MulticastPriorityRange; description "set mcast priority range based on user choice"; } leaf stormControlPriority { type platform_StormControlPriority; description "storm control priority"; } leaf pbrMatchDefaultRoute { type platform_PbrMatchDefaultRoute; description "set pbr match default route"; } leaf gpe5TimerEnable { type boolean; default "false"; description "Gpe-5-timer enable/disable"; } } grouping platform_NatPeer-group { description "Platform Nat Peer IP Config"; leaf natPeerIp { type address_Ip; description "Configure Nat Peer Ip Address"; } } grouping platform_LoadBalance-group { description "Port-Channel Load-Balance"; leaf loadBalanceAlgo { type platform_LoadBalanceAlgo; description "src-dst based load balancing parameters"; } leaf concatenation { type platform_Concatenation; description "Enable/Disable load-balancing concatenation parameter"; } leaf rotate { type platform_Rotate; description "Hash-input of load balancing rotate parameter"; } leaf fex { type boolean; description "fex based load balancing parameter"; } leaf symmetry { type platform_Symmetry; description "load balancing symmetry parameter"; } leaf encapsulation { type platform_Encapsulation; description "load balancing encapsulation parameter"; } leaf mplsLabelIp { type platform_PoLbMplsLabelIp; description "Mpls load-balance label ip"; } leaf mplsLabelOnly { type platform_PoLbMplsLabelOnly; description "Mpls load-balance label only"; } } grouping platform_Profile-group { description "Platform Profile"; // valid for MTC leaf spanBufferThresh { type platform_ThresPercentage; description "buffer span threshold"; } leaf qosGrp0BufferThresh { type platform_ThresPercentage; default "95"; description "buffer qos group 0 threshold"; } leaf qosGrp1BufferThresh { type platform_ThresPercentage; default "95"; description "buffer qos group 1 threshold"; } leaf qosGrp2BufferThresh { type platform_ThresPercentage; default "95"; description "buffer qos group 2 threshold"; } leaf qosGrp3BufferThresh { type platform_ThresPercentage; default "95"; description "buffer qos group 3 threshold"; } leaf qosGrp4BufferThresh { type platform_ThresPercentage; default "95"; description "buffer qos group 4 threshold"; } // Hardware Profile Related Properties container module-items { list Module-list { key "moduleId"; uses platform_Module-group; description "Module list"; } description "Module"; } // Packet Drop Related Properties container packetdrop-items { uses platform_PacketDrop-group; description "Packet Drop config"; } } grouping platform_Module-group { description "Module"; leaf moduleId { type platform_slotNumber; description "Module number on the switch"; } leaf infoPortThresh { type platform_portThresPercentage; default "90"; description "buffer info port-threshold threshold"; } leaf infoPollInt { type platform_Interval; default "5000"; description "buffer info poll-interval timer"; } leaf infoSyslogInt { type uint32 { range "0..100000"; } default "120"; description "buffer info syslog-interval timer"; } } grouping platform_PacketDrop-group { description "Packet Drop config"; leaf preTriggerSampling { type uint8 { range "1..16"; } default "8"; description "Packet Drop Pre-Sampling Rate"; } leaf postTriggerSampling { type uint8 { range "1..16"; } default "16"; description "Packet Drop Post-Sampling Rate"; } leaf dropTrigger { type platform_TriggerType; description "Packet Drop Trigger"; } leaf sourceScope { type platform_SourceScope; description "Packet Drop Capture Scope"; } leaf sourceInterface { type nw_IfId; description "Capture Entity"; } leaf sourceInterfaceQosGrp { type uint8 { range "0..8"; } default "0"; description "Capture Entity QosGroup"; } leaf captureCount { type uint16 { range "2..1024"; } default "304"; description "Packet Drop Capture Count"; } leaf captureTimer { type uint16 { range "1..429"; } description "Packet Drop Capture Timer (Micro-Seconds)"; } leaf packetDropEnable { type boolean; default "false"; description "Packet Drop Enable"; } // Profile Related Properties container dropprofile-items { list DropProfile-list { key "profileName"; uses platform_DropProfile-group; description "Packet Drop config list"; } description "Packet Drop config"; } } grouping platform_DropProfile-group { description "Packet Drop config"; leaf profileName { type string { length "1..40"; } description "Packet Drop Profile Name"; } leaf startThreshold { type uint16 { range "0..65535"; } default "0"; description "Packet Drop Profile Start-Threshold"; } leaf stopThreshold { type uint16 { range "0..65535"; } default "0"; description "Packet Drop Profile Stop-Threshold"; } // Profile Interface Related Properties container profileinterface-items { list ProfileInterface-list { key "profileInterface"; uses platform_ProfileInterface-group; description "Packet Drop config list"; } description "Packet Drop config"; } } grouping platform_ProfileInterface-group { description "Packet Drop config"; leaf profileInterface { type nw_IfId; description "Packet Drop Profile Interface"; } leaf qosGrp0 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 0"; } leaf qosGrp1 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 1"; } leaf qosGrp2 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 2"; } leaf qosGrp3 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 3"; } leaf qosGrp4 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 4"; } leaf qosGrp5 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 5"; } leaf qosGrp6 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 6"; } leaf qosGrp7 { type boolean; default "false"; description "Packet Drop Profile Qosgrp 7"; } leaf monitorAllQgrps { type boolean; default "false"; description "Packet Drop Profile Monitor Qgrp"; } } grouping platform_GlobalRandomDetect-group { description "Congestion-control Random-detect"; leaf minThreshold { type uint32; default "13631280"; description "Global-buffer min Threshold"; } leaf minThresholdUnit { type platform_ThresUnit; description "Global-buffer max Threshold unit"; } leaf maxThreshold { type uint32; default "13631280"; description "Global-buffer max Threshold"; } leaf maxThresholdUnit { type platform_ThresUnit; description "Global-buffer min Threshold unit"; } leaf forwardNonEcn { type platform_ConfigState; description "Forward non ECN capable traffic without WRED dropping"; } } grouping platform_TcamStatsModule-group { description "represents module for which TCAM resource utilization is required"; leaf module { config "false"; type uint16; description "module number for which TCAM resource utilization is required"; } // TCAM resource utilization on the asic instance container inst-items { list TcamStatsInst-list { config "false"; key "instance"; uses platform_TcamStatsInst-group; description "represents aisc instance number on the module list"; } description "represents aisc instance number on the module"; } } grouping platform_TcamStatsInst-group { description "represents aisc instance number on the module"; leaf instance { config "false"; type uint16; description "instance number"; } // TCAM regions on the asic instance container region-items { list TcamStatsRegion-list { config "false"; key "regionName"; uses platform_TcamStatsRegion-group; description "represents TCAM Region name on the asic instance list"; } description "represents TCAM Region name on the asic instance"; } } grouping platform_TcamStatsRegion-group { description "represents TCAM Region name on the asic instance"; leaf regionName { config "false"; type string; description "TCAM region name"; } leaf regionSize { config "false"; type uint16; description "carved size of TCAM region"; } // TCAM utilization values for the regions container utilization-items { uses platform_TcamResourceUtilization-group; description "represents TCAM resouce utilization for the region"; } } grouping platform_TcamResourceUtilization-group { description "represents TCAM resouce utilization for the region"; leaf used { config "false"; type uint16; description "overall used entries for the region"; } leaf free { config "false"; type uint16; description "overall free entries for the region"; } leaf percent { config "false"; type decimal64 { fraction-digits 6; } description "overall percent utilization for the region"; } leaf ipv4Used { config "false"; type uint16; description "number of ipv4 access-list entries in the region"; } leaf ipv4Percent { config "false"; type decimal64 { fraction-digits 6; } description "Ipv4 percent utilization of the region"; } leaf ipv6Used { config "false"; type uint16; description "number of ipv6 access-list entries in the region"; } leaf ipv6Percent { config "false"; type decimal64 { fraction-digits 6; } description "Ipv6 percent utilization of the region"; } leaf macUsed { config "false"; type uint16; description "number of mac access-list entries in the region"; } leaf macPercent { config "false"; type decimal64 { fraction-digits 6; } description "mac percent utilization of the region"; } leaf allUsed { config "false"; type uint16; description "all used entries in the region"; } leaf allPercent { config "false"; type decimal64 { fraction-digits 6; } description "all percent utilization of the region"; } leaf otherUsed { config "false"; type uint16; description "used other entries in the region"; } leaf otherPercent { config "false"; type decimal64 { fraction-digits 6; } description "other percent utilization of the region"; } } grouping platform_NVE-group { description "Nve Configs"; leaf id { type uint16; description "int nve"; } leaf ipmcIndexSize { type uint32 { range "0..7000"; } description "global ipmc index size"; } leaf overlayVlanId { type l2_VlanBitmap; default ""; description "nve overlay vlan id range"; } container infravlan-items { list InfraVlan-list { key "id"; uses platform_InfraVlan-group; description "InfraVlan Config list"; } description "InfraVlan Config"; } container qosmode-items { uses platform_QosMode-group; description "NVE Qos mode configuration"; } } grouping platform_InfraVlan-group { description "InfraVlan Config"; leaf id { type platform_infraVlanId; description "Id for all vlans that are infravlan enabled"; } leaf force { type platform_infraVlanForce; description "Force flag if infra vlan added by force"; } } grouping platform_QosMode-group { description "NVE Qos mode configuration"; leaf pipe { type platform_QosModePipe; description "NVE Qos mode configuration"; } } grouping platform_ForwardingMode-group { description "Forwarding Mode Property"; // description leaf forwardingModeType { type platform_forwardingModeSelector; description "Forwarding Mode Type"; } leaf lpmEntryWarp { type platform_forwardingModeLpmEntryWarp; description "Forwarding Mode Warp LPM Entry"; } leaf hostEntryWarp { type platform_forwardingModeHostEntryWarp; description "Forwarding Mode Warp Host Entry"; } leaf l2EntryWarp { type platform_forwardingModeL2EntryWarp; description "Forwarding Mode Warp L2 Entry"; } leaf mcstEntryWarp { type platform_forwardingModeMcstEntryWarp; description "Forwarding Mode Warp Mcast Entry"; } leaf lpmEntryNormal { type platform_forwardingModeLpmEntryNormal; description "Forwarding Mode Normal LPM Entry"; } leaf mcstEntryNormal { type platform_forwardingModeMcstEntryNormal; description "Forwarding Mode Normal Mcast Entry"; } leaf fwdModeCfgFailed { config "false"; type platform_forwardingModeConfigFailed; description "Forwarding Mode Config Failed"; } } grouping platform_Ecmp-group { description "represents hardware related ecmp properties"; leaf ecmpResilientMode { type platform_AdminState; description "Configure ECMP resilient mode"; } leaf ecmpReuse { type platform_AdminState; description "Enable ECMP reuse to scale"; } leaf ecmpAutoRecoveryThreshold { type platform_Percent; description "Configure ECMP Auto recovery mode"; } } grouping platform_IpL3-group { description "represents platform config related ip L3 properties"; leaf ipredirectHwDrop { type nw_AdminSt; default "disabled"; description "IP Redirect Hardware Drop Status"; } leaf routingL3ScaleEnable { type platform_AdminState; description "Configure Routing L3Scale"; } } grouping platform_FpMode-group { description "represents platform config related for FP MODE properties"; leaf routingModeLowLatency { type platform_AdminState; description "Configure Routing Mode Low Latency"; } } grouping platform_Qos-group { description "Hardware qos type"; // Buffer peak configuraion for counter0 classes leaf bufPeakMonitorCnt0Class0 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 0"; } leaf bufPeakMonitorCnt0Class1 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 1"; } leaf bufPeakMonitorCnt0Class2 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 2"; } leaf bufPeakMonitorCnt0Class3 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 3"; } leaf bufPeakMonitorCnt0Class4 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 4"; } leaf bufPeakMonitorCnt0Class5 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 5"; } leaf bufPeakMonitorCnt0Class6 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 6"; } leaf bufPeakMonitorCnt0Class7 { type platform_ConfigureSt; description "Used to configure/unconfigure buffer peak monitor for counter 0 class 7"; } leaf macIpgVal { type uint16 { range "12..63"; } default "12"; description "To configure MAC IPG Value in bytes"; } leaf dppMaxNumPkts { type uint32 { range "1..1023"; } default "120"; description "To configure the max number of packets to prioritize"; } leaf dppAgePeriod { type uint32 { range "5000..1000000"; } default "5000"; description "To configure DPP aging period in microseconds"; } leaf etrapAgePeriod { type uint32 { range "1..1000000"; } default "50"; description "To configure ETRAP aging period in microseconds"; } leaf etrapBandwidthThreshold { type uint32 { range "1..1073741824"; } default "500"; description "To configure ETRAP aging period in bytes"; } leaf etrapByteCount { type uint32 { range "1..1048575"; } default "1048555"; description "To configure number of bytes to become elephant flow"; } // Per output queue drops configuration leaf oqDropsType { type platform_OqDropsType; description "Type of per output queue drops"; } // AFD Profile configuration leaf qosAfdNSBuffProfile { type platform_QosAfdBufferProfileOptions; description "To configure approximate fair dropping profile"; } leaf qNoisePercent { type uint16 { range "0..100"; } default "20"; description "To configure queue noise threshold in percentage"; } leaf pgHdrmReserve { type uint8 { range "20..100"; } default "100"; description "Percent of Hdrm to reserve"; } leaf pgMinValue { type uint8 { range "0..32"; } default "0"; description "PG Min Value"; } leaf pgNoMin { type boolean; default "false"; description "PG no-min"; } leaf classify { type platform_ConfigState; description "Qos classification"; } leaf ipg { type platform_ConfigState; description "Include IPG in shape/police"; } leaf pgShare { type platform_ConfigState; default "Enabled"; description "PG Shared Buffer Usage"; } leaf burstDetectMaxRecords { type uint16 { range "200..2000"; } default "1000"; description "Configure the max number of burst records to monitor"; } leaf burstDetectRiseThreshold { type platform_Threshold; description "Threshold bytes to start monitoring burst"; } leaf burstDetectRiseThreshUnit { type platform_ThreshUnit; description "Units for rise-threshold value"; } leaf burstDetectFallThreshold { type platform_Threshold; description "Threshold bytes to stop monitoring burst"; } leaf burstDetectFallThreshUnit { type platform_ThreshUnit; description "Units for fall-threshold value"; } leaf nsBufferProfile { type platform_BufferProfileOptions; description "Qos NS Buffer Profile"; } leaf eoqStatsClass { type platform_QosGroup; description "Qos eoq Stats Class Qos Group"; } leaf nodropQueueYellowThresh { type uint32; default "0"; description "No-drop PG's Queue yellow threshold"; } leaf nodropQueueGreenThresh { type uint32; default "0"; description "No-drop PG's Queue green threshold"; } leaf nodropQueueGreenThreshFx { type uint32; default "0"; description "No-drop PG's Queue green threshold for FX platforms"; } leaf nodropPgSize { type uint32; default "0"; description "Configure No-drop Pool Group size"; } leaf nodropPgRedThresh { type uint32; default "0"; description "Configure No-drop PG red threshold"; } leaf nodropPgYellowThresh { type uint32; default "0"; description "Configure No-drop PG yellow threshold"; } leaf nodropPgGreenThresh { type uint32; default "0"; description "Configure No-drop PG green threshold"; } leaf nodropPgSizeFx { type uint32; default "0"; description "Configure No-drop Pool Group size for FX platforms"; } leaf cpuSize { type uint16 { range "0..1500"; } default "0"; description "CPU Pool Group threshold"; } leaf lCpuSize { type uint16 { range "0..10000"; } default "0"; description "LCPU Pool Group threshold"; } leaf spanSize { type uint32 { range "0..10000"; } default "0"; description "Span Pool Group size"; } leaf inputBufferPeak { type platform_PeakCountType; description "peak counter type"; } leaf mcQosGroup3Traffic { type platform_QosGroupVal; description "Qos-group to which to divert qos-group-3 Multicast traffic"; } leaf pfcMcDrop { type platform_ConfigState; description "Drop mcast/bcast traffic on no-drop configured class"; } leaf ndResumeOffset { type uint32; default "0"; description "Configure resume offset"; } leaf ndDynamicQlimit { type uint32; default "0"; description "Configure q-limit factor"; } // nodrop Innovium Related Properties container slice-items { list Slice-list { key "sliceId"; uses platform_Slice-group; description "Slice config list"; } description "Slice config"; } container counter-items { list QosOqStatsConfiguration-list { key "counterNumber"; uses platform_QosOqStatsConfiguration-group; description "represents module for which TCAM resource utilization is required list"; } description "represents module for which TCAM resource utilization is required"; } // Internal Interface Global Config Properties container intlintfgblqosparams-items { uses platform_IntlIntfGblQosParams-group; description "Internal Interface Global Config"; } } grouping platform_Slice-group { description "Slice config"; leaf sliceId { type uint32 { range "0..5"; } description "Slice number"; } leaf pgTotal { type uint32 { range "0..6720000"; } default "0"; description "no-drop threshold PG size"; } leaf ndReservedSize { type uint32 { range "0..2240000"; } default "0"; description "no-drop reserved size"; } leaf dReservedSize { type uint32 { range "0..2240000"; } default "0"; description "drop reserved size"; } leaf isValid { type boolean; default "true"; description "valid configuration"; } } grouping platform_QosOqStatsConfiguration-group { description "represents module for which TCAM resource utilization is required"; leaf counterNumber { type uint16 { range "0..9"; } description "Use per port counter number"; } // Qos group for which queuing statistics is to be configured leaf qosGrpForQueuingStatistics { type platform_QosGroupForQueuingStatistics; description "Qos group for which queuing statistics is to be configured"; } // Oq stats type leaf oqStatsType { type platform_OqStatsType; description "Type of per output queue statistics"; } } grouping platform_IntlIntfGblQosParams-group { description "Internal Interface Global Config"; leaf pauseBufferSize { type platform_IntlIntfPauseSz; description "HiGig Pause Buffer Size"; } leaf pauseThreshold { type platform_IntlIntfPauseSz; description "HiGig Pause Threshold"; } leaf resumeThreshold { type platform_IntlIntfPauseSz; description "HiGig Resume Threshold"; } leaf ingressDynamic { type platform_DynamicLimit; description "HiGig Ingress Dynamic Limit"; } leaf egressDynamic { type platform_DynamicLimit; description "HiGig Egress Dynamic Limit"; } } grouping platform_LinkLevelFlowCtrlWd-group { description "LLFC WD config"; leaf llfcWdEnable { type platform_ConfigOnOff; default "on"; description "LLFC WD enabled"; } } grouping platform_PriorFlowCtrlWd-group { description "PFC WD config"; leaf cfgMode { type platform_ConfigOnOff; description "PFC WD enabled"; } leaf interval { type uint16 { range "100..1000"; } default "100"; description "PFC WD poll interval"; } leaf shutdownMultiplier { type uint8 { range "1..10"; } default "1"; description "PFC WD Shutdown multiplier"; } leaf autoRestoreMultiplier { type uint8 { range "0..100"; } default "10"; description "PFC WD Auto shutdown multiplier"; } leaf fixedRestoreMultiplier { type uint8 { range "0..100"; } default "0"; description "PFC WD Fixed shutdown multiplier"; } leaf internalIntfMultiplier { type uint8 { range "0..10"; } default "2"; description "PFC WD Internal interface multiplier"; } leaf forcedOn { type platform_ConfigOnOff; description "PFC WD forced on"; } } grouping platform_WredQueue-group { description "Enable queue based ECN marking"; leaf qosGroup0 { type boolean; description "Enable queue based ECN marking for qos-group0"; } leaf qosGroup1 { type boolean; description "Enable queue based ECN marking for qos-group1"; } leaf qosGroup2 { type boolean; description "Enable queue based ECN marking for qos-group2"; } leaf qosGroup3 { type boolean; description "Enable queue based ECN marking for qos-group3"; } leaf qosGroup4 { type boolean; description "Enable queue based ECN marking for qos-group4"; } leaf qosGroup5 { type boolean; description "Enable queue based ECN marking for qos-group5"; } leaf qosGroup6 { type boolean; description "Enable queue based ECN marking for qos-group6"; } leaf qosGroup7 { type boolean; description "Enable queue based ECN marking for qos-group7"; } } grouping platform_RateLimiter-group { description "Rate Limiter container for the platform entity "; leaf rate { type uint32 { range "0..100000000"; } description "rate value in kbit per sec"; } leaf module { type uint32; description "module number for which rate is being configured"; } } grouping platform_RateLimiterMod-group { description "Rate Limiter Mod container for the platform entity "; leaf rate { type uint32 { range "0..100000000"; } description "rate value in kbit per sec"; } leaf module { type uint32; description "module number for which rate is being configured"; } } grouping platform_HwRateLimiter-group { description "Hardware Rate Limiter properties"; leaf arpRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf arpBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } leaf bpduRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf bpduBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } leaf macLearnRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf macLearnBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } leaf macLocalRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf macLocalBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } leaf ipLocalRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf ipLocalBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } leaf swfwdRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf swfwdBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } leaf errorsRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf errorsBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } leaf fwdMissRate { type int32 { range "-1..40000"; } default "-1"; description "rate value in packets per sec"; } leaf fwdMissBurst { type int16 { range "-1..1023"; } default "-1"; description "burst value in packets per sec"; } } grouping platform_TcamTemplate-group { description "Manages the user defined tcam template"; leaf name { type platform_TcamTemplateName; description "Name of the user-defined tcam template"; } leaf refTemplate { type platform_RefTemplate; description "Select a default template as reference"; } // Template Tcam Span Qualify Udfs Subcmd container udftcamtype-items { list UdfTcamTemplate-list { key "udfTcamType udfName"; uses platform_UdfTcamTemplate-group; description "Manages the qualify udf tcam template list"; } description "Manages the qualify udf tcam template"; } } grouping platform_UdfTcamTemplate-group { description "Manages the qualify udf tcam template"; leaf udfTcamType { type platform_UdfTcamType; description "Select the tcam udf type"; } leaf udfName { type platform_UdfName; description "Name of the user-defined tcam udf"; } } grouping platform_ProactiveCC-group { description "Proactive Consistency Checker"; leaf forwarding { type platform_AdminState; description "Enable Forwarding Proactive-cc"; } leaf incrementalTimer { type uint32 { range "10..600"; } default "10"; description "Proactive-cc Incremental Session Timer in Seconds"; } leaf fulldbTimer { type uint32 { range "600..172800"; } default "86400"; description "Proactive-cc Fulldb Period Timer in Seconds"; } // Oper CLI for Proactive Consistency Checker Holds UFDM Ephemeral oper information // Ephemeral data container ephoper-items { uses platform_UfdmEph-group; description "UFDM Ephemeral Oper Object"; } } grouping platform_UfdmEph-group { description "UFDM Ephemeral Oper Object"; // MO Definitions for Adjacencies MO Definition for v4 Adjacencies // Ephemeral data container v4adj-items { // Ephemeral data list V4Adjacency-list { config "false"; key "serialNumber"; uses platform_V4Adjacency-group; description "List of all the v4 Adjacency Inconsistencies list"; } description "List of all the v4 Adjacency Inconsistencies"; } // MO Definition for v6 Adjacencies // Ephemeral data container v6adj-items { // Ephemeral data list V6Adjacency-list { config "false"; key "serialNumber"; uses platform_V6Adjacency-group; description "List of all the v6 Adjacency Inconsistencies list"; } description "List of all the v6 Adjacency Inconsistencies"; } // MO Definitions for Routes MO Definition for v4 Routes // Ephemeral data container v4routes-items { // Ephemeral data list V4Routes-list { config "false"; key "serialNumber"; uses platform_V4Routes-group; description "List of all the v4 Routes Inconsistencies list"; } description "List of all the v4 Routes Inconsistencies"; } // MO Definition for v6 Routes // Ephemeral data container v6routes-items { // Ephemeral data list V6Routes-list { config "false"; key "serialNumber"; uses platform_V6Routes-group; description "List of all the v6 Routes Inconsistencies list"; } description "List of all the v6 Routes Inconsistencies"; } } grouping platform_V4Adjacency-group { description "List of all the v4 Adjacency Inconsistencies"; // Ephemeral data leaf serialNumber { config "false"; type uint32; description "Serial Number of the Entry"; } // Ephemeral data leaf interfaceId { config "false"; type nw_IfId; description "Interface of the Inconsistent Adjacency"; } // Ephemeral data leaf slotNumber { config "false"; type uint32; description "Number of the Slot in the box"; } // Ephemeral data leaf vrfIdentity { config "false"; type l3_VrfName; description "VRF of the Inconsistent Entry"; } // Ephemeral data leaf ipAddress { config "false"; type address_Ip; description "IP Address of the Inconsistency"; } // Ephemeral data leaf reason4Incons { config "false"; type string; description "Description of Inconsistency"; } // Ephemeral data leaf timeStamp { config "false"; type string; description "Time when this inconsistency was found"; } } grouping platform_V6Adjacency-group { description "List of all the v6 Adjacency Inconsistencies"; // Ephemeral data leaf serialNumber { config "false"; type uint32; description "Serial Number of the Entry"; } // Ephemeral data leaf interfaceId { config "false"; type nw_IfId; description "Interface of the Inconsistent Adjacency"; } // Ephemeral data leaf slotNumber { config "false"; type uint32; description "Number of the Slot in the box"; } // Ephemeral data leaf vrfIdentity { config "false"; type l3_VrfName; description "VRF of the Inconsistent Entry"; } // Ephemeral data leaf ipAddress { config "false"; type address_Ip; description "IP Address of the Inconsistency"; } // Ephemeral data leaf reason4Incons { config "false"; type string; description "Description of Inconsistency"; } // Ephemeral data leaf timeStamp { config "false"; type string; description "Time when this inconsistency was found"; } } grouping platform_V4Routes-group { description "List of all the v4 Routes Inconsistencies"; // Ephemeral data leaf serialNumber { config "false"; type uint32; description "Serial Number of the Entry"; } // Ephemeral data leaf slotNumber { config "false"; type uint32; description "Number of the Slot in the box"; } // Ephemeral data leaf vrfIdentity { config "false"; type l3_VrfName; description "VRF of the Inconsistent Entry"; } // Ephemeral data leaf ipAddress { config "false"; type address_Ip; description "IP Address of the Inconsistency"; } // Ephemeral data leaf reason4Incons { config "false"; type string; description "Description of Inconsistency"; } // Ephemeral data leaf timeStamp { config "false"; type string; description "Time when this inconsistency was found"; } } grouping platform_V6Routes-group { description "List of all the v6 Routes Inconsistencies"; // Ephemeral data leaf serialNumber { config "false"; type uint32; description "Serial Number of the Entry"; } // Ephemeral data leaf slotNumber { config "false"; type uint32; description "Number of the Slot in the box"; } // Ephemeral data leaf vrfIdentity { config "false"; type l3_VrfName; description "VRF of the Inconsistent Entry"; } // Ephemeral data leaf ipAddress { config "false"; type address_Ip; description "IP Address of the Inconsistency"; } // Ephemeral data leaf reason4Incons { config "false"; type string; description "Description of Inconsistency"; } // Ephemeral data leaf timeStamp { config "false"; type string; description "Time when this inconsistency was found"; } } grouping platform_FlowDedup-group { description "Deduplication"; leaf dedupMode { type platform_DedupMode; description "Dedup Mode Interface/Vlan"; } leaf dynamicTimer { type uint32 { range "0..300000"; } default "500"; description "Dynamic Timer for Dedup of flows"; } leaf absoluteTimer { type uint32 { range "0..1440"; } default "60"; description "Absolute Timer for Dedup of flows"; } leaf enable { type boolean; default "false"; description "Flow Dedup feature enable"; } } grouping platform_BdEntity-group { description "Bridge domain"; leaf descr { config "false"; type string; description "Bridge Domain description"; } // Layer2 Bridge-domain container bd-items { list Bd-list { key "fabEncap"; uses platform_Bd-group; description "vlan object list"; } description "vlan object"; } } grouping platform_Bd-group { description "vlan object"; leaf fabEncap { type string; description "Fabric Encapsulation for Bridge Domain"; } } grouping platform_Intf-group { description "Interface"; leaf descr { config "false"; type string; description "Interface platform data"; } // This object holds platfrom information at an // interface level container if-items { list If-list { key "id"; uses platform_If-group; description "Platform data per interface list"; } description "Platform data per interface"; } } grouping platform_If-group { description "Platform data per interface"; leaf stormCtrlCpuArp { type uint16 { range "0..40000"; } default "0"; description "set arp traffic rate on this interface"; } leaf stormCtrlCpuAll { type uint32 { range "0..250000000"; } default "2000"; description "set traffic rate for all traffic types on this interface"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container mcast-items { uses platform_Multicast-group; description "Multicast Slow Receive"; } container eltmIf-items { uses eltm_If-group; description "Eltm Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping platform_Multicast-group { description "Multicast Slow Receive"; leaf mcastSlowRcv { type platform_mcastSlowRcvState; description "mcast slow-receiver port"; } } grouping eltm_If-group { description "Eltm Interface"; // hw bd id (allocated for l3 ports, port-channels) leaf hwBdId { config "false"; type l2_DomOperId; description "Hw Bd Id (allocated for L3 Ports, Port-channels)"; } } grouping platform_LogLevel-group { description "Config Platform logging level"; // logging leve leaf loggingLevel { type platform_LoggingLevel; description "Logging Level"; } // logging type leaf loggingType { config "false"; type platform_LoggingType; description "Logging type"; } } grouping platform_PoweroffEntity-group { description "Poweroff Module Config"; leaf descr { config "false"; type string; description "Poweroff config description"; } container poweroffModule-items { list PoweroffModule-list { key "id"; uses platform_PoweroffModule-group; description "MO to hold config for all powered off modules list"; } description "MO to hold config for all powered off modules"; } } grouping platform_PoweroffModule-group { description "MO to hold config for all powered off modules"; leaf id { type platform_moduleNumberSt; description "Module identifier for power off property"; } leaf poweroffStatus { type platform_poweroffSt; description "Power off config state for the module [yes/no]"; } } grouping platform_SysMemTh-group { description "System Memory Threshold"; // Minor System Memory Threshold leaf memThMinor { type platform_SysMemThVal; description "Minor System Memory Threshold"; } // Severe System Memory Threshold leaf memThSevere { type platform_SysMemThVal; description "Severe System Memory Threshold"; } // Critical System Memory Threshold leaf memThCritical { type platform_SysMemThVal; description "Critical System Memory Threshold"; } } grouping platform_TcamRegion-group { description "Tcam region type"; leaf ingFlowRedirectSize { type platform_tcamRegionSize; description "Size of Egress region in ACX"; } leaf eRaclSize { type platform_tcamRegionSize; description "Egress RACL TCAM region size"; } leaf vpcConvergenceSize { type platform_tcamRegionSize; description "VPC TCAM region size"; } leaf raclLiteSize { type platform_tcamRegionSize; description "RACL TCAM region size"; } leaf ipv6IfaclSize { type platform_tcamRegionSize; description "IPv6 Interface ACL TCAM region size"; } leaf eIpv6RaclSize { type platform_tcamRegionSize; description "Egress IPv6 RACL TCAM region size"; } leaf ifaclLiteSize { type platform_tcamRegionSize; description "Interface ACL Lite TCAM region size"; } leaf vaclSize { type platform_tcamRegionSize; description "Virtual ACL TCAM region size"; } leaf ifaclSize { type platform_tcamRegionSize; description "Interface ACL TCAM region size"; } leaf eVaclSize { type platform_tcamRegionSize; description "Egress VACL TCAM region size"; } leaf qosSize { type platform_tcamRegionSize; description "QOS TCAM region size"; } leaf raclSize { type platform_tcamRegionSize; description "RACL TCAM region size"; } leaf ingFlowSize { type platform_flowTcamRegionSize; description "Ingress Flow TCAM region size"; } leaf natSize { type platform_tcamRegionSize; description "NAT TCAM region size"; } leaf tcpNatSize { type platform_TcpNatTcamRegionSize; description "TCP NAT TCAM region size"; } leaf macIfaclSize { type platform_tcamRegionSize; description "MAC Interface ACL TCAM region size"; } leaf eQosSize { type platform_tcamRegionSize; description "Egress Qos TCAM region size"; } leaf eIpv6QosSize { type platform_tcamRegionSize; description "Egress IPV6 Qos TCAM region size"; } leaf eMacQosSize { type platform_tcamRegionSize; description "Egress Mac Qos TCAM region size"; } leaf eQosLiteSize { type platform_tcamRegionSize; description "Egress Qos Lite TCAM region size"; } leaf ipsgSize { type platform_tcamRegionSize; description "IPSG TCAM region size"; } leaf ipv6QosSize { type platform_tcamRegionSize; description "IPV6 QoS TCAM region size"; } leaf ipv6RaclSize { type platform_tcamRegionSize; description "IPV6 RACL TCAM region size"; } leaf mcastBidirSize { type platform_tcamRegionSize; description "MCAST BIDIR TCAM region size"; } leaf macVqosSize { type platform_tcamRegionSize; description "MAC VLAN QoS TCAM region size"; } leaf fcoeIngressSize { type platform_tcamRegionSize; description "Ingress FCoE Counters size"; } leaf fcoeEgressSize { type platform_tcamRegionSize; description "Egress FCoE Counters size"; } leaf ifaclUdfSize { type platform_tcamRegionSize; description "IPV4 IFACL SPAN UDF size"; } leaf ipv6L3qosSize { type platform_tcamRegionSize; description "IPV6 L3 QoS TCAM region size"; } leaf ipv6VaclSize { type platform_tcamRegionSize; description "IPV6 VACL TCAM region size"; } leaf ipv6VqosSize { type platform_tcamRegionSize; description "IPV6 VLAN QoS TCAM region size"; } leaf macL3qosSize { type platform_tcamRegionSize; description "MAC L3 QoS TCAM region size"; } leaf macQosSize { type platform_tcamRegionSize; description "MAC QoS TCAM region size"; } leaf macVaclSize { type platform_tcamRegionSize; description "MAC VACL TCAM region size"; } leaf mplsSize { type platform_tcamRegionSize; description "MPLS TCAM region size"; } leaf openflowSize { type platform_tcamRegionSize; description "OPENFLOW TCAM region size"; } leaf openflowLiteSize { type platform_tcamRegionSize; description "OPENFLOW Lite TCAM region size"; } leaf qosIntraLiteSize { type platform_tcamRegionSize; description "QoS Intra Lite TCAM region size"; } leaf raclUdfSize { type platform_tcamRegionSize; description "IPV4 RACL SPAN UDF TCAM region size"; } leaf vaclLiteSize { type platform_tcamRegionSize; description "VACL Lite TCAM region size"; } leaf vqosSize { type platform_tcamRegionSize; description "VLAN QoS TCAM region size"; } leaf vqosIntraLiteSize { type platform_tcamRegionSize; description "VLAN QoS Intra Lite TCAM region size"; } leaf vxlanp2pSize { type platform_tcamRegionSize; description "VXLAN P2P TCAM region size"; } leaf mvpnSize { type platform_mvpnTcamRegionSize; description "MVPN TCAM region size"; } leaf coppSize { type platform_tcamRegionSize; description "Ingress Copp TCAM region size"; } leaf coppSystemSize { type platform_tcamRegionSize; description "Copp System TCAM region size"; } leaf l3qosIntraLiteSize { type platform_tcamRegionSize; description "L3 QoS Intra Lite TCAM region size"; } leaf sviSize { type platform_tcamRegionSize; description "Ingress SVI Counters TCAM region size"; } leaf arpaclSize { type platform_tcamRegionSize; description "ARP ACL TCAM region size"; } leaf pbrSize { type platform_tcamRegionSize; description "IPV4 PBR TCAM region size"; } leaf ipv6PbrSize { type platform_tcamRegionSize; description "IPV6 PBR TCAM region size"; } leaf supSize { type platform_tcamRegionSize; description "SUP TCAM region size"; } leaf qoslblSize { type platform_tcamRegionSize; description "Qos Label TCAM region size"; } leaf ipv6SpanSize { type platform_tcamRegionSize; description "IPV6 SPAN TCAM region size"; } leaf ipv6SpanL2Size { type platform_tcamRegionSize; description "IPV6 L2 SPAN TCAM region size"; } leaf ipv6SupSize { type platform_tcamRegionSize; description "IPV6 SUP TCAM region size"; } leaf fhsSize { type platform_tcamRegionSize; description "FHS TCAM region size"; } leaf n9kArpaclSize { type platform_tcamRegionSize; description "n9k-arp-acl TCAM region size"; } leaf mplsDoublewide { type boolean; description "MPLS double-wide TCAM region"; } leaf openflowDoublewide { type boolean; description "Openflow double-wide TCAM region"; } leaf cfgFault { config "false"; type platform_TcamRegionCfgFault; description "TcamRegion carving fault"; } leaf cfgFaultMsg { config "false"; type string { length "1..2048"; } description "TcamRegion carving fault message"; } leaf cfgFaultBmp { config "false"; type platform_TcamRegionCfgFaultBmp; description "TCAM region config fault bit map"; } leaf reinitDefaults { config "false"; type boolean; description "Re-initializing default values"; } // WARNING: MO Type "base:Uint32Array128" is unknown in the source model /* property { MTEPKG platform; MTEMO TcamRegion; MTESRC /data/main/COV_10_4_0_IMG9_0_391/nx/standalone/app_bi/model/specific/mo/switch/platform/pltfm/tcam_region.xml; name tcamRegionSizesArray0To127; type base:Uint32Array128; mod implicit; owner oper; label Tcam Region Sizes of regions 0-127 to be sent from backend(pltfm_config) to frontend; } */ // WARNING: MO Type "base:Uint32Array128" is unknown in the source model /* property { MTEPKG platform; MTEMO TcamRegion; MTESRC /data/main/COV_10_4_0_IMG9_0_391/nx/standalone/app_bi/model/specific/mo/switch/platform/pltfm/tcam_region.xml; name tcamRegionSizesArray128To255; type base:Uint32Array128; mod implicit; owner oper; label Tcam Region Sizes of regions 128-255 to be sent from backend(pltfm_config) to frontend; } */ container tcamregionextd-items { uses platform_TcamRegionExtended-group; description "Tcam region type"; } } grouping platform_TcamRegionExtended-group { description "Tcam region type"; leaf ingIfaclSize { type platform_ingIfaclTcamRegionSize; description "Ingress Ifacl TCAM region size"; } leaf ingRaclSize { type platform_ingRaclTcamRegionSize; description "Ingress Racl TCAM region size"; } leaf ingVlanQosSize { type platform_ingVlanTcamRegionSize; description "Ingress L3VlanQos TCAM region size"; } leaf ingSupSize { type platform_flowTcamRegionSize; description "Ingress SUP TCAM region size"; } leaf egrSupSize { type platform_EgrSupSize; description "Egress SUP TCAM region size"; } leaf ingStormControlSize { type platform_tcamRegionSize; description "Ingress Storm Control TCAM region size"; } // hw-telemtry available in Innovium platform leaf hwTelemetrySize { type platform_tcamRegionSize; description "hw-telemetry TCAM region size"; } // e-hw-telemtry available in Innovium platform leaf egrHwTelemetrySize { type platform_tcamRegionSize; description "e-hw-telemetry TCAM region size"; } leaf ifaclAllSize { type platform_tcamRegionSize; description "pacl-all TCAM region size"; } leaf eIfaclAllSize { type platform_tcamRegionSize; description "e-pacl-all TCAM region size"; } leaf raclAllSize { type platform_tcamRegionSize; description "racl-all TCAM region size"; } leaf ingL2QosSize { type platform_tcamRegionSize; description "ing-l2-qos TCAM region size"; } leaf ingL2L3QosSize { type platform_tcamRegionSize; description "ing-l2-l3-qos TCAM region size"; } leaf spanSize { type platform_tcamRegionSize; description "span TCAM region size"; } leaf egrL2QosSize { type platform_tcamRegionSize; description "egr-l2-qos TCAM region size"; } leaf egrL3VlanQosSize { type platform_tcamRegionSize; description "egr-l3-vlan-qos TCAM region size"; } leaf ingRbaclSize { type platform_tcamRegionSize; description "ing-rbacl TCAM region size"; } leaf ingPaclSbSize { type platform_tcamRegionSize; description "ing-pacl-sb TCAM region size"; } leaf egrRaclSize { type platform_egrRaclTcamRegionSize; description "egr-racl TCAM region size"; } leaf ingVaclNhSize { type platform_tcamRegionSize; description "ing-vacl-nh TCAM region size"; } leaf mcastNatSize { type platform_tcamRegionSize; description "multicast NAT TCAM region size"; } leaf mcastNbmSize { type platform_tcamRegionSize; description "Multicast NBM TCAM region size"; } leaf redirectV4Size { type platform_redirectV4TcamRegionSize; description "redirect_v4 TCAM region size"; } leaf spanTahSize { type platform_spanTahTcamRegionSize; description "span Tahoe TCAM region size"; } leaf ingL2SpanFilterSize { type platform_ingL2SpanFilterTcamRegionSize; description "ing-l2-span-filter TCAM region size"; } leaf ingL3SpanFilterSize { type platform_ingL3SpanFilterTcamRegionSize; description "ing-l3-span-filter TCAM region size"; } leaf ifaclPerPortStats { type boolean; default "false"; description "ifacl region with per-port-stats "; } leaf ipv6IfaclPerPortStats { type boolean; default "false"; description "ipv6-ifacl region with per-port-stats "; } leaf macIfaclPerPortStats { type boolean; default "false"; description "mac-ifacl region with per-port-stats "; } leaf ifaclAllPerPortStats { type boolean; default "false"; description "ifacl-all region with per-port-stats "; } leaf raclPerPortStats { type boolean; default "false"; description "racl region with per-port-stats "; } leaf ipv6RaclPerPortStats { type boolean; default "false"; description "ipv6-racl region with per-port-stats "; } leaf raclAllPerPortStats { type boolean; default "false"; description "racl-all region with per-port-stats "; } leaf eRaclPerPortStats { type boolean; default "false"; description "e-racl region with per-port-stats "; } leaf eIpv6RaclPerPortStats { type boolean; default "false"; description "e-ipv6-racl region with per-port-stats "; } leaf eIfaclAllPerPortStats { type boolean; default "false"; description "e-ifacl-all region with per-port-stats "; } leaf raclAllProfile { type platform_tcamRegionProfile; default "0"; description "racl-all region match profile "; } leaf ifaclAllProfile { type platform_tcamRegionProfile; default "0"; description "ifacl-all region match profile "; } leaf cfgFault { config "false"; type platform_TcamRegionCfgFault; description "TcamRegion carving fault"; } leaf cfgFaultMsg { config "false"; type string { length "1..2048"; } description "TcamRegion carving fault message"; } leaf cfgFaultBmp { config "false"; type platform_TcamRegionExtdCfgFaultBmp; description "TCAM region config fault bit map"; } leaf reinitDefaults { config "false"; type boolean; description "Re-initializing default values"; } // WARNING: MO Type "base:Uint32Array128" is unknown in the source model /* property { MTEPKG platform; MTEMO TcamRegionExtended; MTESRC /data/main/COV_10_4_0_IMG9_0_391/nx/standalone/app_bi/model/specific/mo/switch/platform/pltfm/tcam_region.xml; name tcamRegionSizesArray0To127; type base:Uint32Array128; mod implicit; owner oper; label Tcam Region Sizes of regions 0-127 to be sent from backend(pltfm_config) to frontend; } */ // WARNING: MO Type "base:Uint32Array128" is unknown in the source model /* property { MTEPKG platform; MTEMO TcamRegionExtended; MTESRC /data/main/COV_10_4_0_IMG9_0_391/nx/standalone/app_bi/model/specific/mo/switch/platform/pltfm/tcam_region.xml; name tcamRegionSizesArray128To255; type base:Uint32Array128; mod implicit; owner oper; label Tcam Region Sizes of regions 128-255 to be sent from backend(pltfm_config) to frontend; } */ leaf egrFlowSize { type platform_flowTcamRegionSize; default "0"; description "Egress Flow TCAM region size"; } leaf ingIfaclWideSize { type platform_ingIfaclWideTcamRegionSize; description "Ingress Ifacl Wide TCAM region size"; } } grouping platform_LatencyMonitor-group { description "Latency Monitor Property"; // description leaf sampling { type platform_latencyMonitorSampling; description "Latency Monitor Sampling"; } leaf latencyMonitorThreshholdAvg { type platform_latencyMonitorThreshholdAv; description "Average latency monitor threshold"; } leaf latencyMonitorThreshholdMax { type platform_latencyMonitorThreshholdMx; description "Maximum latency monitor threshold"; } leaf latencyMonitorState { type platform_latencyMonitorSt; description "Latency monitor state"; } } grouping platform_BufferMonitor-group { description "Buffer Monitor Property"; // description leaf sampling { type platform_bufferMonitorSampling; description "Buffer Monitor Sampling"; } leaf bufferMonitorThreshhold { type platform_bufferMonitorThreshhold; description "Buffer monitor threshold"; } leaf bufferMonitorState { type platform_bufferMonitorSt; description "Buffer monitor state"; } leaf bufferMonitorMode { type platform_bufferMonitorMd; description "Buffer monitor mode"; } } grouping platform_PfcMmuBuffer-group { description "Pfc mmu buffer Property"; // description leaf mmuBufferState { type platform_pfcMmuBufferSt; description "Pfc Buffer monitor state"; } leaf bufferReservation { type platform_pfcMmuBufferRes; description "Percentage of shared pool buffers to be reserved"; } leaf cfgFault { config "false"; type platform_pfcMmuCfgFault; description "Fault handling for pfc mmu buffer config"; } } grouping platform_UdfEntity-group { description "UdfEntity"; leaf descr { type string; description "UdfEntity Description"; } container udf-items { list Udf-list { key "name"; uses platform_Udf-group; description "Udf list"; } description "Udf"; } } grouping platform_Udf-group { description "Udf"; leaf name { type string { length "1..16"; } description "Udf Name"; } leaf offsetBase { type platform_UdfOffsetBase; description "Offset Base"; } leaf offsetPosition { type uint8 { range "0..127"; } description "offsetPosition from base 0-127"; } leaf offsetLength { type uint8 { range "1..2"; } description "offsetLength 1-2"; } leaf qualifySpan { type boolean; default "false"; description "qualifySpan"; } leaf qualifySpanV6 { type boolean; default "false"; description "qualifySpanV6"; } leaf qualifySpanV6L2 { type boolean; default "false"; description "qualifySpanV6L2"; } leaf qualifyIfacl { type boolean; default "false"; description "Configure UDFs to be qualified for IFACL region"; } leaf qualifyRacl { type boolean; default "false"; description "Configure UDFs to be qualified for RACL region"; } leaf qualifyVacl { type boolean; default "false"; description "Configure UDFs to be qualified for VACL region"; } leaf qualifyIpv6Racl { type boolean; default "false"; description "Configure UDFs to be qualified for IPV6 RACL region"; } leaf qualifyRaclAll { type boolean; default "false"; description "Configure UDFs to be qualified for RACL ALL region"; } leaf qualifySpanAll { type boolean; default "false"; description "Configure UDFs to be qualified for SPAN ALL region"; } // Fault handling related leaf cfgFault { config "false"; type platform_UdfCfgFault; description "cfgFault"; } leaf netflowRtp { type boolean; default "false"; description "Configure netflow rtp udf"; } leaf mplsStack1 { type boolean; default "false"; description "Configure UDF for first level (inner) of MPLS encapsulation"; } leaf mplsStack2 { type boolean; default "false"; description "Configure UDF for second level (outer) of MPLS encapsulation"; } } grouping platform_Nexus9000v-group { description "Nexus9000v Operational Data MO"; // Networking policy for virtual platform container netpolicy-items { uses platform_NetPolicy-group; description "Virtual platform networking policy"; } } grouping platform_NetPolicy-group { description "Virtual platform networking policy"; } grouping pie_PIE-group { container ports-items { uses pie_Ports-group; } container modules-items { uses pie_Modules-group; } // END : Aggregate SSD Data Related Properties SSD SmartCTL Related Properties container ssd_smart_ctl-items { uses pie_SsdSmartCtl-group; description "SmartCTL attribute values of SSD"; } // END : Memory and CPU Related Properties Environmentals Related Properties container env-items { uses pie_Environmentals-group; description "Environmentals related properties"; } } grouping pie_Ports-group { // END : Environmentals Related Properties container phys-items { list PhysicalPort-list { config "false"; key "id"; uses pie_PhysicalPort-group; } } } grouping pie_PhysicalPort-group { leaf id { config "false"; type string; description "front panel port list with or without breakout"; } container linkflap_event-items { list LinkFlapEvent-list { config "false"; key "id"; uses pie_LinkFlapEvent-group; } } container linkdown_event-items { list LinkDownEvent-list { config "false"; key "id"; uses pie_LinkDownEvent-group; } } // Transceiver Related Properties container transceiver_event-items { list Transceiver-list { config "false"; key "event"; uses pie_Transceiver-group; description "Inserted transceiver values for the given usd port list"; } description "Inserted transceiver values for the given usd port"; } } grouping pie_LinkFlapEvent-group { leaf id { config "false"; type uint32; description "Link event for the particular front panel port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } // Linx Meta Data Related Properties container linx_meta_data-items { uses pie_LinxMetaData-group; description "Linx Meta data for the given usd port"; } // Linx RCA Data Related Properties container linx_rca_data-items { uses pie_LinxRcaData-group; description "Linx RCA data for the given usd port"; } // USD HW Data Related Properties container hardware_data-items { uses pie_UsdHardwareData-group; description "USD Hardware data for the given usd port"; } // USD SW Data Related Properties container software_data-items { uses pie_UsdSoftwareData-group; description "USD Software data for the given usd port"; } // USD Port State Machine Related Properties container portsmdata-items { uses pie_PortSmData-group; description "Port State Machine values for the given usd port"; } // USD Mac Data Related Properties container macdata-items { uses pie_MacData-group; description "Mac Data values for the given usd port"; } // USD Mac PCS Data Related Properties container macpcsdata-items { uses pie_MacPcsData-group; description "Mac PCS Data values for the given usd port"; } // USD Mac FEC Data Related Properties container macfecdata-items { uses pie_MacFecData-group; description "Mac FEC Data values for the given usd port"; } // USD Mac SERDES Data Related Properties container macserdesdata-items { uses pie_MacSerdesData-group; description "Mac SERDES Data values for the given usd port"; } // USD Phy Data Related Properties container phy_data-items { uses pie_PhyDataValue-group; description "Phy HOST Data values for the given usd port"; } // USD Phy HOST Data Related Properties container phy_host_data-items { uses pie_PhyHostDataValue-group; description "Phy HOST Data values for the given usd port"; } // USD Phy LINE Data Related Properties container phy_line_data-items { uses pie_PhyLineData-group; description "Phy LINE Data values for the given usd port"; } // USD Xcvr Data Related Properties container xcvr_data-items { uses pie_LinkXcvrData-group; description "Link Xcvr Data values for the given usd port"; } } grouping pie_LinxMetaData-group { description "Linx Meta data for the given usd port"; leaf portNumber { config "false"; type uint32; description "Software admin status value for the given USD port"; } leaf slice { config "false"; type uint32; description "Hardware admin status value for the given USD port"; } leaf phyPortNumber { config "false"; type uint32; description "Software auto negotiation value for the given USD port"; } leaf linkEventType { config "false"; type uint32; description "Hardware auto negotiation value for the given USD port"; } leaf linkStatus { config "false"; type uint32; description "Software FEC value for the given USD port"; } leaf retimerPort { config "false"; type uint16; description "Hardware FEC value for the given USD port"; } leaf asicType { config "false"; type uint16; description "Root Cause Analysis for the event for the given USD port"; } leaf phyType { config "false"; type uint16; description "Root Cause Analysis for the event for the given USD port"; } leaf phyMode { config "false"; type uint16; description "Root Cause Analysis for the event for the given USD port"; } leaf xcvrSupported { config "false"; type boolean; description "Root Cause Analysis for the event for the given USD port"; } leaf isPhyPort { config "false"; type boolean; description "Root Cause Analysis for the event for the given USD port"; } leaf isCopper { config "false"; type boolean; description "Root Cause Analysis for the event for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_LinxRcaData-group { description "Linx RCA data for the given usd port"; leaf interface { config "false"; type string; description "Interface (ethernet) value for the given USD port"; } leaf swadminstatus { config "false"; type uint16; description "Software admin status value for the given USD port"; } leaf hwadminstatus { config "false"; type uint16; description "Hardware admin status value for the given USD port"; } leaf swautoneg { config "false"; type uint16; description "Software auto negotiation value for the given USD port"; } leaf hwautoneg { config "false"; type uint16; description "Hardware auto negotiation value for the given USD port"; } leaf swfec { config "false"; type uint16; description "Software FEC value for the given USD port"; } leaf hwfec { config "false"; type uint16; description "Hardware FEC value for the given USD port"; } leaf rca { config "false"; type string; description "Root Cause Analysis for the event for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_UsdHardwareData-group { description "USD Hardware data for the given usd port"; leaf adminState { config "false"; type uint16; description "Admin state value for the given USD port"; } leaf operState { config "false"; type uint16; description "Oper state value for the given USD port"; } leaf mtuValue { config "false"; type uint16; description "Hardware MTU value for the given USD port"; } leaf loopback { config "false"; type boolean; description "Hardware loopback value for the given USD port"; } leaf duplex { config "false"; type uint16; description "Hardware duplex value for the given USD port"; } leaf mdix { config "false"; type uint16; description "Hardware mdix value for the given USD port"; } leaf speed { config "false"; type uint32; description "Operating speed value for the given USD port"; } leaf fec { config "false"; type uint32; description "Operating fec value for the given USD port"; } leaf bkMap { config "false"; type uint16; description "Operating breakout map value for the given USD port"; } leaf ipg { config "false"; type uint16; description "Operating ipg value for the given USD port"; } leaf prbs { config "false"; type boolean; description "Operating prbs value for the given USD port"; } leaf xcvrPresent { config "false"; type boolean; description "Operating xcvr present value for the given USD port"; } leaf glctPresent { config "false"; type boolean; description "Operating glct present value for the given USD port"; } leaf qsaPresent { config "false"; type boolean; description "Operating qsa present value for the given USD port"; } leaf phyPort { config "false"; type boolean; description "Operating phyPort value for the given USD port"; } leaf purged { config "false"; type boolean; description "Operating purged value for the given USD port"; } leaf hwPortPresent { config "false"; type boolean; description "Operating hardware port present value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_UsdSoftwareData-group { description "USD Software data for the given usd port"; leaf adminState { config "false"; type uint16; description "Admin state value for the given USD port"; } leaf operState { config "false"; type uint16; description "Oper state value for the given USD port"; } leaf mtuvalue { config "false"; type uint16; description "Software MTU value for the given USD port"; } leaf loopback { config "false"; type boolean; description "Software loopback value for the given USD port"; } leaf duplex { config "false"; type uint16; description "Software duplex value for the given USD port"; } leaf mdix { config "false"; type uint16; description "Software mdix value for the given USD port"; } leaf speed { config "false"; type uint32; description "Operating speed value for the given USD port"; } leaf fec { config "false"; type uint32; description "Operating fec value for the given USD port"; } leaf bkMap { config "false"; type uint16; description "Operating breakout map value for the given USD port"; } leaf ipg { config "false"; type uint16; description "Operating ipg value for the given USD port"; } leaf prbs { config "false"; type boolean; description "Operating prbs value for the given USD port"; } leaf xcvrPresent { config "false"; type boolean; description "Operating xcvr present value for the given USD port"; } leaf glctPresent { config "false"; type boolean; description "Operating glct present value for the given USD port"; } leaf qsaPresent { config "false"; type boolean; description "Operating qsa present value for the given USD port"; } leaf phyPort { config "false"; type boolean; description "Operating phyPort value for the given USD port"; } leaf purged { config "false"; type boolean; description "Operating purged value for the given USD port"; } leaf hwPortPresent { config "false"; type boolean; description "Operating hardware port present value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_PortSmData-group { description "Port State Machine values for the given usd port"; leaf smType { config "false"; type uint16; description "SM type value for the given USD port"; } leaf smState { config "false"; type uint16; description "SM state value for the given USD port"; } leaf portLineUp { config "false"; type uint16; description "Port Line up value for the given USD port"; } leaf signalDetect { config "false"; type boolean; description "Signal Detect value for the given USD port"; } leaf icalDone { config "false"; type uint16; description "Ical Done value for the given USD port"; } leaf pcal1Done { config "false"; type uint16; description "Pcal 1 Done value for the given USD port"; } leaf pcal2Done { config "false"; type uint16; description "Pcal 2 Done Status value for the given USD port"; } leaf adaptiveEn { config "false"; type uint16; description "Adaptive En Status value for the given USD port"; } leaf liveLinkTestBed { config "false"; type uint16; description "Live Link Test bed Status value for the given USD port"; } leaf checkRfDone { config "false"; type uint16; description "RF check done value for the given USD port"; } leaf macUpTried { config "false"; type uint16; description "Mac Up tried value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_MacData-group { description "Mac Data values for the given usd port"; leaf signalDetect { config "false"; type boolean; description "Signal Detect for the given USD port"; } leaf numLanes { config "false"; type uint16; description "Number of Lanes value for the given USD port"; } leaf startLane { config "false"; type uint16; description "Start Lane value for the given USD port"; } leaf txEnable { config "false"; type boolean; description "Tx Enable value for the given USD port"; } leaf rxEnable { config "false"; type boolean; description "Rx Enable value for the given USD port"; } leaf faultStatus { config "false"; type uint16; description "Fault status value for the given USD port"; } leaf rxCrcError { config "false"; type uint64; description "Rx CRC Error value for the given USD port"; } leaf txCrcError { config "false"; type uint64; description "Tc CRC error Status value for the given USD port"; } leaf lenError { config "false"; type uint64; description "Length Error value for the given USD port"; } leaf framingError { config "false"; type uint64; description "Framing Error value for the given USD port"; } leaf txFifoError { config "false"; type uint64; description "Tx FIFO Error value for the given USD port"; } leaf rxFifoError { config "false"; type uint64; description "Rx FIFO Error value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_MacPcsData-group { description "Mac PCS Data values for the given usd port"; leaf blockLockLoss { config "false"; type boolean; description "Block Loss value for the given USD port"; } leaf fault { config "false"; type boolean; description "Fault value for the given USD port"; } leaf phyFifoError { config "false"; type boolean; description "Phy Fifo Error value for the given USD port"; } leaf decoderTrap { config "false"; type boolean; description "Decoder trap Value for the given USD port"; } leaf deskewOverflow { config "false"; type boolean; description "Deskew Overflow value for the given USD port"; } leaf syncLoss { config "false"; type boolean; description "Sunc Loss value for the given USD port"; } leaf highBer { config "false"; type boolean; description "High Ber Status value for the given USD port"; } leaf highSer { config "false"; type boolean; description "High Ser Status value for the given USD port"; } leaf errorBlocks { config "false"; type boolean; description "Error block value for the given USD port"; } leaf alignmentLoss { config "false"; type boolean; description "Alignment Loss value for the given USD port"; } leaf alignmentStatus { config "false"; type uint16; description "ALignment Status value for the given USD port"; } leaf rxPcsBlockError { config "false"; type uint64; description "Rx PCS Block error value for the given USD port"; } leaf rxPcsTestError { config "false"; type uint64; description "Rx PCS Test error Status value for the given USD port"; } leaf rxPcsSyncError { config "false"; type uint64; description "Rx PCS Sync error value for the given USD port"; } leaf rxPcsBipError { config "false"; type uint64; description "Rx PCS Bip Error value for the given USD port"; } leaf rxPcsAlignMapError { config "false"; type uint64; description "Rx PCS Align Map Error Status value for the given USD port"; } leaf rxPcsAlignSkewError { config "false"; type uint64; description "Rx PCS Align Skew Error value for the given USD port"; } leaf rxPcsfecCwError { config "false"; type uint64; description "Rx PCS Few CW Error value for the given USD port"; } leaf rxPcsAlignMarkerError { config "false"; type uint64; description "Rx PCS Align Marker Error value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_MacFecData-group { description "Mac FEC Data values for the given usd port"; leaf fcEccError { config "false"; type boolean; description "Fc ECC Error value for the given USD port"; } leaf rsEccError { config "false"; type boolean; description "Rs ECC Error value for the given USD port"; } leaf rsAlignmentLost { config "false"; type boolean; description "Rs Alignment Lost value for the given USD port"; } leaf rsUncorrError { config "false"; type uint64; description "Rs Uncorrectable Error value for the given USD port"; } leaf rsDeskewError { config "false"; type boolean; description "Rs Deskew Error value for the given USD port"; } leaf rsBerOverThresError { config "false"; type boolean; description "Rs Ber Over threshold error value for the given USD port"; } leaf fcUncorrError { config "false"; type boolean; description "Fc Uncorrectable error value for the given USD port"; } leaf fcBadUncorrCodeWord { config "false"; type boolean; description "Fc Bad Uncorrectable Code Word value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_MacSerdesData-group { description "Mac SERDES Data values for the given usd port"; leaf serdesLane { config "false"; type uint16; description "Serdes lane value for the given USD port"; } leaf pre1 { config "false"; type uint16; description "Pre 1 value for the given USD port"; } leaf pre2 { config "false"; type uint16; description "Pre 2 value for the given USD port"; } leaf pre3 { config "false"; type uint16; description "Pre 3 value for the given USD port"; } leaf attn { config "false"; type uint16; description "Attn value for the given USD port"; } leaf post { config "false"; type uint16; description "Post value for the given USD port"; } leaf main { config "false"; type uint16; description "Main value for the given USD port"; } leaf eyeHights { config "false"; type uint16; description "Eye Hights Status value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_PhyDataValue-group { description "Phy HOST Data values for the given usd port"; leaf hrxLanes { config "false"; type uint16; description "Hrx value for the given USD port"; } leaf htxLanes { config "false"; type uint16; description "Htx is ready value for the given USD port"; } leaf lrxLanes { config "false"; type uint16; description "Lrx has exception value for the given USD port"; } leaf ltxLanes { config "false"; type uint16; description "Ltx Hrx Channel value for the given USD port"; } leaf opMode { config "false"; type uint16; description "Host operational mode value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_PhyHostDataValue-group { description "Phy HOST Data values for the given usd port"; leaf hostActive { config "false"; type uint16; description "Host Active value for the given USD port"; } leaf hostIsReady { config "false"; type uint16; description "Host is ready value for the given USD port"; } leaf hostHasException { config "false"; type uint16; description "Host has exception value for the given USD port"; } leaf hostHrxChannel { config "false"; type uint16; description "Host Hrx Channel value for the given USD port"; } leaf hostOperationalMode { config "false"; type uint16; description "Host operational mode value for the given USD port"; } leaf hostHmuxMode { config "false"; type uint16; description "Host Hmux mode value for the given USD port"; } leaf hostInternal { config "false"; type uint16; description "Host Internal value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_PhyLineData-group { description "Phy LINE Data values for the given usd port"; leaf lineActive { config "false"; type uint16; description "Line Active value for the given USD port"; } leaf lineIsReady { config "false"; type uint16; description "Line is ready value for the given USD port"; } leaf lineHasException { config "false"; type uint16; description "Line has exception value for the given USD port"; } leaf lineHrxChannel { config "false"; type uint16; description "Line Hrx Channel value for the given USD port"; } leaf lineOperationalMode { config "false"; type uint16; description "Line operational mode value for the given USD port"; } leaf lineHmuxMode { config "false"; type uint16; description "Line Hmux mode value for the given USD port"; } leaf lineInternal { config "false"; type uint16; description "Line Internal value for the given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_LinkXcvrData-group { description "Link Xcvr Data values for the given usd port"; leaf xcvrType { config "false"; type uint32; description "Transceiver type for the given USD port"; } leaf xcvrPresent { config "false"; type boolean; description "Xcvr presence value for the given USD port"; } leaf diagsSupported { config "false"; type boolean; description "Is diag supported value for the given USD port"; } leaf isLaserDisabled { config "false"; type boolean; description "Is Laser disabled value for the given USD port"; } leaf tx_los { config "false"; type uint16; description "Tx Los value for the given USD port"; } leaf rx_los { config "false"; type uint16; description "Rx Los mode value for the given USD port"; } leaf tx_fault { config "false"; type uint16; description "Tx fault value for the given USD port"; } leaf tx_adapt_eq_fault { config "false"; type uint16; description "Tx adapt eq fault for given USD port"; } leaf tx_cdr_lol { config "false"; type uint16; description "Tx cdr lol value for a given USD port"; } leaf rx_cdr_lol { config "false"; type uint16; description "Rx cdr lol for a given USD port"; } leaf temp_high_alarm { config "false"; type uint16; description "Temperature high alarm for a given USD port"; } leaf temp_low_alarm { config "false"; type uint16; description "Temperature low alarm for a given USD port"; } leaf temp_high_warning { config "false"; type uint16; description "Temperature high warning for a given USD port"; } leaf temp_low_warning { config "false"; type uint16; description "Temperature low warning for a given USD port"; } leaf voltage_high_alarm { config "false"; type uint16; description "Voltage high alarm for a given USD port"; } leaf voltage_low_alarm { config "false"; type uint16; description "Voltage low alarm for a given USD port"; } leaf voltage_high_warning { config "false"; type uint16; description "Voltage high warning for a given USD port"; } leaf voltage_low_warning { config "false"; type uint16; description "Voltage low warning for a given USD port"; } leaf rx_power_high_alarm { config "false"; type uint16; description "Rx power high alarm for a given USD port"; } leaf rx_power_low_alarm { config "false"; type uint16; description "Rx power low alarm for a given USD port"; } leaf rx_power_high_warning { config "false"; type uint16; description "Rx power high warning for a given USD port"; } leaf rx_power_low_warning { config "false"; type uint16; description "Rx power low warning for a given USD port"; } leaf tx_power_high_alarm { config "false"; type uint16; description "Tx power high alarm for a given USD port"; } leaf tx_power_low_alarm { config "false"; type uint16; description "Tx power low alarm for a given USD port"; } leaf tx_power_high_warning { config "false"; type uint16; description "Tx power high warning for a given USD port"; } leaf tx_power_low_warning { config "false"; type uint16; description "Tx power low warning for a given USD port"; } leaf bias_current_high_alarm { config "false"; type uint16; description "Bias current high alarm for a given USD port"; } leaf bias_current_low_alarm { config "false"; type uint16; description "Bias current low alarm for a given USD port"; } leaf bias_current_high_warning { config "false"; type uint16; description "Bias current high warning for a given USD port"; } leaf bias_current_low_warning { config "false"; type uint16; description "Bias current low warning for a given USD port"; } leaf laser_temp_high_alarm { config "false"; type uint16; description "Laser temperature high alarm for a given USD port"; } leaf laser_temp_low_alarm { config "false"; type uint16; description "Laser temperature low alarm for a given USD port"; } leaf laser_temp_high_warning { config "false"; type uint16; description "Laser temperature high warning for a given USD port"; } leaf laser_temp_low_warning { config "false"; type uint16; description "Laser temperature low warning for a given USD port"; } leaf tec_current_high_alarm { config "false"; type uint16; description "Tec current high alarm for a given USD port"; } leaf tec_current_low_alarm { config "false"; type uint16; description "Tec current low alarm for a given USD port"; } leaf tec_current_high_warning { config "false"; type uint16; description "Tec current high warning for a given USD port"; } leaf tec_current_low_warning { config "false"; type uint16; description "Tec current low warning for a given USD port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_LinkDownEvent-group { leaf id { config "false"; type uint32; description "Link event for the particular front panel port"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } // Linx Meta Data Related Properties container linx_meta_data-items { uses pie_LinxMetaData-group; description "Linx Meta data for the given usd port"; } // Linx RCA Data Related Properties container linx_rca_data-items { uses pie_LinxRcaData-group; description "Linx RCA data for the given usd port"; } // USD HW Data Related Properties container hardware_data-items { uses pie_UsdHardwareData-group; description "USD Hardware data for the given usd port"; } // USD SW Data Related Properties container software_data-items { uses pie_UsdSoftwareData-group; description "USD Software data for the given usd port"; } // USD Port State Machine Related Properties container portsmdata-items { uses pie_PortSmData-group; description "Port State Machine values for the given usd port"; } // USD Mac Data Related Properties container macdata-items { uses pie_MacData-group; description "Mac Data values for the given usd port"; } // USD Mac PCS Data Related Properties container macpcsdata-items { uses pie_MacPcsData-group; description "Mac PCS Data values for the given usd port"; } // USD Mac FEC Data Related Properties container macfecdata-items { uses pie_MacFecData-group; description "Mac FEC Data values for the given usd port"; } // USD Mac SERDES Data Related Properties container macserdesdata-items { uses pie_MacSerdesData-group; description "Mac SERDES Data values for the given usd port"; } // USD Phy Data Related Properties container phy_data-items { uses pie_PhyDataValue-group; description "Phy HOST Data values for the given usd port"; } // USD Phy HOST Data Related Properties container phy_host_data-items { uses pie_PhyHostDataValue-group; description "Phy HOST Data values for the given usd port"; } // USD Phy LINE Data Related Properties container phy_line_data-items { uses pie_PhyLineData-group; description "Phy LINE Data values for the given usd port"; } // USD Xcvr Data Related Properties container xcvr_data-items { uses pie_LinkXcvrData-group; description "Link Xcvr Data values for the given usd port"; } } grouping pie_Transceiver-group { description "Inserted transceiver values for the given usd port"; leaf event { config "false"; type uint32; description "Event ID for the given property container"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the transceiver event"; } leaf transceiverType { config "false"; type uint32; description "Transceiver type value for the given USD port"; } leaf txLOS { config "false"; type uint32; description "Tx LOS value for the given transceiver"; } leaf rxLOS { config "false"; type uint32; description "Rx LOS value for the given transceiver"; } leaf txAdaptEqFault { config "false"; type uint32; description "TxAdaptEqFault value for the given transceiver"; } leaf txFault { config "false"; type uint32; description "TxFault value for the given transceiver"; } leaf txCDR { config "false"; type uint32; description "TxCDR value for the given transceiver"; } leaf rxCDR { config "false"; type uint32; description "RxCDR value for the given transceiver"; } leaf temperature { config "false"; type decimal64 { fraction-digits 6; } description "Temperature value for the given transceiver"; } leaf voltage { config "false"; type decimal64 { fraction-digits 6; } description "Voltage value for the given transceiver"; } leaf rxPower { config "false"; type decimal64 { fraction-digits 6; } description "RxPower value for the given transceiver"; } leaf txPower { config "false"; type decimal64 { fraction-digits 6; } description "TxPower value for the given transceiver"; } leaf biasCurrent { config "false"; type decimal64 { fraction-digits 6; } description "BiasCurrent value for the given transceiver"; } leaf laserReading { config "false"; type decimal64 { fraction-digits 6; } description "LaserReading Temperature or Wavelength value for the given transceiver"; } leaf tecCurrent { config "false"; type decimal64 { fraction-digits 6; } description "TecCurrent value for the given transceiver"; } leaf sNR { config "false"; type uint32; description "SNR value for the given transceiver"; } leaf residualDispersion { config "false"; type uint32; description "ResidualDispersion value for the given transceiver"; } leaf pAM4LevelTransition { config "false"; type uint32; description "PAM4LevelTransition value for the given transceiver"; } leaf preFECBERAverage { config "false"; type uint32; description "PreFECBERAverage value for the given transceiver"; } leaf preFECBERMin { config "false"; type uint32; description "PreFECBERMin value for the given transceiver"; } leaf preFECBERMax { config "false"; type uint32; description "PreFECBERMax value for the given transceiver"; } leaf preFECBERPriorPeriod { config "false"; type uint32; description "PreFECBERPriorPeriod value for the given transceiver"; } leaf preFECBERCurrent { config "false"; type uint32; description "PreFECBERCurrent value for the given transceiver"; } leaf fERAverage { config "false"; type uint32; description "FERAverage value for the given transceiver"; } leaf fERMinimum { config "false"; type uint32; description "FERMinimum value for the given transceiver"; } leaf fERMaximum { config "false"; type uint32; description "FERMaximum value for the given transceiver"; } leaf fERPriorPeriod { config "false"; type uint32; description "FERPriorPeriod value for the given transceiver"; } leaf fERCurrent { config "false"; type decimal64 { fraction-digits 6; } description "FERCurrent value for the given transceiver"; } leaf laserFrequency { config "false"; type decimal64 { fraction-digits 6; } description "LaserFrequency value for the given transceiver"; } leaf laserTemperature { config "false"; type decimal64 { fraction-digits 6; } description "LaserTemperature value for the given transceiver"; } leaf voltageWarnings { config "false"; type uint32; description "VoltageWarnings value for the given transceiver"; } leaf moduleFaults { config "false"; type uint32; description "ModuleFaults value for the given transceiver"; } leaf auxWarning { config "false"; type uint32; description "AuxWarning value for the given transceiver"; } leaf vendorWarning { config "false"; type uint32; description "VendorWarning value for the given transceiver"; } leaf moduleTemperature { config "false"; type uint32; description "ModuleTemperature value for the given transceiver"; } leaf moduleVoltage { config "false"; type uint32; description "ModuleVoltage value for the given transceiver"; } leaf moduleAux1 { config "false"; type uint32; description "ModuleAux1 value for the given transceiver"; } leaf moduleAux2 { config "false"; type uint32; description "ModuleAux2 value for the given transceiver"; } leaf moduleAux3 { config "false"; type uint32; description "ModuleAux3 value for the given transceiver"; } leaf moduleMonitorCustom { config "false"; type uint32; description "ModuleMonitorCustom value for the given transceiver"; } // Transceiver Sensor List Related Properties container transceiver_sensor-items { list TransceiverSensor-list { config "false"; key "sensorId"; uses pie_TransceiverSensor-group; description "Inserted transceiver sensor values for the given usd port list"; } description "Inserted transceiver sensor values for the given usd port"; } // Transceiver Optics Health Related Properties container optics_health-items { uses pie_OpticsHealth-group; description "Health status of the given transceiver"; } } grouping pie_TransceiverSensor-group { description "Inserted transceiver sensor values for the given usd port"; leaf laneId { config "false"; type uint32; description "Transceiver Lane value"; } leaf sensorId { config "false"; type uint32; description "Transceiver Sensor value"; } leaf description { config "false"; type string; description "Description about the sensor"; } leaf unit { config "false"; type string; description "Transceiver Sensor value reading unit"; } leaf value { config "false"; type decimal64 { fraction-digits 6; } description "Sensor value for the given transceiver"; } leaf highAlarm { config "false"; type decimal64 { fraction-digits 6; } description "HighAlarm value for the given transceiver sensor"; } leaf highWarning { config "false"; type decimal64 { fraction-digits 6; } description "HighWarning value for the given transceiver sensor"; } leaf lowAlarm { config "false"; type decimal64 { fraction-digits 6; } description "LowAlarm value for the given transceiver sensor"; } leaf lowWarning { config "false"; type decimal64 { fraction-digits 6; } description "LowWarning value for the given transceiver sensor"; } leaf max { config "false"; type decimal64 { fraction-digits 6; } description "Max value for the given transceiver sensor"; } leaf min { config "false"; type decimal64 { fraction-digits 6; } description "Min value for the given transceiver sensor"; } leaf avg { config "false"; type decimal64 { fraction-digits 6; } description "Avg value for the given transceiver sensor"; } leaf instant { config "false"; type decimal64 { fraction-digits 6; } description "Instant value for the given transceiver sensor"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_OpticsHealth-group { description "Health status of the given transceiver"; leaf healthStatus { config "false"; type pie_OpticsHealthRCAValues; description "Transceiver health status value"; } leaf reason { config "false"; type string; description "RCA about the health status of the transceiver"; } leaf timestamp { config "false"; type uint32; description "Time stamp for the link event"; } leaf eventId { config "false"; type uint32; description "Event id as received from PIE"; } } grouping pie_Modules-group { container module-items { list Module-list { config "false"; key "moduleId"; uses pie_Module-group; description "Per module information list"; } description "Per module information"; } } grouping pie_Module-group { description "Per module information"; leaf moduleId { config "false"; type uint32; description "Module Id which uniquely identifies the module"; } leaf moduleType { config "false"; type string; description "Module Type LC/FM/SC which best represent the module"; } container ssd-items { uses pie_SSD-group; } // END : SSD Smart Params Related Properties Memory and CPU Related Properties container memory-items { uses pie_Memory-group; description "Memory related properties"; } container cpu-items { uses pie_Cpu-group; description "CPU related properties"; } container sensor-items { uses pie_Sensor-group; description "Sensor Insights related properties"; } } grouping pie_SSD-group { container current_data-items { uses pie_CurrentData-group; } container historic_data-items { uses pie_HistoricData-group; } // Aggregate SSD Data Related Properties container aggregate_data-items { uses pie_AggregateData-group; description "Aggregate values of all processes performing read/write on SSD"; } } grouping pie_CurrentData-group { // SSD Data Related Properties container ssd_usage_data-items { list SSDUsageData-list { config "false"; key "pname"; uses pie_SSDUsageData-group; description "Top ten processes performing read/write on SSD list"; } description "Top ten processes performing read/write on SSD"; } } grouping pie_SSDUsageData-group { description "Top ten processes performing read/write on SSD"; leaf pname { config "false"; type string; description "Process name for the process performing SSD activity"; } leaf writeMB { config "false"; type decimal64 { fraction-digits 6; } description "Number of bytes written by the process"; } leaf readMB { config "false"; type decimal64 { fraction-digits 6; } description "Number of by read read by the process"; } leaf syscWrite { config "false"; type uint64; description "Sys write by the process"; } leaf syscRead { config "false"; type uint64; description "Sys read by the process"; } } grouping pie_HistoricData-group { // SSD Data Related Properties container ssd_usage_data-items { list SSDUsageData-list { config "false"; key "pname"; uses pie_SSDUsageData-group; description "Top ten processes performing read/write on SSD list"; } description "Top ten processes performing read/write on SSD"; } } grouping pie_AggregateData-group { description "Aggregate values of all processes performing read/write on SSD"; leaf lastReadInMbytes { config "false"; type uint64; description "Last read data in Mega Bytes"; } leaf lastWriteInMbytes { config "false"; type uint64; description "Last written data in Mega Bytes"; } leaf currentReadInMbytes { config "false"; type uint64; description "Current read data in Mega Bytes"; } leaf currentWriteInMbytes { config "false"; type uint64; description "Current write data in Mega Bytes"; } leaf deltaReadInMbytes { config "false"; type uint64; description "Delta read data in Mega Bytes"; } leaf deltaWriteInMbytes { config "false"; type uint64; description "Delta write data in Mega Bytes"; } leaf readSpeedInMbytesPerSec { config "false"; type decimal64 { fraction-digits 6; } description "Read speed in Mega Bytes per second"; } leaf writeSpeedInMbytesPerSec { config "false"; type decimal64 { fraction-digits 6; } description "Write speed in Mega Bytes per second"; } leaf durationInSeconds { config "false"; type uint16; description "Duration for the data in Seconds"; } } grouping pie_Memory-group { description "Memory related properties"; container memory_usage-items { uses pie_MemoryUsage-group; } container process_memory_info-items { list ProcessMemoryInfo-list { config "false"; key "pId"; uses pie_ProcessMemoryInfo-group; description "Process Memory related properties list"; } description "Process Memory related properties"; } } grouping pie_MemoryUsage-group { leaf memTotal { config "false"; type uint32; description "Total Memory in Kilo Bytes"; } leaf memUsed { config "false"; type uint32; description "Used Memory in Kilo Bytes"; } leaf memFree { config "false"; type uint32; description "Free Memory in Kilo Bytes"; } leaf vmallocTotal { config "false"; type uint64; description "Total Virtual Memory in Kilo Bytes"; } leaf vmallocUsed { config "false"; type uint64; description "Used Virtual Memory in Mega Kilo Bytes"; } leaf memoryHealth { config "false"; type string; description "Memory Health related Statistics"; } } grouping pie_ProcessMemoryInfo-group { description "Process Memory related properties"; leaf pId { config "false"; type uint32; description "Process Id for running process"; } leaf virtualMemory { config "false"; type uint32; description "Process Virtual Memory in Kilo Bytes"; } leaf resdMemory { config "false"; type uint32; description "Process Resident Memory in Kilo Bytes"; } leaf memPercent { config "false"; type decimal64 { fraction-digits 6; } description "Process Memory in Kilo Bytes"; } leaf comm { config "false"; type string; description "Process Name for running process"; } } grouping pie_Cpu-group { description "CPU related properties"; container cpu_usage-items { uses pie_CpuUsage-group; description "Cpu related properties"; } container process_cpu_info-items { list ProcessCpuInfo-list { config "false"; key "pId"; uses pie_ProcessCpuInfo-group; description "Process Cpu related properties list"; } description "Process Cpu related properties"; } } grouping pie_CpuUsage-group { description "Cpu related properties"; leaf util5Sec { config "false"; type uint32; description "Utilization 5 seconds"; } leaf util1Min { config "false"; type uint32; description "Utilization 1 minutes"; } leaf util5Min { config "false"; type uint32; description "Utilization 5 minutes"; } leaf userPercent { config "false"; type decimal64 { fraction-digits 6; } description "User Percentage calculated"; } leaf kernelPercent { config "false"; type decimal64 { fraction-digits 6; } description "Kernel Percentage calculated"; } leaf idlePercent { config "false"; type decimal64 { fraction-digits 6; } description "Idle Percentage calculated"; } leaf cpuHealth { config "false"; type string; description "CPU Health related Statistics"; } } grouping pie_ProcessCpuInfo-group { description "Process Cpu related properties"; leaf pId { config "false"; type uint32; description "Process Id for running process"; } leaf prio { config "false"; type int64; description "Priority Value for algorithm"; } leaf nice { config "false"; type int64; description "Nice Value for algorithm"; } leaf virtualMemory { config "false"; type uint32; description "Virtual Memory in Kilo Bytes"; } leaf resdMemory { config "false"; type uint32; description "Resident Virtual Memory in Kilo Bytes"; } leaf schedPolicy { config "false"; type uint32; description "Scheduling Policy for running process"; } leaf schedPrio { config "false"; type uint32; description "Scheduling Priority for running process"; } leaf cpuPercent { config "false"; type decimal64 { fraction-digits 6; } description "CPU Percentage taken by process"; } leaf memPercent { config "false"; type decimal64 { fraction-digits 6; } description "CPU Memory Percentage taken by process"; } leaf cpuTime { config "false"; type uint32; description "CPU Time taken by process"; } leaf state { config "false"; type string; description "Process State for running process"; } leaf comm { config "false"; type string; description "Process Name for running process"; } } grouping pie_Sensor-group { description "Sensor Insights related properties"; leaf sensorHealth { config "false"; type string; description "Sensor Health Status Details"; } leaf sensorPrediction { config "false"; type string; description "Sensor Prediction Details"; } container sensor_env_info-items { uses pie_SensorEnvInfo-group; description "Sensor Environment Information"; } } grouping pie_SensorEnvInfo-group { description "Sensor Environment Information"; leaf numRecords { config "false"; type uint32; description "Number of Sensor Records"; } container sensor_env_record-items { list SensorEnvRecord-list { config "false"; key "sensorId"; uses pie_SensorEnvRecord-group; description "Properties For Each Sensor Record list"; } description "Properties For Each Sensor Record"; } } grouping pie_SensorEnvRecord-group { description "Properties For Each Sensor Record"; leaf sensorId { config "false"; type uint32; description "Sensor Id For Current Sensor"; } leaf sensorName { config "false"; type string; description "Sensor Name For Current Sensor"; } leaf state { config "false"; type string; description "Sensor State For Current Sensor"; } leaf currentTemp { config "false"; type uint32; description "Current Temperature Recorded By Current Sensor"; } leaf majorThreshold { config "false"; type uint32; description "Major Threshold For Current Sensor"; } leaf minorThreshold { config "false"; type uint32; description "Minor Threshold For Current Threshold"; } } grouping pie_SsdSmartCtl-group { description "SmartCTL attribute values of SSD"; leaf ssdHealth { config "false"; type string; description "SSD Health Status Details"; } container ssd_params-items { uses pie_SsdParams-group; description "SmartCTL SSD params attribute values of SSD"; } } grouping pie_SsdParams-group { description "SmartCTL SSD params attribute values of SSD"; leaf model { config "false"; type string; description "Model Number of the SSD"; } leaf serialNumber { config "false"; type string; description "Serial Number of the SSD"; } leaf revision { config "false"; type string; description "Revision String of the SSD"; } leaf capacity { config "false"; type uint64; description "Capacity of the SSD in MegaBytes"; } leaf peCycle { config "false"; type uint16; description "Current Program Erase Cycle"; } leaf peCycleMax { config "false"; type uint16; description "Program Erase Cycle Threshold"; } leaf gbb { config "false"; type uint16; description "Grown Bad Blocks for the SSD"; } leaf gbbMax { config "false"; type uint16; description "Threshold for Grown Bad Blocks for SSD"; } leaf powerOnHours { config "false"; type uint32; description "Total Power On Hours for SSD"; } leaf readErrorRate { config "false"; type uint32; description "Raw Read Errors for SSD"; } leaf readErrorRateMax { config "false"; type uint32; description "Threshold for Raw Read Errors for SSD"; } leaf lifetimeUtilised { config "false"; type uint16; description "Lifetime Utlised in Percentage"; } } grouping pie_Environmentals-group { description "Environmentals related properties"; container psu-items { list Psu-list { config "false"; key "psId"; uses pie_Psu-group; description "Properties for each PSU list"; } description "Properties for each PSU"; } container fan-items { uses pie_Fan-group; description "Fan Insights related properties"; } } grouping pie_Psu-group { description "Properties for each PSU"; leaf psId { config "false"; type uint32; description "PSU Id for the current Power Supply Unit"; } leaf psMfr { config "false"; type string; description "Power Supply Manufacturer for the current PSU"; } leaf prodId { config "false"; type string; description "PS product id for the current PSU"; } leaf psSerial { config "false"; type string; description "PS Serial for the current PSU"; } leaf psHealth { config "false"; type string; description "PS health for current PSU"; } leaf psPrediction { config "false"; type string; description "Prediction for current PSU"; } container psu_env_info-items { uses pie_PsuEnvInfo-group; description "Properties for PSU Environmental Info"; } container psu_power_info-items { uses pie_PsuPowerInfo-group; description "Properties for PSU Power Info"; } container psu_firmware-items { uses pie_PsuFirmware-group; description "Properties for PSU Firmware Info"; } } grouping pie_PsuEnvInfo-group { description "Properties for PSU Environmental Info"; leaf psStatus { config "false"; type string; description "PSU Status for the current Power Supply Unit"; } leaf psFanStatus { config "false"; type string; description "PSU Fan Status for the current Power Supply Unit"; } leaf psIvm { config "false"; type uint32; description "PSU Internal Voltage Monitoring for the current Power Supply Unit"; } leaf psVoltage { config "false"; type uint32; description "PSU Voltage Status for the current Power Supply Unit"; } leaf psAlarmShutdown { config "false"; type uint32; description "PSU Alarm Shutdown for the current Power Supply Unit"; } leaf psFanSpeed1 { config "false"; type uint32; description "PSU Fan Speed1 for the current Power Supply Unit"; } leaf psFanSpeed2 { config "false"; type uint32; description "PSU Fan Speed2 for the current Power Supply Unit"; } leaf psInletTemp { config "false"; type uint32; description "PSU Inlet temp for the current Power Supply Unit"; } leaf psOutletTemp { config "false"; type uint32; description "PSU Outlet temp for the current Power Supply Unit"; } leaf psHeatSinkTemp { config "false"; type uint32; description "PSU Heat Sink temp for the current Power Supply Unit"; } leaf psFanDir { config "false"; type string; description "PSU Fan Direction for the current Power Supply Unit"; } leaf psIvm1 { config "false"; type uint32; description "PSU Ivm1 for the current Power Supply Unit"; } leaf psIvm2 { config "false"; type uint32; description "PSU Ivm2 for the current Power Supply Unit"; } leaf psAlarmReg { config "false"; type uint32; description "PSU Alarm Reg for the current Power Supply Unit"; } } grouping pie_PsuPowerInfo-group { description "Properties for PSU Power Info"; leaf pIn { config "false"; type uint32; description "Input power for the current Power Supply Unit"; } leaf pOut { config "false"; type uint32; description "Output power Status for the current Power Supply Unit"; } leaf iIn { config "false"; type uint32; description "iIn for the current Power Supply Unit"; } leaf iOut { config "false"; type uint32; description "iOut for the current Power Supply Unit"; } leaf vIn { config "false"; type uint32; description "Input Voltage for the current Power Supply Unit"; } leaf vOut { config "false"; type uint32; description "Output Voltage for the current Power Supply Unit"; } leaf fanSpeed { config "false"; type uint32; description "Fan speed for the current Power Supply Unit"; } leaf vOutMode { config "false"; type uint32; description "vOutMode for the current Power Supply Unit"; } leaf iInB { config "false"; type uint32; description "iInB for the current Power Supply Unit"; } leaf vInB { config "false"; type uint32; description "vInB Fan Speed2 for the current Power Supply Unit"; } leaf powerDomain { config "false"; type uint32; description "Power domain for the current Power Supply Unit"; } leaf fanPower { config "false"; type uint32; description "Fan power for the current Power Supply Unit"; } } grouping pie_PsuFirmware-group { description "Properties for PSU Firmware Info"; leaf secondaryMajor { config "false"; type uint32; description "Is Version type for the current Power Supply Unit"; } leaf secondaryMinor { config "false"; type uint32; description "Is Version type for the current Power Supply Unit"; } leaf primaryMajor { config "false"; type uint32; description "Is Version type for the current Power Supply Unit"; } leaf primaryMinor { config "false"; type uint32; description "Is Version type for the current Power Supply Unit"; } } grouping pie_Fan-group { description "Fan Insights related properties"; leaf fanHealth { config "false"; type string; description "Fan Health Status Details"; } leaf fanPrediction { config "false"; type string; description "Fan Prediction Details"; } container fan_env_info-items { uses pie_FanEnvInfo-group; description "Fan Environment Information"; } } grouping pie_FanEnvInfo-group { description "Fan Environment Information"; leaf numRecords { config "false"; type uint32; description "Number of Fan Records"; } container fan_env_record-items { list FanEnvRecord-list { config "false"; key "fanId"; uses pie_FanEnvRecord-group; description "Properties For Each Fan Record list"; } description "Properties For Each Fan Record"; } } grouping pie_FanEnvRecord-group { description "Properties For Each Fan Record"; leaf fanId { config "false"; type uint32; description "Fan Id For Current Fan"; } leaf fanMfr { config "false"; type string; description "Fan Manufacturer For Current Fan"; } leaf fanProdId { config "false"; type string; description "Fan Product Id For Current Fan"; } leaf fanSerial { config "false"; type string; description "Fan Serial for Current Fan"; } leaf fanPresent { config "false"; type uint32; description "Fan Present For Current Fan"; } leaf fanStatus { config "false"; type string; description "Fan Status For Current Fan"; } container fan_params-items { list FanParams-list { config "false"; key "trayInst"; uses pie_FanParams-group; description "Parameters For Each Fan Inst list"; } description "Parameters For Each Fan Inst"; } } grouping pie_FanParams-group { description "Parameters For Each Fan Inst"; leaf trayInst { config "false"; type uint32; description "Tray Inst For Current Fan"; } leaf fanInst { config "false"; type uint32; description "Fan Inst For Current Fan"; } leaf fanFault { config "false"; type uint32; description "Fan Fault For Current Fan"; } leaf fanTemp { config "false"; type uint32; description "Fan Temperature of Current Fan"; } leaf fanDir { config "false"; type uint32; description "Fan Direction of Current Fan"; } leaf fanPos { config "false"; type uint32; description "Fan Position For Current Fan"; } leaf fanRpm { config "false"; type uint32; description "Fan Rpm value For Current Fan"; } leaf maxRpm { config "false"; type uint32; description "Max Fan Rpm value For Current Fan"; } leaf fanSpeed { config "false"; type uint32; description "Speed in % For Current Fan"; } leaf zone { config "false"; type uint32; description "Zones for EOR For Current Fan"; } } grouping satm_Entity-group { description "Satellite Manager Entity"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Discovered extended chassis container dextch-items { list DExtCh-list { config "false"; key "vendor model ser"; uses satm_DExtCh-group; description "Discovered Extended Chassis list"; } description "Discovered Extended Chassis"; } // Configure FEX container fex-items { list Fex-list { key "id"; uses satm_Fex-group; description "FEX Configuration list"; } description "FEX Configuration"; } // Fabric port definition container fabp-items { list FabP-list { config "false"; key "id"; uses satm_FabP-group; description "Fabric Port list"; } description "Fabric Port"; } } grouping satm_DExtCh-group { description "Discovered Extended Chassis"; // Operational state leaf operSt { config "false"; type satm_ExtChOperSt; description "Operational State"; } // Extended chassis software version leaf ver { config "false"; type cap_Version; description "Software Version"; } // Switch software version leaf swVer { config "false"; type cap_Version; description "Switch Software Version"; } // Interim extended chassis software version leaf intVer { config "false"; type cap_Version; description "Interim Software Version"; } // Interim switch software version leaf swIntVer { config "false"; type cap_Version; description "Interim Switch Software Version"; } // Extended chassis software generation leaf swGen { config "false"; type satm_SwGen; description "Software Generation"; } // Control channel fabric port leaf controlFPort { config "false"; type nw_IfId; description "Control Channel Fabric Port"; } // The vendor manufacturing this device. leaf vendor { config "false"; type eqpt_Vendor; description "Vendor"; } // The device model leaf model { config "false"; type eqpt_Model; description "Model"; } // The device revision. leaf rev { config "false"; type eqpt_Revision; description "Revision"; } // The device serial number. leaf ser { config "false"; type eqpt_Serial; description "Serial Number"; } // Identifier for the item leaf id { config "false"; type eqpt_Id { range "101..199"; } description "ID"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping satm_Fex-group { description "FEX Configuration"; leaf id { type uint32 { range "1..199"; } description "FEX number"; } leaf descr { type string { length "0..22"; } description "FEX description"; } leaf serialNumber { type string { length "0..20"; } description "Chassis serial number"; } } grouping satm_FabP-group { description "Fabric Port"; // Interface ID of port leaf id { config "false"; type nw_IfId; description "ID"; } // Fabric port operational state leaf operSt { config "false"; type satm_OperSt; description "Operational State"; } // Extended chassis id leaf extChId { config "false"; type eqpt_ExtChId; description "Extended Chassis ID"; } // Fabric port FSM state leaf fsmSt { config "false"; type satm_FpFsmSt; description "Fabric FSM State"; } leaf remoteLinkId { config "false"; type uint16; description "Remote Link ID of the Fabric Port"; } // Fabric port flags leaf flags { config "false"; type satm_FportFlags; description "Fabric Port Flags"; } // Satellite manager host port container hostp-items { list HostP-list { config "false"; key "id"; uses satm_HostP-group; description "Host Port list"; } description "Host Port"; } // Remote fcot definition container remotefcot-items { uses satm_RemoteFcot-group; description "Remote Fcot"; } // Remote X2 fcot definition container remotefcotx2-items { uses satm_RemoteFcotX2-group; description "Remote X2 Fcot"; } } grouping satm_HostP-group { description "Host Port"; // Interface ID of port leaf id { config "false"; type nw_IfId; description "ID"; } // Operational state leaf operSt { config "false"; type satm_HpOperSt; description "Operational State"; } // Fabric port leaf fabricPort { config "false"; type nw_IfId; description "Fabric Port"; } } grouping satm_RemoteFcot-group { description "Remote Fcot"; leaf isFcotPresent { config "false"; type boolean; description "Presence Status"; } // Fcot state leaf state { config "false"; type ethpm_FcotState; description "State"; } // Fcot flags leaf flags { config "false"; type ethpm_FcotFlags; description "Flags"; } // Fcot type leaf type { config "false"; type ethpm_FcotType; description "Type"; } leaf typeName { config "false"; type string; description "Type Name"; } // Transceiver type leaf transceiverType { config "false"; type ethpm_FcotTransceiverType; description "Transceiver Type"; } leaf xcvrId { config "false"; type uint8; description "Transceiver ID"; } leaf xcvrExtId { config "false"; type uint8; description "Transceiver Extended ID"; } leaf connectType { config "false"; type uint8; description "Connector Type"; } // Xcvr code field leaf xcvrCode { config "false"; type ethpm_SfpXcvrCodeBytes; description "Transceiver Code"; } leaf encoding { config "false"; type uint8; description "Encoding"; } leaf brIn100MHz { config "false"; type uint8; description "Baud Rate"; } leaf baseResvd1 { config "false"; type uint8; description "Base Reserved Field"; } leaf distInKmFor9u { config "false"; type uint8; description "Distance"; } leaf distIn100mFor9u { config "false"; type uint8; description "Distance"; } leaf distIn10mFor50u { config "false"; type uint8; description "Distance"; } leaf distIn10mFor60u { config "false"; type uint8; description "Distance"; } leaf distIn1mForCu { config "false"; type uint8; description "Distance"; } leaf baseResvd2 { config "false"; type uint8; description "Base Reserved Field"; } leaf vendorName { config "false"; type string; description "Vendor Name"; } leaf baseResvd3 { config "false"; type uint8; description "Base Reserved Field"; } leaf vendorPn { config "false"; type string; description "Vendor Part Number"; } leaf vendorRev { config "false"; type string; description "Vendor Revision"; } // Reserved field 4 leaf baseResvd4 { config "false"; type ethpm_SfpReserved4Array; description "Base Reserved Field"; } leaf ccid { config "false"; type uint8; description "CCID"; } // Extended option leaf extOption { config "false"; type ethpm_SfpExtendedOptionBytes; description "Extended Option"; } leaf brMaxMargin { config "false"; type uint8; description "Baud Rate Maximum Margin"; } leaf brMinMargin { config "false"; type uint8; description "Baud Rate Minimum Margin"; } leaf vendorSn { config "false"; type string; } leaf dateCode { config "false"; type string; } leaf diagMonType { config "false"; type uint8; } leaf enhOption { config "false"; type uint8; } leaf ccex { config "false"; type uint8; } // Vendor data leaf vendorData { config "false"; type ethpm_X2VendorDataBytes; description "TBD"; } leaf maxSpeed { config "false"; type uint32; } leaf minSpeed { config "false"; type uint32; } leaf fcotNum { config "false"; type uint8; } leaf gigEthCC { config "false"; type uint8; } leaf fCTxType { config "false"; type uint8; } } grouping satm_RemoteFcotX2-group { description "Remote X2 Fcot"; leaf isFcotPresent { config "false"; type boolean; description "Presence Status"; } // Fcot state leaf state { config "false"; type ethpm_FcotState; description "State"; } // Fcot flags leaf flags { config "false"; type ethpm_FcotFlags; description "Flags"; } // Fcot type leaf type { config "false"; type ethpm_FcotType; description "Type"; } leaf typeName { config "false"; type string; description "Type Name"; } // Transceiver type leaf transceiverType { config "false"; type ethpm_FcotTransceiverType; description "Transceiver Type"; } leaf connectType { config "false"; type uint8; } leaf bitEncoding { config "false"; type uint8; } // Bit rate (Mbps) leaf bitRateMbps { config "false"; type ethpm_X2BitRateBytes; description "TBD"; } leaf protocolType { config "false"; type uint8; } // 10G eth code leaf xgEthCode { config "false"; type ethpm_X2XgEthCodeBytes; description "TBD"; } // Sonet SDH code leaf sonetSdhCode { config "false"; type ethpm_X2SonetSdhCodeBytes; description "TBD"; } // 10G fc code leaf xgFcCode { config "false"; type ethpm_X2XbFcCodeBytes; description "TBD"; } // Range leaf range { config "false"; type ethpm_X2RangeBytes; description "TBD"; } // Fibre type leaf fibreType { config "false"; type ethpm_X2FibreTypeBytes; description "TBD"; } // Wavelength channel 0 leaf waveLenCh0 { config "false"; type ethpm_X2WavelengthChannelBytes; description "TBD"; } // Wavelength channel 1 leaf waveLenCh1 { config "false"; type ethpm_X2WavelengthChannelBytes; description "TBD"; } // Wavelength channel 2 leaf waveLenCh2 { config "false"; type ethpm_X2WavelengthChannelBytes; description "TBD"; } // Wavelength channel 3 leaf waveLenCh3 { config "false"; type ethpm_X2WavelengthChannelBytes; description "TBD"; } leaf vendorName { config "false"; type string; } leaf vendorPn { config "false"; type string; } leaf vendorRev { config "false"; type string; } leaf vendorSerNo { config "false"; type string; } leaf dateCode { config "false"; type string; } leaf fiveVStressEnv { config "false"; type uint8; } leaf ciscoPid { config "false"; type string; } leaf ciscoVid { config "false"; type string; } leaf ciscoSN { config "false"; type string; } leaf ciscoPN { config "false"; type string; } leaf ciscoRev { config "false"; type string; } // Extended vendor specific info leaf extVendorSpecific { config "false"; type ethpm_X2ExtendedVendorSpecificInfoBytes; description "TBD"; } leaf maxSpeed { config "false"; type uint32; } leaf minSpeed { config "false"; type uint32; } leaf fcotNum { config "false"; type uint8; } leaf fcotType { config "false"; type uint8; } leaf gigEthCC { config "false"; type uint8; } } grouping syncc_SynccEntity-group { description "sync controller entity mo"; // Gnss interface container gnssif-items { uses syncc_Gnssif-group; description "syncc gnss interface configuration"; } // GPS interface container clockif-items { uses syncc_Clockif-group; description "syncc gps interface configuration"; } } grouping syncc_Gnssif-group { description "syncc gnss interface configuration"; // interface shut/no shut leaf shutState { type syncc_AdminSt; description "gnss interface shut state"; } // anti-jam leaf antiJam { type syncc_AdminSt; description "anit-jam enable/disable"; } // constellation leaf constellation { type syncc_constellationtype; description "constellation configuration"; } leaf snrThres { type uint32 { range "0..40"; } default "0"; description "snr threshold value in dB-Hz"; } leaf elevThres { type uint32 { range "0..40"; } default "0"; description "elevation threshold value in degress"; } leaf pdopThres { type uint32 { range "0..10"; } default "0"; description "pdop threshold value"; } leaf traimThres { type uint32 { range "0..2"; } default "0"; description "traim threshold value in microseconds"; } leaf cableDelayCompens { type int32 { range "-1000000..1000000"; } default "0"; description "Cable-delay compensation value in nanoseconds"; } // 1pps polarity leaf ppsPolarity { type syncc_polaritytype; description "1PPS polarity configuration"; } } grouping syncc_Clockif-group { description "syncc gps interface configuration"; leaf ppsDelayCompens { type int32 { range "-1000000..1000000"; } default "0"; description "1PPS delay compensation configuration"; } leaf ppsDelayEnabled { type syncc_AdminStGps; description "check for the no form of gps input"; } leaf gpsInputTodFormat { type syncc_todFormattype; description "Time-of-day input format"; } leaf gpsInputPpsFormat { type syncc_ppsFromattype; description "1PPS input format type"; } leaf gpsInputOffset { type syncc_offsettype; description "fixed offset from received TOD to translate into PTP time"; } leaf gpsInputBaudrate { type syncc_baudratetype; description "baud-rate for the ToD UART input"; } leaf gpsOutputPpsFormat { type syncc_ppsFromattype; description "1PPs output format type"; } leaf gpsOutputTodFormat { type syncc_todFormattype; description "Tome-ofdat output format"; } leaf gpsOutputBaudrate { type syncc_baudratetype; description "baud-rate for the ToD UART output"; } leaf gpsInputEnabled { type syncc_AdminStGps; description "check for the no form of gps input"; } leaf gpsOutputEnabled { type syncc_AdminStGps; description "check for the no form of gps output"; } } grouping adjacency_Entity-group { description "Adjacency Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } container inst-items { uses adjacency_Inst-group; description "Adjacency Instance"; } } grouping adjacency_Inst-group { description "Adjacency Instance"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { config "false"; type nw_InstCtrl; description "Controls"; } // Ephemeral data container dom-items { // Ephemeral data list Dom-list { config "false"; key "name"; uses adjacency_Dom-group; description "Adjacency Domain list"; } description "Adjacency Domain"; } } grouping adjacency_Dom-group { description "Adjacency Domain"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "type"; uses adjacency_Db-group; description "Database list"; } description "Database"; } } grouping adjacency_Db-group { description "Database"; // Ephemeral data leaf type { config "false"; type adjacency_DbT; description "Type"; } // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data container if-items { // Ephemeral data list If-list { config "false"; key "ifId"; uses adjacency_If-group; description "Adjacency Interface list"; } description "Adjacency Interface"; } // Ephemeral data container subnetprefix-items { uses adjacency_SubnetPrefix-group; description "Subnet Prefix"; } // Ephemeral data container aggrprefix-items { uses adjacency_AggregatePrefix-group; description "Aggregate Prefix"; } } grouping adjacency_If-group { description "Adjacency Interface"; // Ephemeral data leaf ifId { config "false"; type nw_IfId; description "Logical Interface ID"; } // Ephemeral data container ip-items { // Ephemeral data list AdjEp-list { config "false"; key "ip"; uses adjacency_AdjEp-group; description "Adjacency list"; } description "Adjacency"; } } grouping adjacency_AdjEp-group { description "Adjacency"; leaf ip { config "false"; type address_Ip; description "Address"; } // Ephemeral data leaf mac { config "false"; type address_Mac; description "MAC"; } // Ephemeral data leaf operSt { config "false"; type adjacency_AdjOperSt; description "Operational State"; } // Ephemeral data leaf physIfId { config "false"; type nw_IfId; description "Physical Interface ID"; } // Ephemeral data leaf source { config "false"; type string; description "Source"; } // Flags that this ep has // Ephemeral data leaf flags { config "false"; type adjacency_AdjFlags; description "Flags"; } // Ephemeral data leaf mobility { config "false"; type uint32; description "Mobility field"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } } grouping adjacency_SubnetPrefix-group { description "Subnet Prefix"; // Ephemeral data container if-items { // Ephemeral data list IfSubnetPrfx-list { config "false"; key "ifId"; uses adjacency_IfSubnetPrfx-group; description "Adjacency Interface list"; } description "Adjacency Interface"; } } grouping adjacency_IfSubnetPrfx-group { description "Adjacency Interface"; // Ephemeral data leaf ifId { config "false"; type nw_IfId; description "Logical Interface ID"; } // Ephemeral data container ip-items { // Ephemeral data list SubPrfxEp-list { config "false"; key "ip"; uses adjacency_SubPrfxEp-group; description "Subnet Prefix list"; } description "Subnet Prefix"; } } grouping adjacency_SubPrfxEp-group { description "Subnet Prefix"; leaf ip { config "false"; type address_Ip; description "Address"; } // Ephemeral data leaf aggLen { config "false"; type nw_Counter32; description "Aggregate Length"; } // Ephemeral data leaf nhCount { config "false"; type nw_Counter32; description "nh count"; } } grouping adjacency_AggregatePrefix-group { description "Aggregate Prefix"; // Ephemeral data container if-items { // Ephemeral data list IfAggrPrfx-list { config "false"; key "ifId"; uses adjacency_IfAggrPrfx-group; description "Adjacency Interface list"; } description "Adjacency Interface"; } } grouping adjacency_IfAggrPrfx-group { description "Adjacency Interface"; // Ephemeral data leaf ifId { config "false"; type nw_IfId; description "Logical Interface ID"; } // Ephemeral data container ip-items { // Ephemeral data list AggrPrfxEp-list { config "false"; key "ip"; uses adjacency_AggrPrfxEp-group; description "Subnet Prefix list"; } description "Subnet Prefix"; } } grouping adjacency_AggrPrfxEp-group { description "Subnet Prefix"; leaf ip { config "false"; type address_Ip; description "Address"; } // Ephemeral data leaf refCount { config "false"; type nw_Counter32; description "Reference count"; } } grouping arp_Entity-group { description "ARP Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This object holds per arp instance information. There is // only one instance of arp running in the system today container inst-items { uses arp_Inst-group; description "ARP Instance"; } } grouping arp_Inst-group { description "ARP Instance"; // Timeout leaf timeout { type arp_Timeout; default "1500"; description "ARP Global Timeout"; } // Evpn-Timeout leaf evpn_timeout { type arp_EvpnTimeout; description "Refresh in EVPN on host moves"; } // Suppression Timeout - After enbaling the timer, If host // doesn't speak in ARP/GARP within specified timeout L2 // mode entries will be expired/deleted leaf suppression_timeout { type arp_SuppressionTimeout; description "Suppression Timeout"; } // Off list Timeout leaf offListTimeout { type arp_OffListTimeout; description "Off-list timeout"; } // RARP fabric forwarding leaf rarpFabricFwding { type nw_AdminSt; default "disabled"; description "RARP Fabric Forwarding"; } // RARP Fabric Fwding Rate leaf rarpFabricFwdingRate { type arp_RarpForwadingRate; description "RARP Fabric Forwarding Rate"; } // ARP Cache Limit leaf cacheLimit { type arp_ArpCacheLimit; description "Cache Limit"; } // ARP Cache SysLog Rate leaf cacheSyslogRate { type arp_ArpCacheSyslogRate; description "Cache Syslog Rate"; } // COS for ARP packet leaf ipArpCos { type arp_IpArpCos; description "COS for ARP packet"; } leaf ipAdjRouteDistance { type arp_AdjRouteDist; description "IP Adjacency Route Distance"; } // Enable / Disable allow-static-arp-outside-subnet leaf allowStaticArpOutsideSubnet { type nw_AdminSt; default "disabled"; description "Allow Static ARP Outside Subnet"; } // Enable / Disable arp sw-replication leaf arpUnnumSviSwReplication { type nw_AdminSt; default "disabled"; description "ARP Packets Replication In Software For Unnumbered SVI"; } // Config error in this MO leaf configErr { config "false"; type arp_ConfigErrInst; default "0"; description "Config Error Inst"; } // Enable / Disable ARP out of subnet response leaf resolveARPOutsideSubnet { type nw_AdminSt; default "disabled"; description "Allow ARP Outside Subnet Response"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Holds GlobalStats information // Ephemeral data container globalstats-items { uses arp_GlobalStats-group; description "Global Statistics"; } // This object holds the arp related statistics for L2 Interface // Ephemeral data container l2stats-items { uses arp_L2Stats-group; description "This Object Holds The ARP Related Statistics For L2 Interface"; } // This object holds per ARP domain (vrf) information container dom-items { list Dom-list { key "name"; uses arp_Dom-group; description "This Object Holds Per ARP Domain (vrf) Information list"; } description "This Object Holds Per ARP Domain (vrf) Information"; } // IpV4 Glean throttling MO container ipgleanthrottle-items { uses arp_Ipv4Throttle-group; description "Ipv4 throttling"; } // This object holds the size of the Log Tables for // various types of ARP events container evtLogs-items { list EventLogs-list { key "eventType"; uses arp_EventLogs-group; description "ARP Event Logging list"; } description "ARP Event Logging"; } // This object holds IP ARP Sync for VPC container vpc-items { uses arp_Vpc-group; description "Ip Arp Synchronize"; } // Holds Suppression-cache table oper data // Ephemeral data container db-items { // Ephemeral data list DbSupCache-list { config "false"; key "type"; uses arp_DbSupCache-group; description "This Object Holds Suppression-Cache Database list"; } description "This Object Holds Suppression-Cache Database"; } } grouping arp_GlobalStats-group { description "Global Statistics"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state // Ephemeral data leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Instance controls // Ephemeral data leaf ctrl { config "false"; type nw_InstCtrl; description "Controls"; } // Holds controller-statistics information // Ephemeral data container controllerstats-items { uses arp_ControllerStats-group; description "ARP Controller Statistics"; } // Holds VPC related statistics information // Ephemeral data container vpcstats-items { uses arp_VpcStats-group; description "ARP VPC statistics"; } // Holds Tunnel statistics information // Ephemeral data container tunnelstats-items { uses arp_TunnelStats-group; description "ARP Tunnel statistics"; } // Holds Suppression-cache related statistics // Ephemeral data container supcachestats-items { uses arp_SupCacheStats-group; description "ARP suppression cache statistics"; } // Holds open-flow error statistics // Ephemeral data container ofastats-items { uses arp_OfaStats-group; description "ARP Open-flow Error statistics"; } } grouping arp_ControllerStats-group { description "ARP Controller Statistics"; // Ephemeral data leaf adjAddCount { config "false"; type uint64; description "ARP Controller Adjacency Add Count"; } // Ephemeral data leaf adjDelCount { config "false"; type uint64; description "ARP Controller Adjacency Delete Count"; } // Ephemeral data leaf adjAddErrorCount { config "false"; type uint64; description "ARP Controller Adjacency Add Error Count"; } // Ephemeral data leaf adjDelErrorCount { config "false"; type uint64; description "ARP Controller Adjacency Delete Error Count"; } } grouping arp_VpcStats-group { description "ARP VPC statistics"; // Ephemeral data leaf cfsPullDropSinceOff { config "false"; type uint64; description "CFS request dropped as feature is off"; } // Ephemeral data leaf cfsPushDropSinceOff { config "false"; type uint64; description "CFS push message drop as the feature is off"; } // Ephemeral data leaf sendIgnorePullReqCfsoe { config "false"; type uint64; description "Ignore to send pull request using CFSoE as the feature is off"; } // Ephemeral data leaf sendIgnorePushMsgCfsoe { config "false"; type uint64; description "Ignore to send push message using CFSoE as the feature is off"; } // Ephemeral data leaf imFailCFSPayload { config "false"; type uint64; description "IM api failed while processing CFS payload"; } // Ephemeral data leaf mcecmFailCFSPayload { config "false"; type uint64; description "MCECM api failed while processing CFS payload"; } // Ephemeral data leaf invalidMctPcCFSPayload { config "false"; type uint64; description "Invalid MCT port-channel iod while processing CFS payload"; } // Ephemeral data leaf ptLookFailCFSPayload { config "false"; type uint64; description "PT lookup failed while processing CFS payload"; } // Ephemeral data leaf cfsRspFailInvalidMct { config "false"; type uint64; description "Sending CFS response failed due to invalid MCT iod while processing CFS payload"; } // Ephemeral data leaf cfsRspFailCfsPayload { config "false"; type uint64; description "Sending CFS response failed while processing CFS payload"; } // Ephemeral data leaf retrieveVpcFailPushMsg { config "false"; type uint64; description "Unabled to retrieve VPC id from ifindex while sending push message"; } // Ephemeral data leaf retIfindexFrmVpcFail { config "false"; type uint64; description "Unabled to retrieve ifindex from vpc id while processing CFS payload"; } // Ephemeral data leaf retIfindexFrmVpcFailSync { config "false"; type uint64; description "Unabled to retrieve VPC id from ifindex while doing periodic sync"; } // Ephemeral data leaf rspSentCfsoe { config "false"; type uint64; description "Response sent via CFSoE"; } // Ephemeral data leaf rspRecvCfsoe { config "false"; type uint64; description "Response received via CFSoE"; } // Ephemeral data leaf rspRecvCfsoeErr { config "false"; type uint64; description "Response received via CFSoE with errors"; } // Ephemeral data leaf recvCfsoe { config "false"; type uint64; description "Received message via CFSoE"; } // Ephemeral data leaf sentFailCfsoe { config "false"; type uint64; description "Send message failed via CFSoE"; } // Ephemeral data leaf mcecmSendApiFailCfsoe { config "false"; type uint64; description "MCECM send api failed via CFSoE"; } // Ephemeral data leaf sendCfsoe { config "false"; type uint64; description "Send message succeeded via CFSoE"; } // Ephemeral data leaf vmctPktDropCount { config "false"; type uint64; description "Total virtual-mct packets dropped"; } // Holds VPC SYNC related statistics // Ephemeral data container syncstats-items { uses arp_VpcSyncStats-group; description "ARP VPC Sync statistics"; } } grouping arp_VpcSyncStats-group { description "ARP VPC Sync statistics"; // Ephemeral data leaf ptAddFailOfflist { config "false"; type uint64; description "PT add failed while processing offlist"; } // Ephemeral data leaf mallocFailOfflistDb { config "false"; type uint64; description "Memory alloc failed while processing offlist database"; } // Ephemeral data leaf timerCreateFailOfflistDb { config "false"; type uint64; description "Timer create failed while processing offlist database"; } // Ephemeral data leaf adjAddFailOfflistDb { config "false"; type uint64; description "Adjacency addition failed while processing offlist database"; } // Ephemeral data leaf ptLookupFailOfflistDb { config "false"; type uint64; description "PT lookup failed while processing offlist database"; } // Ephemeral data leaf vlanMismatchOfflistDb { config "false"; type uint64; description "VLAN mismatch while processing offlist database"; } // Ephemeral data leaf invalidSviOfflistDb { config "false"; type uint64; description "SVI is invalid while processing offlist database"; } // Ephemeral data leaf sviDownOfflistDb { config "false"; type uint64; description "SVI is down while processing offlist database"; } // Ephemeral data leaf mctDownOfflistDb { config "false"; type uint64; description "MCT is down while processing offlist database"; } // Ephemeral data leaf ctxTypeInvalidOfflistDb { config "false"; type uint64; description "Context type is invalid while processing offlist database"; } // Ephemeral data leaf vrfInvalidOfflistDb { config "false"; type uint64; description "VRF is invalid while processing offlist database"; } // Ephemeral data leaf invalidIpOfflistDb { config "false"; type uint64; description "IP address is invalid while processing offlist database"; } // Ephemeral data leaf ipSanityFailOfflistDb { config "false"; type uint64; description "IP address sanity failed while processing offlist database"; } // Ephemeral data leaf macSanityFailOfflistDb { config "false"; type uint64; description "MAC address sanity failed while processing offlist database"; } // Ephemeral data leaf ownRouterMacOfflistDb { config "false"; type uint64; description "Our own router mac while processing offlist database"; } // Ephemeral data leaf ownIpOfflistDb { config "false"; type uint64; description "Our own ip address while processing offlist database"; } // Ephemeral data leaf ownvIpOfflistDb { config "false"; type uint64; description "Our own virtual ip address while processing offlist database"; } // Ephemeral data leaf adjCreateFailOfflistDb { config "false"; type uint64; description "Create adjacency failed while processing offlist database"; } // Ephemeral data leaf subnetMismatchOfflistDb { config "false"; type uint64; description "Subnet mismatch while processing offlist database"; } // Ephemeral data leaf dupEntryOfflistDb { config "false"; type uint64; description "Entry exists while processing offlist database"; } // Ephemeral data leaf ipNotEnOfflistDb { config "false"; type uint64; description "IP not enabled on interface while processing offlist database"; } // Ephemeral data leaf totDropOfflistDb { config "false"; type uint64; description "Total drop count while processing offlist database"; } // Ephemeral data leaf totDontDropOfflistDb { config "false"; type uint64; description "Total don't drop count while processing offlist database"; } // Ephemeral data leaf totAdjAddOfflistDb { config "false"; type uint64; description "Total adjacency additions in offlist database"; } // Ephemeral data leaf totAdjDelOfflistDb { config "false"; type uint64; description "Total adjacency deletions in offlist database"; } // Ephemeral data leaf totAdjIgnoredOfflistDb { config "false"; type uint64; description "Total adjacencies ignored as they already exists in offlist database"; } // Ephemeral data leaf totAdjFrmPeerToAdd { config "false"; type uint64; description "Total adjacencies received from the peer to add"; } // Ephemeral data leaf totAdjFrmPeerToDel { config "false"; type uint64; description "Total adjacencies received from the peer to delete"; } // Ephemeral data leaf totAdjSentPeriodically { config "false"; type uint64; description "Total gross adjacencies sent periodically"; } // Ephemeral data leaf totAdjPeerToAdd { config "false"; type uint64; description "Total adjacencies sent to the peer to add"; } // Ephemeral data leaf totAdjPeerToDel { config "false"; type uint64; description "Total adjacencies sent to the peer to del"; } // Ephemeral data leaf totPeriodicSyncAdj { config "false"; type uint64; description "Total periodic sync adjacencies"; } // Ephemeral data leaf totAdjAddFailDuringSyncSend { config "false"; type uint64; description "Total no of failures in adding adjacenies while periodic sync send"; } // Ephemeral data leaf totDropDuringSyncInvalidSvi { config "false"; type uint64; description "Total no of drops during periodic sync because of invalid svi"; } // Ephemeral data leaf totDropSyncSviDown { config "false"; type uint64; description "Total no of drops during periodic sync because of svi being down"; } // Ephemeral data leaf totDropSyncInvalidCtxt { config "false"; type uint64; description "Total no of drops during periodic sync because of invalid context"; } // Ephemeral data leaf totDropSyncNullAdj { config "false"; type uint64; description "Total no of drops while processing sync because of NULL Adjacencies"; } // Ephemeral data leaf totDropSyncNullIp { config "false"; type uint64; description "Total no of drops while processing sync because of NULL IP"; } // Ephemeral data leaf totSyncAdjAddL2SupCache { config "false"; type uint64; description "Total periodic sync adjacencies added for L2 suppression case"; } // Ephemeral data leaf totSyncStopBcastPkt { config "false"; type uint64; description "Total periodic sync broadcast packet stopped from syncing to peer"; } // Ephemeral data leaf totVmctOrphanSyncDropCount { config "false"; type uint64; description "Total virtual-mct orphan hosts stopped from syncing to peer"; } } grouping arp_TunnelStats-group { description "ARP Tunnel statistics"; // Ephemeral data leaf totTunnelRcvd { config "false"; type uint64; description "Total tunneled packets received"; } // Ephemeral data leaf rxForIngressVpc { config "false"; type uint64; description "Tunneled packets rx for ingress vPC"; } // Ephemeral data leaf rxIngressforGpc { config "false"; type uint64; description "Tunneled packets rx for ingress GPC"; } // Ephemeral data leaf rxIngressOrphanVpc { config "false"; type uint64; description "Tunneled Packets rx for ingress orphan vPC"; } // Ephemeral data leaf rxIngressOrphanVpcPlus { config "false"; type uint64; description "Tunneled Packets rx for ingress orphan vPC+"; } // Ephemeral data leaf totPackSent { config "false"; type uint64; description "Total tunneled packets sent"; } // Ephemeral data leaf pktSentArpSnoop { config "false"; type uint64; description "Tunneled packets Sent for ARP Snoop"; } // Ephemeral data leaf pktSentNonlocalVip { config "false"; type uint64; description "Tunneled packets sent for Non-Local VIP"; } // Ephemeral data leaf pktSentPeerGway { config "false"; type uint64; description "Tunneled Packets sent for Peer Gateway"; } // Ephemeral data leaf txIngressVpc { config "false"; type uint64; description "Tunneled packets tx for ingress vPC"; } // Ephemeral data leaf txIngressGpc { config "false"; type uint64; description "Tunneled packets tx for ingress GPC"; } // Ephemeral data leaf txIngressOrphanVpc { config "false"; type uint64; description "Tunneled Packets tx for ingress orphan vPC"; } // Ephemeral data leaf txIngressOrphanVpcPlus { config "false"; type uint64; description "Tunneled Packets tx for ingress orphan vPC+"; } // Ephemeral data leaf totRecvDropped { config "false"; type uint64; description "Total tunnel packets recv dropped"; } // Ephemeral data leaf totSendDropped { config "false"; type uint64; description "Total tunnel packets send dropped"; } // Ephemeral data leaf sendFailDrop { config "false"; type uint64; description "Drops due to send failed"; } // Ephemeral data leaf rcvdInvalidVer { config "false"; type uint64; description "Received packet with invalid version"; } // Ephemeral data leaf rcvdInvalidPayloadType { config "false"; type uint64; description "Received packet with invalid payload type"; } // Ephemeral data leaf rcvdMctIf { config "false"; type uint64; description "Received packet on non mct interface"; } // Ephemeral data leaf rcvdInvalidIngressPort { config "false"; type uint64; } // Ephemeral data leaf dropSentInvalidPort { config "false"; type uint64; description "Drop send packets for invalid ingress port"; } // Ephemeral data leaf dropRecvInvalidGpcCore { config "false"; type uint64; description "Drop recv pkt, invalid GPC of core switch"; } // Ephemeral data leaf dropRecvInvalidGpcPeer { config "false"; type uint64; description "Drop recv pkt, invalid GPC of peer switch"; } // Ephemeral data leaf dropRecvFailRetrieveGpc { config "false"; type uint64; description "Drop recv pkt, failed in retrieving the GPC"; } // Ephemeral data leaf dropSendFailRetrieveGpc { config "false"; type uint64; description "Drop send pkt, failed in retrieving the GPC"; } // Ephemeral data leaf failRetrieveVpcId { config "false"; type uint64; description "Failed to retrieve vPC ID while processing"; } // Ephemeral data leaf imApiFail { config "false"; type uint64; description "IM api failed while processing"; } // Ephemeral data leaf invalidContext { config "false"; type uint64; description "Invalid context while processing"; } // Ephemeral data leaf dropMctDown { config "false"; type uint64; description "Drop since MCT Down"; } // Ephemeral data leaf recvDropMbufFail { config "false"; type uint64; description "Drop recv packets as mbuf operation failed"; } // Ephemeral data leaf sendDropMbufFail { config "false"; type uint64; description "Drop send packets as mbuf operation failed"; } // Ephemeral data leaf tunnelFailed { config "false"; type uint64; description "Cannot tunnel a incoming tunneled packet"; } // Ephemeral data leaf tunnelFailCENetwork { config "false"; type uint64; description "Cannot tunnel in a CE network"; } leaf mcecmKeyNotFound { config "false"; type uint64; description "MCEC_ID to PHY_IF_INDEX not found in DB"; } } grouping arp_SupCacheStats-group { description "ARP suppression cache statistics"; // Ephemeral data leaf requests { config "false"; type uint64; description "Requests"; } // Ephemeral data leaf requestsL2 { config "false"; type uint64; description "Requests on L2"; } // Ephemeral data leaf gratuitous { config "false"; type uint64; description "Gratuitous"; } // Ephemeral data leaf gratuitousL2 { config "false"; type uint64; description "Gratuitous on L2"; } // Ephemeral data leaf fwdRequestsL3 { config "false"; type uint64; description "Forwarded Requests"; } // Ephemeral data leaf fwdRepliesL3 { config "false"; type uint64; description "Forwarded Replies"; } // Ephemeral data leaf fwdRequestOnCorePort { config "false"; type uint64; description "Forwarded Request on core port"; } // Ephemeral data leaf fwdReplyOnCorePort { config "false"; type uint64; description "Forwarded reply on core port"; } // Ephemeral data leaf floodArpProbe { config "false"; type uint64; description "Flood ARP Probe Packets"; } // Ephemeral data leaf sentDrop { config "false"; type uint64; description "Send drop"; } // Ephemeral data leaf sentReqL2 { config "false"; type uint64; description "Sent Request L2"; } // Ephemeral data leaf sentReplyL2 { config "false"; type uint64; description "Sent reply L2"; } // Ephemeral data leaf sentReqCoreL2 { config "false"; type uint64; description "Sent Req core L2"; } // Ephemeral data leaf sentReplyCoreL2 { config "false"; type uint64; description "Sent reply core L2"; } // Ephemeral data leaf floodArpProbeL2 { config "false"; type uint64; description "Flood ARP Probe Packets L2"; } // Ephemeral data leaf sentDropL2 { config "false"; type uint64; description "Sent drop L2"; } // Ephemeral data leaf recvReqL3 { config "false"; type uint64; description "Receive req L3"; } // Ephemeral data leaf recvReplyL3 { config "false"; type uint64; description "Receive Reply L3"; } // Ephemeral data leaf recvLocalReqL3 { config "false"; type uint64; description "Receive local req L3"; } // Ephemeral data leaf recvLocalReplyL3 { config "false"; type uint64; description "Receive local reply L3"; } // Ephemeral data leaf recvGratArp { config "false"; type uint64; description "Receive grat ARP"; } // Ephemeral data leaf recvDrop { config "false"; type uint64; description "Receive drop"; } // Ephemeral data leaf recvRequestL2 { config "false"; type uint64; description "Receive request L2"; } // Ephemeral data leaf recvReplyL2 { config "false"; type uint64; description "Receive reply L2"; } // Ephemeral data leaf recvGratArpL2 { config "false"; type uint64; description "Receive grat ARP L2"; } // Ephemeral data leaf recvDropL2 { config "false"; type uint64; description "Receive drop L2"; } // Ephemeral data leaf localEntryAdds { config "false"; type uint64; description "Local entry adds"; } // Ephemeral data leaf localEntryDel { config "false"; type uint64; description "Local entry deletes"; } } grouping arp_OfaStats-group { description "ARP Open-flow Error statistics"; // Ephemeral data leaf dpAdjErrDel { config "false"; type uint64; description "Controller Deleting DP adjacency error"; } // Ephemeral data leaf cpMacMismatchErrDel { config "false"; type uint64; description "CP adjacency MAC mismatch error while delete"; } // Ephemeral data leaf cpNullMacErrDel { config "false"; type uint64; description "CP adjacency NULL mac error while delete"; } // Ephemeral data leaf cpNoAdjErrDel { config "false"; type uint64; description "No adjacency found while delete"; } // Ephemeral data leaf cpCpNhMismatchErrDel { config "false"; type uint64; description "CP adjacency NH mismatch error while delete"; } // Ephemeral data leaf cpAdjDelFailureErr { config "false"; type uint64; description "Other errors"; } // Ephemeral data leaf cpNullMacErrAdd { config "false"; type uint64; description "CP adjacency NULL mac error while Adding"; } // Ephemeral data leaf cpDpMacMismatchErrAdd { config "false"; type uint64; description "DP adjacency already present with different mac"; } // Ephemeral data leaf cpCpMacMismatchErrAdd { config "false"; type uint64; description "CP adjacency already present with different mac"; } // Ephemeral data leaf cpAddFirstErr { config "false"; type uint64; description "CP adjacency added first"; } // Ephemeral data leaf dpOverwriteCpErr { config "false"; type uint64; description "Overwriting CP adjacency with DP"; } // Ephemeral data leaf dpCpNhMismatchErrAdd { config "false"; type uint64; description "DP adjacency already present with different NH"; } // Ephemeral data leaf cpCpNhMismatchErrAdd { config "false"; type uint64; description "CP adjacency already present with different NH"; } // Ephemeral data leaf cpDpNhMismatchErrAdd { config "false"; type uint64; description "Overwriting CP adj with DP with different NH"; } // Ephemeral data leaf cpAdjAddFailureErr { config "false"; type uint64; description "Other errors for Add"; } // Ephemeral data leaf peerIPLookupRecPhyIod { config "false"; type uint64; description "NVE Peer IP lookup for Rec Phy Iod"; } // Ephemeral data leaf peerIPIPv6RecPhyIod { config "false"; type uint64; description "NVE Peer is IPv6 for Rec Phy Iod"; } // Ephemeral data leaf peerIPLookupAdjPhyIod { config "false"; type uint64; description "NVE Peer is IPv6 for Rec Phy Iod"; } // Ephemeral data leaf peerIPIPv6AdjPhyIod { config "false"; type uint64; description "NVE Peer is IPv6 for Rec Phy Iod"; } // Ephemeral data leaf barrierResponseErr { config "false"; type uint64; description "Barrier responses"; } } grouping arp_L2Stats-group { description "This Object Holds The ARP Related Statistics For L2 Interface"; // Ephemeral data container if-items { // Ephemeral data list L2If-list { config "false"; key "id"; uses arp_L2If-group; description "ARP L2 Interface list"; } description "ARP L2 Interface"; } } grouping arp_L2If-group { description "ARP L2 Interface"; leaf id { config "false"; type nw_IfId; description "Interface ID"; } // ARP_L2_PORT_STATS_RX_TOTAL // Ephemeral data leaf pktRecL2Int { config "false"; type nw_Counter32; description "Packet Received on L2 interface"; } } grouping arp_Dom-group { description "This Object Holds Per ARP Domain (vrf) Information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // ARP databases // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "type"; uses arp_Db-group; description "Database list"; } description "Database"; } // This object holds arp information that is operated at a // interface level container if-items { list If-list { key "id"; uses arp_If-group; description "ARP Interface list"; } description "ARP Interface"; } } grouping arp_Db-group { description "Database"; // Type of the repository // Ephemeral data leaf type { config "false"; type arp_DbT; description "Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Arp adjacency definitions // Ephemeral data container adj-items { // Ephemeral data list AdjEp-list { config "false"; key "ifId ip"; uses arp_AdjEp-group; description "Adjacency list"; } description "Adjacency"; } } grouping arp_AdjEp-group { description "Adjacency"; leaf ip { config "false"; type address_Ip; description "Address"; } // Ephemeral data leaf mac { config "false"; type address_Mac; description "MAC"; } // Ephemeral data leaf upTS { config "false"; type union { type string; type uint64; } description "ARP Entry Age"; } // Logical interface that this ep is associated with leaf ifId { config "false"; type nw_IfId; description "Logical Interface ID"; } // Operational state // Ephemeral data leaf operSt { config "false"; type arp_AdjOperSt; description "Operational State"; } // Physical interface that this ep is associated with // Ephemeral data leaf physIfId { config "false"; type nw_IfId; description "Physical Interface ID"; } // Flags that this ep has // Ephemeral data leaf flags { config "false"; type arp_AdjFlags; description "Flags"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } } grouping arp_If-group { description "ARP Interface"; // Timeout leaf timeout { type arp_Timeout; description "ARP Timeout"; } // Gratuitous ARP request leaf gratuitousRequest { type nw_AdminSt; description "Gratuitous ARP Request"; } // Gratuitous ARP Update leaf gratuitousUpdate { type nw_AdminSt; description "Gratuitous ARP Update"; } // Gratuitous ARP HSRP Duplicate leaf gratuitousHsrpDup { type nw_AdminSt; description "Gratuitous ARP HSRP Duplicate"; } // Proxy ARP leaf proxyArp { type nw_AdminSt; default "disabled"; description "Proxy ARP"; } // Local Proxy ARP leaf localProxyArp { type nw_AdminSt; default "disabled"; description "Local Proxy ARP"; } // Local Proxy ARP without HW Flooding leaf localProxyArpNoHwFlood { type nw_AdminSt; default "disabled"; description "Local Proxy ARP w/o HW Flooding"; } // Delete adjacency on MAC delete without refresh leaf deleteAdjOnMacDelete { type nw_AdminSt; default "disabled"; description "Delete Adjacency On MAC Delete w/o Refresh"; } // Set refresh timer for MAC delete adjacency request leaf refreshTimerForMacDelete { type arp_MacDelTimeout; description "Set Refresh Timer For MAC Delete Adjacency"; } // Enable duplicate IP detection across VLANs for IP // unnumbered SVIs leaf duplicateIpDetectionForUnnumberedSvi { type nw_AdminSt; default "disabled"; description "Enable Duplicate IP Detection Across VLANs for IP Unnumbered SVIs"; } // Config error in this MO leaf configError { config "false"; type arp_ConfigErr; default "0"; description "Config Error"; } // Enable / Disable ARP out of subnet Response leaf resolveARPOutsideSubnet { type nw_AdminSt; default "disabled"; description "Allow ARP Outside Subnet Response"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Static arp adjacency definitions container sadj-items { list StAdjEp-list { key "ip"; uses arp_StAdjEp-group; description "ARP Static Adjacency list"; } description "ARP Static Adjacency"; } // This object holds the arp related Multihoming(MH) statistics // Ephemeral data container ifstatsmh-items { uses arp_IfStatsMH-group; description "This Object Holds The ARP Related Multihoming(MH) Statistics For Interface"; } // This object holds the arp if related tx statistics // Ephemeral data container ifstatstx-items { uses arp_IfStatsTx-group; description "This Object Holds The ARP Related Transmit Statistics For Interface"; } // This object holds the arp if related rx statistics // Ephemeral data container ifstatsrx-items { uses arp_IfStatsRx-group; description "This Object Holds the ARP Related Receive Statistics For the Interface"; } // This object holds the arp if related adj statistics // Ephemeral data container ifstatsadj-items { uses arp_IfStatsAdj-group; description "This Object Holds The ARP Related Adjacency Statistics For Interface"; } // This object holds the arp if related misc statistics // Ephemeral data container ifstatsmisc-items { uses arp_IfStatsMisc-group; description "This Object Holds The ARP Related Miscellaneous Statistics For Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping arp_StAdjEp-group { description "ARP Static Adjacency"; // Operational state leaf operSt { config "false"; type arp_StAdjOperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type arp_StAdjOperStQual; description "Operational State Qualifier"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf ip { type address_Ip; description "Address"; } leaf mac { type address_Mac; description "MAC"; } container rtfvEpDefRefToStAdjEp-items { list RtFvEpDefRefToStAdjEp-list { config "false"; key "tDn"; uses fv_RtFvEpDefRefToStAdjEp_target-group; } } } grouping arp_IfStatsMH-group { description "This Object Holds The ARP Related Multihoming(MH) Statistics For Interface"; // ARP_MH_PS_RECV_ADD_FROM_L2RIB // Ephemeral data leaf recvaddfrml2rib { config "false"; type nw_Counter32; description "ARP Received Peer Sync Add From L2RIB"; } // ARP_MH_PS_PROCESS_ADD_FROM_L2RIB // Ephemeral data leaf processaddfrml2rib { config "false"; type nw_Counter32; description "ARP Processed Peer Sync Add From L2RIB"; } // ARP_MH_PS_RECV_DEL_FROM_L2RIB // Ephemeral data leaf recvdelfrml2rib { config "false"; type nw_Counter32; description "ARP Received Peer Sync Delete From L2RIB"; } // ARP_MH_PS_PROCESS_DEL_FROM_L2RIB // Ephemeral data leaf processdelfrml2rib { config "false"; type nw_Counter32; description "ARP Processed Peer Sync Delete From L2RIB"; } // ARP_MH_PS_RECV_PC_SHUT_FROM_L2RIB // Ephemeral data leaf recvpcshutfrml2rib { config "false"; type nw_Counter32; description "ARP Received Port Channel Shut From L2RIB"; } // ARP_MH_PS_PROCESS_PC_SHUT_FROM_L2RIB // Ephemeral data leaf processpcshutfrml2rib { config "false"; type nw_Counter32; description "ARP Processed Port Channel Shut From L2RIB"; } // ARP_MH_PS_RECV_REMOTE_UPD_FROM_L2RIB // Ephemeral data leaf recvremoteupdfrml2rib { config "false"; type nw_Counter32; description "ARP Received Remote Update From L2RIB"; } // ARP_MH_PS_PROCESS_REMOTE_UPD_FROM_L2RIB // Ephemeral data leaf processremoteupdfrml2rib { config "false"; type nw_Counter32; description "ARP Processed Remote Update From L2RIB"; } // ARP_MH_PS_ADD_ERR_INVALID_FLAGS // Ephemeral data leaf psadderrinvalidflags { config "false"; type nw_Counter32; description "ARP Multihoming Add Error Invalid Flag"; } // ARP_MH_PS_DEL_ERR_INVALID_FLAGS // Ephemeral data leaf psdelerrinvalidflags { config "false"; type nw_Counter32; description "ARP Multihoming Delete Error Invalid Flag"; } // ARP_MH_PS_ADD_ERR_INVALID_CURR_STATE // Ephemeral data leaf psadderrinvalidcurrstate { config "false"; type nw_Counter32; description "ARP Multihoming Add Error Current State"; } // ARP_MH_PS_DEL_ERR_INVALID_CURR_STATE // Ephemeral data leaf psdelerrinvalidcurrstate { config "false"; type nw_Counter32; description "ARP Multihoming Delete Error Current State"; } // ARP_MH_PS_DEL_ERR_MAC_MISMATCH // Ephemeral data leaf psdelerrmacmismatch { config "false"; type nw_Counter32; description "ARP Multihoming Error Peer Sync Delete Mac Mismatch"; } // ARP_MH_PS_DEL_ERR_SEC_DEL_FROM_L2RIB // Ephemeral data leaf psdelerrsecdelfrml2rib { config "false"; type nw_Counter32; description "ARP Multihoming Error Peer Sync Second Delete From L2RIB"; } // ARP_MH_PS_DEL_ERR_FOR_TL_ROUTE // Ephemeral data leaf psdelerrfortlroute { config "false"; type nw_Counter32; description "ARP Multihoming Error Peer Sync Delete For True Local Route"; } // ARP_MH_TL_DEL_ERR_FOR_PSRO_ROUTE // Ephemeral data leaf tldelerrforpsroroute { config "false"; type nw_Counter32; description "ARP Multihoming Error True Local Delete For Peer Sync Re-originate Route"; } } grouping arp_IfStatsTx-group { description "This Object Holds The ARP Related Transmit Statistics For Interface"; // ARP_PKT_SEND_COUNT // Ephemeral data leaf pktSent { config "false"; type nw_Counter32; description "ARP Packet Send Total Count"; } // ARP_PKT_SEND_REQ_COUNT // Ephemeral data leaf pktSentReq { config "false"; type nw_Counter32; description "ARP Packet Send Request Count"; } // ARP_PKT_SEND_REPLY_COUNT // Ephemeral data leaf pktSentRsp { config "false"; type nw_Counter32; description "ARP Packet Send Reply Count"; } // ARP_PKT_SEND_REQ_COUNT_L2 // Ephemeral data leaf pktSentReqL2 { config "false"; type nw_Counter32; description "ARP Packet Send Request Count On L2"; } // ARP_PKT_SEND_REPLY_COUNT_L2 // Ephemeral data leaf pktSentRspL2 { config "false"; type nw_Counter32; description "ARP Packet Send Reply Count On L2"; } // ARP_PKT_SEND_GRAT_REQ_COUNT // Ephemeral data leaf pktSentGratReq { config "false"; type nw_Counter32; description "ARP Packet Send Gratuitous Request Count"; } // ARP_PKT_SEND_TUNNEL_COUNT // Ephemeral data leaf pktSentTunnel { config "false"; type nw_Counter32; description "ARP Packet Send Tunnel Count"; } // ARP_PKT_SEND_DROP_COUNT // Ephemeral data leaf pktSentDrop { config "false"; type nw_Counter32; description "ARP Packet Send Drop Count"; } // ARP_PKT_SEND_SRVRPORT_COUNT // Ephemeral data leaf pktSendSrvPort { config "false"; type nw_Counter32; description "ARP Packet Send Server Port Count"; } // ARP_PKT_SEND_FBRCPORT_COUNT // Ephemeral data leaf pktSendFbrcPort { config "false"; type nw_Counter32; description "ARP Packet Send Fabric Port Count"; } // ARP_PKT_SEND_FIXUP_CORE_COUNT // Ephemeral data leaf pktSendFixupCore { config "false"; type nw_Counter32; description "ARP Packet Send Fixup Core Count"; } // ARP_PKT_SEND_FIXUP_SERVER_COUNT // Ephemeral data leaf pktSendFixupServer { config "false"; type nw_Counter32; description "ARP Packet Send Fixup Server Count"; } // ARP_PKT_SEND_FIXUP_RARP_COUNT // Ephemeral data leaf pktSendFixupRarp { config "false"; type nw_Counter32; description "ARP Packet Send Fixup Rarp Count"; } // ARP_PKT_SEND_ANYCAST_GLEAN_COUNT // Ephemeral data leaf pktSendAnyCastGlean { config "false"; type nw_Counter32; description "ARP Packet Send Anycast Glean Count"; } // ARP_PKT_SEND_FAIL_INVALID_PKT_COUNT // Ephemeral data leaf pktSentFailInvPkt { config "false"; type nw_Counter32; description "ARP Packet Send Fail Invalid Packet Count"; } // ARP_PKT_SEND_FAIL_MBUF_OP_COUNT // Ephemeral data leaf pktSentFailMbufOp { config "false"; type nw_Counter32; description "ARP Packet Send Fail Mbuf Operation Count"; } // ARP_PKT_SEND_FAIL_NO_IFINDEX_COUNT // Ephemeral data leaf pktSentFailNoIfindex { config "false"; type nw_Counter32; description "ARP Packet Send Fail Invalid Ifindex Count"; } // ARP_PKT_SEND_FAIL_UNSUPPORTED_INT_COUNT // Ephemeral data leaf pktSentFailUnsupportedInt { config "false"; type nw_Counter32; description "ARP Packet Send Fail On Unsupported Interface Count"; } // ARP_PKT_SEND_FAIL_IM_DOWN_COUNT // Ephemeral data leaf pktSentFailImDown { config "false"; type nw_Counter32; description "ARP Packet Send Fail On Interface Down Count"; } // ARP_PKT_SEND_FAIL_INVALID_SRC_IP_COUNT // Ephemeral data leaf pktSentFailInvSrcIp { config "false"; type nw_Counter32; description "ARP Packet Send Fail Invalid Source IP Count"; } // ARP_PKT_SEND_FAIL_INVALID_DEST_IP_COUNT // Ephemeral data leaf pktSentFailInvDstIp { config "false"; type nw_Counter32; description "ARP Packet Send Fail Invalid Destination IP Count"; } // ARP_PKT_SEND_FAIL_OWN_IP_COUNT // Ephemeral data leaf pktSentFailOwnIp { config "false"; type nw_Counter32; description "ARP Packet Send Fail Own IP Count"; } // ARP_PKT_SEND_FAIL_CONTEXT_NOT_CREATED_COUNT // Ephemeral data leaf pktSentFailCtxtNotCreated { config "false"; type nw_Counter32; description "ARP Packet Send Fail Context Not Created Count"; } // ARP_PKT_SEND_FAIL_BAD_CONTEXT_ID_COUNT // Ephemeral data leaf pktSentFailBadCtxtId { config "false"; type nw_Counter32; description "ARP Packet Send Fail Bad Context Id Count"; } // ARP_PKT_SEND_FAIL_UNATTACHED_IP_COUNT // Ephemeral data leaf pktSentFailUnattachedIp { config "false"; type nw_Counter32; description "ARP Packet Send Fail Unattached IP Count"; } // ARP_PKT_SEND_FAIL_ADJ_ADD_FAILURE_COUNT // Ephemeral data leaf pktSentFailAdjAddFailure { config "false"; type nw_Counter32; description "ARP Packet Send Fail Adjacency Add Failure Count"; } // ARP_PKT_SEND_FAIL_NO_SRC_IP_COUNT // Ephemeral data leaf pktSentFailNoSrcIp { config "false"; type nw_Counter32; description "ARP Packet Send Fail No Source IP Count"; } // ARP_PKT_SEND_FAIL_NO_MAC_COUNT // Ephemeral data leaf pktSentFailNoMac { config "false"; type nw_Counter32; description "ARP Packet Send Fail No Mac Count"; } // ARP_PKT_SEND_FAIL_CLIENT_ENQUEUE_FAILED_COUNT // Ephemeral data leaf pktSentFailClientEnqFailed { config "false"; type nw_Counter32; description "ARP Packet Send Fail Client Enqueue Failed Count"; } // ARP_PKT_SEND_FAIL_PROXY_DEST_NOT_REACHABLE_COUNT // Ephemeral data leaf pktSentFailProxyDstNotRchbl { config "false"; type nw_Counter32; description "ARP Packet Send Fail Proxy Destination Not Reachable Count"; } // ARP_PKT_SKIP_RESPONSE_ENHANCED_PROXY_DEST_NOT_REACHABLE_COUNT // Ephemeral data leaf pktSkipRespEnhancedProxyDestNotReach { config "false"; type nw_Counter32; description "ARP Packet Skip Response Enhanced Proxy Destination Not Reachable Count"; } // ARP_PKT_SKIP_RESPONSE_ENHANCED_PROXY_L2PORT_TRACK_COUNT // Ephemeral data leaf pktSkipRespEnhancedProxyL2portTrack { config "false"; type nw_Counter32; description "ARP Packet Skip Response Enhanced Proxy L2 Port Track Count"; } // ARP_PKT_SEND_FAIL_INVALID_LOCAL_PROXY_COUNT // Ephemeral data leaf pktSentFailInvLocalProxy { config "false"; type nw_Counter32; description "ARP Packet Send Fail Invalid Local Proxy Count"; } // ARP_PKT_SEND_FAIL_INVALID_PROXY_COUNT // Ephemeral data leaf pktSentFailInvProxy { config "false"; type nw_Counter32; description "ARP Packet Send Fail Invalid Proxy Count"; } // ARP_PKT_SEND_FAIL_VIP_GROUP_NOT_ACTIVE_COUNT // Ephemeral data leaf pktSentFailVipGroupNotActive { config "false"; type nw_Counter32; description "ARP Packet Send Fail VIP Group Not Active Count"; } // ARP_PKT_SKIP_REFRESH_OVER_CORE_AND_FLOOD_TO_SERVER // Ephemeral data leaf pktRefreshFloodToServerSkipCore { config "false"; type nw_Counter32; description "ARP Refresh pkts flooded to the server but skipped over core Count"; } // ARP_PKT_SEND_FORCE_REQ_BROADCAST leaf pktForceReqSentBroadcast { config "false"; type nw_Counter32; description "ARP Force refresh request Broadcast packets"; } // ARP_PKT_SEND_FORCE_REQ_UNICAST leaf pktForceReqSentUnicast { config "false"; type nw_Counter32; description "ARP Force refresh request Unicast packets"; } // ARP_PKT_SEND_FORCE_REQ_THROTTLED leaf pktForceReqThrottled { config "false"; type nw_Counter32; description "ARP Force refresh request packets Throttled"; } // ARP_PKT_FORCE_REQ_STALE_TIMER_RESET leaf pktForceReqStaleTimerReset { config "false"; type nw_Counter32; description "ARP Force refresh request Stale timer reset"; } // ARP_PKT_FORCE_REQ_STALE_ENTRY_DELETED leaf pktForceReqStaleEntryDel { config "false"; type nw_Counter32; description "ARP Force refresh request Deleted stale entry"; } // ARP_PKT_FORCE_REQ_NOADJ_LPSS_ADD_FAILED leaf pktForceReqNoAdjLPSSAddFailed { config "false"; type nw_Counter32; description "ARP Force refresh request LPSS add failed"; } } grouping arp_IfStatsRx-group { description "This Object Holds the ARP Related Receive Statistics For the Interface"; // ARP_PKT_RECV_COUNT // Ephemeral data leaf pktRcvd { config "false"; type nw_Counter32; description "ARP Packet Received Total Count"; } // ARP_PKT_RECV_REQ_COUNT // Ephemeral data leaf pktRcvdReq { config "false"; type nw_Counter32; description "ARP Packet Received Request Count"; } // ARP_PKT_RECV_REPLY_COUNT // Ephemeral data leaf pktRcvdRsp { config "false"; type nw_Counter32; description "ARP Packet Received Reply Count"; } // ARP_PKT_RECV_PROXY_ARP_COUNT // Ephemeral data leaf pktRcvdProxyArp { config "false"; type nw_Counter32; description "ARP Packet Received Proxy ARP Count"; } // ARP_PKT_RECV_LOCAL_PROXY_ARP_COUNT // Ephemeral data leaf pktRcvdLocalProxyArp { config "false"; type nw_Counter32; description "ARP Packet Received Local Proxy ARP Count"; } // ARP_PKT_RECV_ENHANCED_PROXY_ARP_COUNT // Ephemeral data leaf pktRcvdEnhancedProxyArp { config "false"; type nw_Counter32; description "ARP Packet Received Enhanced Proxy ARP Count"; } // ARP_PKT_RECV_ENHANCED_PROXY_ANYCAST_ARP_COUNT // Ephemeral data leaf pktRcvdEnhancedProxyAnycastArp { config "false"; type nw_Counter32; description "ARP Packet Received Enhanced Proxy Anycast ARP Count"; } // ARP_PKT_RECV_ENHANCED_PROXY_L2PORT_TRACK_ARP_COUNT // Ephemeral data leaf pktRcvdEnhancedProxyL2portTrackArp { config "false"; type nw_Counter32; description "ARP Packet Received Enhanced Proxy L2 Port Track ARP Count"; } // ARP_PKT_RECV_SRVRPORT_COUNT // Ephemeral data leaf pktRcvdServerPort { config "false"; type nw_Counter32; description "ARP Packet Received Server Port Count"; } // ARP_PKT_RECV_REQ_COUNT_L2 // Ephemeral data leaf pktRcvdReqL2 { config "false"; type nw_Counter32; description "ARP Packet Received Request Count On L2"; } // ARP_PKT_RECV_REPLY_COUNT_L2 // Ephemeral data leaf pktRcvdRspL2 { config "false"; type nw_Counter32; description "ARP Packet Received Reply Count On L2"; } // ARP_PKT_RECV_TUNNEL_COUNT // Ephemeral data leaf pktRcvdTunnel { config "false"; type nw_Counter32; description "ARP Packet Received Tunnel Count"; } // ARP_PKT_RECV_FASTPATH_COUNT // Ephemeral data leaf pktRcvdFastpath { config "false"; type nw_Counter32; description "ARP Packet Received Fastpath Count"; } // ARP_PKT_RECV_SNOOP_COUNT // Ephemeral data leaf pktRcvdSnoop { config "false"; type nw_Counter32; description "ARP Packet Received Snoop Count"; } // ARP_PKT_RECV_DROP_COUNT // Ephemeral data leaf pktRcvdDrp { config "false"; type nw_Counter32; description "ARP Packet Received Drop Count"; } // ARP_PKT_RECV_DROP_BAD_IF_COUNT // Ephemeral data leaf pktRcvdDrpBadIf { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Interface Count"; } // ARP_PKT_RECV_DROP_BAD_LEN_COUNT // Ephemeral data leaf pktRcvdDrpBadLen { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Length Count"; } // ARP_PKT_RECV_DROP_BAD_OPCODE_COUNT // Ephemeral data leaf pktRcvdDrpBadOpcode { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad OPCODE Count"; } // ARP_PKT_RECV_DROP_BAD_PROTO_COUNT // Ephemeral data leaf pktRcvdDrpBadProto { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Protocol Count"; } // ARP_PKT_RECV_DROP_BAD_HRD_TYPE // Ephemeral data leaf pktRcvdDropBadHrd { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Hardware Type Count"; } // ARP_PKT_RECV_DROP_BAD_L2ADDR_LEN_COUNT // Ephemeral data leaf pktRcvdDrpBadL2AddrLen { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Layer 2 Address Length Count"; } // ARP_PKT_RECV_DROP_BAD_L3ADDR_LEN_COUNT // Ephemeral data leaf pktRcvdDrpBadL3AddrLen { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Layer 3 Length Count"; } // ARP_PKT_RECV_DROP_INVAL_SRC_IP_COUNT // Ephemeral data leaf pktRcvdDrpInvalSrcIp { config "false"; type nw_Counter32; description "ARP Packet Received Drop Invalid Source IP Count"; } // ARP_PKT_RECV_DROP_DIR_BCAST_COUNT // Ephemeral data leaf pktRcvdDrpDirBcast { config "false"; type nw_Counter32; description "ARP Packet Received Drop Direct Broadcast Count"; } // ARP_PKT_RECV_DROP_INVAL_DST_IP_COUNT // Ephemeral data leaf pktRcvdDrpInvalDstIp { config "false"; type nw_Counter32; description "ARP Packet Received Drop Invalid Destination IP Count"; } // ARP_PKT_RECV_DROP_BAD_SRC_MAC_COUNT // Ephemeral data leaf pktRcvdDrpBadSrcMac { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Source Mac Count"; } // ARP_PKT_RECV_DROP_OWN_SRC_MAC_COUNT // Ephemeral data leaf pktRcvdDrpOwnSrcMac { config "false"; type nw_Counter32; description "ARP Packet Received Drop Own Source Mac Count"; } // ARP_PKT_RECV_DROP_OWN_SRC_IP_COUNT // Ephemeral data leaf pktRcvdDrpOwnSrcIp { config "false"; type nw_Counter32; description "ARP Packet Received Drop Own Source IP Count"; } // ARP_PKT_RECV_DROP_ARP_IF_NO_MEM_COUNT // Ephemeral data leaf pktRcvdDrpArpIfNoMem { config "false"; type nw_Counter32; description "ARP Packet Received Drop ARP Interface No Memory Count"; } // ARP_PKT_RECV_DROP_NOT_FOR_US_COUNT // Ephemeral data leaf pktRcvdDrpNotForUs { config "false"; type nw_Counter32; description "ARP Packet Received Drop Not For Us Count"; } // ARP_PKT_RECV_LEARN_AND_DROP_NOT_FOR_US_COUNT // Ephemeral data leaf pktRcvdLearnAndDropNotForUs { config "false"; type nw_Counter32; description "ARP Packet Received Learn And Drop Not For Us Count"; } // ARP_PKT_RECV_DROP_SUBNET_MISMATCH_COUNT // Ephemeral data leaf pktRcvdDrpSubnetMismatch { config "false"; type nw_Counter32; description "ARP Packet Received Drop Subnet Mismatch Count"; } // ARP_PKT_RECV_DROP_NOT_INITIALIZED_COUNT // Ephemeral data leaf pktRcvdDrpNotInit { config "false"; type nw_Counter32; description "ARP Packet Received Drop Not Initialized Count"; } // ARP_PKT_RECV_DROP_BAD_CONTEXT_COUNT // Ephemeral data leaf pktRcvdDrpBadCtxt { config "false"; type nw_Counter32; description "ARP Packet Received Drop Bad Context Count"; } // ARP_PKT_RECV_DROP_CONTEXT_NOT_CREATED_COUNT // Ephemeral data leaf pktRcvdDrpCtxtNotCreated { config "false"; type nw_Counter32; description "ARP Packet Received Drop Context Not Created Count"; } // ARP_PKT_RECV_DROP_L2_LOCAL_PROXY_ARP_COUNT // Ephemeral data leaf pktRcvdDrpL2LocalProxyArp { config "false"; type nw_Counter32; description "ARP Packet Received Drop L2 Local Proxy ARP Count"; } // ARP_PKT_RECV_DROP_L2_PURE_L2_PKT_COUNT // Ephemeral data leaf pktRcvdDrpL2PureL2Pkt { config "false"; type nw_Counter32; description "ARP Packet Received Drop L2 Pure L2 Packet Count"; } // ARP_PKT_RECV_DROP_L2_PORT_UNTRUSTED_COUNT // Ephemeral data leaf pktRcvdDrpL2PrtUntrusted { config "false"; type nw_Counter32; description "ARP Packet Received Drop L2 Port Untrusted Count"; } // ARP_PKT_RECV_DROP_STANDBY_FHRP_VIP_COUNT // Ephemeral data leaf pktRcvdDrpStdbyFhrpVip { config "false"; type nw_Counter32; description "ARP Packet Received Drop Standby FHRP VIP Count"; } // ARP_PKT_RECV_DROP_GRAT_ON_PROXY_ARP_COUNT // Ephemeral data leaf pktRcvdDrpGratOnProxyArp { config "false"; type nw_Counter32; description "ARP Packet Received Drop Gratuitous On Proxy ARP Count"; } // ARP_PKT_RECV_DROP_ARP_REQUEST_IGNORE_COUNT // Ephemeral data leaf pktRcvdDrpArpRequestIgnore { config "false"; type nw_Counter32; description "ARP Packet Received Drop ARP Request Ignore Count"; } // ARP_PKT_RECV_DROP_L2FM_QUERY_FAIL_COUNT // Ephemeral data leaf pktRcvdDrpL2FmQueryFail { config "false"; type nw_Counter32; description "ARP Packet Received Drop L2FM Query Fail Count"; } // ARP_PKT_RECV_DROP_TUNNEL_FAIL_COUNT // Ephemeral data leaf pktRcvdDrpTunnelFail { config "false"; type nw_Counter32; description "ARP Packet Received Drop Tunnel Fail Count"; } // ARP_PKT_RECV_DROP_RSP_ON_HSRP_STANDBY_HSRP_ACTIVE_VMAC // Ephemeral data leaf pktRcvdDrpRspOnHsrpStbyActiveVmac { config "false"; type nw_Counter32; description "ARP Packet Received Drop Response On HSRP Standby With HSRP Active Vmac Count"; } // ARP_PKT_RECV_FAIL_IM_DOWN_COUNT // Ephemeral data leaf pktRcvdFailImDown { config "false"; type nw_Counter32; description "ARP Packet Received Fail Interface Down Count"; } // ARP_PKT_RECV_GLEAN_REQ_COUNT // Ephemeral data leaf pktRcvdGleanReqCount { config "false"; type nw_Counter32; description "Glean Requests Received Count"; } // ARP_PKT_REFRESH_REQUESTS_RECV_FROM_CLIENTS // Ephemeral data leaf pktRfrshReqRecFrmClients { config "false"; type nw_Counter32; description "ARP Packet Received Refresh requests from clients"; } // ARP_PKT_RECV_SIGNALS_FROM_L2RIB // Ephemeral data leaf pktRcvdSigFrmL2rib { config "false"; type nw_Counter32; description "Number of Signals received from L2rib"; } // ARP_ADJ_SKIP_DYN_ENTRY_LEARN // Ephemeral data leaf adjSkipDynEntryLearn { config "false"; type nw_Counter32; description "ARP Adjacency Skip Dynamic Learn"; } // ARP_PKT_RECV_DROP_NO_MBUF_COUNT // Ephemeral data leaf pktRcvdDropNoMbufCount { config "false"; type nw_Counter32; description "ARP Packet Received Drop NO_MBUF Count"; } } grouping arp_IfStatsAdj-group { description "This Object Holds The ARP Related Adjacency Statistics For Interface"; // ARP_ADJ_ADD_COUNT // Ephemeral data leaf adjAdd { config "false"; type nw_Counter32; description "ARP Adjacency Add Count"; } // ARP_ADJ_DEL_COUNT // Ephemeral data leaf adjDel { config "false"; type nw_Counter32; description "ARP Adjacency Delete Count"; } // ARP_ADJ_TIMEOUT_COUNT // Ephemeral data leaf adjTimeout { config "false"; type nw_Counter32; description "ARP Adjacency Timeout Count"; } // ARP_ADJ_DEL_DYN_ENTRY_ON_STATIC_ADD // Ephemeral data leaf adjDelDynEntryOnStaticAdd { config "false"; type nw_Counter32; description "ARP Adjacency Delete Dynamic Entry on Static Add"; } } grouping arp_IfStatsMisc-group { description "This Object Holds The ARP Related Miscellaneous Statistics For Interface"; // ARP_CLIENT_MSG_COUNT // Ephemeral data leaf clientMsg { config "false"; type nw_Counter32; description "ARP Client Message Count"; } // ARP_CLIENT_MSG_FAIL_COUNT // Ephemeral data leaf clientMsgFail { config "false"; type nw_Counter32; description "ARP Client Message Fail Count"; } // ARP_IF_TIMEOUT_MSG_FAIL_COUNT // Ephemeral data leaf ifTimeoutMsgFail { config "false"; type nw_Counter32; description "ARP Interface Timeout Message Fail Count"; } // ARP_IF_STATUS_MSG_FAIL_COUNT // Ephemeral data leaf ifStatusMsgFail { config "false"; type nw_Counter32; description "ARP Interface Status Message Fail Count"; } } grouping arp_Ipv4Throttle-group { description "Ipv4 throttling"; // Enable / Disable glean throttling leaf adminSt { type nw_AdminSt; default "disabled"; description "Glean throttle state"; } // Threshold for syslog for number of packets hitting the entry leaf syslog { type arp_SyslogCnt; description "Glean Throttle Syslog For Number Of Packets"; } // Max throttle packets count. Crossing this threshold, // packet will not be throttled for a particular adjacency leaf maxPacket { type arp_MaxPacket; description "Glean throttle packet count"; } // Timeout for throttle setting for a particular adjacency leaf timeout { type arp_ThrottleTimeout; description "Ipv4 Glean Throttle Timeout"; } } grouping arp_EventLogs-group { description "ARP Event Logging"; // Event LogType leaf eventType { type arp_EventType; description "Sync Event Log Type"; } // Event LogSize leaf logSize { type arp_EventLogSize; description "Sync Event Log Size"; } } grouping arp_Vpc-group { description "Ip Arp Synchronize"; // This objects hold per vpc domain information. There is only // one vpc domain that is configurable in the system container dom-items { list VpcDom-list { key "domainId"; uses arp_VpcDom-group; description "VPC Domain list"; } description "VPC Domain"; } } grouping arp_VpcDom-group { description "VPC Domain"; // VPC Domain ID leaf domainId { type vpc_DomId; description "TBD"; } // Enable/Disable IP ARP SYNC leaf arpSync { type nw_AdminSt; default "disabled"; description "IP ARP Sync"; } } grouping arp_DbSupCache-group { description "This Object Holds Suppression-Cache Database"; // Type of the repository // Ephemeral data leaf type { config "false"; type arp_DbT; description "Database Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Holds Suppression-cache vlan related information // Ephemeral data container vlan-items { // Ephemeral data list SupCacheVlan-list { config "false"; key "id"; uses arp_SupCacheVlan-group; description "This Object Holds Suppression Cache Table Vlan list"; } description "This Object Holds Suppression Cache Table Vlan"; } } grouping arp_SupCacheVlan-group { description "This Object Holds Suppression Cache Table Vlan"; // vlan id // Ephemeral data leaf id { config "false"; type stp_VlanId; description "VLAN id"; } // Suppression ARP Mode // Ephemeral data leaf suppressArpMode { config "false"; type arp_SuppressArpMode; description "Suppression ARP mode"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Holds suppression-cache entry information // Ephemeral data container ip-items { // Ephemeral data list SupCacheEntry-list { config "false"; key "ip"; uses arp_SupCacheEntry-group; description "This Object Holds Suppression Cache Entry list"; } description "This Object Holds Suppression Cache Entry"; } } grouping arp_SupCacheEntry-group { description "This Object Holds Suppression Cache Entry"; // Ephemeral data leaf ip { config "false"; type address_Ip; description "IP Address"; } // IRP Entry flags // Ephemeral data leaf flags { config "false"; type arp_SupCacheFlag; description "Flags"; } // Ephemeral data leaf mac { config "false"; type address_Mac; description "MAC Address"; } // Ephemeral data leaf upTS { config "false"; type union { type string; type uint64; } description "ARP Entry Up Time"; } // Physical Interface ID // Ephemeral data leaf phyid { config "false"; type nw_IfId; description "Physical Interface ID"; } leaf remotevtepaddr { config "false"; type string; description "Remote Vtep Address"; } } grouping bfd_Entity-group { description "BFD Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per bfd instance information. container inst-items { uses bfd_Inst-group; description "BFD Instance"; } } grouping bfd_Inst-group { description "BFD Instance"; // Loopback interface to be used for bfd echo frames leaf echoIf { type nw_IfId; description "Echo Interface to be used for BFD echo frames"; } // Startup timer interval. leaf startupIntvl { type bfd_StartupIntvl; description "Startup timer Interval"; } // Slow mode timer interval. This is the interval at which // BFD control packets are sent. leaf slowIntvl { type bfd_SlowIntvl; description "Slow timer Interval"; } // Hardware Offload Enable/Disable flag leaf hwOffload { type bfd_HwOffload; description "Enable or Disable offloading of BFD sessions to hardware"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This object holds bfd interface information container if-items { list If-list { key "id"; uses bfd_If-group; description "BFD Interface list"; } description "BFD Interface"; } // This objects hold per address family bfd instance information container af-items { list InstAf-list { key "type"; uses bfd_InstAf-group; description "Instance Address Family list"; } description "Instance Address Family"; } // This objects hold Multihop bfd instance information container mhop-items { uses bfd_Mhop-group; description "Multihop Sessions"; } // This object holds keepalive policy information container ka-items { uses bfd_KaP-group; description "Keepalive Policy information is held in this object"; } // This object holds bfd session information container session-items { list Sess-list { config "false"; key "discr"; uses bfd_Sess-group; description "BFD Session list"; } description "BFD Session"; } } grouping bfd_If-group { description "BFD Interface"; // Enable/disable echo mode for interface leaf echoAdminSt { type nw_AdminSt; description "Echo Mode Admin State of BFD Interface"; } // Interface controls leaf ctrl { type bfd_IfControl; description "Interface Controls"; } // BFD track-member-link leaf trkMbrLnk { type bfd_TrkMbrLnk; description "Track Member Link Enable Disable on bfd interface"; } // BFD Start Time leaf stTm { type bfd_StTm; description "BFD Start timeout"; } leaf dst { type address_Ipv4; description "Destination IP Address"; } leaf srcIp { type address_Ip; description "Source IPv4/IPv6 Address for BFD sessions"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { config "false"; type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // This object holds authentication policy information container auth-items { uses bfd_AuthP-group; description "Authentication Policy"; } // This object holds per address family bfd interface information container af-items { list IfAf-list { key "type"; uses bfd_IfAf-group; description "Interface Address Family list"; } description "Interface Address Family"; } // Neighbor MacEntry container nbr-items { list Nbr-list { key "srcip destip"; uses bfd_Nbr-group; description "Neighbor Entry list"; } description "Neighbor Entry"; } // This object holds interface keepalive policy information container ifka-items { uses bfd_IfKaP-group; description "Interface Keepalive Policy"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping bfd_AuthP-group { description "Authentication Policy"; // Interop Attribute leaf authInterop { type bfd_AuthInterop; description "Auth Interop Enable Disable on BFD Interface"; } // Authentication type leaf type { type bfd_AuthT; description "Authentication Type of the BFD session"; } // Authentication key id leaf keyId { type bfd_AuthKeyId; description "Authentication Key ID to be used in the BFD session"; } // Authentication Hex key Size leaf hexKeySize { type bfd_AuthHexKeySize; description "A property to indicate Authentication Hex Key Size"; } // Authentication hex key leaf hexKey { type bfd_AuthHexKey; description "A property to indicate Authentication Hex Key for the BFD session"; } // Authentication key leaf key { type bfd_AuthKey; description "A property to indicate Authentication Key for the BFD session"; } leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } } grouping bfd_IfAf-group { description "Interface Address Family"; // Enable/disable sessions for interface address family leaf adminSt { type nw_AdminSt; description "Admin State for Interface Address family"; } // Enable/disable echo mode for interface address family leaf echoAdminSt { type nw_AdminSt; description "Echo Mode Admin State for Interface Address family"; } // Interface controls leaf ctrl { type bfd_IfControl; description "Interface Controls"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type leaf type { type bfd_AfT; description "Type of the Address Family"; } // This object holds authentication policy information container auth-items { uses bfd_AuthP-group; description "Authentication Policy"; } // This object holds keepalive policy information container ka-items { uses bfd_KaP-group; description "Keepalive Policy information is held in this object"; } // This object holds interface keepalive policy information container ifka-items { uses bfd_IfKaP-group; description "Interface Keepalive Policy"; } } grouping bfd_KaP-group { description "Keepalive Policy information is held in this object"; // Desired minimum tx interval. This is the minimum interval, // in ms, that the system would like to use when transmitting // BFD control packets. leaf minTxIntvl { type bfd_MinTxIntvl; description "Desired Minimum TX Interval.This is the minimum interval, in ms, that the system would like to use when transmitting BFD control packets."; } // Required minimum rx interval. This is the minimum interval, // in ms, between received BFD control packets that this // system is capable of supporting. leaf minRxIntvl { type bfd_MinRxIntvl; description "Required Minimum RX Interval. This is the minimum interval, in ms, between received BFD control packets that this system is capable of supporting."; } // Detection multiplier. This is the desired detection time // multiplier for BFD packets on the local system. leaf detectMult { type bfd_DetectMult; description "Detection Multiplier. This is the desired detection time multiplier for BFD packets on the local system."; } // Echo rx interval. This is the minimum interval, in ms, // between received BFD echo packets that this system is // capable of supporting. leaf echoRxIntvl { type bfd_EchoRxIntvl; description "Echo Rx Interval. This is the minimum interval,in ms, between received BFD echo packets that this system is capable of supporting."; } } grouping bfd_IfKaP-group { description "Interface Keepalive Policy"; // Desired minimum tx interval. This is the minimum interval, // in ms, that the system would like to use when transmitting // BFD control packets. leaf minTxIntvl { type bfd_IfMinTxIntvl; description "Desired Minimum TX Interval.This is the minimum interval, in ms, that the system would like to use when transmitting BFD control packets."; } // Required minimum rx interval. This is the minimum interval, // in ms, between received BFD control packets that this // system is capable of supporting. leaf minRxIntvl { type bfd_IfMinRxIntvl; description "Required Minimum RX Interval. This is the minimum interval, in ms, between received BFD control packets that this system is capable of supporting."; } // Detection multiplier. This is the desired detection time // multiplier for BFD packets on the local system. leaf detectMult { type bfd_IfDetectMult; description "Detection Multiplier. This is the desired detection time multiplier for BFD packets on the local system."; } // Echo rx interval. This is the minimum interval, in ms, // between received BFD echo packets that this system is // capable of supporting. leaf echoRxIntvl { type bfd_EchoRxIntvl; description "Echo Rx Interval. This is the minimum interval, in ms, between received BFD echo packets that this system is capable of supporting."; } } grouping bfd_Nbr-group { description "Neighbor Entry"; leaf srcip { type address_Ip; description "Source IP Address of BFD neighbor "; } leaf destip { type address_Ip; description "Destination IP Address of BFD neighbor"; } } grouping bfd_InstAf-group { description "Instance Address Family"; // Slow mode timer interval. This is the interval at which // BFD control packets are sent. leaf slowIntvl { type bfd_SlowIntvl; description "Slow timer Interval"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type leaf type { type bfd_AfT; description "Type of the Address Family"; } // This object holds keepalive policy information container ka-items { uses bfd_KaP-group; description "Keepalive Policy information is held in this object"; } } grouping bfd_Mhop-group { description "Multihop Sessions"; // Desired minimum tx interval. This is the minimum interval, in ms, // that the system would like to use when transmitting BFD control packets. leaf minTxIntvl { type bfd_MhMinTxIntvl; description "Desired Minimum TX Interval"; } // Required minimum rx interval. This is the minimum interval, in ms, // between received BFD control packets that this system is capable of supporting. leaf minRxIntvl { type bfd_MhMinRxIntvl; description "Required Minimum RX Interval"; } // Detection multiplier. This is the desired detection time // multiplier for BFD packets on the local system. leaf detectMult { type bfd_DetectMult; description "Detection Multiplier"; } } grouping bfd_Sess-group { description "BFD Session"; // Local session identifier leaf discr { config "false"; type bfd_Discr; description "Local Session Identifier of the BFD session"; } // Remote session identifier leaf remoteDiscr { config "false"; type bfd_Discr; description "Remote Session Identifier of the BFD session"; } // Async mode source port leaf asyncPort { config "false"; type l4_Port; description "Asynchronous mode Source Port"; } // Echo mode source port leaf echoPort { config "false"; type l4_Port; description "Echo mode Source Port"; } leaf localMac { config "false"; type address_Mac; description "Local MAC Address"; } leaf remoteMac { config "false"; type address_Mac; description "Remote MAC Address"; } // Interface id leaf ifId { config "false"; type nw_IfId; description "Interface ID associated with the BFD session"; } // Interface ordinal leaf iod { config "false"; type nw_Iod; description "Interface ordinal associated with the BFD session"; } // L3 context name leaf vrfName { config "false"; type l3_VrfName; description "L3 Context Name"; } leaf srcAddr { config "false"; type address_Ip; description "Source IP Address"; } leaf destAddr { config "false"; type address_Ip; description "Destination IP Address"; } // Local value of tx interval leaf localTxIntvl { config "false"; type bfd_MinTxIntvl; description "Local Value of Tx Interval"; } // Local value of rx interval leaf localRxIntvl { config "false"; type bfd_MinRxIntvl; description "Local Value of Rx Interval"; } // Local value of detection multiplier leaf localDetectMult { config "false"; type bfd_DetectMult; description "Local value of Detection Multiplier"; } // Active value of tx interval leaf txIntvl { config "false"; type bfd_MinTxIntvl; description "Active Value of Tx Interval"; } // Active value of echo tx interval leaf echoTxIntvl { config "false"; type bfd_MinTxIntvl; description "Active Value of Echo Tx Interval"; } // Active value of rx interval leaf rxIntvl { config "false"; type bfd_MinRxIntvl; description "Active Value of Rx Interval"; } // Active value of slow interval leaf slowIntvl { config "false"; type bfd_SlowIntvl; description "Active value of Slow Interval"; } // Active value of detection multiplier leaf detectMult { config "false"; type bfd_DetectMult; description "Active value of Detection Multiplier"; } // Active value of auth type leaf authType { config "false"; type bfd_AuthT; description "Active value of Authentication Type"; } // Authentication sequence number leaf authSeqno { config "false"; type bfd_AuthSeqno; description "Authentication Sequence Number"; } // Oper (protocol) state leaf operSt { config "false"; type bfd_OperSt; description "Operational State"; } // Remote oper state leaf remoteOperSt { config "false"; type bfd_OperSt; description "Remote Operational State"; } // Protocol diag code leaf diag { config "false"; type bfd_DiagCode; description "Protocol Diagnostic code"; } // Packet flags leaf flags { config "false"; type bfd_PktFlags; description "Packet Flags"; } leaf lastTransTime { config "false"; type union { type string; type uint64; } description "Transition Time. Last time when protocol state changed"; } // Last diag code leaf lastDiag { config "false"; type bfd_DiagCode; description "Last Diagnostic code"; } leaf lastDownTime { config "false"; type union { type string; type uint64; } description "Last Down Time"; } // BFD session type leaf sessType { config "false"; type bfd_SessionType; description "BFD Session Type. Types are Single-Hop, Multi-Hop and SRTE echo "; } leaf srteBsid { config "false"; type uint32; description "Binding Segment ID value Associated with BFD Session"; } // This object holds bfd session stats information container stats-items { uses bfd_SessStats-group; description "BFD Session Stats"; } // This object holds bfd last packet information. This signifies // peer view of the session. container peerv-items { uses bfd_PeerV-group; description "BFD Peer View"; } // This object holds app information per bfd session container app-items { list SessApp-list { config "false"; key "id"; uses bfd_SessApp-group; description "BFD Session App list"; } description "BFD Session App"; } container rsmbrSess-items { list RsMbrSess-list { key "tDn"; uses bfd_RsMbrSess_source-group; description "Port-Channel Member Sessions list"; } description "Port-Channel Member Sessions"; } } grouping bfd_SessStats-group { description "BFD Session Stats"; // Packets received leaf rxCnt { config "false"; type nw_Counter64; description "Packets Received"; } // Average interval between received packets leaf rxAvg { config "false"; type bfd_PktInterval; description "Packets Average Receive Interval, which is the average interval between received packets "; } // Minimum interval between received packets leaf rxMin { config "false"; type bfd_PktInterval; description "Packets Minimum Receive Interval"; } // Maximum interval between received packets leaf rxMax { config "false"; type bfd_PktInterval; description "Packets Maximum Receive Interval"; } leaf lastRxPkt { config "false"; type union { type string; type uint64; } description "Last packet received timestamp"; } // Packets transmitted leaf txCnt { config "false"; type nw_Counter64; description "Packets Transmitted"; } // Average interval between transmitted packets leaf txAvg { config "false"; type bfd_PktInterval; description "Packets Average Transmit Interval, which is average interval between transmitted packets"; } // Minimum interval between transmitted packets leaf txMin { config "false"; type bfd_PktInterval; description "Packets Minimum Transmit Interval"; } // Maximum interval between transmitted packets leaf txMax { config "false"; type bfd_PktInterval; description "Packets Maximum Transmit Interval"; } leaf lastTxPkt { config "false"; type union { type string; type uint64; } description "Last packet transmitted timestamp"; } // Number of times session has gone into up state leaf upCnt { config "false"; type nw_Counter32; description "Up Count is the number of times session has gone into up state"; } // Number of times session has gone into down state leaf downCnt { config "false"; type nw_Counter32; description "Down Count is the number of times session has gone into down state"; } } grouping bfd_PeerV-group { description "BFD Peer View"; // Diag Code in last packet leaf diag { config "false"; type bfd_DiagCode; description "Diagnostic Code in Last Packet"; } // Protocol state in last packet leaf operSt { config "false"; type bfd_OperSt; description "Protocol State in Last Packet"; } // Flags in last packet leaf flags { config "false"; type bfd_PktFlags; description "Flags in Last Packet"; } // Detect multiplier in last packet leaf detectMult { config "false"; type bfd_DetectMult; description "Detect Multiplier in Last Packet"; } // My discriminator in last packet leaf myDisc { config "false"; type bfd_Discr; description "My Discriminator in Last Packet"; } // Your discriminator in last packet leaf yourDisc { config "false"; type bfd_Discr; description "Your Discriminator in Last Packet"; } // Min tx interval in last packet leaf minTx { config "false"; type bfd_MinTxIntvl; description "Minimum Tx Interval in Last Packet"; } // Min rx interval in last packet leaf minRx { config "false"; type bfd_MinRxIntvl; description "Minimum Rx Interval in Last Packet"; } // Min echo interval in last packet leaf minEcho { config "false"; type bfd_MinRxIntvl; description "Minimum Echo Interval in Last Packet"; } } grouping bfd_SessApp-group { description "BFD Session App"; // Application ID leaf id { config "false"; type bfd_AppId; description "Application ID of the app associated with the BFD session"; } leaf name { config "false"; type string; description "Application Name of the app associated with the BFD session"; } // Application sap ID leaf sapId { config "false"; type bfd_SapId; description "Application SAP ID of the app associated with the BFD session"; } leaf descr { config "false"; type string; description "Application Description"; } // Application session flags leaf flags { config "false"; type bfd_AppFlags; description "Application Session Flags"; } // Application private data leaf data { config "false"; type bfd_AppData; description "Application Private Data"; } leaf autoExpTime { config "false"; type union { type string; type uint64; } description "Application Auto-Expiry Timestamp"; } } grouping cfs_Entity-group { description "Cfs Entity"; // This objects hold cfs instance information. container inst-items { uses cfs_Inst-group; description "CFS Instance"; } } grouping cfs_Inst-group { description "CFS Instance"; // Enable CFS distribution leaf distribute { type cfs_AdminSt; description "Enable CFS distribution"; } // Enable CFS distribution over Ethernet leaf ethDist { type cfs_AdminSt; default "disabled"; description "Enable CFS distribution over Ethernet"; } // Enable CFS distribution over IPv4 leaf ipv4Dist { type cfs_AdminSt; default "disabled"; description "Enable CFS distribution over IPv4"; } // Enable CFS distribution over IPv6 leaf ipv6Dist { type cfs_AdminSt; default "disabled"; description "Enable CFS distribution over IPv6"; } leaf ipv4Mcast { type address_Ipv4; default "239.255.70.83"; description "cfs IPv4 mcast address"; } leaf ipv6Mcast { type address_Ipv6; default "ff15::efff:4653"; description "cfs IPv6 mcast address"; } container region-items { list Region-list { key "regId"; uses cfs_Region-group; description "CFS Region list"; } description "CFS Region"; } } grouping cfs_Region-group { description "CFS Region"; leaf regId { type cfs_RegId; description "CFS Region ID"; } container app-items { list App-list { key "appName"; uses cfs_App-group; description "CFS Appname list"; } description "CFS Appname"; } } grouping cfs_App-group { description "CFS Appname"; leaf appName { type string; description "CFS Appname ID"; } } grouping dot1x_Entity-group { description "Dot1x entity information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per dot1x instance information. There is // only one instance of dot1x running in the system today container inst-items { uses dot1x_Inst-group; description "Dot1x instance information"; } } grouping dot1x_Inst-group { description "Dot1x instance information"; leaf sysAuthCtrl { type boolean; default "true"; description "Dot1x sys-auth-control"; } leaf radAcct { type boolean; default "false"; description "Dot1x radius accounting"; } // Dot1x Mac-Move leaf macMove { type dot1x_MacMove; description "Dot1x mac-move setting"; } leaf serverDeadActionAuthz { type boolean; default "false"; description "Dot1x server_dead_action_authz setting"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds dot1x information that is operated at a // interface level AMB: Not taking the union of access, because "fabric-protocol-l2" is not a valid access, and access are not used in standalone. So taking only the ACI access container if-items { list If-list { key "id"; uses dot1x_If-group; description "Dot1x interface information list"; } description "Dot1x interface information"; } // This objects holds AAA Authentication Groups container authconfig-items { uses dot1x_AuthConfig-group; description "Dot1x-AAA Authentication Group information"; } // This objects holds AAA Accounting Groups container acctconfig-items { uses dot1x_AcctConfig-group; description "Dot1x-AAA Accounting Group information"; } // - EAP PROFILE MO container eap-items { list Eap-list { key "profileName"; uses dot1x_Eap-group; description "Dot1x EAP Profile Group information list"; } description "Dot1x EAP Profile Group information"; } } grouping dot1x_If-group { description "Dot1x interface information"; // Dot1x Host Mode leaf hostMode { type dot1x_HostMode; description "Dot1x host mode type"; } // Dot1x Pae Type leaf paeType { type dot1x_PaeType; description "Role of dot1x authenticating entity"; } // Dot1x MAC Auth Bypass, keeping nxos name for name difference for same property leaf macAuthBypass { type dot1x_MacAuthBypass; description "Dot1x mac auth bypass"; } // Dot1x Max Reauth Request leaf maxReauthReq { type dot1x_MaxReauthReq; description "Maximum re-authentication attempts before failing"; } // Dot1x Max Request leaf maxReq { type dot1x_MaxReq; description "Maximum retries to initiate authentication"; } // - AMB: IN ACI IT IS ctrl,keeping nxos name for different names for same property Dot1x Port Control leaf portCtrl { type dot1x_PortCtrl; description "Dot1x port control mode"; } leaf reAuth { type boolean; default "false"; description "Enable or disable reauthentication for this port"; } // Dot1x Timeout: Quiet Period leaf quietPeriod { type dot1x_QuietPeriod; description "Dot1x timeout quiet period"; } // Dot1x Timeout: Rate limit period leaf rateLimitPeriod { type dot1x_RateLimitPeriod; description "Dot1x timeout rate limit period"; } // Dot1x Timeout: Re-auth Period leaf reAuthPeriod { type dot1x_ReAuthPeriod; description "Dot1x timeout re-auth period"; } // Dot1x Timeout: Server Timeout leaf serverTimeout { type dot1x_ServerTimeout; description "Dot1x timeout server timeout"; } // Dot1x Timeout: Supplicant Timeout leaf suppTimeout { type dot1x_SuppTimeout; description "Dot1x timeout supplicant timeout"; } // Dot1x Timeout: Tx Period leaf txPeriod { type dot1x_TxPeriod; description "Dot1x timeout tx period"; } // Dot1x Timeout: Inactivity Period leaf inactivityPeriod { type dot1x_InactivityPeriod; description "Dot1x timeout inactivity period"; } // Dot1x Authentication order leaf dot1xAuthOrder { type dot1x_Dot1xAuthOrder; description "Dot1x authentication order"; } leaf dot1xSupEapProfile { type string; description "Dot1x supplicant eap profile tls"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // |<1-65535>[.<0-65535>] Autonomous system number leaf asn { type rtleak_Asn { pattern "((none)|([1-9]{1}[0-9]{0,8}|[1-3]{1}[0-9]{1,9}|4{1}[0-1]{1}[0-9]{8}|4{1}2{1}[0-8]{1}[0-9]{7}|4{1}2{1}9{1}[0-3]{1}[0-9]{6}|4{1}2{1}9{1}4{1}[0-8]{1}[0-9]{5}|4{1}2{1}9{1}4{1}9{1}[0-5]{1}[0-9]{4}|4{1}2{1}9{1}4{1}9{1}6{1}[0-6]{1}[0-9]{3}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}[0-1]{1}[0-9]{2}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}[0-8]{1}[0-9]{1}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}9{1}[0-5]{1})|(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\.([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])))"; } description "Autonomous System Number"; } } grouping eigrp_LeakCtrlP-group { description "Maximum number of prefixes redistributed to protocol"; // Controls on what to do when the number of routes cross // the maximum route/prefix limit leaf ctrl { type rtleak_Ctrl; description "Controls"; } // Maximum limit on routes leaked leaf max { type rtleak_MaxPfx; description "Maximum Limit"; } // Threshold at which warning is issued when number of // routes crosses the threshold leaf thresh { type rtleak_Thresh; description "Threshold"; } // Maximum number of retries to retrieve the leaked routes, // this is applicable only when the routes are withdrawn leaf retries { type rtleak_Retries; description "Retries"; } // Duration between the retries leaf duration { type rtleak_Duration; description "Duration"; } } grouping eigrp_RibLeakP-group { description "EIGRP to Route Information Base(RIB) Route Leak/distribution Policy Per Domain or VRF"; leaf rtMap { type string { pattern ".*[!-~]{1,63}.*"; } description "Route map used in distribution of routes"; } // If always is set to false, only routes that are permitted // by the route map(rtMap) configuration are downloaded to the // routing information base (RIB). leaf always { type rtleak_Always; description "Filter routes into RIB"; } } grouping eigrp_StubP-group { description "Stub configurations for EIGRP instance"; leaf direct { type boolean; default "false"; description "Configured to advertise direct Routes"; } leaf static { type boolean; default "false"; description "Configured to advertise static routes"; } leaf summary { type boolean; default "false"; description "Configured to advertise summary routes"; } leaf external { type boolean; default "false"; description "Configured to advertise external redistributed routes"; } leaf receiveOnly { type boolean; default "false"; description "Configures EIGRP as receive only stub"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map used in distribution of routes"; } } grouping eigrp_If-group { description "Holds Eigrp information that is operated at an interface level"; // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // This object holds per address family interface information container af-items { list IfAf-list { key "type"; uses eigrp_IfAf-group; description "This object holds EIGRP information that is operated at Interface Address Family level list"; } description "This object holds EIGRP information that is operated at Interface Address Family level"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping eigrp_IfAf-group { description "This object holds EIGRP information that is operated at Interface Address Family level"; // Hello interval, interval between hello packets that // EIGRP sends on the interface leaf helloIntvl { type eigrp_HelloIntvl; description "Configures IP-Eigrp hello interval"; } // Hold time, interval during which at least one // hello packet must be received from a neighbor before // the router declares that neighbor as down leaf holdIntvl { type eigrp_HoldIntvl; description "Configures IP-Eigrp hold time"; } // EIGRP bandwidth in kbps, overrides the bandwidth // configured on an interface. Used to influence // path selection leaf bw { type eigrp_IntfBw; description "Set bandwidth for interface used in Eigrp metric calculation"; } // EIGRP bandwidth percentage is the percent of bandwidth // that eigrp may use leaf bwPercent { type eigrp_IntfBwPercent; description "Set bandwidth percent for interface that EIGRP can use"; } // EIGRP throughput delay, overrides the delay // configured on an interface. Used to influence // path selection leaf delay { type eigrp_IntfDelay; description "Set delay for interface used in Eigrp metric calculation"; } // EIGRP delay units, Wide metrics can use // picosecond accuracy for delay leaf delayUnit { type eigrp_DelayUnit; description "Delay units for Eigrp interface delay wide metrics can use picosecond for delay"; } // EIGRP Interface MTU, overrides the MTU configured // on interface. Used to influence path selection leaf mtu { type eigrp_IntfMtu; description "Set Max Packet Size to be used by EIGRP"; } // EIGRP Interface admin state, override the admin state // on the interface. leaf adminSt { type eigrp_State; description "Admin state of the EIGRP on If Af for eigrp instance shut on interface"; } // EIGRP Interface bfd controls the state of bfd // on the interface leaf bfd { type eigrp_TriState; description "BFD state on EIGRP interface"; } leaf nhSelf { type boolean; default "true"; description "Configures eigrp next hop self on interface"; } leaf splitHorizon { type boolean; default "true"; description "Configures eigrp split-horizon on interface"; } // EIGRP interface Passive configuration leaf passive { type eigrp_TriState; description "Configures eigrp passive on interface"; } // Type leaf type { type eigrp_AfT; description "Type Property has READ-Create access."; } container auth-items { uses eigrp_AuthP-group; description "Authentication Policy"; } // Route control policy for routes coming/going over interfaces. // There are few ways to apply this policy, controlling // through route maps or prefix lists. // The direction specifies whether to apply this policy // in the incoming or outgoing direction container rtctrl-items { list RtCtrlP-list { key "direction"; uses eigrp_RtCtrlP-group; description "Route Control Policy list"; } description "Route Control Policy"; } container rtmetricalter-items { list RtMetricAlterP-list { key "direction"; uses eigrp_RtMetricAlterP-group; description "Route Metric Alteration Policy list"; } description "Route Metric Alteration Policy"; } container rtsum-items { list RtSum-list { key "addr"; uses eigrp_RtSum-group; description "Route Summarization Policy list"; } description "Route Summarization Policy"; } } grouping eigrp_RtCtrlP-group { description "Route Control Policy"; // Direction [in/out] leaf direction { type rtctrl_RtCtrlDir; description "Direction"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map used in distribution of routes"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix list to control route distribution"; } } grouping eigrp_RtMetricAlterP-group { description "Route Metric Alteration Policy"; // Direction [in/out] leaf direction { type rtctrl_RtCtrlDir; description "Direction"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map used in distribution of routes"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix list to control route distribution"; } // Offset Value to be added to the metric to alter it leaf offset { type eigrp_MetricOffset; description "Offset value for metric alter"; } } grouping eigrp_RtSum-group { description "Route Summarization Policy"; leaf addr { type address_Ip; description "Address"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map to allow dynamic prefixes"; } leaf distance { type eigrp_Dist; default "5"; description "Administrative distance for summary address"; } } grouping hsrp_Entity-group { description "HSRP Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects holds HSRP instance information. There is only one instance of HSRP supported currently container inst-items { uses hsrp_Inst-group; description "HSRP Instance"; } } grouping hsrp_Inst-group { description "HSRP Instance"; // Global flag to enable/disable bfd on all interfaces leaf bfd { type hsrp_State; default "disabled"; description "Global flag to enable/disable bfd on all interfaces"; } leaf extendedHoldIntvl { type uint16 { range "10..255"; } default "10"; description "HSRP extended hold interval, in seconds, for both IPv4 and IPv6 groups. Extends the HSRP hold timers during a controlled switchover or ISSU"; } // Enables/Disables hsrp extended hold interval leaf extendedHoldIntvlCfg { type hsrp_State; default "disabled"; description "Enables/Disables hsrp extended hold interval"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This object holds interface information container if-items { list If-list { key "id"; uses hsrp_If-group; description "Interface with HSRP Enabled list"; } description "Interface with HSRP Enabled"; } } grouping hsrp_If-group { description "Interface with HSRP Enabled"; // Hsrp version leaf version { type hsrp_HsrpVersion; description "Hsrp version"; } // Interface controls leaf ctrl { type hsrp_IfControl; description "Controls"; } // Use-Bia Scope leaf biaScope { type hsrp_BiaScopeType; description "Use-Bia Scope"; } leaf delayIntfMin { type uint16 { range "0..10000"; } default "0"; description "Delay in seconds, to start HSRP state machine after receiving interface moving to Up state"; } leaf reloadDelay { type uint16 { range "0..10000"; } default "0"; description "Delay in seconds, to start HSRP state machine after the system-reload"; } // Flag to enable/disable bfd on the interface leaf bfd { type hsrp_State; default "disabled"; description "Enables/disables BFD on an HSRP interface"; } leaf macRefreshIntvl { type uint16 { range "0..10000"; } default "60"; description "The MAC refresh interval in seconds, for the HSRP slave group on the interface"; } // Enables/Disables MAC Refresh interval leaf macRefreshIntvlCfg { type hsrp_State; default "disabled"; description "Enables/Disables hsrp MAC refresh interval"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } container grp-items { list Group-list { key "id af"; uses hsrp_Group-group; description "HSRP Virtual Router list"; } description "HSRP Virtual Router"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping hsrp_Group-group { description "HSRP Virtual Router"; // HSRP Group ID leaf id { type hsrp_GroupId; description "Group Id"; } // HSRP Address Family leaf af { type hsrp_GroupAf; description "Group Address Family"; } leaf ip { type address_Ip; description "Primary IP Address"; } // HSRP primary IP Obtain Mode leaf ipObtainMode { type hsrp_GrpIpObtainMode; description "IP Obtain Mode"; } // Control Bits leaf ctrl { type hsrp_GrpControl; description "Group control bits"; } // Minimum Preemption delay before this group can preempt a high priority Active leaf preemptDelayMin { type hsrp_PreemptDelay; description "Miminum delay before preempt"; } // Preemption delay after a switch reboot before this group can preempt a High priority Active leaf preemptDelayReload { type hsrp_PreemptDelay; description "Preempt delay after a switch reload"; } // Maximum number of seconds to allow IP redundancy clients to prevent preemption @@@ Dont expose thi to user leaf preemptDelaySync { type hsrp_PreemptDelay; description "Wait for IP redundancy clients"; } // HSRP Hello packet interval leaf helloIntvl { type hsrp_HelloIntvl; description "Hello Interval"; } // HSRP Hold interval leaf holdIntvl { type hsrp_HoldIntvl; description "Hold Interval"; } // Grouph Priority leaf prio { type hsrp_GrpPrio; description "Group Priority"; } // forwarding lower threshold leaf fwdLwrThrld { type hsrp_GrpPrio; default "0"; description "Fowarding Lower Threshold"; } // forwarding upper threshold leaf fwdUprThrld { type hsrp_GrpPrio; description "Forwarding Upper Threshold"; } // HSRP master name for the group leaf name { type hsrp_GrpName; description "Master name string"; } // HSRP Slave/follow config the group leaf follow { type hsrp_GrpName; description "Master name string to follow"; } // HSRP authentication type for the group leaf authType { type hsrp_AuthT; description "Authentication Type for the group"; } // Plain text authentication string for the group leaf authSecret { type hsrp_AuthKey; description "Plain text authentication string for the group"; } // HSRP Authentication MD5 Type leaf authMd5Type { type hsrp_AuthMd5T; description "Type of MD5 Authentication"; } leaf authMd5KeyChainName { type string { length "0..63"; } description "Authentication MD5 Key Chain Name"; } // Authentication MD5 Key String Type leaf authMd5KeyStringType { type hsrp_Md5KeyStringType; description "Authentication MD5 Key String Type"; } leaf authMd5KeyName { type string { length "0..64"; } description "Authentication Md5 Key Name"; } // Enables compatibility mode for MD5 type-7 authentication leaf authMd5CompatibilityMode { type hsrp_State; default "disabled"; description "Enables compatibility mode for MD5 type-7 authentication"; } leaf authMd5Timeout { type uint32 { range "0..32767"; } description "timeout for when HSRP will only accept a new key"; } leaf mac { type address_Mac; description "Configured MAC address for the group"; } // Oper property to raise fault for any Configuration Error from BI leaf configErr { config "false"; type hsrp_ConfigErrQual; description "This property gets set for any configuration error which cannot be rejected while applying the configuration. Fault will be raised based on the value."; } // Oper property to raise fault for any IP Configuration Error from BI leaf ipConfigErr { config "false"; type hsrp_ipConfigErrQual; description "This property gets set for any ip configuration error which cannot be rejected while applying the configuration. Fault will be raised based on the value."; } // Class for HSRP secondary vips container addr-items { list Addr-list { key "ip"; uses hsrp_Addr-group; description "HSRP Secondary VIP list"; } description "HSRP Secondary VIP"; } // Object to hold hsrp object track information container track-items { list ObjectTrack-list { key "id"; uses hsrp_ObjectTrack-group; description "Holds information of objects tracked by HSRP list"; } description "Holds information of objects tracked by HSRP"; } } grouping hsrp_Addr-group { description "HSRP Secondary VIP"; leaf ip { type address_Ip; description "Secondary IP Address"; } // Oper property to raise fault for any Configuration Error from BI leaf ipConfigErr { config "false"; type hsrp_ipConfigErrQual; description "This property gets set for any ip configuration error which cannot be rejected while applying the configuration. Fault will be raised based on the value."; } } grouping hsrp_ObjectTrack-group { description "Holds information of objects tracked by HSRP"; // Object id to be tracked leaf id { type track_TrackId; description "Object Id to be tracked"; } leaf decrPrio { type uint16 { range "1..255"; } default "10"; description "Priority to be decremented when tracked object is down. Default value is 10"; } } grouping icmpv4_Entity-group { description "ICMPv4 Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per icmpv4 instance information. There is // only one instance of icmpv4 running in the system today container inst-items { uses icmpv4_Inst-group; description "ICMPv4 Instance"; } } grouping icmpv4_Inst-group { description "ICMPv4 Instance"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This objects hold per icmpv4 layer3 domain (vrf) // information container dom-items { list Dom-list { key "name"; uses icmpv4_Dom-group; description "ICMPv4 Domain list"; } description "ICMPv4 Domain"; } } grouping icmpv4_Dom-group { description "ICMPv4 Domain"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This object holds icmp information that is operated at a // interface level container if-items { list If-list { key "id"; uses icmpv4_If-group; description "ICMPv4 Interface list"; } description "ICMPv4 Interface"; } } grouping icmpv4_If-group { description "ICMPv4 Interface"; // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Interface controls // Default value handled in local MO type leaf ctrl { // Type is a Local-MO-Defined-Type type icmp_IfControl_If_ctrl; description "Controls"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping icmpv6_Entity-group { description "ICMPv6 Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per icmpv6 instance information. There is // only one instance of icmpv6 running in the system today container inst-items { uses icmpv6_Inst-group; description "ICMPv6 Instance"; } } grouping icmpv6_Inst-group { description "ICMPv6 Instance"; // Operational state leaf operSt { config "false"; type icmpv6_OperSt; description "Operational State"; } // Adjacency stale timer leaf adjStaleTimer { type icmpv6_AdjStaleTimer; description "Adjacency stale timer"; } // Adjacency stale timer with icmp option leaf adjStaleTimerIcmp { type nw_AdminSt; description "Ipv6 adjacency stale timer with ICMP option"; } // ipv6 redirect syslog enabled by default leaf redirectSyslog { type nw_AdminSt; description "ipv6 redirect syslog"; } leaf redirectSyslogInterval { type uint16 { range "30..1800"; } default "60"; description "redirect syslog interval"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This object holds icmpv6 information that is operated at a // interface level container if-items { list If-list { key "id"; uses icmpv6_If-group; description "ICMPV6 Interface list"; } description "ICMPV6 Interface"; } container logs-items { list ICMPv6EventLogs-list { key "eventType"; uses icmpv6_ICMPv6EventLogs-group; description "ICMPv6 Event History Logging list"; } description "ICMPv6 Event History Logging"; } // Interface statistics icmpv6 common packet counters (global and per-i/f) // Ephemeral data container ifstats-items { uses icmpv6_IfStats-group; description "ICMPv6 interface statistics"; } } grouping icmpv6_If-group { description "ICMPV6 Interface"; // Interface controls leaf ctrl { type icmpv6_IfControl; description "Controls"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Interface statistics icmpv6 common packet counters (global and per-i/f) // Ephemeral data container ifstats-items { uses icmpv6_IfStats-group; description "ICMPv6 interface statistics"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping icmpv6_IfStats-group { description "ICMPv6 interface statistics"; // Total Messages sent @@@ ICMPV6_PKT_MSGS_SNT_CNT // Ephemeral data leaf totSent { config "false"; type nw_Counter64; description "Total messages sent"; } // Total Messages received @@@ ICMPV6_PKT_MSGS_RECV_CNT // Ephemeral data leaf totRvcd { config "false"; type nw_Counter64; description "Total messages received"; } // Error Messages sent @@@ ICMPV6_PKT_ERR_SNT_CNT // Ephemeral data leaf errSent { config "false"; type nw_Counter64; description "Error messages sent"; } // Error Messages received @@@ ICMPV6_PKT_ERR_RECV_CNT // Ephemeral data leaf errRcvd { config "false"; type nw_Counter64; description "Error messages received"; } // Interface Down Drop Count sent @@@ ICMPV6_PKT_SNT_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropSent { config "false"; type nw_Counter64; description "Interface Down Drop Count sent"; } // Interface Down Drop Count received @@@ ICMPV6_PKT_RECV_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropRcvd { config "false"; type nw_Counter64; description "Interface Down Drop Count received"; } // Adjacency not recovered from AM after HA @@@ ICMPV6_PKT_DROPPED_HA_NOT_READY // Ephemeral data leaf dropHaNotRdy { config "false"; type nw_Counter64; description "Adjacency not recovered from AM after HA"; } // Pkts allowed due to inv ttl on vPC-MCT @@@ ICMPV6_PKT_ALLOW_MCT_TTL_CNT // Ephemeral data leaf dropInvldTtlMct { config "false"; type nw_Counter64; description "Pkts allowed due to inv ttl on vPC-MCT"; } // Pkts dropped as source mac addr is own @@@ ICMPV6_PKT_RECV_DROP_OWN_SRC_MAC_COUNT // Ephemeral data leaf dropSrcMacOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as source mac addr is own"; } // Pkts dropped as tgt ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_TARGET_NOT_US_COUNT // Ephemeral data leaf dropTgtIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as tgt ip addr is not own"; } // Pkts dropped as src ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_SRC_NOT_US_COUNT // Ephemeral data leaf dropSrcIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as src ip addr is not own"; } // Destination Unreachables sent @@@ ICMPV6_PKT_DEST_UNREACHS_SNT_CNT // Ephemeral data leaf destUnreachSent { config "false"; type nw_Counter64; description "Destination Unreachables sent"; } // Destination Unreachables received @@@ ICMPV6_PKT_DEST_UNREACHS_RECV_CNT // Ephemeral data leaf destUnreachRcvd { config "false"; type nw_Counter64; description "Destination Unreachables received"; } // Administratively Prohibited sent @@@ ICMPV6_PKT_ADMIN_PROHIBS_SNT_CNT // Ephemeral data leaf adminProhibSent { config "false"; type nw_Counter64; description "Administratively Prohibited sent"; } // Administratively Prohibited received @@@ ICMPV6_PKT_ADMIN_PROHIBS_RECV_CNT // Ephemeral data leaf adminProhibRcvd { config "false"; type nw_Counter64; description "Administratively Prohibited received"; } // Time Exceeded sent @@@ ICMPV6_PKT_TIME_EXCDS_SNT_CNT // Ephemeral data leaf timeExcdSent { config "false"; type nw_Counter64; description "Time Exceeded sent "; } // Time Exceeded received @@@ ICMPV6_PKT_TIME_EXCDS_RECV_CNT // Ephemeral data leaf timeExcdRcvd { config "false"; type nw_Counter64; description "Time Exceeded received"; } // Parameter Problems sent @@@ ICMPV6_PKT_PARM_PROBS_SNT_CNT // Ephemeral data leaf parmPrblmSent { config "false"; type nw_Counter64; description "Parameter Problems sent"; } // Parameter Problems received @@@ ICMPV6_PKT_PARM_PROBS_RECV_CNT // Ephemeral data leaf parmPrblmRcvd { config "false"; type nw_Counter64; description "Parameter Problems received"; } // Echo Request sent @@@ ICMPV6_PKT_ECHOS_SNT_CNT // Ephemeral data leaf echoReqSent { config "false"; type nw_Counter64; description "Echo Request sent"; } // Echo Request received @@@ ICMPV6_PKT_ECHOS_RECV_CNT // Ephemeral data leaf echoReqRcvd { config "false"; type nw_Counter64; description "Echo Request received"; } // Echo Replies sent @@@ ICMPV6_PKT_ECHO_REPLIES_SNT_CNT // Ephemeral data leaf echoRepSent { config "false"; type nw_Counter64; description "Echo Replies sent"; } // Echo Replies received @@@ ICMPV6_PKT_ECHO_REPLIES_RECV_CNT // Ephemeral data leaf echoRepRcvd { config "false"; type nw_Counter64; description "Echo Replies received"; } // Redirects sent @@@ ICMPV6_PKT_REDIRECTS_SNT_CNT // Ephemeral data leaf redirSent { config "false"; type nw_Counter64; description "Redirects sent"; } // Redirects received @@@ ICMPV6_PKT_REDIRECTS_RECV_CNT // Ephemeral data leaf redirRcvd { config "false"; type nw_Counter64; description "Redirects received"; } // Packet Too Big sent @@@ ICMPV6_PKT_TOO_BIG_SNT_CNT // Ephemeral data leaf tooBigSent { config "false"; type nw_Counter64; description "Packet Too Big sent"; } // Packet Too Big received @@@ ICMPV6_PKT_TOO_BIG_RECV_CNT // Ephemeral data leaf tooBigRcvd { config "false"; type nw_Counter64; description "Packet Too Big received"; } // Router Advertisements sent @@@ ICMPV6_PKT_ROUTER_ADV_SNT_CNT // Ephemeral data leaf raSent { config "false"; type nw_Counter64; description "Router Advertisements sent"; } // Router Advertisements received @@@ ICMPV6_PKT_ROUTER_ADV_RECV_CNT // Ephemeral data leaf raRcvd { config "false"; type nw_Counter64; description "Router Advertisements received"; } // Router Solicitations sent @@@ ICMPV6_PKT_ROUTER_SOLICITS_SNT_CNT // Ephemeral data leaf rsSent { config "false"; type nw_Counter64; description "Router Solicitations sent"; } // Router Solicitations received @@@ ICMPV6_PKT_ROUTER_SOLICITS_RECV_CNT // Ephemeral data leaf rsRcvd { config "false"; type nw_Counter64; description "Router Solicitations received"; } // Neighbor Advertisements sent @@@ ICMPV6_PKT_NEIGHBOR_ADV_SNT_CNT // Ephemeral data leaf naSent { config "false"; type nw_Counter64; description "Neighbor Advertisements sent"; } // Neighbor Advertisements received @@@ ICMPV6_PKT_NEIGHBOR_ADV_RECV_CNT // Ephemeral data leaf naRcvd { config "false"; type nw_Counter64; description "Neighbor Advertisements received"; } // Neighbor Solicitations sent @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_SNT_CNT // Ephemeral data leaf nsSent { config "false"; type nw_Counter64; description "Neighbor Solicitations sent"; } // Neighbor Solicitations received @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_RECV_CNT // Ephemeral data leaf nsRcvd { config "false"; type nw_Counter64; description "Neighbor Solicitations received"; } // Duplicate router RA received @@@ ICMPV6_PKT_DUP_ROUTER // Ephemeral data leaf dupRAReceived { config "false"; type nw_Counter64; description "Duplicate router RA received"; } // Fastpath Packets @@@ ICMPV6_PKT_FASTPATH_RECV_CNT // Ephemeral data leaf fastpthRcvd { config "false"; type nw_Counter64; description "Fastpath Packets"; } // Ignored Fastpath Packets - Fastpath disabled @@@ ICMPV6_PKT_RECV_DROP_FASTPATH_DISABLED_CNT // Ephemeral data leaf fastpathDsbleIgnRcvd { config "false"; type nw_Counter64; description "Ignored Fastpath Packets - Fastpath disabled"; } // Ignored Fastpath Packets - others @@@ ICMPV6_PKT_RECV_DROP_REQUEST_IGNORE_CNT // Ephemeral data leaf fastpathOtherIgnRcvd { config "false"; type nw_Counter64; description "Ignored fastpath packets - others"; } // @@@ ICMPV6_PKT_MLD_V1_QUERY_SNT_CNT // Ephemeral data leaf mldV1QueriesSent { config "false"; type nw_Counter64; description "V1 queries sent"; } // @@@ ICMPV6_PKT_MLD_V1_QUERY_RECV_CNT // Ephemeral data leaf mldV1QueriesRecv { config "false"; type nw_Counter64; description "V1 queries received"; } // @@@ ICMPV6_PKT_MLD_V2_QUERY_SNT_CNT // Ephemeral data leaf mldV2QueriesSent { config "false"; type nw_Counter64; description "V2 queries sent"; } // @@@ ICMPV6_PKT_MLD_V2_QUERY_RECV_CNT // Ephemeral data leaf mldV2QueriesRecv { config "false"; type nw_Counter64; description "V2 queries received"; } // @@@ ICMPV6_PKT_MLD_V1_REPORTS_SNT_CNT // Ephemeral data leaf mldV1ReportsSent { config "false"; type nw_Counter64; description "V1 reports sent"; } // @@@ ICMPV6_PKT_MLD_V1_REPORTS_RECV_CNT // Ephemeral data leaf mldV1ReportsRecv { config "false"; type nw_Counter64; description "V1 reports received"; } // @@@ ICMPV6_PKT_MLD_V2_REPORTS_SNT_CNT // Ephemeral data leaf mldV2ReportsSent { config "false"; type nw_Counter64; description "V2 reports sent"; } // @@@ ICMPV6_PKT_MLD_V2_REPORTS_RECV_CNT // Ephemeral data leaf mldV2ReportsRecv { config "false"; type nw_Counter64; description "V2 reports received"; } // @@@ ICMPV6_PKT_MLD_V1_LEAVES_SNT_CNT // Ephemeral data leaf mldV1LeavesSent { config "false"; type nw_Counter64; description "V1 leaves sent"; } // @@@ ICMPV6_PKT_MLD_V1_LEAVES_RECV_CNT // Ephemeral data leaf mldV1LeavesRecv { config "false"; type nw_Counter64; description "V1 leaves received"; } } grouping icmpv6_ICMPv6EventLogs-group { description "ICMPv6 Event History Logging"; // Type of Event leaf eventType { type icmpv6_EventType; description "Event Log Type"; } // Type of Event LogSize leaf logSize { type icmpv6_EventLogSize; description "Event Log Size"; } } grouping igmpsnoop_Entity-group { description "Holds IGMP Snooping Entity Information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per igmp instance information. There is only // one instance of igmp running in the system today container inst-items { uses igmpsnoop_Inst-group; description "Holds IGMP Snooping Instance information"; } } grouping igmpsnoop_Inst-group { description "Holds IGMP Snooping Instance information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // All router multicast group address (GIPo), outer multicast // encapsulation ip address leaf allRtrMcastEncap { config "false"; type mcast_GrpIp; description "All Router Multicast Encapsulation"; } // Flags leaf flags { config "false"; type ipmcsnoop_InstFlags; description "Flags"; } // This objects hold per igmp domain information container dom-items { uses igmpsnoop_Dom-group; description "Holds IGMP Snooping Domain information"; } // This objects hold per Instance statistics operational // information. This is a singleton within Instance container inststats-items { uses igmpsnoop_InstStats-group; description "Holds statistics data per Igmpsnoop Instance"; } } grouping igmpsnoop_Dom-group { description "Holds IGMP Snooping Domain information"; leaf operCfgRecovery { config "false"; type boolean; description "Running configuration recovery"; } leaf name { type naming_Name256 { length "0..128"; } description "IP Multicast snooping domain name"; } // Id for this domain @@@ This comes from the domain id assigned by the // PE for the bridge domain leaf id { config "false"; type l2_DomId; description "Operational domain identifier"; } leaf encap { type string; description "L2 Domain Fabric Encapsulation"; } // Admin State leaf adminSt { config "false"; type nw_AdminSt; description "Administrative State"; } // Controls leaf ctrl { type ipmcsnoop_DomControl; description "Controls for IP milticast domains"; } // Flags leaf flags { config "false"; type ipmcsnoop_DomFlags; default "3"; description "Flags for IP milticast domains"; } // Forwarding mode leaf fwdMode { config "false"; type ipmcsnoop_FwdMode; description "Operating Fowarding Mode"; } // Number of router interfaces leaf numRtrIf { config "false"; type nw_Counter32; description "Multicast Router Interfaces"; } // Number of multicast groups leaf numMcGrp { config "false"; type nw_Counter32; description "Number of Multicast Groups"; } // Number of Source groups leaf numSrcGrp { config "false"; type nw_Counter32; description "Number of Multicast Source Groups"; } leaf grpFlushTs { config "false"; type union { type string; type uint64; } description "Group Flush No Querier Timestamp"; } leaf nextQueryTs { config "false"; type union { type string; type uint64; } description "Next Query Timestamp"; } leaf nextQueryExpTs { config "false"; type union { type string; type uint64; } description "Next Query Timestamp"; } // Mrtr Epg Id used when sending packets to mrtr port leaf mrtrEpgId { config "false"; type l2_DomId; description "Mrouter Endpoint Group ID"; } // IGMP database // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "type"; uses igmpsnoop_Db-group; description "Database record with type of data to display list"; } description "Database record with type of data to display"; } // This objects hold per igmp domain statistics operational // information. This is a singleton within a Dom container domstats-items { uses igmpsnoop_DomStats-group; description "Holds statistics data per Igmpsnoop Domain"; } // IGMP database for show commands - container hostTrack-items { uses igmpsnoop_HostTrack-group; description "IGMP SNOOP database for show ip igmp SNOOP groups"; } // Multicast router if that is configured statically container strtrif-items { list StRtrIf-list { config "false"; key "id"; uses igmpsnoop_StRtrIf-group; description "Holds IGMP Static Router Interface configuration information list"; } description "Holds IGMP Static Router Interface configuration information"; } // Multicast router if @@@ Mulitcast router if in the BD. These can be either // configured by the admin or discovered through protocols // like PIM, IGMP. container rtrif-items { list RtrIf-list { config "false"; key "id"; uses igmpsnoop_RtrIf-group; description "Holds configuration information for Router Interface list"; } description "Holds configuration information for Router Interface"; } // This objects is the parent for vlan config mode params container vlan-items { list Vlan-list { key "vlanid"; uses igmpsnoop_Vlan-group; description "Holds IGMP snooping vlan configurations list"; } description "Holds IGMP snooping vlan configurations"; } // This objects is the parent for Interface config mode params container intf-items { list Intf-list { key "id"; uses igmpsnoop_Intf-group; description "Holds IGMP snooping Interface configurations list"; } description "Holds IGMP snooping Interface configurations"; } // This objects holds configurable params in // bridge domain config mode container bd-items { list BD-list { key "bdid"; uses igmpsnoop_BD-group; description "Holds IGMP Snooping Bridge Domain Configurations list"; } description "Holds IGMP Snooping Bridge Domain Configurations"; } // This objects holds configurable params in global config mode container gl-items { uses igmpsnoop_Gl-group; description "Holds IGMP Snooping Configurations in Global Configuration Mode"; } } grouping igmpsnoop_Db-group { description "Database record with type of data to display"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository // Ephemeral data leaf type { config "false"; type ipmcsnoop_DbT; description "Database Type identifying the oper data to display"; } // Ephemeral data leaf totalMacCount { config "false"; type uint32; description "Total mac count"; } // igmpsnoop global records // Ephemeral data container gsnoop-items { uses igmpsnoop_GSnoopRec-group; description "Holds IGMP Snooping Global Parameters"; } // igmpsnoop Vlan records // Ephemeral data container vsnoop-items { // Ephemeral data list VSnoopRec-list { config "false"; key "vlanid"; uses igmpsnoop_VSnoopRec-group; description "Holds IGMP Snooping Parameters per Vlan list"; } description "Holds IGMP Snooping Parameters per Vlan"; } // Vlan record // Ephemeral data container vlanrec-items { // Ephemeral data list VlanRec-list { config "false"; key "vlanid"; uses igmpsnoop_VlanRec-group; description "Holds IGMP Snooping Vlan Record list"; } description "Holds IGMP Snooping Vlan Record"; } // Mrouter record // Ephemeral data container mrouter-items { // Ephemeral data list MRouterRec-list { config "false"; key "vlanid interface"; uses igmpsnoop_MRouterRec-group; description "Holds IGMP Snooping Static Multicast Router Record list"; } description "Holds IGMP Snooping Static Multicast Router Record"; } // Explicit Tracking record // Ephemeral data container expTrack-items { // Ephemeral data list ExpTrackRec-list { config "false"; key "vlanid grpAddr srcAddr intf"; uses igmpsnoop_ExpTrackRec-group; description "Holds IGMP Snooping Explicit Host Tracking Record list"; } description "Holds IGMP Snooping Explicit Host Tracking Record"; } // Vlan statistics MO // Ephemeral data container vstats-items { // Ephemeral data list VlanStatsRec-list { config "false"; key "vlanid"; uses igmpsnoop_VlanStatsRec-group; description "Holds IGMP Snooping Per Vlan Statistics list"; } description "Holds IGMP Snooping Per Vlan Statistics"; } // Ephemeral data container gstats-items { uses igmpsnoop_GStatsRec-group; description "Holds IGMP Snooping Global Statistics"; } // Report policy MO // Ephemeral data container policy-items { // Ephemeral data list ReportPolicyStats-list { config "false"; key "vlanid qcount"; uses igmpsnoop_ReportPolicyStats-group; description "Holds IGMP Snooping Report Policy Statistics list"; } description "Holds IGMP Snooping Report Policy Statistics"; } // Group MO // Ephemeral data container group-items { // Ephemeral data list IgmpsnGroupRec-list { config "false"; key "vlanid groupaddr sourceaddr ifname"; uses igmpsnoop_IgmpsnGroupRec-group; description "Holds IGMP Snooping Group Record list"; } description "Holds IGMP Snooping Group Record"; } // Multicast Group records // Ephemeral data container mcgrp-items { // Ephemeral data list McGrpRec-list { config "false"; key "addr"; uses igmpsnoop_McGrpRec-group; description "Holds IGMP Snooping Group Information list"; } description "Holds IGMP Snooping Group Information"; } // Multicast Group records // Ephemeral data container querier-items { // Ephemeral data list QuerierRec-list { config "false"; key "vlanid"; uses igmpsnoop_QuerierRec-group; description "Holds IGMP Snooping querier specific information list"; } description "Holds IGMP Snooping querier specific information"; } } grouping igmpsnoop_GSnoopRec-group { description "Holds IGMP Snooping Global Parameters"; // Ephemeral data leaf queryFlood { config "false"; type boolean; description "Global IGMP Query Flood"; } // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf snooping { config "false"; type boolean; description "Global Snooping Enabled Disabled"; } // Ephemeral data leaf omf { config "false"; type boolean; description "Global Optimized Multicast Flooding"; } // Ephemeral data leaf grepsup { config "false"; type boolean; description "Global Report Suppression"; } // Ephemeral data leaf gv3repsup { config "false"; type boolean; description "Gloabl v3 Report Suppression"; } // Ephemeral data leaf glinklocalgrpsup { config "false"; type boolean; description "Global Logical Link Suppression"; } // Ephemeral data leaf groupTimeout { config "false"; type uint32; description "Group Timeout "; } // Ephemeral data leaf proxyGeneralQuery { config "false"; type boolean; description "Global Proxy Queries"; } // Ephemeral data leaf gmaxResponseTime { config "false"; type uint32; description "Max Response Time"; } } grouping igmpsnoop_VSnoopRec-group { description "Holds IGMP Snooping Parameters per Vlan"; // Ephemeral data leaf queryFlood { config "false"; type boolean; description "Vlan IGMP Query Flood"; } // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf lkpmode { config "false"; type ipmcsnoop_LkpModeT; description "Lookup Mode"; } // Ephemeral data leaf snoopOn { config "false"; type boolean; description "Indicates if Vlan Snooping is Enabled/Disabled"; } // Ephemeral data leaf repsup { config "false"; type boolean; description "Vlan Report Suppression"; } // Ephemeral data leaf v3repsup { config "false"; type boolean; description "Vlan v3 Report Suppression"; } // Ephemeral data leaf switchQuerier { config "false"; type boolean; description "Switch querier enabled"; } // Ephemeral data leaf vlinklocalgrpsup { config "false"; type boolean; description "Vlan logical link Group Suppressison"; } // Ephemeral data leaf omf_enabled { config "false"; type boolean; description "Vlan Optimized Multicast Flooding"; } // Ephemeral data leaf reportFldAll { config "false"; type boolean; description "Report flood all enabled"; } // Ephemeral data leaf grpAddrPrxyLeave { config "false"; type boolean; description "Use Group Addr Proxy Leave"; } // Ephemeral data leaf explicitTracking { config "false"; type boolean; description "Explicit Tracking enabled"; } // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan Identifier"; } // Last member query interval // Ephemeral data leaf lastMbrIntvl { config "false"; type mcast_LastMbrQueryIntvl; description "Last Member Query Interval"; } // Querier version // Ephemeral data leaf ver { config "false"; type mcast_Ver; description "Current IGMP Version"; } // Querier IP Address // Ephemeral data leaf addr { config "false"; type mcast_QuerierIp; description "Querier IP Address"; } // Query interval // Ephemeral data leaf queryIntvl { config "false"; type mcast_QueryIntvl; description "Query Interval"; } // Robustness factor // Ephemeral data leaf robustFac { config "false"; type mcast_RobustFactor; description "Robustness Factor"; } // Ephemeral data leaf routePortcnt { config "false"; type uint32; description "Route Port Count"; } // Ephemeral data leaf groupcnt { config "false"; type uint32; description "Groups Under This Vlan"; } // Ephemeral data leaf sgcount { config "false"; type uint32; description "Number of (S,G) in this vlan"; } // Ephemeral data leaf vpcFunction { config "false"; type boolean; description "Indicates if VPC Function is Enabled"; } // Ephemeral data leaf fastleave { config "false"; type boolean; description "Indicates if Fast-leave is Enabled"; } } grouping igmpsnoop_VlanRec-group { description "Holds IGMP Snooping Vlan Record"; // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan Identifier"; } // Ephemeral data leaf macCount { config "false"; type uint32; description "MAC Entries Count for a Vlan Identifier"; } // MAC record // Ephemeral data container mac-items { // Ephemeral data list MacRec-list { config "false"; key "macAddress"; uses igmpsnoop_MacRec-group; description "Holds IGMP Snooping MAC-Address Record list"; } description "Holds IGMP Snooping MAC-Address Record"; } } grouping igmpsnoop_MacRec-group { description "Holds IGMP Snooping MAC-Address Record"; // Ephemeral data leaf macAddress { config "false"; type address_Mac; description "MAC Address of the Outgoing Interface"; } // Ephemeral data leaf type { config "false"; type ipmcsnoop_MacType; description "Type of MAC Address"; } // Ephemeral data leaf age { config "false"; type uint32; description "Seconds Since Last Seen"; } // MAC-OIF record // Ephemeral data container oif-items { // Ephemeral data list MacOifRec-list { config "false"; key "oif"; uses igmpsnoop_MacOifRec-group; description "Holds IGMP Snooping MAC-Address OIF Record list"; } description "Holds IGMP Snooping MAC-Address OIF Record"; } } grouping igmpsnoop_MacOifRec-group { description "Holds IGMP Snooping MAC-Address OIF Record"; // Ephemeral data leaf oif { config "false"; type nw_IfId; description "Outgoing Interface for a MAC Address"; } } grouping igmpsnoop_MRouterRec-group { description "Holds IGMP Snooping Static Multicast Router Record"; // Ephemeral data leaf rportType { config "false"; type string; description "IGMP rport type details"; } // Ephemeral data leaf type { config "false"; type ipmcsnoop_MrouteType; description "Specify the Type of Mroute for a VLAN/BD"; } // Ephemeral data leaf interface { config "false"; type nw_IfId; description "Specify the Interface Port of Mroute for a VLAN/BD"; } // Ephemeral data leaf uptime { config "false"; type string; description "Specify the Uptime of Mroute for a VLAN/BD"; } // Ephemeral data leaf expTime { config "false"; type string; description "Specify the Expiry timestamp of Mroute for a VLAN/BD"; } // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan Identifier"; } } grouping igmpsnoop_ExpTrackRec-group { description "Holds IGMP Snooping Explicit Host Tracking Record"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan Identifier"; } // Ephemeral data leaf intf { config "false"; type nw_IfId; description "Interface Identifier. Supported types are ethernet-like, port/channel, Vlan interfaces."; } // Ephemeral data leaf reporter { config "false"; type ipmcsnoop_Reporter; description "Report IP Address"; } // Ephemeral data leaf uptime { config "false"; type string; description "Uptime Timestamp"; } // Ephemeral data leaf lastJoinTime { config "false"; type string; description "Explicit tracking Last join Timestamp"; } // Ephemeral data leaf expiresTime { config "false"; type string; description "Explicit tracking Expiry Timestamp"; } // Ephemeral data leaf srcAddr { config "false"; type address_Ip; description "Source IP Address"; } // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group IP Address"; } // Ephemeral data leaf version { config "false"; type ipmcsnoop_VersionT; description "Version v3/v2"; } // Ephemeral data leaf numReports { config "false"; type uint32; description "Number of Reports Sent"; } } grouping igmpsnoop_VlanStatsRec-group { description "Holds IGMP Snooping Per Vlan Statistics"; // Ephemeral data leaf uptime { config "false"; type string; description "Uptime Timestamp"; } // Ephemeral data leaf vpr { config "false"; type uint32; description "Packets Received"; } // Ephemeral data leaf v1rr { config "false"; type uint32; description "IGMPv1 Reports Received"; } // Ephemeral data leaf v2rr { config "false"; type uint32; description "IGMPv2 Reports Received"; } // Ephemeral data leaf v3rr { config "false"; type uint32; description "IGMPv3 Reports Received"; } // Ephemeral data leaf v3qr { config "false"; type uint32; description "IGMPv3 Queries Received"; } // Ephemeral data leaf v2lr { config "false"; type uint32; description "IGMPv2 Leave Received"; } // Ephemeral data leaf phr { config "false"; type uint32; description "PIM HELLOs Received count"; } // Ephemeral data leaf irr { config "false"; type uint32; description "Invalid Reports Received"; } // Ephemeral data leaf illgr { config "false"; type uint32; description "Ignored link-local group Reports Received"; } // Ephemeral data leaf iqr { config "false"; type uint32; description "Invalid Queries Received"; } // Ephemeral data leaf v2ls { config "false"; type uint32; description "IGMPv2 Leaves Suppressed"; } // Ephemeral data leaf v3gs { config "false"; type uint32; description "IGMPv3 Group records Suppressed"; } // Ephemeral data leaf vmr { config "false"; type uint32; description "Report Version mismatch"; } // Ephemeral data leaf upr { config "false"; type uint32; description "Unknown Packets Received"; } // Ephemeral data leaf qo { config "false"; type uint32; description "Queries Originated"; } // Ephemeral data leaf v2ro { config "false"; type uint32; description "IGMPv2 Proxy-Reports Originated"; } // Ephemeral data leaf v2lo { config "false"; type uint32; description "IGMPv2 Proxy-Leaves Originated"; } // Ephemeral data leaf v3ro { config "false"; type uint32; description "IGMPv3 Proxy-Reports Originated"; } // Ephemeral data leaf vpsr { config "false"; type uint32; description "Packets Sent to routers"; } // Ephemeral data leaf str { config "false"; type uint32; description "STP TCN Received"; } // Ephemeral data leaf cps { config "false"; type uint32; description "CFS Packets Sent"; } // Ephemeral data leaf cpr { config "false"; type uint32; description "CFS Packets Received"; } // Ephemeral data leaf cpe { config "false"; type uint32; description "CFS Packets Errored"; } // Ephemeral data leaf mps { config "false"; type uint32; description "MCT Packets Sent"; } // Ephemeral data leaf mpr { config "false"; type uint32; description "MCT Packets Received"; } // Ephemeral data leaf mpe { config "false"; type uint32; description "MCT Packets Errored"; } // Ephemeral data leaf v1qr { config "false"; type uint32; description "IGMPv1 Queries Received"; } // Ephemeral data leaf v2qr { config "false"; type uint32; description "IGMPv2 Queries Received"; } // Ephemeral data leaf v1rs { config "false"; type uint32; description "IGMPv1 Reports Suppressed"; } // Ephemeral data leaf v2rs { config "false"; type uint32; description "IGMPv2 Reports Suppressed"; } // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan identifier"; } } grouping igmpsnoop_GStatsRec-group { description "Holds IGMP Snooping Global Statistics"; // Ephemeral data leaf pr { config "false"; type uint32; description "Global Packets Received"; } // Ephemeral data leaf invPkt { config "false"; type uint32; description "Global Packets Errored"; } // Ephemeral data leaf pnv { config "false"; type uint32; description "Global Packets for Non-Snooped Vlans"; } // Ephemeral data leaf loopBkPkt { config "false"; type uint32; description "Global Packets Loopbacked"; } // Ephemeral data leaf mrdLoopBk { config "false"; type uint32; description "Global MRD Loopback Packets"; } // Ephemeral data leaf pf { config "false"; type uint32; description "Global Packets flooded"; } // Ephemeral data leaf vpcDrQs { config "false"; type uint32; description "Global vPC PIM DR Queries Sent"; } // Ephemeral data leaf vpcDrQr { config "false"; type uint32; description "Global vPC PIM DR Queries Received"; } // Ephemeral data leaf vpcDrQf { config "false"; type uint32; description "Global vPC PIM DR Queries Failed"; } // Ephemeral data leaf vpcDrUs { config "false"; type uint32; description "Global vPC PIM DR updates Sent"; } // Ephemeral data leaf vpcDrUr { config "false"; type uint32; description "Global vPC PIM DR updates Received"; } // Ephemeral data leaf vpcDrUf { config "false"; type uint32; description "Global vPC PIM DR updates Failed"; } // Ephemeral data leaf vpcCfsSf { config "false"; type uint32; description "Global vPC CFS send fail"; } // Ephemeral data leaf vpcCfsRs { config "false"; type uint32; description "GlobalvPC CFS message response Sent"; } // Ephemeral data leaf vpcCfsRr { config "false"; type uint32; description "GlobalvPC CFS message response Received"; } // Ephemeral data leaf vpcCfsRf { config "false"; type uint32; description "Global vPC CFS message response Failed"; } // Ephemeral data leaf vpcCfsRfp { config "false"; type uint32; description "Global vPC CFS message response fail peer-link down"; } // Ephemeral data leaf vpcCfsUrls { config "false"; type uint32; description "Global vPC CFS unreliable message Sent"; } // Ephemeral data leaf vpcCfsUrR { config "false"; type uint32; description "Global vPC CFS unreliable message Received"; } // Ephemeral data leaf vpcCfsCrlF { config "false"; type uint32; description "Global vPC CFS unreliable message Failed"; } // Ephemeral data leaf vpccfsrls { config "false"; type uint32; description "Global vPC CFS reliable message Sent"; } // Ephemeral data leaf vpccfsrlr { config "false"; type uint32; description "Global vPC CFS reliable message Received"; } // Ephemeral data leaf vpccfsrlf { config "false"; type uint32; description "Global vPC CFS reliable message Failed"; } // Ephemeral data leaf invIod { config "false"; type uint32; description "Global invalid IOD Packets"; } // Ephemeral data leaf stptcnr { config "false"; type uint32; description "Global STP TCN Messages Received"; } // Ephemeral data leaf imapif { config "false"; type uint32; description "Global IM API Failed"; } // Ephemeral data leaf mfreqr { config "false"; type uint32; description "Global MFDM Download Requests Received"; } // Ephemeral data leaf mfcmps { config "false"; type uint32; description "Global MFDM Download Complete Sent"; } // Ephemeral data leaf mfdgcmps { config "false"; type uint32; description "Global MFDM Downgrade Complete Sent"; } // Ephemeral data leaf bufsnt { config "false"; type uint32; description "Global Number of Buffers Sent to MFDM"; } // Ephemeral data leaf bufackr { config "false"; type uint32; description "Global Number of Buffer Acks Received from MFDM"; } // Ephemeral data leaf vpcmismatch { config "false"; type uint32; description "Global VPC-incr-type Mismatch"; } } grouping igmpsnoop_ReportPolicyStats-group { description "Holds IGMP Snooping Report Policy Statistics"; // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan Identifier"; } // Ephemeral data leaf rpmType { config "false"; type uint32; description "RPM Type"; } // Ephemeral data leaf policyName { config "false"; type ipmcsnoop_PolicyNameT; description "Policy Name"; } // Ephemeral data leaf qcount { config "false"; type uint32; description "Queue Count"; } // Ephemeral data leaf acceptCount { config "false"; type uint32; description "Queue Accept Count"; } // Ephemeral data leaf rejectCount { config "false"; type uint32; description "Queue Reject Count"; } } grouping igmpsnoop_IgmpsnGroupRec-group { description "Holds IGMP Snooping Group Record"; // Ephemeral data leaf ifname { config "false"; type nw_IfId; description "Interace name for the Group. Supported interfaces include Ethernet-like, Port/Channel, Loopback"; } // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan Identifier"; } // Ephemeral data leaf sourceaddr { config "false"; type address_Ip; description "Specify Source IP Address"; } // Ephemeral data leaf groupaddr { config "false"; type address_Ip; description "Specify Group Address"; } // Ephemeral data leaf ver { config "false"; type string; description "Current Version Configured"; } // Ephemeral data leaf sportType { config "false"; type string; description "Source Port Type"; } // Ephemeral data leaf gportType { config "false"; type string; description "Group Port Type"; } // Ephemeral data leaf rifname { config "false"; type string; description "(*,G) interface name"; } } grouping igmpsnoop_McGrpRec-group { description "Holds IGMP Snooping Group Information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Group address // Ephemeral data leaf addr { config "false"; type mcast_GrpIp; description "Multicast Group Address"; } // Version // Ephemeral data leaf ver { config "false"; type mcast_Ver; description "Version"; } // Latest reporter // Ephemeral data leaf latReporter { config "false"; type ipmcsnoop_Reporter; description "Latest Reporter"; } // Ephemeral data leaf oldHostTs { config "false"; type union { type string; type uint64; } description "Old Host Timestamp"; } // Ephemeral data leaf reportTs { config "false"; type union { type string; type uint64; } description "Group Report Timer Timestamp"; } // Number of Sources // Ephemeral data leaf numSrc { config "false"; type nw_Counter32; description "Num of Sources"; } // EPG entries in mcast group record // Ephemeral data container epg-items { // Ephemeral data list EpgRec-list { config "false"; key "fabEncap"; uses igmpsnoop_EpgRec-group; description "Holds IGMP Snooping Per Group Endpoint Record list"; } description "Holds IGMP Snooping Per Group Endpoint Record"; } // IGMP report record snooped by igmp-snoop application // Ephemeral data container rep-items { // Ephemeral data list ReportRec-list { config "false"; key "mcastSrc ver"; uses igmpsnoop_ReportRec-group; description "Holds Report Policy Specific Record list"; } description "Holds Report Policy Specific Record"; } } grouping igmpsnoop_EpgRec-group { description "Holds IGMP Snooping Per Group Endpoint Record"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf fabEncap { config "false"; type string; description "Fabric Encapsulation"; } // Epg id, identified using the circuit endpoint // id in the system // Ephemeral data leaf id { config "false"; type l2_DomId; description "Endpoint Group ID"; } // Multicast group address (GIPO'), Outer multicast // encapsulation ip address for this layer2 domain // Ephemeral data leaf mcastEncap { config "false"; type mcast_GrpIp; description "Multicat Encapsulation"; } // IGMP report record snooped by igmp-snoop application // Ephemeral data container rep-items { // Ephemeral data list ReportRec-list { config "false"; key "mcastSrc ver"; uses igmpsnoop_ReportRec-group; description "Holds Report Policy Specific Record list"; } description "Holds Report Policy Specific Record"; } } grouping igmpsnoop_ReportRec-group { description "Holds Report Policy Specific Record"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast traffic source // Ephemeral data leaf mcastSrc { config "false"; type ipmcsnoop_McastSrc; description "Multicast Source Address"; } // Version // Ephemeral data leaf ver { config "false"; type mcast_Ver; description "Version"; } // Filter mode // Ephemeral data leaf filtMode { config "false"; type mcast_FiltMode; description "Filter Mode"; } // Filter mode // Ephemeral data leaf flags { config "false"; type ipmcsnoop_RepFlags; description "Flags"; } // OIF list (outgoing interface list) // Ephemeral data container oif-items { // Ephemeral data list OIFRec-list { config "false"; key "id"; uses igmpsnoop_OIFRec-group; description "Holds Outgoing Interface Record list"; } description "Holds Outgoing Interface Record"; } } grouping igmpsnoop_OIFRec-group { description "Holds Outgoing Interface Record"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast traffic source // Ephemeral data leaf id { config "false"; type nw_IfId; description "ID"; } // Ephemeral data leaf numGqMiss { config "false"; type uint16; description "Num of General Query Missed"; } // Ephemeral data leaf expireTs { config "false"; type union { type string; type uint64; } description "Port Expire Timestamp"; } // Host Record List (Used for Explicit Host Tracking) // Ephemeral data container host-items { // Ephemeral data list HostRec-list { config "false"; key "addr"; uses igmpsnoop_HostRec-group; description "Holds Explicit Host Tracking Record list"; } description "Holds Explicit Host Tracking Record"; } } grouping igmpsnoop_HostRec-group { description "Holds Explicit Host Tracking Record"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "Host Address"; } // Ephemeral data leaf upTs { config "false"; type union { type string; type uint64; } description "Up Timestamp"; } // Ephemeral data leaf lastJoinTs { config "false"; type union { type string; type uint64; } description "Last Join Timestamp"; } // Ephemeral data leaf nextExpiryTs { config "false"; type union { type string; type uint64; } description "Next Expiry Timestamp"; } } grouping igmpsnoop_QuerierRec-group { description "Holds IGMP Snooping querier specific information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf timeout { config "false"; type mcast_QuerierTimeout; description "Querier Timeout in Seconds"; } // Last member query interval // Ephemeral data leaf lastMbrIntvl { config "false"; type mcast_LastMbrQueryIntvl; description "Last Member Query Interval in Seconds"; } // Ephemeral data leaf ver { config "false"; type string; description "Querier Version"; } // Querier IP address // Ephemeral data leaf addr { config "false"; type mcast_QuerierIp; description "Querier IP Address"; } // Query interval // Ephemeral data leaf queryIntvl { config "false"; type mcast_QueryIntvl; description "Query Interval in seconds"; } // Query response interval // Ephemeral data leaf rspIntvl { config "false"; type mcast_QueryRspIntvl; description "Query Response Interval in Seconds"; } // Robustness factor // Ephemeral data leaf robustFac { config "false"; type mcast_RobustFactor; description "Robustness Factor"; } // Startup query interval // Ephemeral data leaf startQueryIntvl { config "false"; type mcast_StartQueryIntvl; description "Startup Query Interval Time in Seconds"; } // Startup query count // Ephemeral data leaf startQueryCnt { config "false"; type mcast_QueryCnt; description "Startup Query Count"; } // Ephemeral data leaf port { config "false"; type string; description "Querier Switch Port Type"; } // Ephemeral data leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan on Which Querier is Configured"; } // Ephemeral data leaf expTime { config "false"; type string; description "Specify the Expiry Timestamp of Querier"; } } grouping igmpsnoop_DomStats-group { description "Holds statistics data per Igmpsnoop Domain"; // V1 Reports received leaf v1RepRcvd { config "false"; type nw_Counter32; description "V1 Reports Received"; } // V2 Reports received leaf v2RepRcvd { config "false"; type nw_Counter32; description "V2 Reports Received"; } // V2 Leave received leaf v2LeaveRcvd { config "false"; type nw_Counter32; description "V2 Leave Received"; } // V1 Query received leaf v1QueryRcvd { config "false"; type nw_Counter32; description "V1 Query Received"; } // V2 Query received leaf v2QueryRcvd { config "false"; type nw_Counter32; description "V2 Query Received"; } // V1 Reports suppressed leaf v1RepSupr { config "false"; type nw_Counter32; description "V1 Reports Suppressed"; } // V2 Reports suppressed leaf v2RepSupr { config "false"; type nw_Counter32; description "V2 Reports Suppressed"; } // V2 leaves suppressed leaf v2LeaveSupr { config "false"; type nw_Counter32; description "V2 Leaves Suppressed"; } // v1 Proxy Report Originated leaf v1RepOrig { config "false"; type nw_Counter32; description "V1 Reports Originated"; } // v2 Proxy Report Originated leaf v2RepOrig { config "false"; type nw_Counter32; description "V2 Reports Originated"; } // v2 Proxy Leave Originated leaf v2LeaveOrig { config "false"; type nw_Counter32; description "V2 Leaves Originated"; } // V3 Reports received leaf v3RepRcvd { config "false"; type nw_Counter32; description "V3 Reports Received"; } // V3 Query received leaf v3QueryRcvd { config "false"; type nw_Counter32; description "V3 Query Received"; } // V3 Group Record suppressed leaf v3GrpRecSupr { config "false"; type nw_Counter32; description "V3 Group Records Suppressed"; } // v3 Proxy Report Originated leaf v3RepOrig { config "false"; type nw_Counter32; description "V3 Reports Originated"; } leaf lastClearTs { config "false"; type union { type string; type uint64; } description "Last Clear Timestamp"; } // packets received leaf pktsRcvd { config "false"; type nw_Counter32; description "Packets Received"; } // Pim Hello Rcvd leaf pimHelloRcvd { config "false"; type nw_Counter32; description "Pim Hello Received"; } // Invalid Query Rcvd leaf invQueryRcvd { config "false"; type nw_Counter32; description "Invalid Query Received"; } // Invalid Report Rcvd leaf invRepRcvd { config "false"; type nw_Counter32; description "Invalid Report Received"; } // Version Mismatch Rcvd leaf verMisMatchRcvd { config "false"; type nw_Counter32; description "Version Mismatch Received"; } // Unknown Packets Rcvd leaf unknPktRcvd { config "false"; type nw_Counter32; description "Unknown Packets Received"; } // Query Originated leaf queryPktsOrig { config "false"; type nw_Counter32; description "Query Packets Originated"; } // Packets Sent to Router Ports leaf pktsToRport { config "false"; type nw_Counter32; description "Packets to Router Ports"; } // VPC Sync Packets Sent to Peer leaf vpcSyncSent { config "false"; type nw_Counter32; description "VPC Sync Packets Sent"; } // VPC Sync Packets Rcvd from Peer leaf vpcSyncRcvd { config "false"; type nw_Counter32; description "VPC Sync Packets Received"; } // VPC Sync Packets Failed to send to Peer leaf vpcSyncFail { config "false"; type nw_Counter32; description "VPC Sync Packets Failed"; } // MRD Sync Packets Sent to Peer leaf mrdSyncSent { config "false"; type nw_Counter32; description "MRD Sync Packets Sent"; } // MRD Sync Packets Rcvd from Peer leaf mrdSyncRcvd { config "false"; type nw_Counter32; description "MRD Sync Packets Received"; } // MRD Sync Packets Failed to send to Peer leaf mrdSyncFail { config "false"; type nw_Counter32; description "MRD Sync Packets Failed"; } } grouping igmpsnoop_HostTrack-group { description "IGMP SNOOP database for show ip igmp SNOOP groups"; // This object holds igmp route group information container host-items { list Host-list { config "false"; key "rprtAddr"; uses igmpsnoop_Host-group; description "This Object holds IGMP host Information list"; } description "This Object holds IGMP host Information"; } } grouping igmpsnoop_Host-group { description "This Object holds IGMP host Information"; leaf rprtAddr { config "false"; type address_Ip; description "IGMP snoop Report IP Address"; } // Explicit Tracking record container exphostTrack-items { list ExpHostTrackRec-list { config "false"; key "vlanid grpAddr srcAddr intf"; uses igmpsnoop_ExpHostTrackRec-group; description "Holds IGMP Snooping Explicit Host Tracking Record list"; } description "Holds IGMP Snooping Explicit Host Tracking Record"; } } grouping igmpsnoop_ExpHostTrackRec-group { description "Holds IGMP Snooping Explicit Host Tracking Record"; leaf isJoin { config "false"; type boolean; description "Indicates if the Route is join or leave"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf vlanid { config "false"; type ipmcsnoop_Vlanid; description "Vlan Identifier"; } leaf intf { config "false"; type nw_IfId; description "Interface Identifier. Supported types are ethernet-like, port/channel, Vlan interfaces."; } leaf reporter { config "false"; type ipmcsnoop_Reporter; description "Report IP Address"; } leaf uptime { config "false"; type string; description "Uptime Timestamp"; } leaf lastJoinTime { config "false"; type string; description "Explicit tracking Last join Timestamp"; } leaf expiresTime { config "false"; type string; description "Explicit tracking Expiry Timestamp"; } leaf srcAddr { config "false"; type address_Ip; description "Source IP Address"; } leaf grpAddr { config "false"; type address_Ip; description "Group IP Address"; } leaf version { config "false"; type ipmcsnoop_VersionT; description "Version v3/v2"; } leaf numReports { config "false"; type uint32; description "Number of Reports Sent"; } } grouping igmpsnoop_StRtrIf-group { description "Holds IGMP Static Router Interface configuration information"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { config "false"; type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { config "false"; type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { config "false"; type nw_IfAdminSt; description "Admin State"; } leaf encap { config "false"; type string; description "Enable Encapsulation when flooding packets"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping igmpsnoop_RtrIf-group { description "Holds configuration information for Router Interface"; // Identifier for the if leaf id { config "false"; type nw_IfId; description "Router interface identifier"; } // Life cycle control leaf lcC { config "false"; type ipmcsnoop_LcC; description "Life Cycle Control"; } leaf upTs { config "false"; type union { type string; type uint64; } description "Last Up transition Timestamp"; } leaf nextExpiryTs { config "false"; type union { type string; type uint64; } description "Next Expiry Timestamp"; } } grouping igmpsnoop_Vlan-group { description "Holds IGMP snooping vlan configurations"; leaf vlanid { type nw_IfId; description "Vlan ID for IGMP Snooping Configuration"; } leaf rprtFldAllIntf { type boolean; description "Enable Report-Flood on all Active Interfaces of VLAN"; } // Circuit endpoint representing EPG container cktep-items { list CktEp-list { key "encap"; uses igmpsnoop_CktEp-group; description "Represents Endpoint Encapsulation for a circuit list"; } description "Represents Endpoint Encapsulation for a circuit"; } // Multicast Snoop Configured statically container mcgrp-items { list StMcGrp-list { key "addr"; uses igmpsnoop_StMcGrp-group; description "Holds Static IP Multicast Group Information list"; } description "Holds Static IP Multicast Group Information"; } // This objects is the parent for Interface config mode params container intf-items { list Intf-list { key "id"; uses igmpsnoop_Intf-group; description "Holds IGMP snooping Interface configurations list"; } description "Holds IGMP snooping Interface configurations"; } container igmpsnbase-items { uses igmpsnoop_IgmpsnBase-group; description "Holds IGMP Snooping Parameters for all Configuration Modes"; } // This objects holds IGMP snooping timers for vlan container gTimers-items { uses igmpsnoop_GTimers-group; description "Holds Global IGMP Snooping Timers"; } // This objects holds multicast mac address table params container mactable-items { list MacTable-list { key "macAddress"; uses igmpsnoop_MacTable-group; description "Holds IGMP Snooping Mac-Address Table Configurations list"; } description "Holds IGMP Snooping Mac-Address Table Configurations"; } // This objects holds multicast router snoop params container mrouter-items { uses igmpsnoop_MRouter-group; description "Holds IGMP Snooping Static Multicast Router Configurations"; } // This objects holds multicast proxy snoop params container proxy-items { uses igmpsnoop_Proxy-group; description "Holds IGMP Snooping Proxy Configurations"; } // Querier policy container querierp-items { uses igmpsnoop_QuerierP-group; description "Holds IGMP Snooping Querier Policy Configurations"; } // Querier state container querierst-items { uses igmpsnoop_QuerierSt-group; description "Holds IGMP Snooping Querier State Configurations"; } // Route control policy for igmp multicast snoop. container actrl-items { uses igmpsnoop_ACtrl-group; description "Holds IGMP Snooping Access Control Policy Configurations"; } // Report policy for igmp multicast snoop container rpolicy-items { list RPolicy-list { key "rtMap"; uses igmpsnoop_RPolicy-group; description "Holds IGMP Snooping Report Policy Configurations list"; } description "Holds IGMP Snooping Report Policy Configurations"; } } grouping igmpsnoop_CktEp-group { description "Represents Endpoint Encapsulation for a circuit"; leaf encap { type string; description "Fabric Encapsulation"; } } grouping igmpsnoop_StMcGrp-group { description "Holds Static IP Multicast Group Information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast group address leaf addr { type mcast_GrpIp; description "Multicast Group IP Address"; } // IPMC Source IP container src-items { list McSrc-list { key "id"; uses igmpsnoop_McSrc-group; description "Holds IGMP Snooping Source Specific Information list"; } description "Holds IGMP Snooping Source Specific Information"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses igmpsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping igmpsnoop_McSrc-group { description "Holds IGMP Snooping Source Specific Information"; // Multicast traffic source leaf id { type ipmcsnoop_McastSrc; description "Multicast Source IP Address"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses igmpsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping igmpsnoop_TgtIf-group { description "Holds Outgoing Interface Information"; leaf vsi { type boolean; description "Specifies if this interface is VSI"; } leaf accGrp { type boolean; description "Specifies if this interface is Access group"; } leaf pfxList { type boolean; description "Specifies prefix list route map for this interface"; } // Target interface Id leaf id { type nw_IfId; description "Multicast Source IP Address"; } } grouping igmpsnoop_Intf-group { description "Holds IGMP snooping Interface configurations"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } leaf rtrGrdVlanId { type ipmcsnoop_RtrGrdVlanIdT; description "Router-Guard Vlan Identifier"; } leaf rtrGrdEnable { type boolean; description "Indicates if Router-Guard is Enabled on the Interface"; } leaf reportFlood { type boolean; description "Indicates if Report Flood is Enabled on the Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping igmpsnoop_IgmpsnBase-group { description "Holds IGMP Snooping Parameters for all Configuration Modes"; leaf queryFlood { type boolean; default "true"; description "VLAN IGMP Query Flood"; } leaf lookupMac { type boolean; description "Indicates if Layer-2 Multicast Lookup Mac is Enabled"; } leaf llGrpSuppr { type ipmcsnoop_LlGrpSuppr; description "Link Local Group Suppression"; } leaf reportSuppr { type ipmcsnoop_ReportSuppr; description "IGMPv1/v2 report Suppression for VLAN"; } leaf v3ReportSuppr { type ipmcsnoop_V3ReportSuppr; description "IGMPv3 Report Suppression and Proxy Reporting"; } leaf expTracking { type ipmcsnoop_ExpTracking; description "Configures Explicit Host for a VLAN"; } leaf igmpSnoop { type ipmcsnoop_IgmpSnoop; description "Enable/Disable IGMP Snooping Globally"; } leaf igmpSrcIpProxy { type ipmcsnoop_IgmpSrcIpProxy; description "Enable/Disable IGMP Src IP Proxy"; } } grouping igmpsnoop_GTimers-group { description "Holds Global IGMP Snooping Timers"; leaf fastLeave { type ipmcsnoop_FastLeave; description "Indicates if Fastleave is Enabled"; } // Group timeout // Default value handled in local MO type leaf grpTimeout { // Type is a Local-MO-Defined-Type type mcast_GrpTimeout_GTimers_grpTimeout { range "0 | 1..10081"; } description "Group Membership Timeout"; } leaf maxGqMiss { type ipmcsnoop_MaxGqMiss; description "Maximum General Query Miss Count"; } leaf useGrpAddr { type boolean; description "Use Group IP Address for Proxy-Leave"; } } grouping igmpsnoop_MacTable-group { description "Holds IGMP Snooping Mac-Address Table Configurations"; leaf macAddress { type address_Mac; description "Specify MAC Address for a VLAN/BD"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses igmpsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } container mif-items { list MIf-list { key "intf"; uses igmpsnoop_MIf-group; description "Holds IGMP Snooping Multicast Router's Interface Configurations list"; } description "Holds IGMP Snooping Multicast Router's Interface Configurations"; } } grouping igmpsnoop_MIf-group { description "Holds IGMP Snooping Multicast Router's Interface Configurations"; leaf intf { type string; description "Interface for Static-Mrouter"; } leaf vsi { type boolean; description "Specify Interface is VSI"; } } grouping igmpsnoop_MRouter-group { description "Holds IGMP Snooping Static Multicast Router Configurations"; // Global property leaf vpcPeerLink { type ipmcsnoop_Vpc; description "Specify vpc-peer-link as Static Mrouter for all VLAN/BD"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses igmpsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } container mif-items { list MIf-list { key "intf"; uses igmpsnoop_MIf-group; description "Holds IGMP Snooping Multicast Router's Interface Configurations list"; } description "Holds IGMP Snooping Multicast Router's Interface Configurations"; } } grouping igmpsnoop_Proxy-group { description "Holds IGMP Snooping Proxy Configurations"; leaf maxRespTime { type ipmcsnoop_Mrt; description "Configures MRT for Switch's Proxy General-Queries"; } } grouping igmpsnoop_QuerierP-group { description "Holds IGMP Snooping Querier Policy Configurations"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Querier version leaf ver { type mcast_Ver; description "Version"; } // Querier IP address leaf addr { type mcast_QuerierIp; description "Address"; } // Query interval leaf queryIntvl { type mcast_QueryIntvl; description "Query Interval"; } // Query response interval leaf rspIntvl { type mcast_QueryRspIntvl { range "1..25"; } description "Response Interval of Querier"; } // Robustness factor leaf robustFac { type mcast_RobustFactor; description "Robustness Factor"; } // Startup query interval leaf startQueryIntvl { type mcast_StartQueryIntvl; description "Startup Query Interval"; } // Startup query count leaf startQueryCnt { type mcast_QueryCnt; description "Startup Query Count"; } // Last member query interval leaf lastMbrIntvl { type mcast_LastMbrQueryIntvl; description "Last Member Query Interval"; } // Querier timeout leaf timeout { type mcast_QuerierTimeout; description "Configures Querier Timeout"; } } grouping igmpsnoop_QuerierSt-group { description "Holds IGMP Snooping Querier State Configurations"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Querier version leaf ver { config "false"; type mcast_Ver; description "Version"; } // Querier IP address leaf addr { config "false"; type mcast_QuerierIp; description "Address"; } // Query interval leaf queryIntvl { config "false"; type mcast_QueryIntvl; description "Query Interval"; } // Query response interval leaf rspIntvl { config "false"; type mcast_QueryRspIntvl; description "Response Interval of Querier"; } // Robustness factor leaf robustFac { config "false"; type mcast_RobustFactor; description "Robustness Factor"; } // Startup query interval leaf startQueryIntvl { config "false"; type mcast_StartQueryIntvl; description "Startup Query Interval"; } // Startup query count leaf startQueryCnt { config "false"; type mcast_QueryCnt; description "Startup Query Count"; } // Last member query interval leaf lastMbrIntvl { config "false"; type mcast_LastMbrQueryIntvl; description "Last Member Query Interval"; } // Querier timeout leaf timeout { config "false"; type mcast_QuerierTimeout; description "Configures Querier Timeout"; } // Interface on which the querier is present leaf if { config "false"; type nw_IfId; description "Interface on which querier is present"; } // Querier flags leaf flags { config "false"; type ipmcsnoop_QuerierFlags; description "Querier Flags presenting different states"; } } grouping igmpsnoop_ACtrl-group { description "Holds IGMP Snooping Access Control Policy Configurations"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Direction [in/out] leaf direction { type rtctrl_RtCtrlDir; description "Direction"; } leaf rtMap { type string; description "Route Map"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses igmpsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping igmpsnoop_RPolicy-group { description "Holds IGMP Snooping Report Policy Configurations"; // Route map name to control the distribution leaf rtMap { type igmpsnoop_RtMapType; description "Route Map Name to control the distribution"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses igmpsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping igmpsnoop_BD-group { description "Holds IGMP Snooping Bridge Domain Configurations"; leaf bdid { type nw_IfId; description "Bridge Domain Identifier"; } } grouping igmpsnoop_Gl-group { description "Holds IGMP Snooping Configurations in Global Configuration Mode"; container eventHist-items { list EventHistory-list { key "type"; uses igmpsnoop_EventHistory-group; description "Holds IGMP Snooping Event-History Buffer Configurations list"; } description "Holds IGMP Snooping Event-History Buffer Configurations"; } container rtrgrd-items { uses igmpsnoop_RtrGrd-group; description "Holds Router Guard Configuration for all switchports or specific vlan"; } container igmpsnbase-items { uses igmpsnoop_IgmpsnBase-group; description "Holds IGMP Snooping Parameters for all Configuration Modes"; } // This objects holds traffic related snooping params container mctraf-items { uses igmpsnoop_McTraf-group; description "Holds IGMP Snooping Multicast Traffic Configurations"; } // This objects holds IGMP snooping timers for vlan container gTimers-items { uses igmpsnoop_GTimers-group; description "Holds Global IGMP Snooping Timers"; } // This objects holds vlan specific IGMP snooping params container gvlan-items { uses igmpsnoop_GVlan-group; description "Holds IGMP Snooping Vlan Specific Configurations"; } // This Object holds global debug container gdebug-items { uses igmpsnoop_GDebug-group; description "Holds IGMP Snooping Debugs Enabling Configuration"; } // This objects holds multicast router snoop params container mrouter-items { uses igmpsnoop_MRouter-group; description "Holds IGMP Snooping Static Multicast Router Configurations"; } // This objects holds multicast proxy snoop params container proxy-items { uses igmpsnoop_Proxy-group; description "Holds IGMP Snooping Proxy Configurations"; } } grouping igmpsnoop_EventHistory-group { description "Holds IGMP Snooping Event-History Buffer Configurations"; leaf type { type igmpsnoop_EhType; description "configures type of event history{rib/vpc/vlan/vlanev/mfdm/mfdm-ev}"; } leaf size { type igmpsnoop_Size; description "configures buffer size in text/kb"; } } grouping igmpsnoop_RtrGrd-group { description "Holds Router Guard Configuration for all switchports or specific vlan"; leaf state { type boolean; description "Configures Router Guard for Multicast packets on all switchports"; } } grouping igmpsnoop_McTraf-group { description "Holds IGMP Snooping Multicast Traffic Configurations"; leaf holddownTimer { type mcast_HolddownTimer; description "Configures Initial Holddown Period After Switchover/Restart"; } } grouping igmpsnoop_GVlan-group { description "Holds IGMP Snooping Vlan Specific Configurations"; leaf disableNveStRtrPort { type ipmcsnoop_DisableNveStRtrPort; description "Disable NVE Static Router Port"; } leaf vxlan { type ipmcsnoop_Vxlan; description "Enable Snooping on all VXLAN Vlan(s) "; } leaf vxlanUmcDropVlan { type ipmcsnoop_VxlanVlanRange; description "Drop Unknown Multicast Traffic on Vlan(s) - Range 1-3967"; } } grouping igmpsnoop_GDebug-group { description "Holds IGMP Snooping Debugs Enabling Configuration"; leaf syslogThreshold { type ipmcsnoop_SyslogThrshold; description "IGMP Snooping Syslog Threshold Percentage"; } } grouping igmpsnoop_InstStats-group { description "Holds statistics data per Igmpsnoop Instance"; // Total Number of multicast groups leaf totNumMcGrp { config "false"; type nw_Counter32; description "Total Number of Multicast Groups"; } // Invalid packets received leaf invPktsRcvd { config "false"; type nw_Counter32; description "Invalid Packets Received"; } // Loopback packets received leaf lpbkPktsRcvd { config "false"; type nw_Counter32; description "Loopback Packets Received"; } // packets Flooded leaf pktsFlooded { config "false"; type nw_Counter32; description "Packets Flooded"; } // MRD Loopback packets received leaf mrdLpbkPktsRcvd { config "false"; type nw_Counter32; description "MRD Loopback Packets Received"; } // No Vlan DB packets received leaf noVlanDbPktsRcvd { config "false"; type nw_Counter32; description "No Vlan Db Packets Received"; } // Vpc Peer packets sent leaf vpcPeerPktsSent { config "false"; type nw_Counter32; description "VPC Peer Packets Sent"; } // Vpc Peer packets received leaf vpcPeerPktsRcvd { config "false"; type nw_Counter32; description "VPC Peer Packets Received"; } // Vpc Peer packets send Fail leaf vpcPeerPktsSentFail { config "false"; type nw_Counter32; description "VPC Peer Packets Send Fail"; } // Vpc Peer packets receive Fail leaf vpcPeerPktsRcvdFail { config "false"; type nw_Counter32; description "VPC Peer Packets Receive Fail"; } } grouping m6rib_Entity-group { description "Holds M6RIB entity information"; // This objects hold per m6rib instance information container inst-items { uses m6rib_Inst-group; description "This objects hold per M6RIB instance information"; } } grouping m6rib_Inst-group { description "This objects hold per M6RIB instance information"; // This object holds m6rib route db information // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "type"; uses m6rib_Db-group; description "Holds M6RIB Oper Database list"; } description "Holds M6RIB Oper Database"; } // This objects hold per MRIB information container dom-items { list Dom-list { key "name"; uses m6rib_Dom-group; description "This objects hold per MRIB information list"; } description "This objects hold per MRIB information"; } // This object holds m6rib route db information // Ephemeral data container routedb-items { uses m6rib_RouteDb-group; description "This object holds M6RIB route database information"; } } grouping m6rib_Db-group { description "Holds M6RIB Oper Database"; // db type // Ephemeral data leaf type { config "false"; type m6rib_DbT; description "Database type identifier"; } // This object holds m6rib client information // Ephemeral data container client-items { // Ephemeral data list ClntEntity-list { config "false"; key "name"; uses m6rib_ClntEntity-group; description "Represents M6RIB Client list"; } description "Represents M6RIB Client"; } // This object holds m6rib memory information // Ephemeral data container memest-items { uses m6rib_MemEstimate-group; description "M6RIB Parent Class for Memeory Details"; } // This objects hold per pim domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses m6rib_Vrf-group; description "This objects holds M6RIB context level information list"; } description "This objects holds M6RIB context level information"; } } grouping m6rib_ClntEntity-group { description "Represents M6RIB Client"; // Ephemeral data leaf name { config "false"; type string; description "Client Name"; } // Ephemeral data leaf id { config "false"; type uint32; description "Client Identifier"; } // Ephemeral data leaf pid { config "false"; type uint32; description "Client Process Identifier"; } // Ephemeral data leaf mtsSapId { config "false"; type uint32; description "Client MTS SAP Identifier"; } // Ephemeral data leaf shMemName { config "false"; type string; description "Client Shared memory name"; } // Ephemeral data leaf notify { config "false"; type boolean; description "Flag to indicate if client wants notifications"; } // Ephemeral data leaf staleTimerRunning { config "false"; type boolean; description "Flag to indicate if stale timer is running"; } // Ephemeral data leaf ssmOwner { config "false"; type boolean; description "Protocol owner of SSM-Ranges Flag"; } // Ephemeral data leaf bidirOwner { config "false"; type boolean; description "Protocol is the owner of Bidir-Modes Flag"; } // Ephemeral data leaf staticOwner { config "false"; type boolean; description "Protocol is the owner of Static-OIFs Flag"; } // Ephemeral data leaf sharedOnlyOwner { config "false"; type boolean; description "Protocol is the owner of shared-tree Flag"; } // Ephemeral data leaf localJoinOwner { config "false"; type boolean; description "Protocol is the owner for Local Groups Flag"; } // Ephemeral data leaf externalOwner { config "false"; type boolean; description "Protocol is the owner for External Routes Flag"; } // Ephemeral data leaf attachedOwner { config "false"; type boolean; description "Protocol is the owner for Attached Routes Flag"; } // Ephemeral data leaf fabricOwner { config "false"; type boolean; description "Protocol owner setting Fabric Flag"; } // MO for Client notifications // Ephemeral data container cnotify-items { // Ephemeral data list ClientNotify-list { config "false"; key "notifyName"; uses m6rib_ClientNotify-group; description "Holds M6RIB Client Notification Details list"; } description "Holds M6RIB Client Notification Details"; } } grouping m6rib_ClientNotify-group { description "Holds M6RIB Client Notification Details"; // Ephemeral data leaf notifyName { config "false"; type string; description "Client Notification Name"; } // Ephemeral data leaf sent { config "false"; type uint64; description "Count of Notifications Sent"; } // Ephemeral data leaf fail { config "false"; type uint64; description "Count of Notifications Failed"; } // Ephemeral data leaf rcvd { config "false"; type uint64; description "Count of Notifications Received"; } // Ephemeral data leaf ackRcvd { config "false"; type uint64; description "Count of Notifications acknowledgement received"; } // Ephemeral data leaf ackSent { config "false"; type uint64; description "Count of Notifications acknowledgement sent"; } // Ephemeral data leaf ackFail { config "false"; type uint64; description "Count of Notifications acknowledgement failed"; } } grouping m6rib_MemEstimate-group { description "M6RIB Parent Class for Memeory Details"; // Current maximum memory available // Ephemeral data container currmaxgrp-items { // Ephemeral data list CurrMaxMB-list { config "false"; key "grpCount srcPerGrp oifPerEntry"; uses m6rib_CurrMaxMB-group; description "Holds Current Maximum memory available information list"; } description "Holds Current Maximum memory available information"; } // In-Use maximum memory // Ephemeral data container inusegrp-items { // Ephemeral data list InUseKB-list { config "false"; key "grpCount srcPerGrp oifPerEntry"; uses m6rib_InUseKB-group; description "Holds In-Use Memory Information list"; } description "Holds In-Use Memory Information"; } // Configured maximum memory // Ephemeral data container configmaxgrp-items { // Ephemeral data list ConfiguredMaxMB-list { config "false"; key "grpCount srcPerGrp oifPerEntry"; uses m6rib_ConfiguredMaxMB-group; description "Holds Maximum Configured Memory Information list"; } description "Holds Maximum Configured Memory Information"; } // Estimate maximum memory required // Ephemeral data container estgrp-items { // Ephemeral data list EstMaxMB-list { config "false"; key "grpCount srcPerGrp oifPerEntry"; uses m6rib_EstMaxMB-group; description "Holds Maximum Estimated Memory Information list"; } description "Holds Maximum Estimated Memory Information"; } } grouping m6rib_CurrMaxMB-group { description "Holds Current Maximum memory available information"; // Ephemeral data leaf max { config "false"; type uint64; description "Maximum memory in MB/KB"; } // Ephemeral data leaf grpCount { config "false"; type uint32; description "Maximum Group Count"; } // Ephemeral data leaf srcPerGrp { config "false"; type uint32; description "Sources per Group"; } // Ephemeral data leaf oifPerEntry { config "false"; type uint32; description "OIFs per Entry"; } } grouping m6rib_InUseKB-group { description "Holds In-Use Memory Information"; // Ephemeral data leaf max { config "false"; type uint64; description "Maximum memory in MB/KB"; } // Ephemeral data leaf grpCount { config "false"; type uint32; description "Maximum Group Count"; } // Ephemeral data leaf srcPerGrp { config "false"; type uint32; description "Sources per Group"; } // Ephemeral data leaf oifPerEntry { config "false"; type uint32; description "OIFs per Entry"; } } grouping m6rib_ConfiguredMaxMB-group { description "Holds Maximum Configured Memory Information"; // Ephemeral data leaf max { config "false"; type uint64; description "Maximum memory in MB/KB"; } // Ephemeral data leaf grpCount { config "false"; type uint32; description "Maximum Group Count"; } // Ephemeral data leaf srcPerGrp { config "false"; type uint32; description "Sources per Group"; } // Ephemeral data leaf oifPerEntry { config "false"; type uint32; description "OIFs per Entry"; } } grouping m6rib_EstMaxMB-group { description "Holds Maximum Estimated Memory Information"; // Ephemeral data leaf max { config "false"; type uint64; description "Maximum memory in MB/KB"; } // Ephemeral data leaf grpCount { config "false"; type uint32; description "Maximum Group Count"; } // Ephemeral data leaf srcPerGrp { config "false"; type uint32; description "Sources per Group"; } // Ephemeral data leaf oifPerEntry { config "false"; type uint32; description "OIFs per Entry"; } } grouping m6rib_Vrf-group { description "This objects holds M6RIB context level information"; // Ephemeral data leaf name { config "false"; type string; description "Vrf Name"; } // Ephemeral data leaf cid { config "false"; type uint32; description "Vrf Identifier"; } // Ephemeral data leaf tableId { config "false"; type string; description "Table Identifier"; } // Ephemeral data leaf totalNumRoutes { config "false"; type uint32; description "Total Number of Routes"; } // Ephemeral data leaf totalNumGroups { config "false"; type uint32; description "Total Number of Groups"; } // Ephemeral data leaf starGRoute { config "false"; type uint32; description "Total number of Star G Count"; } // Ephemeral data leaf sgRoute { config "false"; type uint32; description "Total number of SG Route Count"; } // Ephemeral data leaf starGPrfx { config "false"; type uint32; description "Total number of Star G Prefix count"; } leaf groupCount { config "false"; type uint32; description "Total number of groups in the VRF"; } // This object holds m6rib route group information // Ephemeral data container group-items { // Ephemeral data list Group-list { config "false"; key "grpAddr"; uses m6rib_Group-group; description "This object holds M6RIB route group information list"; } description "This object holds M6RIB route group information"; } } grouping m6rib_Group-group { description "This object holds M6RIB route group information"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group Address"; } // Ephemeral data leaf grpMasklen { config "false"; type uint32; description "Group Mask Length"; } // Ephemeral data leaf bidir { config "false"; type boolean; description "Bidirectional Flag"; } // This object holds m6rib route source information // Ephemeral data container source-items { // Ephemeral data list Source-list { config "false"; key "srcAddr"; uses m6rib_Source-group; description "This object holds M6RIB Route Source information list"; } description "This object holds M6RIB Route Source information"; } } grouping m6rib_Source-group { description "This object holds M6RIB Route Source information"; // Ephemeral data leaf srcAddr { config "false"; type address_Ip; description "Source IPv6 Address"; } // Ephemeral data leaf pending { config "false"; type boolean; description "Pending flag"; } // Ephemeral data leaf uptime { config "false"; type string; description "Route Uptime in HH:MM:SS format"; } // Ephemeral data leaf oifcount { config "false"; type uint32; description "Outgoing Interface Count"; } // Ephemeral data leaf statsPkts { config "false"; type uint32; description "Packets Forwarded by IPv6"; } // Ephemeral data leaf statsBytes { config "false"; type uint32; description "Byte Count of Packets IPv6 forwarded"; } // Ephemeral data leaf statsRateBuf { config "false"; type string; description "Rate Buffer Count of IPv6 packets forwarded"; } // Ephemeral data leaf lispSrcRloc { config "false"; type string; description "Lisp Source Rloc Count"; } // Ephemeral data leaf routeIif { config "false"; type string; description "Route Incoming Interface"; } // Ephemeral data leaf rpfNbr { config "false"; type address_Ip; description "RPF Neighbor IPv6 Address"; } // Ephemeral data leaf internal { config "false"; type boolean; description "RPF Internal Flag"; } // Ephemeral data leaf rpfNbrUptime { config "false"; type union { type string; type uint64; } description "RPF Neighbor uptime"; } // Ephemeral data leaf fabricOif { config "false"; type boolean; description "Fabric OIF Flag"; } // Ephemeral data leaf fabricLoser { config "false"; type boolean; description "Fabric Loser Flag"; } // Ephemeral data leaf numVpcSviOifs { config "false"; type uint32; description "Number of vpc svi OIFs"; } // Ephemeral data leaf routeMdtIod { config "false"; type boolean; description "Route MDT IOD Flag"; } // Ephemeral data leaf mdtEncapIndex { config "false"; type uint32; description "MDT Encap Index"; } // This object holds m6rib mpib information // Ephemeral data container mpib-items { // Ephemeral data list Mpib-list { config "false"; key "mpibName"; uses m6rib_Mpib-group; description "This object holds M6RIB route owner information list"; } description "This object holds M6RIB route owner information"; } // This object holds m6rib OIF information // Ephemeral data container oif-items { // Ephemeral data list Oif-list { config "false"; key "oifName"; uses m6rib_Oif-group; description "This object holds M6RIB Outgoing Interface information list"; } description "This object holds M6RIB Outgoing Interface information"; } } grouping m6rib_Mpib-group { description "This object holds M6RIB route owner information"; // Ephemeral data leaf mpibName { config "false"; type string; description "MPIB name"; } // Ephemeral data leaf oifCount { config "false"; type uint32; description "OIF count"; } // Ephemeral data leaf staleRoute { config "false"; type boolean; description "Stale Route Flag"; } } grouping m6rib_Oif-group { description "This object holds M6RIB Outgoing Interface information"; // Ephemeral data leaf oifName { config "false"; type string; description "OIF name"; } // Ephemeral data leaf oifUptime { config "false"; type string; description "OIF Uptime in HH:MM:SS Format"; } // Ephemeral data leaf oifRPF { config "false"; type boolean; description "OIF RPF flag"; } // Ephemeral data leaf oifLispEncapEntries { config "false"; type uint32; description "Lisp Encap Entries Count"; } // This object holds lisp encap information // Ephemeral data container lispencap-items { // Ephemeral data list LispEncap-list { config "false"; key "index"; uses m6rib_LispEncap-group; description "This object holds lisp encap information list"; } description "This object holds lisp encap information"; } // This object holds m6rib OIF MPIB information // Ephemeral data container oifmpib-items { // Ephemeral data list OifMpib-list { config "false"; key "oifMpibName"; uses m6rib_OifMpib-group; description "This object holds M6RIB Outgoing Interface owner information list"; } description "This object holds M6RIB Outgoing Interface owner information"; } } grouping m6rib_LispEncap-group { description "This object holds lisp encap information"; // Ephemeral data leaf index { config "false"; type uint32; description "Lisp Encap Index"; } // Ephemeral data leaf srcRloc { config "false"; type address_Ip; description "Source remote location"; } // Ephemeral data leaf dstRloc { config "false"; type address_Ip; description "Destination remote location"; } } grouping m6rib_OifMpib-group { description "This object holds M6RIB Outgoing Interface owner information"; // Ephemeral data leaf oifMpibName { config "false"; type string; description "OIF MPIB name"; } // Ephemeral data leaf staleOif { config "false"; type boolean; description "Stale OIF Flag"; } // Ephemeral data leaf vpcSvi { config "false"; type boolean; description "VPC SVI Flag"; } } grouping m6rib_Dom-group { description "This objects hold per MRIB information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Admin State leaf adminSt { type nw_AdminSt; default "disabled"; description "Admin State"; } // Per-Dom Controls leaf ctrl { type rtdmc_DomCtrl; description "Domain Controls"; } // Protocol packet MTU leaf mtu { type rtdmc_Mtu; description "Maximum Transmission Unit"; } // Auto Enable leaf autoEnable { type rtdmc_AutoEnable; description "Auto Enable"; } leaf logNbhChng { type boolean; description "Log Neighbhor changes"; } leaf flushRoutes { type boolean; description "Flush Routes"; } leaf bfd { type boolean; description "BFD"; } leaf jpDelay { type rtdmc_JpDelayRange; description "Join-Prune message inter-packet delay"; } leaf regRateLmt { type rtdmc_RegRateRange; description "Register rate limit for data packets per second"; } leaf rfcStrict { type boolean; description "Do not process joins from unknown neighbors"; } leaf sptSwitchGraceful { type boolean; description "Graceful switch to SPT"; } // This object holds m6rib config information container config-items { uses m6rib_Config-group; description "This object holds M6RIB config information"; } // This object holds m6rib rpf-meter config information container rpfmeter-items { uses m6rib_RpfMeter-group; description "Holds M6RIB rpf-meter config information"; } // This object holds m6rib last-hop-meter config information container lasthopmeter-items { uses m6rib_LastHopMeter-group; description "M6RIB last hop meter Configuration information"; } container eventhist-items { list EventHistory-list { key "type"; uses m6rib_EventHistory-group; description "Holds Configuration details of event-history buffers list"; } description "Holds Configuration details of event-history buffers"; } container mcastglobalbndry-items { uses m6rib_GlobalBndry-group; description "Config IP multicast global boundary prefix list configuration"; } // This object holds m6rib Notify information container loglevel-items { uses m6rib_LogLevel-group; description "Holds M6RIB logging level information"; } // This object holds m6rib Notify information container notify-items { uses m6rib_Notify-group; description "This object holds m6rib Notify information"; } // This object holds global config for mrib container trace-items { uses m6rib_Trace-group; description "This object holds global configuration for Bintrace"; } } grouping m6rib_Config-group { description "This object holds M6RIB config information"; // Holddown Enable leaf holdEnable { type m6rib_HoldAdminSt; description "Holddown Enable"; } // Holddown second leaf holddown { type m6rib_HoldDownType; description "holddown second"; } leaf compressBit { type boolean; description "M6RIB Compress Bitfield"; } // Mfdm-buffer-route-count size leaf mfdmSize { type m6rib_MfdmSize; description "Mfdm buffer route size"; } // RPF prefer pim nbr Commented out until feature is enabled // // Multipath Mode leaf mode { type m6rib_MultipathMode; description "M6RIB ECMP Multicast load splitting"; } // Multipath Resilient leaf modeResilient { type m6rib_ResilientType; description "Multipath Resilient RPF interface mode"; } } grouping m6rib_RpfMeter-group { description "Holds M6RIB rpf-meter config information"; leaf hwDropAll { type boolean; description "hardware drop all configuration"; } leaf kbps { type m6rib_Kbps; description "rpf-meter in killobytes/seconds"; } leaf burstSize { type m6rib_BurstSize; description "rpf-meter in killobytes"; } } grouping m6rib_LastHopMeter-group { description "M6RIB last hop meter Configuration information"; leaf kbps { type m6rib_Kbps; description "rpf-meter in killobytes/seconds"; } leaf burstSize { type m6rib_BurstSize; description "rpf-meter in killobytes"; } } grouping m6rib_EventHistory-group { description "Holds Configuration details of event-history buffers"; leaf type { type m6rib_EhType; description "configures type of event history"; } leaf size { type m6rib_Size; description "configures buffer size in text/kb"; } } grouping m6rib_GlobalBndry-group { description "Config IP multicast global boundary prefix list configuration"; // prefix list leaf pfxList { type m6rib_PrefixT; description "global boundary prefix list"; } } grouping m6rib_LogLevel-group { description "Holds M6RIB logging level information"; // logging leve leaf level { type m6rib_LogLevel; description "Logging Level"; } leaf type { type string; description "Logging type"; } } grouping m6rib_Notify-group { description "This object holds m6rib Notify information"; // Notify interval leaf interval { type m6rib_Interval; description "Notify Interval"; } } grouping m6rib_Trace-group { description "This object holds global configuration for Bintrace"; leaf traceEnable { type boolean; description "Configure multicast and enable bintrace"; } // trace entries leaf traceEntryCnt { type m6rib_TraceCountType; description "Update number of bintrace entries"; } // trace records leaf traceRecCnt { type m6rib_TraceCountType; description "Update number of bintrace record per entry"; } } grouping m6rib_RouteDb-group { description "This object holds M6RIB route database information"; // This objects hold per pim domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses m6rib_Vrf-group; description "This objects holds M6RIB context level information list"; } description "This objects holds M6RIB context level information"; } } grouping macsec_Entity-group { description "Macsec control plane entity"; // This objects hold per macsec instance information. There is // only one instance of macsec running in the system today container inst-items { uses macsec_Inst-group; description "Macsec Instance object"; } } grouping macsec_Inst-group { description "Macsec Instance object"; // macsec shutdown leaf macsecShutdown { type macsec_MacsecShutdown; description "Enable or disable Macsec Shutdown"; } container if-items { list If-list { key "id"; uses macsec_If-group; description "Interface for Macsec keychain CLI list"; } description "Interface for Macsec keychain CLI"; } container eapol-items { list Eapol-list { key "id"; uses macsec_Eapol-group; description "Interface for Macsec Eapol mac-address CLI list"; } description "Interface for Macsec Eapol mac-address CLI"; } // This object holds macsec information that is operated at a // interface level container policy-items { list Policy-list { key "policyName"; uses macsec_Policy-group; description "Macsec Policy Instance list"; } description "Macsec Policy Instance"; } } grouping macsec_If-group { description "Interface for Macsec keychain CLI"; // Key Chain Name leaf keychainName { type macsec_KeyChainName; description "Name of Macsec Key Chain"; } leaf keychainPkiEnabled { type boolean; default "false"; description "Name of Macsec Keychain-Pki-Mode"; } // Policy Name leaf policyName { type macsec_PolicyName; description "Name of Macsec Policy"; } // Fallback Key Chain Name leaf fallbackKeychainName { type macsec_KeyChainName; description "Name of Macsec Fallback Key Chain"; } // Interface Index leaf id { type nw_IfId; description "Interface Index"; } } grouping macsec_Eapol-group { description "Interface for Macsec Eapol mac-address CLI"; leaf macAddress { type address_Mac; default "03:00:00:c2:80:01"; description "Macsec EAPOL Mac Address"; } // Ether type leaf etherType { type macsec_EtherType; description "Macsec EAPOL Ether Type"; } // Interface Index leaf id { type nw_IfId; description "Interface Index"; } } grouping macsec_Policy-group { description "Macsec Policy Instance"; // Policy Name leaf policyName { type macsec_PolicyName; description "Name of Macsec Policy"; } // Key Server Priority leaf keySvrPrio { type macsec_KeySvrPrio; description "Key Server Priority for Macsec Policy"; } // Confidentiality Offset leaf confOffset { type macsec_ConfOffset; description "Confidentiality Offset for Macsec Policy"; } // Security Policy leaf secPolicy { type macsec_SecPolicy; description "Security Policy for Macsec Policy"; } // Replay Protection Window Size leaf replayWindow { type macsec_ReplayWindow; description "Replay Window for Macsec Policy"; } // Cipher Suite leaf cipherSuite { type macsec_CipherSuite; description "Cipher Suite for Macsec Policy"; } // Allowed Peer Cipher Suite1 leaf allowedPeerCipherSuite1 { type macsec_AllowedPeerCipherSuite1; description "Cipher Suite for Macsec Policy"; } // Allowed Peer Cipher Suite2 leaf allowedPeerCipherSuite2 { type macsec_AllowedPeerCipherSuite2; description "Cipher Suite for Macsec Policy"; } // Allowed Peer Cipher Suite3 leaf allowedPeerCipherSuite3 { type macsec_AllowedPeerCipherSuite3; description "Cipher Suite for Macsec Policy"; } // Allowed Peer Cipher Suite4 leaf allowedPeerCipherSuite4 { type macsec_AllowedPeerCipherSuite4; description "Cipher Suite for Macsec Policy"; } // SAK expiry time leaf sakExpiryTime { type macsec_SakExpiryTime; description "Security Association Key Expiry Time for Macsec Policy"; } // Include icv indicator leaf includeIcvParam { type macsec_IncludeIcvParam; description "Include ICV Indicator paramset in MKPDU for Macsec Policy"; } // No SCI indicator leaf includeSci { type macsec_IncludeSci; description "Include SCI in sectag for Macsec Policy"; } } grouping mcastfwd_Entity-group { description "Holds Multicast Forwarding Entity Information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per mcastfwd instance information. There is only // one instance of mcastfwd running in the system today container inst-items { uses mcastfwd_Inst-group; description "Holds Multicast Forwarding Instance information"; } } grouping mcastfwd_Inst-group { description "Holds Multicast Forwarding Instance information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Inter Packet Delay leaf jpDelay { type rtdmc_JPDelay; description "Inter Packet Delay"; } // Null Register Inter Batch Delay leaf nrDelay { type rtdmc_NRDelay; description "Null Register Inter Batch Delay"; } // Number of routes in a null register leaf nrNumRt { type rtdmc_NRNumRt; description "Null Register Number of Routes"; } leaf regStop { type boolean; description "Register until stops"; } // This objects hold per igmp domain information container dom-items { uses mcastfwd_Dom-group; description "Holds Multicast Forwarding Domain information"; } container eventhist-items { list EventHistory-list { key "type"; uses mcastfwd_EventHistory-group; description "Holds Multicast Forwarding Event-History Buffer Configurations list"; } description "Holds Multicast Forwarding Event-History Buffer Configurations"; } container loglevel-items { uses mcastfwd_LogLevel-group; description "Configures logging level"; } container swrepli-items { uses mcastfwd_SwRepli-group; description "Configures software replicate"; } } grouping mcastfwd_Dom-group { description "Holds Multicast Forwarding Domain information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Admin State leaf adminSt { type nw_AdminSt; default "disabled"; description "Admin State"; } // Per-Dom Controls leaf ctrl { type rtdmc_DomCtrl; description "Domain Controls"; } // Protocol packet MTU leaf mtu { type rtdmc_Mtu; description "Maximum Transmission Unit"; } // Auto Enable leaf autoEnable { type rtdmc_AutoEnable; description "Auto Enable"; } leaf logNbhChng { type boolean; description "Log Neighbhor changes"; } leaf flushRoutes { type boolean; description "Flush Routes"; } leaf bfd { type boolean; description "BFD"; } leaf jpDelay { type rtdmc_JpDelayRange; description "Join-Prune message inter-packet delay"; } leaf regRateLmt { type rtdmc_RegRateRange; description "Register rate limit for data packets per second"; } leaf rfcStrict { type boolean; description "Do not process joins from unknown neighbors"; } leaf sptSwitchGraceful { type boolean; description "Graceful switch to SPT"; } } grouping mcastfwd_EventHistory-group { description "Holds Multicast Forwarding Event-History Buffer Configurations"; leaf type { type mcastfwd_EhType; description "Configures type of event history"; } leaf size { type mcastfwd_Size; description "Configures buffer size in text/kb"; } } grouping mcastfwd_LogLevel-group { description "Configures logging level"; leaf lvltype { type mcastfwd_LvlType; description "Configures type of logging level"; } leaf level { type mcastfwd_Level; description "Configures level values from 0-7"; } } grouping mcastfwd_SwRepli-group { description "Configures software replicate"; leaf type { type mcastfwd_SwRep; description "Enable software replication of PIM ASM leak packets and incoming interface"; } leaf fabric { type boolean; description "Enable software replication to attached fabric"; } } grouping mcastfwdv6_Entity-group { description "Holds Multicast Forwarding Entity Information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // This objects hold per mcastfwd instance information. // There is only one instance of mcastfwd running in the // system today container inst-items { uses mcastfwdv6_Inst-group; description "Holds Multicast Forwarding V6 Instance information"; } } grouping mcastfwdv6_Inst-group { description "Holds Multicast Forwarding V6 Instance information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Inter Packet Delay leaf jpDelay { type rtdmc_JPDelay; description "Inter Packet Delay"; } // Null Register Inter Batch Delay leaf nrDelay { type rtdmc_NRDelay; description "Null Register Inter Batch Delay"; } // Number of routes in a null register leaf nrNumRt { type rtdmc_NRNumRt; description "Null Register Number of Routes"; } leaf regStop { type boolean; description "Register until stops"; } // This objects hold per mcastfwdv6 domain information container dom-items { uses mcastfwdv6_Dom-group; description "Holds Multicast Forwarding Domain information"; } container eventhist-items { list EventHistory-list { key "type"; uses mcastfwdv6_EventHistory-group; description "Holds Multicast Forwarding V6 Event-History Buffer Config list"; } description "Holds Multicast Forwarding V6 Event-History Buffer Config"; } container loglevel-items { uses mcastfwdv6_LogLevel-group; description "Configures logging level"; } container swrepli-items { uses mcastfwdv6_SwRepli-group; description "Configures software replicate"; } } grouping mcastfwdv6_Dom-group { description "Holds Multicast Forwarding Domain information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Admin State leaf adminSt { type nw_AdminSt; default "disabled"; description "Admin State"; } // Per-Dom Controls leaf ctrl { type rtdmc_DomCtrl; description "Domain Controls"; } // Protocol packet MTU leaf mtu { type rtdmc_Mtu; description "Maximum Transmission Unit"; } // Auto Enable leaf autoEnable { type rtdmc_AutoEnable; description "Auto Enable"; } leaf logNbhChng { type boolean; description "Log Neighbhor changes"; } leaf flushRoutes { type boolean; description "Flush Routes"; } leaf bfd { type boolean; description "BFD"; } leaf jpDelay { type rtdmc_JpDelayRange; description "Join-Prune message inter-packet delay"; } leaf regRateLmt { type rtdmc_RegRateRange; description "Register rate limit for data packets per second"; } leaf rfcStrict { type boolean; description "Do not process joins from unknown neighbors"; } leaf sptSwitchGraceful { type boolean; description "Graceful switch to SPT"; } } grouping mcastfwdv6_EventHistory-group { description "Holds Multicast Forwarding V6 Event-History Buffer Config"; leaf type { type mcastfwdv6_EhType; description "Configures type of event history"; } leaf size { type mcastfwdv6_Size; description "Configures buffer size in text/kb"; } } grouping mcastfwdv6_LogLevel-group { description "Configures logging level"; leaf lvltype { type mcastfwdv6_LvlType; description "Configures type of logging level"; } leaf level { type mcastfwdv6_Level; description "Configures level values from 0-7"; } } grouping mcastfwdv6_SwRepli-group { description "Configures software replicate"; leaf type { type mcastfwdv6_SwRep; description "Enable software replication of PIM ASM leak packets and incoming interface"; } leaf fabric { type boolean; description "Enable software replication to attached fabric"; } } grouping mld_Entity-group { description "MLD Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per mld instance information. There is only // one instance of mld running in the system today container inst-items { uses mld_Inst-group; description "MLD Instance"; } } grouping mld_Inst-group { description "MLD Instance"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Control leaf instCtrl { type ipmc_InstCtrl; description "Inst Controls"; } // Bootup route add delay to RIB leaf bootupDelay { type ipmc_BootupDelay; description "Bootup Route Add Delay"; } leaf flushRoute { type boolean; description "Flush Routes on Restart"; } leaf rtrAlert { type boolean; description "Enforce Router Alert"; } leaf anyQueryDest { type boolean; description "Allow any destination-IP for General Queries "; } // syslog-Threshold leaf syslogThreshold { type ipmc_SyslogThresT; description "IGMP table syslog threshold percentage"; } leaf spoofCheck { type boolean; description "Enable spoof check for IGMP"; } leaf strictQuerElect { type boolean; description "Consider subnet check for L3 igmp querier election"; } // This objects hold per mld domain information container dom-items { list Dom-list { key "name"; uses mld_Dom-group; description "This object holds MLD domain information list"; } description "This object holds MLD domain information"; } container eventhist-items { list EventHistory-list { key "type"; uses mld_EventHistory-group; description "This object holds configuration details of event-history buffers list"; } description "This object holds configuration details of event-history buffers"; } } grouping mld_Dom-group { description "This object holds MLD domain information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This objects hold per mld interface information container if-items { list If-list { key "id"; uses mld_If-group; description "This object holds per MLD interface information list"; } description "This object holds per MLD interface information"; } // This objects hold per mld domain information container ssmxlate-items { list SsmXlate-list { key "srcAddr grpPfx"; uses mld_SsmXlate-group; description "Holds Source Specific Multicast (SSM) translation information list"; } description "Holds Source Specific Multicast (SSM) translation information"; } } grouping mld_If-group { description "This object holds per MLD interface information"; leaf mldVersion { type mld_Ver; description "MLD supported version"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // Interface Control leaf ifCtrl { type ipmc_IfCtrl; description "Controls"; } // Group Timeout leaf grpTimeout { type ipmc_GrpTimeout; description "Group Membership Timeout"; } leaf actQuer { config "false"; type address_Ip; description "IGMP active querier IP"; } leaf nextQuerTime { config "false"; type union { type string; type uint64; } description "IGMP next query time"; } // Flags leaf flags { config "false"; type ipmc_IfFlags; description "Flags"; } leaf entryCount { type uint32; description "Dynamic entry count"; } leaf stEntryCount { type uint32; description "Static Entry count"; } leaf querExpiry { config "false"; type union { type string; type uint64; } description "Querier expiry time"; } leaf reportLl { type boolean; description "Report link local"; } leaf immediateLeave { type boolean; description "Fast leave"; } // Allow v3 ASM leaf allowv3Asm { type ipmc_Allowv3AsmType; description "Allow v3 ASM"; } leaf suppressv3Gsq { type boolean; description "Suppress v3 GSQ"; } // This objects hold IP Multicast Group JoinType information container jointype-items { list JoinType-list { key "type"; uses mld_JoinType-group; description "This object holds IP Multicast Group JoinType information list"; } description "This object holds IP Multicast Group JoinType information"; } // This object holds resource (router state) limit policy // to limit amount of multicast routing state on the router container limit-items { uses mld_ResP-group; description "Holds Resource policy to limit amount of multicast routing state on the router"; } // This object holds mld reports policy state per Interface container reppol-items { uses mld_RepP-group; description "This object holds mld reports policy state per Interface"; } // This object holds static mld reports policy state per Interface container streppol-items { list StRepP-list { key "joinType"; uses mld_StRepP-group; description "Holds Static MLD report policy list"; } description "Holds Static MLD report policy"; } // This object holds querier information per interface container querierp-items { uses mld_QuerierP-group; description "Holds MLD querier information"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping mld_JoinType-group { description "This object holds IP Multicast Group JoinType information"; // Join Type of the groups leaf type { type ipmc_JoinType; description "Join Type of the groups"; } // This objects hold IP Multicast Group version information container ver-items { list Version-list { key "version"; uses mld_Version-group; description "This object holds IP Multicast Group version information list"; } description "This object holds IP Multicast Group version information"; } } grouping mld_Version-group { description "This object holds IP Multicast Group version information"; // MLD version leaf version { type ipmc_Ver; description "Group version"; } // This object holds mld group configuration per Interface container group-items { list Group-list { key "grp"; uses mld_Group-group; description "MLD group information per interface list"; } description "MLD group information per interface"; } } grouping mld_Group-group { description "MLD group information per interface"; leaf grp { type address_Ip; description "Route address name for choosing groups"; } leaf useStaticOif { type boolean; default "true"; description "Indicates if Static Outgoing Interface is used"; } // This object holds static mld source per group container source-items { list Source-list { key "src"; uses mld_Source-group; description "This object holds static mld source per group list"; } description "This object holds static mld source per group"; } } grouping mld_Source-group { description "This object holds static mld source per group"; leaf src { type address_Ip; description "Source IP address"; } leaf useStaticOif { type boolean; default "true"; description "Indicates if Static Outgoing Interface is used"; } } grouping mld_ResP-group { description "Holds Resource policy to limit amount of multicast routing state on the router"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Maximum Multicast Entries leaf max { type mcast_NumEntries; description "Maximum Multicast Entries"; } // Reserved Multicast Entries leaf rsvd { type mcast_NumEntries; description "Reserved Multicast Entries"; } leaf rtMap { type string; description "Reserved Entries Route Map"; } } grouping mld_RepP-group { description "This object holds mld reports policy state per Interface"; leaf rtMap { type string; description "Route Map"; } leaf pfxList { type string; description "Prefix List"; } leaf useAccessGrpCommand { type boolean; description "Flag to use access-group"; } } grouping mld_StRepP-group { description "Holds Static MLD report policy"; leaf rtMap { type string; description "Route Map"; } leaf pfxList { type string; description "Prefix List"; } leaf useAccessGrpCommand { type boolean; description "Flag to use access-group"; } // Join Type of the groups leaf joinType { type ipmc_JoinType; description "Join Type of Groups"; } } grouping mld_QuerierP-group { description "Holds MLD querier information"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Querier IP address leaf addr { type mcast_QuerierIp; description "Address"; } // Query interval leaf queryIntvl { type mcast_QueryIntvl; description "Query Interval"; } // Query response interval leaf rspIntvl { type mcast_QueryRspIntvl; description "Response Interval of Querier"; } // Robustness factor leaf robustFac { type mcast_RobustFactor; description "Robustness Factor"; } // Startup query interval leaf startQueryIntvl { type mcast_StartQueryIntvl; default "31"; description "Startup Query Interval"; } // Startup query count leaf startQueryCnt { type mcast_QueryCnt; description "Startup Query Count"; } // Querier timeout leaf querierTimeout { type mcast_QuerierTimeout; description "Querier Timeout"; } // Last member query count leaf lastMbrCnt { type mcast_LastMbrQueryCnt; description "Last Member Query Count"; } // Last member response time leaf lastMbrRespTime { type mcast_LastMbrRespTime; description "Last Member Response Time"; } } grouping mld_SsmXlate-group { description "Holds Source Specific Multicast (SSM) translation information"; // Group IP Prefix address leaf grpPfx { type mcast_GrpIp; description "Address"; } leaf srcAddr { type address_Ip; description "Address"; } } grouping mld_EventHistory-group { description "This object holds configuration details of event-history buffers"; leaf type { type mld_EhType; description "Configures type of event history"; } leaf size { type mld_Size; description "Configures buffer size in text per kb"; } } grouping mldsnoop_Entity-group { description "Holds MLD Snooping Entity Information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per mld instance information. There is only // one instance of mld running in the system today container inst-items { uses mldsnoop_Inst-group; description "Holds MLD Snooping Instance information"; } } grouping mldsnoop_Inst-group { description "Holds MLD Snooping Instance information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // All router multicast group address (GIPo), outer multicast // encapsulation ip address leaf allRtrMcastEncap { config "false"; type mcast_GrpIp; description "All Router Multicast Encapsulation"; } // Flags leaf flags { config "false"; type ipmcsnoop_InstFlags; description "Flags"; } // This objects hold per mld domain information container dom-items { uses mldsnoop_Dom-group; description "Holds MLD Snooping Domain information"; } // This objects hold per Instance statistics operational // information. This is a singleton within Instance container inststats-items { uses mldsnoop_InstStats-group; description "Instance Statistics"; } } grouping mldsnoop_Dom-group { description "Holds MLD Snooping Domain information"; leaf operCfgRecovery { config "false"; type boolean; description "Running configuration recovery"; } leaf name { type naming_Name256 { length "0..128"; } description "IP Multicast snooping domain name"; } // Id for this domain @@@ This comes from the domain id assigned by the // PE for the bridge domain leaf id { config "false"; type l2_DomId; description "Operational domain identifier"; } leaf encap { type string; description "L2 Domain Fabric Encapsulation"; } // Admin State leaf adminSt { config "false"; type nw_AdminSt; description "Administrative State"; } // Controls leaf ctrl { type ipmcsnoop_DomControl; description "Controls for IP milticast domains"; } // IGMP database container db-items { list Db-list { config "false"; key "type"; uses mldsnoop_Db-group; description "Database list"; } description "Database"; } // This objects hold per mld domain statistics operational // information. This is a singleton within a Dom container domstats-items { uses mldsnoop_DomStats-group; description "Domain Statistics"; } // Multicast router if that is configured statically container strtrif-items { list StRtrIf-list { config "false"; key "id"; uses mldsnoop_StRtrIf-group; description "MLD Static Router Interface list"; } description "MLD Static Router Interface"; } // Multicast router if @@@ Mulitcast router if in the BD. These can be either // configured by the admin or discovered through protocols // like PIM, IGMP, MLD container rtrif-items { list RtrIf-list { config "false"; key "id"; uses mldsnoop_RtrIf-group; description "Router Interface list"; } description "Router Interface"; } // This objects is the parent for vlan config mode params container vlan-items { list Vlan-list { key "vlanid"; uses mldsnoop_Vlan-group; description "Holds MLD snooping vlan configurations list"; } description "Holds MLD snooping vlan configurations"; } // This objects is the parent for Interface config mode params container intf-items { list Intf-list { key "id"; uses mldsnoop_Intf-group; description "Holds MLD snooping Interface configurations list"; } description "Holds MLD snooping Interface configurations"; } // This objects holds configurable params in // bridge domain config mode container bd-items { list BD-list { key "bdid"; uses mldsnoop_BD-group; description "Holds MLD Snooping Bridge Domain Configurations list"; } description "Holds MLD Snooping Bridge Domain Configurations"; } // This objects holds configurable params in global config mode container gl-items { uses mldsnoop_Gl-group; description "Holds MLD Snooping Configurations in Global Configuration Mode"; } } grouping mldsnoop_Db-group { description "Database"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository leaf type { config "false"; type ipmcsnoop_DbT; description "Database Type identifying the oper data to display"; } leaf totalMacCount { config "false"; type uint32; description "Total mac count"; } // Multicast Group records container mcgrp-items { list McGrpRec-list { config "false"; key "addr"; uses mldsnoop_McGrpRec-group; description "Multicast Group Record list"; } description "Multicast Group Record"; } } grouping mldsnoop_McGrpRec-group { description "Multicast Group Record"; leaf mldVersion { config "false"; type mld_Ver; description "Mld snooping version"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Group address leaf addr { config "false"; type mcast_GrpIp; description "Multicast Group Address"; } // EPG entries in mcast group record container epg-items { list EpgRec-list { config "false"; key "fabEncap"; uses mldsnoop_EpgRec-group; description "Endpoint Group Record list"; } description "Endpoint Group Record"; } // MLD report record snooped by mld-snoop application container rep-items { list ReportRec-list { config "false"; key "mcastSrc mldVersion"; uses mldsnoop_ReportRec-group; description "Report Record list"; } description "Report Record"; } } grouping mldsnoop_EpgRec-group { description "Endpoint Group Record"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf fabEncap { config "false"; type string; description "Fabric Encapsulation"; } // Epg id, identified using the circuit endpoint // id in the system leaf id { config "false"; type l2_DomId; description "Endpoint Group ID"; } // MLD report record snooped by mld-snoop application container rep-items { list ReportRec-list { config "false"; key "mcastSrc mldVersion"; uses mldsnoop_ReportRec-group; description "Report Record list"; } description "Report Record"; } } grouping mldsnoop_ReportRec-group { description "Report Record"; leaf mldVersion { config "false"; type mld_Ver; description "Mld snooping version"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast traffic source leaf mcastSrc { config "false"; type ipmcsnoop_McastSrc; description "Multicast Source Address"; } // Filter mode leaf filtMode { config "false"; type mcast_FiltMode; description "Filter Mode"; } // Filter mode leaf flags { config "false"; type ipmcsnoop_RepFlags; description "Flags"; } // OIF list (outgoing interface list) container oif-items { list OIFRec-list { config "false"; key "id"; uses mldsnoop_OIFRec-group; description "OIF Record list"; } description "OIF Record"; } } grouping mldsnoop_OIFRec-group { description "OIF Record"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast traffic source leaf id { config "false"; type nw_IfId; description "ID"; } // Host Record List (Used for Explicit Host Tracking) container host-items { list HostRec-list { config "false"; key "addr"; uses mldsnoop_HostRec-group; description "Host Record list"; } description "Host Record"; } } grouping mldsnoop_HostRec-group { description "Host Record"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf addr { config "false"; type address_Ip; description "Host Address"; } } grouping mldsnoop_DomStats-group { description "Domain Statistics"; } grouping mldsnoop_StRtrIf-group { description "MLD Static Router Interface"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { config "false"; type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { config "false"; type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { config "false"; type nw_IfAdminSt; description "Admin State"; } leaf encap { config "false"; type string; description "Enable Encapsulation when flooding packets"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping mldsnoop_RtrIf-group { description "Router Interface"; // Identifier for the if leaf id { config "false"; type nw_IfId; description "Router interface identifier"; } } grouping mldsnoop_Vlan-group { description "Holds MLD snooping vlan configurations"; leaf vlanid { type nw_IfId; description "Vlan ID for MLD Snooping Configuration"; } leaf rprtFldAllIntf { type boolean; description "Enable Report-Flood on all Active Interfaces of VLAN"; } leaf mldSnoop { type mldsnoop_MldSnoopVlan; description "Enable/Disable MLD Snooping per Vlan"; } // Circuit endpoint representing EPG container cktep-items { list CktEp-list { key "encap"; uses mldsnoop_CktEp-group; description "Represents Endpoint Encapsulation for a circuit list"; } description "Represents Endpoint Encapsulation for a circuit"; } // Multicast Snoop Configured statically container mcgrp-items { list StMcGrp-list { key "addr"; uses mldsnoop_StMcGrp-group; description "Holds Static IP Multicast Group Information list"; } description "Holds Static IP Multicast Group Information"; } // This objects is the parent for Interface config mode params container intf-items { list Intf-list { key "id"; uses mldsnoop_Intf-group; description "Holds MLD snooping Interface configurations list"; } description "Holds MLD snooping Interface configurations"; } container mldsnbase-items { uses mldsnoop_MldsnBase-group; description "Holds MLD Snooping Parameters for all Configuration Modes"; } // This objects holds MLD snooping timers for vlan container gtimers-items { uses mldsnoop_GTimers-group; description "Holds Global MLD Snooping Timers"; } // This objects holds multicast mac address table params container mactable-items { list MacTable-list { key "macAddress"; uses mldsnoop_MacTable-group; description "Holds MLD Snooping Mac-Address Table Configurations list"; } description "Holds MLD Snooping Mac-Address Table Configurations"; } // This objects holds multicast router snoop params container mrouter-items { uses mldsnoop_MRouter-group; description "Holds MLD Snooping Static Multicast Router Configurations"; } // This objects holds multicast proxy snoop params container proxy-items { uses mldsnoop_Proxy-group; description "Holds MLD Snooping Proxy Configurations"; } // Querier policy container querierp-items { uses mldsnoop_QuerierP-group; description "Holds MLD Snooping Querier Policy Configurations"; } // Route control policy for mld multicast snoop. container actrl-items { uses mldsnoop_ACtrl-group; description "Holds MLD Snooping Access Control Policy Configurations"; } // Report policy for mld multicast snoop container rpolicy-items { list RPolicy-list { key "rtMap"; uses mldsnoop_RPolicy-group; description "Holds MLD Snooping Report Policy Configurations list"; } description "Holds MLD Snooping Report Policy Configurations"; } } grouping mldsnoop_CktEp-group { description "Represents Endpoint Encapsulation for a circuit"; leaf encap { type string; description "Fabric Encapsulation"; } } grouping mldsnoop_StMcGrp-group { description "Holds Static IP Multicast Group Information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Multicast group address leaf addr { type mcast_GrpIp; description "Multicast Group IP Address"; } // IPMC Source IP container src-items { list McSrc-list { key "id"; uses mldsnoop_McSrc-group; description "Holds MLD Snooping Source Specific Information list"; } description "Holds MLD Snooping Source Specific Information"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses mldsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping mldsnoop_McSrc-group { description "Holds MLD Snooping Source Specific Information"; // Multicast traffic source leaf id { type ipmcsnoop_McastSrc; description "Multicast Source IP Address"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses mldsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping mldsnoop_TgtIf-group { description "Holds Outgoing Interface Information"; leaf vsi { type boolean; description "Specifies if this interface is VSI"; } leaf accGrp { type boolean; description "Specifies if this interface is Access group"; } leaf pfxList { type boolean; description "Specifies prefix list route map for this interface"; } // Target interface Id leaf id { type nw_IfId; description "Multicast Source IP Address"; } } grouping mldsnoop_Intf-group { description "Holds MLD snooping Interface configurations"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } leaf rtrGrdVlanId { type ipmcsnoop_RtrGrdVlanIdT; description "Router-Guard Vlan Identifier"; } leaf rtrGrdEnable { type boolean; description "Indicates if Router-Guard is Enabled on the Interface"; } leaf reportFlood { type boolean; description "Indicates if Report Flood is Enabled on the Interface"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping mldsnoop_MldsnBase-group { description "Holds MLD Snooping Parameters for all Configuration Modes"; leaf v2ReportSuppr { type mldsnoop_V2ReportSuppr; description "MLDv2 Report Suppression and Proxy Reporting"; } leaf llGrpSuppr { type ipmcsnoop_LlGrpSuppr; description "Link Local Group Suppression"; } leaf reportSuppr { type ipmcsnoop_ReportSuppr; description "IGMPv1/v2 report Suppression for VLAN"; } leaf expTracking { type ipmcsnoop_ExpTracking; description "Configures Explicit Host for a VLAN"; } leaf igmpSrcIpProxy { type ipmcsnoop_IgmpSrcIpProxy; description "Enable/Disable IGMP Src IP Proxy"; } } grouping mldsnoop_GTimers-group { description "Holds Global MLD Snooping Timers"; leaf fastLeave { type ipmcsnoop_FastLeave; description "Indicates if Fastleave is Enabled"; } // Group timeout // Default value handled in local MO type leaf grpTimeout { // Type is a Local-MO-Defined-Type type mcast_GrpTimeout_GTimers_grpTimeout { range "0..10081"; } description "Group Membership Timeout"; } leaf maxGqMiss { type ipmcsnoop_MaxGqMiss; description "Maximum General Query Miss Count"; } leaf useGrpAddr { type boolean; description "Use Group IP Address for Proxy-Leave"; } } grouping mldsnoop_MacTable-group { description "Holds MLD Snooping Mac-Address Table Configurations"; leaf macAddress { type address_Mac; description "Specify MAC Address for a VLAN/BD"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses mldsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } container mif-items { list MIf-list { key "intf"; uses mldsnoop_MIf-group; description "Holds MLD Snooping Multicast Router's Interface Configurations list"; } description "Holds MLD Snooping Multicast Router's Interface Configurations"; } } grouping mldsnoop_MIf-group { description "Holds MLD Snooping Multicast Router's Interface Configurations"; leaf intf { type string; description "Interface for Static-Mrouter"; } leaf vsi { type boolean; description "Specify Interface is VSI"; } } grouping mldsnoop_MRouter-group { description "Holds MLD Snooping Static Multicast Router Configurations"; // Global property leaf vpcPeerLink { type ipmcsnoop_Vpc; description "Specify vpc-peer-link as Static Mrouter for all VLAN/BD"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses mldsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } container mif-items { list MIf-list { key "intf"; uses mldsnoop_MIf-group; description "Holds MLD Snooping Multicast Router's Interface Configurations list"; } description "Holds MLD Snooping Multicast Router's Interface Configurations"; } } grouping mldsnoop_Proxy-group { description "Holds MLD Snooping Proxy Configurations"; leaf maxRespTime { type ipmcsnoop_Mrt; description "Configures MRT for Switch's Proxy General-Queries"; } } grouping mldsnoop_QuerierP-group { description "Holds MLD Snooping Querier Policy Configurations"; leaf mldsnVer { type mldsnoop_Ver; description "MLD snooping version"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Querier IP address leaf addr { type mcast_QuerierIp; description "Address"; } // Query interval leaf queryIntvl { type mcast_QueryIntvl; description "Query Interval"; } // Query response interval leaf rspIntvl { type mcast_QueryRspIntvl { range "1..25"; } description "Response Interval of Querier"; } // Robustness factor leaf robustFac { type mcast_RobustFactor; description "Robustness Factor"; } // Startup query interval leaf startQueryIntvl { type mcast_StartQueryIntvl; description "Startup Query Interval"; } // Startup query count leaf startQueryCnt { type mcast_QueryCnt; description "Startup Query Count"; } // Last member query interval leaf lastMbrIntvl { type mcast_LastMbrQueryIntvl; description "Last Member Query Interval"; } // Querier timeout leaf timeout { type mcast_QuerierTimeout; description "Configures Querier Timeout"; } } grouping mldsnoop_ACtrl-group { description "Holds MLD Snooping Access Control Policy Configurations"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Direction [in/out] leaf direction { type rtctrl_RtCtrlDir; description "Direction"; } leaf rtMap { type string; description "Route Map"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses mldsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping mldsnoop_RPolicy-group { description "Holds MLD Snooping Report Policy Configurations"; // Route map name to control the distribution leaf rtMap { type mldsnoop_RtMapType; description "Route Map Name to control the distribution"; } // Target Interface (outgoing interface list) container if-items { list TgtIf-list { key "id"; uses mldsnoop_TgtIf-group; description "Holds Outgoing Interface Information list"; } description "Holds Outgoing Interface Information"; } } grouping mldsnoop_BD-group { description "Holds MLD Snooping Bridge Domain Configurations"; leaf bdid { type nw_IfId; description "Bridge Domain Identifier"; } } grouping mldsnoop_Gl-group { description "Holds MLD Snooping Configurations in Global Configuration Mode"; container eventhist-items { list EventHistory-list { key "type"; uses mldsnoop_EventHistory-group; description "Holds MLD Snooping Event-History Buffer Configurations list"; } description "Holds MLD Snooping Event-History Buffer Configurations"; } container rtrgrd-items { uses mldsnoop_RtrGrd-group; description "Holds Router Guard Configuration for all switchports or specific vlan"; } container mldsnbase-items { uses mldsnoop_MldsnBase-group; description "Holds MLD Snooping Parameters for all Configuration Modes"; } // This objects holds traffic related snooping params container mctraf-items { uses mldsnoop_McTraf-group; description "Holds MLD Snooping Multicast Traffic Configurations"; } // This objects holds MLD snooping timers for vlan container gtimers-items { uses mldsnoop_GTimers-group; description "Holds Global MLD Snooping Timers"; } // This objects holds vlan specific MLD snooping params container gvlan-items { uses mldsnoop_GVlan-group; description "Holds MLD Snooping Vlan Specific Configurations"; } // This Object holds global debug container gdebug-items { uses mldsnoop_GDebug-group; description "Holds MLD Snooping Debugs Enabling Configuration"; } // This objects holds multicast router snoop params container mrouter-items { uses mldsnoop_MRouter-group; description "Holds MLD Snooping Static Multicast Router Configurations"; } // This objects holds multicast proxy snoop params container proxy-items { uses mldsnoop_Proxy-group; description "Holds MLD Snooping Proxy Configurations"; } } grouping mldsnoop_EventHistory-group { description "Holds MLD Snooping Event-History Buffer Configurations"; leaf type { type mldsnoop_EhType; description "configures type of event history{rib/vpc/vlan/vlanev/mfdm/mfdm-ev}"; } leaf size { type mldsnoop_Size; description "configures buffer size in text/kb"; } } grouping mldsnoop_RtrGrd-group { description "Holds Router Guard Configuration for all switchports or specific vlan"; leaf state { type boolean; description "Configures Router Guard for Multicast packets on all switchports"; } } grouping mldsnoop_McTraf-group { description "Holds MLD Snooping Multicast Traffic Configurations"; leaf holddownTimer { type mcast_HolddownTimer; description "Configures Initial Holddown Period After Switchover/Restart"; } } grouping mldsnoop_GVlan-group { description "Holds MLD Snooping Vlan Specific Configurations"; leaf mldSnoop { type mldsnoop_MldSnoopGl; description "Enable/Disable MLD Snooping globally"; } leaf disableNveStRtrPort { type ipmcsnoop_DisableNveStRtrPort; description "Disable NVE Static Router Port"; } leaf vxlan { type ipmcsnoop_Vxlan; description "Enable Snooping on all VXLAN Vlan(s) "; } leaf vxlanUmcDropVlan { type ipmcsnoop_VxlanVlanRange; description "Drop Unknown Multicast Traffic on Vlan(s) - Range 1-3967"; } } grouping mldsnoop_GDebug-group { description "Holds MLD Snooping Debugs Enabling Configuration"; leaf syslogThreshold { type ipmcsnoop_SyslogThrshold; description "IGMP Snooping Syslog Threshold Percentage"; } } grouping mldsnoop_InstStats-group { description "Instance Statistics"; } grouping mplsldp_LDP-group { description "MPLS LDP Entity, anchoring all LDP specific MOs"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Platform wide LDP state container ldpbindings-items { uses mplsldp_LdpBindings-group; description "Global LDP binding state"; } // Neibgbor discovery operational state container discovery_state-items { uses mplsldp_DiscoveryState-group; description "Neibgbor discovery operational state"; } // Platform wide LDP state container global-items { uses mplsldp_Global-group; description "Platform wide LDP configuration and state"; } // Contains LDP IGP synchronization information container igp_sync-items { uses mplsldp_IgpSync-group; description "IGP Synchronization Information"; } // LDP Label Advertisements container advlbl-items { uses mplsldp_AdvLbl-group; description "Control if labels are advertised. When this MO exists, labels are advertised (the default). When this MO does not exist, no labels will be advertised to neighbors."; } // LDP Label Advertisements for prefix list container advlblpfx-items { list AdvLblPfx-list { key "pfxList"; uses mplsldp_AdvLblPfx-group; description "Advertises local labels for some destination prefixes list"; } description "Advertises local labels for some destination prefixes"; } // LDP Label Advertisements interface container advlblintf-items { list AdvLblIntf-list { key "interface"; uses mplsldp_AdvLblIntf-group; description "Advertises local labels for a particular interface list"; } description "Advertises local labels for a particular interface"; } // LDP Session backoff parameters container backoffparams-items { uses mplsldp_BackoffParams-group; description "LDP Session backoff parameters"; } // LDP Discovery container discovery-items { uses mplsldp_Discovery-group; description "Anchors configuration related to LDP neighbor discovery"; } // LDP Explicit Null container explicitnull-items { uses mplsldp_ExplicitNull-group; description "LDP Explicit Null advertises an explicit-null label in situations where an implicit-null label would normally be advertised"; } // LDP Explicit Null for prefix list container explnullforlist-items { uses mplsldp_ExplNullForList-group; description "Controls which label bindings will be advertised as explicit-null rather than inplicit-null"; } // LDP Explicit Null to access list container explnulltolist-items { uses mplsldp_ExplNullToList-group; description "Controls to which neighbors label bindings will be advertised as explicit-null rather than implicit-null"; } // LDP Graceful restart container gr-items { uses mplsldp_Gr-group; description "LDP Graceful restart parameters"; } // LDP session holdtime container holdtime-items { uses mplsldp_HoldTime-group; description "LDP session holdtime parameters"; } // LDP logging neighbor, password, rollover changes container logging-items { uses mplsldp_Logging-group; description "LDP logging parameters"; } // LDP default route container defaultroute-items { uses mplsldp_DefaultRoute-group; description "Allow MPLS forwarding for ip default route"; } // LDP neighbor Parameters container neighbor-items { list Neighbor-list { key "nbrAddr"; uses mplsldp_Neighbor-group; description "LDP neighbor parameters class list"; } description "LDP neighbor parameters class"; } // LDP Password container password-items { uses mplsldp_Password-group; description "Anchors configuration related to LDP password parameters"; } // LDP router id container routerid-items { uses mplsldp_RouterId-group; description "LDP router id class"; } // LDP session protection container sessprot-items { uses mplsldp_SessProt-group; description "Enables LDP sessions to be protected during a link failure. It protects all LDP sessions, unless you specify a prefix list"; } // LDP label allocate global container labelallocate-items { uses mplsldp_LabelAllocate-group; description "Configures local label allocation filters for MPLS LDP"; } // Peers operational state container peers-items { list Peers-list { config "false"; key "peerLsrId"; uses mplsldp_Peers-group; description "Peers operational state list"; } description "Peers operational state"; } // This object holds MPLS LDP information that is operated at a // interface level container if-items { list If-list { key "id"; uses mplsldp_If-group; description "Object holds LDP information that is operated at interface level list"; } description "Object holds LDP information that is operated at interface level"; } } grouping mplsldp_LdpBindings-group { description "Global LDP binding state"; // Per address family operational state container address_families-items { uses mplsldp_BindingAddressFamilies-group; description "Per address family operational state"; } } grouping mplsldp_BindingAddressFamilies-group { description "Per address family operational state"; // Containing data related to the IPv4 address family container ipv4-items { uses mplsldp_BindingIpv4-group; description "Containing data related to the IPv4 address family"; } } grouping mplsldp_BindingIpv4-group { description "Containing data related to the IPv4 address family"; // LDP address and label binding information container bindings-items { uses mplsldp_BindingList-group; description "LDP address and label binding information"; } } grouping mplsldp_BindingList-group { description "LDP address and label binding information"; leaf localLabelFilteringSpecifications { config "false"; type mplsldp_LocalLabelFilteringSpecifications; description "LDP Local Label Filtering Specifications"; } // LDP Advertisement Specifications container advertisement_specifications-items { uses mplsldp_BindingAdvertisementSpecifications-group; description "LDP Advertisement Specifications"; } // List of address bindings learned by LDP // Ephemeral data container address-items { // Ephemeral data list BindingAddress-list { config "false"; key "address"; uses mplsldp_BindingAddress-group; description "List of address bindings learned by LDP list"; } description "List of address bindings learned by LDP"; } } grouping mplsldp_BindingAdvertisementSpecifications-group { description "LDP Advertisement Specifications"; leaf oldStyleAssignmentOfPrefixAcls { config "false"; type boolean; description "LDP Advertisement Specifications - Old Style Assignment of Prefix ACLs to Entries"; } leaf peerAcl { config "false"; type mplsldp_AclType; description "LDP Advertisement Specifications - Peer ACL"; } leaf prefixAcl { config "false"; type mplsldp_AclType; description "LDP Advertisement Specifications - Prefix ACL"; } } grouping mplsldp_BindingAddress-group { description "List of address bindings learned by LDP"; // Ephemeral data leaf address { config "false"; type address_Ip; description "The IPv4 address learned from an Address message received from or advertised to a peer"; } // Ephemeral data leaf localtag { config "false"; type mplsldp_LocalBindingTag; description "The label value in the local binding"; } // List of LDP peers from which this address is received // Ephemeral data container peer-items { // Ephemeral data list BindingPeer-list { config "false"; key "lsrId"; uses mplsldp_BindingPeer-group; description "LDP peer from which this address is received list"; } description "LDP peer from which this address is received"; } // List of LDP peer to which this binding is advertised // Ephemeral data container advertisedtolist-items { // Ephemeral data list BindingAdvertisedToList-list { config "false"; key "lsrId"; uses mplsldp_BindingAdvertisedToList-group; description "LDP peer to which this address is advertised list"; } description "LDP peer to which this address is advertised"; } } grouping mplsldp_BindingPeer-group { description "LDP peer from which this address is received"; // Ephemeral data leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } // Ephemeral data leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } // Ephemeral data leaf remotetag { config "false"; type mplsldp_RemoteBindingTag; description "The label value in the remote binding"; } } grouping mplsldp_BindingAdvertisedToList-group { description "LDP peer to which this address is advertised"; // Ephemeral data leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } // Ephemeral data leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } } grouping mplsldp_DiscoveryState-group { description "Neibgbor discovery operational state"; // List of interfaces for LDP Basic Descovery container interfaces-items { list Interfaces-list { config "false"; key "ifIdString"; uses mplsldp_Interfaces-group; description "List of interfaces for LDP Basic Discovery list"; } description "List of interfaces for LDP Basic Discovery"; } // List of targeted neighbors for extended discovery container targeted-items { list Targeted-list { config "false"; key "name"; uses mplsldp_Targeted-group; description "List of targeted neighbors for extended discovery list"; } description "List of targeted neighbors for extended discovery"; } } grouping mplsldp_Interfaces-group { description "List of interfaces for LDP Basic Discovery"; leaf ifId { config "false"; type nw_IfId; description "Interface id used for LDP Basic Discovery"; } leaf ifIdString { config "false"; type mplsldp_InterfaceString; description "Interface id name used for LDP Basic Discovery"; } leaf interfaceStatus { config "false"; type mplsldp_InterfaceStatus; description "Discovery interface status"; } leaf interfaceEnableStatus { config "false"; type mplsldp_InterfaceEnableStatus; description "Discovery interface enable status"; } leaf nexthello { config "false"; type uint32; description "The time when the next Hello message will be sent (s)"; } leaf helloInterval { config "false"; type uint32; description "LDP adjacency hello interval (s)"; } leaf transportIpAddress { config "false"; type address_Ip; description "LDP adjacency transport IP address"; } leaf clients { config "false"; type mplsldp_IntfClients; description "Hello adjacency clients"; } // Per address family operational state container discovery_address_families-items { uses mplsldp_DiscoveryAddressFamilies-group; description "Per address family operational state"; } } grouping mplsldp_DiscoveryAddressFamilies-group { description "Per address family operational state"; // Containing data related to the IPv4 address family container discovery_ipv4-items { uses mplsldp_DiscoveryIpv4-group; description "Containing data related to the IPv4 address family"; } } grouping mplsldp_DiscoveryIpv4-group { description "Containing data related to the IPv4 address family"; // Containing a list of hello adjacencies container hello_adjacencies-items { uses mplsldp_HelloAdjacencies-group; description "Containing a list of hello adjacencies"; } } grouping mplsldp_HelloAdjacencies-group { description "Containing a list of hello adjacencies"; // List of hello adjacencies container hello_adjacency-items { uses mplsldp_HelloAdjacency-group; description "List of hello adjacencies"; } } grouping mplsldp_HelloAdjacency-group { description "List of hello adjacencies"; leaf adjacentaddress { config "false"; type address_Ip; description "Neighbor address of the hello adjacency"; } leaf transportaddress { config "false"; type address_Ip; description "Transport address of the hello adjacency"; } leaf reachabilityaddress { config "false"; type address_Ip; description "Reachability address of the hello adjacency"; } leaf nexthello { config "false"; type uint16; description "The time when the next Hello message will be sent (s)"; } leaf password { config "false"; type mplsldp_LdpPasswordStatus; description "Hello adjacency password information"; } // Containing hello holdtime state information container hello_holdtime-items { uses mplsldp_HelloHoldtime-group; description "Containing hello holdtime state information"; } // A container containing an absolute reference to an LDP peer container ldp_peer-items { uses mplsldp_LdpPeer-group; description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; } } grouping mplsldp_HelloHoldtime-group { description "Containing hello holdtime state information"; leaf adjacent { config "false"; type uint32; description "The holdtime value learned from the adjacent LSR (s)"; } leaf negotiated { config "false"; type uint32; description "The holdtime negotiated between this LSR and the adjacent LSR (s)"; } leaf holdtime { config "false"; type uint32; description "The current holdtime for this LSR (s)"; } leaf remaining { config "false"; type uint32; description "The time remaining until the holdtime timer expires (s)"; } } grouping mplsldp_LdpPeer-group { description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } } grouping mplsldp_Targeted-group { description "List of targeted neighbors for extended discovery"; leaf name { config "false"; type mplsldp_TargetedHelloIdentifier; description "The targeted hello entry identifier"; } leaf interfaceState { config "false"; type mplsldp_TargetedInterfaceState; description "Targeted Hello State"; } leaf transmissionState { config "false"; type mplsldp_InterfaceStatus; description "Targeted Hello Transmission State"; } leaf helloInterval { config "false"; type uint32; description "LDP adjacency hello interval (s)"; } leaf transportIpAddress { config "false"; type address_Ip; description "LDP adjacency transport IP address"; } // Per address family operational state container tgt_address_families-items { uses mplsldp_TargetedAddressFamilies-group; description "Per address family operational state"; } } grouping mplsldp_TargetedAddressFamilies-group { description "Per address family operational state"; // Containing data related to the IPv4 address family container targeted_ipv4-items { uses mplsldp_TargetedIpv4-group; description "Containing data related to the IPv4 address family"; } } grouping mplsldp_TargetedIpv4-group { description "Containing data related to the IPv4 address family"; // Containing a list of hello adjacencies container targeted_hello_adjacencies-items { uses mplsldp_TargetedHelloAdjacencies-group; description "Containing a list of hello adjacencies"; } } grouping mplsldp_TargetedHelloAdjacencies-group { description "Containing a list of hello adjacencies"; // List of hello adjacencies container targeted_hello_adjacency-items { uses mplsldp_TargetedHelloAdjacency-group; description "List of hello adjacencies"; } } grouping mplsldp_TargetedHelloAdjacency-group { description "List of hello adjacencies"; leaf adjacentaddress { config "false"; type address_Ip; description "Neighbor address of the hello adjacency"; } leaf transportaddress { config "false"; type address_Ip; description "Transport address of the hello adjacency"; } leaf reachabilityaddress { config "false"; type address_Ip; description "Reachability address of the hello adjacency"; } leaf nexthello { config "false"; type uint16; description "The time when the next Hello message will be sent (s)"; } leaf password { config "false"; type mplsldp_LdpPasswordStatus; description "Hello adjacency password information"; } // Containing hello holdtime state information container targeted_hello_holdtime-items { uses mplsldp_TargetedHelloHoldtime-group; description "Containing hello holdtime state information"; } // A container containing an absolute reference to an LDP peer container targeted_ldp_peer-items { uses mplsldp_TargetedLdpPeer-group; description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; } } grouping mplsldp_TargetedHelloHoldtime-group { description "Containing hello holdtime state information"; leaf adjacent { config "false"; type uint32; description "The holdtime value learned from the adjacent LSR (s)"; } leaf negotiated { config "false"; type uint32; description "The holdtime negotiated between this LSR and the adjacent LSR (s)"; } leaf holdtime { config "false"; type uint32; description "The current holdtime for this LSR (s)"; } leaf remaining { config "false"; type uint32; description "The time remaining until the holdtime timer expires (s)"; } } grouping mplsldp_TargetedLdpPeer-group { description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } } grouping mplsldp_Global-group { description "Platform wide LDP configuration and state"; // Per address family operational state container address_families-items { uses mplsldp_AddressFamilies-group; description "Per address family operational state"; } // Contains LDP backoff configuration information container backoff-items { uses mplsldp_Backoff-group; description "LDP Backoff Configuration Information"; } // Contains LDP graceful restart configuration information container graceful_restart_state-items { uses mplsldp_GracefulRestartState-group; description "LDP Graceful Restart Configuration Information"; } // Contains LDP capabilities information container capabilities-items { list Capabilities-list { config "false"; key "capability"; uses mplsldp_Capabilities-group; description "LDP Capabilities Information list"; } description "LDP Capabilities Information"; } // Contains LDP configuration parameters Information container parameters-items { uses mplsldp_Parameters-group; description "LDP Configuration Parameters Information"; } } grouping mplsldp_AddressFamilies-group { description "Per address family operational state"; // Containing data related to the IPv4 address family container ipv4-items { uses mplsldp_Ipv4-group; description "Containing data related to the IPv4 address family"; } } grouping mplsldp_Ipv4-group { description "Containing data related to the IPv4 address family"; // LDP address and label binding information container bindings-items { uses mplsldp_Bindings-group; description "LDP address and label binding information"; } } grouping mplsldp_Bindings-group { description "LDP address and label binding information"; leaf localLabelFilteringSpecifications { config "false"; type mplsldp_LocalLabelFilteringSpecifications; description "LDP Local Label Filtering Specifications"; } // List of address bindings learned by LDP container address-items { list Address-list { config "false"; key "address"; uses mplsldp_Address-group; description "List of address bindings learned by LDP list"; } description "List of address bindings learned by LDP"; } // Contains LDP Bindings Summary Information container summary-items { list Summary-list { config "false"; key "peer"; uses mplsldp_Summary-group; description "LDP Bindings Summary Information list"; } description "LDP Bindings Summary Information"; } } grouping mplsldp_Address-group { description "List of address bindings learned by LDP"; leaf address { config "false"; type address_Ip; description "The IPv4 address learned from an Address message received from or advertised to a peer"; } leaf localtag { config "false"; type mplsldp_LocalBindingTag; description "The label value in the local binding"; } // LDP Advertisement Specifications container advertisement_specifications-items { uses mplsldp_AdvertisementSpecifications-group; description "LDP Advertisement Specifications"; } // List of LDP peers from which this address is received container peer-items { list Peer-list { config "false"; key "lsrId"; uses mplsldp_Peer-group; description "LDP peer from which this address is received list"; } description "LDP peer from which this address is received"; } // List of LDP peer to which this binding is advertised container advertised_to_list-items { list AdvertisedToList-list { config "false"; key "lsrId"; uses mplsldp_AdvertisedToList-group; description "LDP peer to which this address is advertised list"; } description "LDP peer to which this address is advertised"; } } grouping mplsldp_AdvertisementSpecifications-group { description "LDP Advertisement Specifications"; leaf oldStyleAssignmentOfPrefixAcls { config "false"; type boolean; description "LDP Advertisement Specifications - Old Style Assignment of Prefix ACLs to Entries"; } leaf peerAcl { config "false"; type mplsldp_AclType; description "LDP Advertisement Specifications - Peer ACL"; } leaf prefixAcl { config "false"; type mplsldp_AclType; description "LDP Advertisement Specifications - Prefix ACL"; } } grouping mplsldp_Peer-group { description "LDP peer from which this address is received"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } leaf remotetag { config "false"; type mplsldp_RemoteBindingTag; description "The label value in the remote binding"; } } grouping mplsldp_AdvertisedToList-group { description "LDP peer to which this address is advertised"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } } grouping mplsldp_Summary-group { description "LDP Bindings Summary Information"; leaf peer { config "false"; type mplsldp_BindingSummaryPeerType; description "LDP Bindings Summary - Peer"; } leaf totalPrefixes { config "false"; type uint32; description "LDP Bindings Summary - Total Number of Prefixes"; } leaf totalInLabels { config "false"; type uint32; description "LDP Bindings Summary - Total Number of In Labels"; } leaf totalOutLabels { config "false"; type uint32; description "LDP Bindings Summary - Total Number of Out Labels"; } leaf totalTibRouteAllocated { config "false"; type uint32; description "LDP Bindings Summary - Total tib Route Info Allocated"; } leaf totalPreviousTibRemoteLabelEntries { config "false"; type uint32; description "LDP Bindings Summary - Total Previous tib Remote Label Entries"; } leaf currentPreviousTibRemoteLabelEntries { config "false"; type uint32; description "LDP Bindings Summary - Current Previous tib Remote Label Entries"; } leaf totalPreviousTibRemoteLabelQueues { config "false"; type uint32; description "LDP Bindings Summary - Total Previous tib Remote Label Queues"; } leaf currentPreviousTibRemoteLabelQueues { config "false"; type uint32; description "LDP Bindings Summary - Current Previous tib Remote Label Queues"; } } grouping mplsldp_Backoff-group { description "LDP Backoff Configuration Information"; leaf initialBackoff { config "false"; type mplsldp_InitBackoff; description "LDP Session Initial Backoff (s)"; } leaf maximumBackoff { config "false"; type mplsldp_MaxBackoff; description "LDP Session Maximum Backoff (s)"; } } grouping mplsldp_GracefulRestartState-group { description "LDP Graceful Restart Configuration Information"; leaf adminConfig { config "false"; type boolean; description "Is LDP graceful restart enabled or not ?"; } leaf forwardingHolding { config "false"; type mplsldp_FwdHoldTime; description "Interval for keeping the node in recovery mode (s)"; } leaf maxRecovery { config "false"; type mplsldp_RecoveryTime; description "Time for the remote peer to maintain the MPLS forwarding state after the local node has succesfully reconnected (s)"; } leaf neighborLiveness { config "false"; type mplsldp_NbrLiveTime; description "Time for which the remote LDP peers will wait for the local node to reconnect after a failure (s)"; } // Contains list of LDP down neighbor information container down_neighbor-items { list DownNeighbor-list { config "false"; key "peerlsrId"; uses mplsldp_DownNeighbor-group; description "List of LDP Down Neighbor Information list"; } description "List of LDP Down Neighbor Information"; } // Contains list of LDP graceful restart enabled session information container grsession-items { list GrSession-list { config "false"; key "lsrId"; uses mplsldp_GrSession-group; description "List of LDP Graceful Restart Enabled Session Information list"; } description "List of LDP Graceful Restart Enabled Session Information"; } } grouping mplsldp_DownNeighbor-group { description "List of LDP Down Neighbor Information"; leaf status { config "false"; type mplsldp_DownNeighborStatus; description "Down neighbor status"; } leaf peerlsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf peerlabelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } leaf locallsrId { config "false"; type address_Ip; description "The LSR ID of the local LDP identifier, as a portion of the local LDP ID"; } leaf locallabelSpaceId { config "false"; type uint32; description "The Label Space ID of the local LDP identifier, as a portion of the local LDP ID"; } } grouping mplsldp_GrSession-group { description "List of LDP Graceful Restart Enabled Session Information"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } leaf state { config "false"; type mplsldp_PeerStateType; description "Graceful restart enabled session state"; } } grouping mplsldp_Capabilities-group { description "LDP Capabilities Information"; leaf capability { config "false"; type mplsldp_CapabilityDescription; description "Capability supported by LDP"; } } grouping mplsldp_Parameters-group { description "LDP Configuration Parameters Information"; leaf featureSetManagerState { config "false"; type mplsldp_FeaturesetManagerStateType; description "LDP Configuration Parameters - Feature Set Manager State"; } leaf protocolVersion { config "false"; type uint32; default "1"; description "LDP Configuration Parameters - Protocol Version"; } leaf sessionHoldTime { config "false"; type uint32; default "180"; description "LDP Configuration Parameters - Session Hold Time (s)"; } leaf overrideSessionHoldTime { config "false"; type mplsldp_enableDisableFlagType; description "LDP Configuration Parameters - Override Adjacency Session Hold Time"; } leaf keepAliveInterval { config "false"; type uint32; default "60"; description "LDP Configuration Parameters - Keep Alive Interval (s)"; } leaf discoveryHelloHoldTime { config "false"; type uint32; default "15"; description "LDP Configuration Parameters - Discovery Hello Hold Time (s)"; } leaf discoveryHelloInterval { config "false"; type uint32; default "5"; description "LDP Configuration Parameters - Discovery Hello Interval (s)"; } leaf discoveryTargetedHelloHoldTime { config "false"; type uint32; default "90"; description "LDP Configuration Parameters - Discovery Targeted Hello Hold Time (s)"; } leaf discoveryTargetedHelloInterval { config "false"; type uint32; default "10"; description "LDP Configuration Parameters - Discovery Targeted Hello Interval (s)"; } leaf acceptingTargetedHellos { config "false"; type mplsldp_enableDisableFlagType; description "LDP Configuration Parameters - Accepting Targeted Hellos"; } leaf targetedHellosAcl { config "false"; type mplsldp_AclType; description "LDP Configuration Parameters - Targeted Hello ACL"; } leaf omittingTransportAddressOptionTransmittedHellos { config "false"; type mplsldp_enableDisableFlagType; description "LDP Configuration Parameters - Omitting transport address option in transmitted hellos ?"; } leaf ignoringTransportAddressOptionReceivedHellos { config "false"; type mplsldp_enableDisableFlagType; description "LDP Configuration Parameters - Ignoring transport address option in received hellos"; } leaf acceptingUndirectedHellosNonbroadcastAddresses { config "false"; type mplsldp_enableDisableFlagType; description "LDP Configuration Parameters - Accepting undirected hellos to non-broadcast addresses"; } leaf downstreamOnDemandMaxHopCount { config "false"; type uint8; default "255"; description "LDP Configuration Parameters - Downstream on Demand Max Hop Count"; } leaf protocolType { config "false"; type mplsldp_ParametersProtocolType; description "LDP Configuration Parameters - Protocol Type"; } leaf loopDetection { config "false"; type mplsldp_LoopDetectionType; description "LDP Loop Detection Enabled ?"; } // Contains LDP Configuration Parameters Information - Features container features-items { list Features-list { config "false"; key "feature"; uses mplsldp_Features-group; description " LDP Configuration Parameters - Features list"; } description " LDP Configuration Parameters - Features"; } } grouping mplsldp_Features-group { description " LDP Configuration Parameters - Features"; leaf feature { config "false"; type mplsldp_FeatureType; description "LDP Configuration Parameters - Feature Name"; } } grouping mplsldp_IgpSync-group { description "IGP Synchronization Information"; // Per interface IGP synchronization information container igp_sync_interface-items { list IgpSyncInterface-list { config "false"; key "ifIdString"; uses mplsldp_IgpSyncInterface-group; description "Per interface IGP synchronization information list"; } description "Per interface IGP synchronization information"; } } grouping mplsldp_IgpSyncInterface-group { description "Per interface IGP synchronization information"; leaf ifIdString { config "false"; type mplsldp_InterfaceString; description "Interface id name used for IGP synchronization"; } leaf ifId { config "false"; type nw_IfId; description "LDP IGP Synchronization Interface Id"; } leaf status { config "false"; type mplsldp_LdpIgpStatusType; description "LDP IGP Synchronization Status"; } leaf syncEnableStatus { config "false"; type mplsldp_LdpIgpSyncEnableType; description "LDP IGP Synchronization Enable Status"; } leaf syncStatus { config "false"; type mplsldp_LdpIgpSyncStatusType; description "LDP IGP Synchronization Sync Status"; } leaf peerStatus { config "false"; type mplsldp_LdpIgpPeerStatusType; description "LDP IGP Synchronization Peer Reachable Status"; } leaf syncDelayTime { config "false"; type uint32; description "LDP IGP Synchronization Delay Time Value (s)"; } leaf syncDelayTimeLeft { config "false"; type uint64; description "LDP IGP Synchronization Delay Time Left Value (s)"; } leaf igpHoldDownTime { config "false"; type uint32; description "LDP IGP Synchronization IGP Hold Down Time (ms)"; } leaf grEnabled { config "false"; type boolean; description "LDP Discovery Information - Graceful Enabled for Session"; } leaf igpEnabled { config "false"; type mplsldp_IgpEnabledType; description "LDP Discovery Information - IGP that Enabled Sync"; } // LDP IGP Sync Peer information container igp_sync_peer-items { uses mplsldp_IgpSyncPeer-group; description "LDP IGP Sync Peer Information"; } } grouping mplsldp_IgpSyncPeer-group { description "LDP IGP Sync Peer Information"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } } grouping mplsldp_AdvLbl-group { description "Control if labels are advertised. When this MO exists, labels are advertised (the default). When this MO does not exist, no labels will be advertised to neighbors."; leaf advLbl { type boolean; default "true"; description "The advLbl property enables the label advertisements"; } } grouping mplsldp_AdvLblPfx-group { description "Advertises local labels for some destination prefixes"; leaf pfxList { type mplsldp_LdpPrefixListName; description "Prefix list specifying controls on destination prefixes"; } leaf peerPfxList { type mplsldp_LdpPrefixListName; description "Prefix list specifying controls on LDP peers"; } } grouping mplsldp_AdvLblIntf-group { description "Advertises local labels for a particular interface"; leaf interface { type nw_IfId; description "Advertise /32 interface address"; } } grouping mplsldp_BackoffParams-group { description "LDP Session backoff parameters"; leaf initBackoff { type mplsldp_InitBackoff; description "Initial session backoff time (seconds)"; } leaf maxBackoff { type mplsldp_MaxBackoff; description "Maximum session backoff time (seconds)"; } } grouping mplsldp_Discovery-group { description "Anchors configuration related to LDP neighbor discovery"; // LDP Discovery Hello container discoveryhello-items { uses mplsldp_DiscoveryHello-group; description "LDP Discovery hello parameters"; } // LDP Discovery Targeted Hello container discoverytgthello-items { uses mplsldp_DiscoveryTgtHello-group; description "LDP Discovery Targeted Hello parameters"; } } grouping mplsldp_DiscoveryHello-group { description "LDP Discovery hello parameters"; leaf helloHoldtime { type mplsldp_HelloHoldTime; description "LDP discovery Hello holdtime defines the period of time that a discovered LDP neighbor is remembered without receipt of an LDP hello message from the neighbor. The range is from 1 to 65535 seconds"; } leaf helloIntvl { type mplsldp_IntvlTime; description "LDP discovery Hello interval defines the period of time between the sending of consecutive hello messages. The range is from 1 to 65535 seconds"; } } grouping mplsldp_DiscoveryTgtHello-group { description "LDP Discovery Targeted Hello parameters"; leaf tgtHelloHoldtime { type mplsldp_TgtHoldTime; description "LDP discovery Targeted Hello holdtime defines the period of time that a discovered LDP neighbor is remembered without receipt of an LDP hello message from the neighbor. The range is from 1 to 65535 seconds"; } leaf tgtHelloIntvl { type mplsldp_TgtIntvlTime; description "LDP discovery Targeted Hello interval defines the period of time between the sending of consecutive hello messages. The range is from 1 to 65535 seconds"; } // LDP Discovery target hello accept container distgthelloaccept-items { uses mplsldp_DisTgtHelloAccept-group; description "LDP Discovery target hello accept parameters"; } } grouping mplsldp_DisTgtHelloAccept-group { description "LDP Discovery target hello accept parameters"; leaf accept { type boolean; default "true"; description "The accept property configures the router to respond to requests for targeted-hello messages from all neighbors"; } leaf pfxList { type mplsldp_LdpPrefixListName; description "Neighbor prefix list to specify acceptable targeted hello sources"; } } grouping mplsldp_ExplicitNull-group { description "LDP Explicit Null advertises an explicit-null label in situations where an implicit-null label would normally be advertised"; leaf explicitNull { type boolean; default "true"; description "The explicitNull property advertises Explicit Null label in place of Implicit Null"; } } grouping mplsldp_ExplNullForList-group { description "Controls which label bindings will be advertised as explicit-null rather than inplicit-null"; leaf forPfxList { type mplsldp_LdpPrefixListName; description "Prefix list specifying controls on destination prefixes"; } leaf toPfxList { type mplsldp_LdpPrefixListName; description "Access list specifying controls on LDP peers"; } } grouping mplsldp_ExplNullToList-group { description "Controls to which neighbors label bindings will be advertised as explicit-null rather than implicit-null"; leaf toPfxList { type mplsldp_LdpPrefixListName; description "Access list specifying controls on LDP peers"; } } grouping mplsldp_Gr-group { description "LDP Graceful restart parameters"; leaf graceful { type boolean; default "true"; description "The graceful property configures LDP graceful restart"; } leaf forwardingHoldtime { type mplsldp_FwdHoldTime; description "LDP forwarding state holding time. Specifies the amount of time the MPLS forwarding state should be preserved after the control plane restarts."; } leaf recoveryTime { type mplsldp_RecoveryTime; description "LDP maximum recovery time. Specifies the amount of time a router should hold stale label-FEC bindings after an LDP session has been reestablished."; } leaf neighborLivenessTime { type mplsldp_NbrLiveTime; description "LDP Neighbor-Liveness time. Specifies the amount of time a router should wait for an LDP session to be reestablished."; } } grouping mplsldp_HoldTime-group { description "LDP session holdtime parameters"; leaf infinite { type boolean; default "false"; description "Ignore LDP session holdtime"; } leaf sessionHoldTime { type mplsldp_SessionHoldTime; description "LDP session holdtime specifies how long an LDP session is maintained in the absence of LDP messages from the session peer. The range is from 15 to 65535 seconds"; } } grouping mplsldp_Logging-group { description "LDP logging parameters"; leaf nbrChanges { type boolean; default "true"; description "Log LDP neighbor state changes"; } leaf config { type boolean; default "true"; description "Log LDP password configuration changes"; } leaf configRateLimit { type mplsldp_RateLimit; description "LDP logging password configuration rate limit"; } leaf rollover { type boolean; default "true"; description "Log LDP password rollover events"; } leaf rolloverRateLimit { type mplsldp_RateLimit; description "LDP logging password rollover rate limit"; } } grouping mplsldp_DefaultRoute-group { description "Allow MPLS forwarding for ip default route"; leaf defaultRoute { type boolean; default "true"; description "Allow MPLS forwarding for ip default route"; } } grouping mplsldp_Neighbor-group { description "LDP neighbor parameters class"; leaf nbrAddr { type address_Ip; description "IP address for LDP neighbor"; } leaf implicitWithdraw { type boolean; default "false"; description "Enable LDP neighbor implicit withdraw"; } leaf pfxList { type mplsldp_LdpPrefixListName; description "Specifies the prefix list to be used to filter label bindings for the specified LDP neighbor."; } leaf targeted { type boolean; default "false"; description "Establish LDP targeted session"; } } grouping mplsldp_Password-group { description "Anchors configuration related to LDP password parameters"; // LDP Password fallback class container passwordfallback-items { uses mplsldp_PasswordFallback-group; description "Configures a backup MD5 keychain for peers that have no keychain configured"; } // LDP Password option container passwordoption-items { list PasswordOption-list { key "seqNum"; uses mplsldp_PasswordOption-group; description "Configures an MD5 password for LDP sessions with neighbors whose LDP router IDs are permitted by a specified prefix list list"; } description "Configures an MD5 password for LDP sessions with neighbors whose LDP router IDs are permitted by a specified prefix list"; } // LDP Password required container passwordrequired-items { uses mplsldp_PasswordRequired-group; description "Specifies that LDP must use a password when establishing a session between LDP peers."; } } grouping mplsldp_PasswordFallback-group { description "Configures a backup MD5 keychain for peers that have no keychain configured"; leaf keyChain { type string; description "The key-chain keychain-name keyword-argument pair specifies a keychain of multiple MD5 keys to be used for the LDP sessions."; } } grouping mplsldp_PasswordOption-group { description "Configures an MD5 password for LDP sessions with neighbors whose LDP router IDs are permitted by a specified prefix list"; leaf seqNum { type mplsldp_SeqNum; description "The number argument defines the order in which the prefix lists are evaluated in the determination of a neighbor password. The valid range is from 1 to 32767."; } leaf pfxList { type mplsldp_LdpPrefixListName; description "Specifies the name of the prefix list that includes the LDP router IDs of those neighbors for which the password applies"; } leaf keyChain { type string; description "Specifies a keychain of multiple MD5 keys to be used for the LDP sessions."; } } grouping mplsldp_PasswordRequired-group { description "Specifies that LDP must use a password when establishing a session between LDP peers."; leaf required { type boolean; default "true"; description "Specifies that LDP must use a password when establishing a session between LDP peers."; } leaf reqPfxList { type mplsldp_LdpPrefixListName; description "Specifies a prefix list, which specifies that a password is mandatory only for LDP sessions with neighbors whose LDP router IDs are permitted by the list"; } } grouping mplsldp_RouterId-group { description "LDP router id class"; leaf force { type boolean; default "false"; description "LDP router id force keyword enables the router ID to take effect more quickly"; } leaf if { type nw_IfId; description "Specifies the preferred interface for determining the LDP router ID, which is typically determined the next time that the interface is shut down or the address is deconfigured"; } } grouping mplsldp_SessProt-group { description "Enables LDP sessions to be protected during a link failure. It protects all LDP sessions, unless you specify a prefix list"; leaf infinite { type boolean; default "false"; description "The infinite keyword allows the LDP targeted hello adjacency to exist indefinitely following the loss of the LDP link hello adjacency."; } leaf duration { type mplsldp_ProtectDuration; description "The duration keyword enables you to specify how long the router should retain the LDP targeted hello adjacency following the loss of the LDP link hello adjacency. The range is from 30 to 2,147,483 seconds."; } leaf pfxList { type mplsldp_LdpPrefixListName; description "Prefix list for LDP peers that should be protected. Session protection is then enabled for the peer routers in that prefix list"; } } grouping mplsldp_LabelAllocate-group { description "Configures local label allocation filters for MPLS LDP"; leaf lblAllocT { type mplsldp_LblAllocT; description "Specifies label allocation type"; } leaf pfxList { type mplsldp_LdpPrefixListName; description "Specifies a prefix list to be used as a filter for MPLS LDP local label allocation."; } } grouping mplsldp_Peers-group { description "Peers operational state"; leaf peerLsrId { config "false"; type address_Ip; description "The LSR ID of peer, as a portion of the peer LDP ID"; } leaf lsrId { config "false"; type address_Ip; description "The LSR ID of local LDP, as a portion of the local LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of local LDP, as a portion of the local LDP ID"; } leaf peerState { config "false"; type mplsldp_PeerStateType; description "LDP Neighbor Information - Peer State"; } leaf peerHoldTime { config "false"; type mplsldp_HelloHoldTime; description "LDP Neighbor Information - Peer Hold Time (ms)"; } leaf keepAliveInterval { config "false"; type uint32; description "LDP Neighbor Information - Keep Alive Interval (ms)"; } leaf nextKeepAlive { config "false"; type uint32; description "Time to send the next KeepAlive message"; } leaf labelAdvertisementMode { config "false"; type mplsldp_LabelAdvertisementModeType; description "Label advertisement mode"; } leaf clients { config "false"; type mplsldp_NeighborPeerClientType; description "LDP Neighbor Information - Clients"; } leaf password { config "false"; type mplsldp_LdpPasswordStatus; description "LDP peer password information"; } // List of interfaces for LDP Basic Descovery container discovery_interfaces-items { list DiscoverySourcesInterfaces-list { config "false"; key "ifIdString"; uses mplsldp_DiscoverySourcesInterfaces-group; description "List of interfaces for LDP Basic Descovery list"; } description "List of interfaces for LDP Basic Descovery"; } // List of targeted interfaces for LDP Basic Descovery container discovery_targeted-items { list TargetedDiscoverySourcesInterfaces-list { config "false"; key "name"; uses mplsldp_TargetedDiscoverySourcesInterfaces-group; description "List of interfaces for LDP Basic Descovery list"; } description "List of interfaces for LDP Basic Descovery"; } // Neighbor Session Protection Information container session_protection-items { uses mplsldp_PeerSessionProtection-group; description "Neighbor session protection details"; } // Operational state information learned from the peer container received_peer_state-items { uses mplsldp_ReceivedPeerState-group; description "Operational state information learned from the peer"; } container peer_capabilities-items { uses mplsldp_PeerCapabilities-group; description "Per peer capabilities"; } // TCP connection state container tcp-items { uses mplsldp_TcpConnection-group; description "TCP connection state"; } // Peer connection information container connection-items { uses mplsldp_Connection-group; description "Peer connection information"; } } grouping mplsldp_DiscoverySourcesInterfaces-group { description "List of interfaces for LDP Basic Descovery"; leaf ifIdString { config "false"; type mplsldp_InterfaceString; description "Interface id name used for LDP Basic Discovery"; } // Per address family operational state container peer_address_families-items { uses mplsldp_PeerAddressFamilies-group; description "Per address family operational state"; } } grouping mplsldp_PeerAddressFamilies-group { description "Per address family operational state"; // Containing data related to the IPv4 address family container peer_ipv4-items { uses mplsldp_PeerIpv4-group; description "Containing data related to the IPv4 address family"; } } grouping mplsldp_PeerIpv4-group { description "Containing data related to the IPv4 address family"; // Containing a list of hello adjacencies container peer_hello_adjacencies-items { uses mplsldp_PeerHelloAdjacencies-group; description "Containing a list of hello adjacencies"; } } grouping mplsldp_PeerHelloAdjacencies-group { description "Containing a list of hello adjacencies"; // List of hello adjacencies container peer_hello_adjacency-items { uses mplsldp_PeerHelloAdjacency-group; description "List of hello adjacencies"; } } grouping mplsldp_PeerHelloAdjacency-group { description "List of hello adjacencies"; leaf localaddress { config "false"; type address_Ip; description "Local address of the hello adjacency"; } leaf adjacentaddress { config "false"; type address_Ip; description "Neighbor address of the hello adjacency"; } // Containing hello holdtime state information container peer_hello_holdtime-items { uses mplsldp_PeerHelloHoldtime-group; description "Containing hello holdtime state information"; } // A container containing an absolute reference to an LDP peer container ldp_peer-items { uses mplsldp_DiscoveryLdpPeer-group; description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; } } grouping mplsldp_PeerHelloHoldtime-group { description "Containing hello holdtime state information"; leaf adjacent { config "false"; type uint32; description "The holdtime value learned from the adjacent LSR (s)"; } leaf negotiated { config "false"; type uint32; description "The holdtime negotiated between this LSR and the adjacent LSR (s)"; } leaf holdtime { config "false"; type uint32; description "The current holdtime for this LSR (s)"; } leaf remaining { config "false"; type uint32; description "The time remaining until the holdtime timer expires (s)"; } } grouping mplsldp_DiscoveryLdpPeer-group { description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } } grouping mplsldp_TargetedDiscoverySourcesInterfaces-group { description "List of interfaces for LDP Basic Descovery"; leaf name { config "false"; type mplsldp_TargetedHelloIdentifier; description "The targeted hello entry identifier"; } // Per address family operational state container targeted_peer_address_families-items { uses mplsldp_TargetedPeerAddressFamilies-group; description "Per address family operational state"; } } grouping mplsldp_TargetedPeerAddressFamilies-group { description "Per address family operational state"; // Containing data related to the IPv4 address family container targeted_peer_ipv4-items { uses mplsldp_TargetedPeerIpv4-group; description "Containing data related to the IPv4 address family"; } } grouping mplsldp_TargetedPeerIpv4-group { description "Containing data related to the IPv4 address family"; // Containing a list of hello adjacencies container targeted_peer_hello_adjacencies-items { uses mplsldp_TargetedPeerHelloAdjacencies-group; description "Containing a list of hello adjacencies"; } } grouping mplsldp_TargetedPeerHelloAdjacencies-group { description "Containing a list of hello adjacencies"; // List of hello adjacencies container targeted_peer_hello_adjacency-items { uses mplsldp_TargetedPeerHelloAdjacency-group; description "List of hello adjacencies"; } } grouping mplsldp_TargetedPeerHelloAdjacency-group { description "List of hello adjacencies"; leaf localaddress { config "false"; type address_Ip; description "Local address of the hello adjacency"; } leaf adjacentaddress { config "false"; type address_Ip; description "Neighbor address of the hello adjacency"; } leaf nexthello { config "false"; type uint32; description "The time when the next Hello message will be sent (s)"; } leaf interfaceState { config "false"; type mplsldp_TargetedInterfaceState; description "Targeted Hello State"; } // Containing hello holdtime state information container targeted_peer_hello_holdtime-items { uses mplsldp_TargetedPeerHelloHoldtime-group; description "Containing hello holdtime state information"; } // A container containing an absolute reference to an LDP peer container targeted_ldp_peer-items { uses mplsldp_TargetedDiscoveryLdpPeer-group; description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; } } grouping mplsldp_TargetedPeerHelloHoldtime-group { description "Containing hello holdtime state information"; leaf adjacent { config "false"; type uint32; description "The holdtime value learned from the adjacent LSR (s)"; } leaf negotiated { config "false"; type uint32; description "The holdtime negotiated between this LSR and the adjacent LSR (s)"; } leaf holdtime { config "false"; type uint32; description "The current holdtime for this LSR (s)"; } leaf remaining { config "false"; type uint32; description "The time remaining until the holdtime timer expires (s)"; } } grouping mplsldp_TargetedDiscoveryLdpPeer-group { description "Reference to an LDP peer, by the LDP ID, which consists of the LSR ID and the Label Space ID"; leaf lsrId { config "false"; type address_Ip; description "The LSR ID of the peer, as a portion of the peer LDP ID"; } leaf labelSpaceId { config "false"; type uint32; description "The Label Space ID of the peer, as a portion of the peer LDP ID"; } } grouping mplsldp_PeerSessionProtection-group { description "Neighbor session protection details"; leaf peerProtectionState { config "false"; type mplsldp_NeighborPeerProtectionState; description "LDP Neighbor Information - Peer Protection State"; } leaf peerProtectionDuration { config "false"; type uint32; description "LDP Neighbor Information - Peer Protection Duration (s)"; } leaf peerProtectionAcl { config "false"; type mplsldp_AclType; description "LDP Neighbor Information - Peer Protection ACL Name"; } } grouping mplsldp_ReceivedPeerState-group { description "Operational state information learned from the peer"; // Per peer graceful restart attributes container graceful_restart-items { uses mplsldp_GracefulRestart-group; description "Operational state information learned from the peer"; } } grouping mplsldp_GracefulRestart-group { description "Operational state information learned from the peer"; leaf state { config "false"; type mplsldp_GrStateType; description "Graceful Restart State"; } leaf neighborLivenessTimer { config "false"; type uint32; description "Neighbor Liveness Timer (s)"; } leaf maxRecoveryTime { config "false"; type uint32; description "Max Recovery Time (s)"; } leaf forwardingStateHoldingTime { config "false"; type uint32; description "Forwarding State Holding Time (s)"; } } grouping mplsldp_PeerCapabilities-group { description "Per peer capabilities"; // Per peer capabilities received container capabilities_received-items { list CapabilitiesReceived-list { config "false"; key "capability"; uses mplsldp_CapabilitiesReceived-group; description "Per peer capabilities received list"; } description "Per peer capabilities received"; } // Per peer capabilities sent container capabilities_sent-items { list CapabilitiesSent-list { config "false"; key "capability"; uses mplsldp_CapabilitiesSent-group; description "Per peer capabilities received list"; } description "Per peer capabilities received"; } } grouping mplsldp_CapabilitiesReceived-group { description "Per peer capabilities received"; leaf capability { config "false"; type mplsldp_CapabilityDescription; description "Capability supported by LDP"; } } grouping mplsldp_CapabilitiesSent-group { description "Per peer capabilities received"; leaf capability { config "false"; type mplsldp_CapabilityDescription; description "Capability supported by LDP"; } } grouping mplsldp_TcpConnection-group { description "TCP connection state"; leaf remoteTcpAddress { config "false"; type address_Ip; description "TCP connection state remote TCP Address"; } leaf remoteTcpPort { config "false"; type uint32; description "TCP connection state remote TCP port"; } leaf localTcpAddress { config "false"; type address_Ip; description "TCP connection state local TCP Address"; } leaf localTcpPort { config "false"; type uint32; description "TCP connection state local TCP port"; } } grouping mplsldp_Connection-group { description "Peer connection information"; leaf protocolState { config "false"; type mplsldp_ProtocolStateType; description "LDP peer protocol state"; } leaf messagesSent { config "false"; type uint32; description "Total messages sent to peer"; } leaf messagesReceived { config "false"; type uint32; description "Total messages received by peer"; } } grouping mplsldp_If-group { description "Object holds LDP information that is operated at interface level"; leaf mplsIp { type boolean; default "false"; description "The mplsIp property enables MPLS LDP on the specified interface"; } leaf igpAuto { type boolean; default "true"; description "Enables MPLS LDP interior gateway protocol autoconfig"; } leaf igpSync { type boolean; default "true"; description "Enables MPLS LDP interior gateway protocol sync"; } leaf delayTime { type mplsldp_DelayTime; description "Configures a delay time for MPLS LDP IGP synchronization on the specified interface."; } leaf discTrnspIntf { type boolean; default "false"; description "Use interface address for LDP transport address"; } leaf discTrnspIp { type address_Ip; description "IP address to use for LDP transport address"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping mpls_Entity-group { description "Root MPLS Manager entity anchoring general MPLS MOs"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This object holds mpls information that is operated at a // interface level container If-items { list If-list { key "id"; uses mpls_If-group; description "MPLS Protocol Interface list"; } description "MPLS Protocol Interface"; } // Dummy parent MO for Static Oper data container state-items { uses mpls_State-group; description "Operational state for MPLS Manager"; } } grouping mpls_If-group { description "MPLS Protocol Interface"; leaf operSt { config "false"; type mpls_OperSt; description "Administrative State of Interface"; } leaf deleted { config "false"; type boolean; default "true"; description "Is this MO pending deletion"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping mpls_State-group { description "Operational state for MPLS Manager"; // This object holds mpls information that is operated at a // interface level container ifdet-items { list IfDetail-list { config "false"; key "ifId"; uses mpls_IfDetail-group; description "Details of MPLS Protocol Interface list"; } description "Details of MPLS Protocol Interface"; } } grouping mpls_IfDetail-group { description "Details of MPLS Protocol Interface"; leaf ifId { config "false"; type nw_IfId; description "ID for an MPLS Interface"; } leaf operSt { config "false"; type mpls_OperSt; description "Administrative State of Interface"; } leaf lsId { config "false"; type uint32; description "ID of MPLS label space"; } leaf sublayerName { config "false"; type string; description "Name of MPLS sub-layer"; } leaf sublayerId { config "false"; type uint32; description "ID of MPLS sub-layer"; } // Clients of MPLS container client-items { list Client-list { config "false"; key "name"; uses mpls_Client-group; description "Client which requested MPLS enablement on this interface list"; } description "Client which requested MPLS enablement on this interface"; } } grouping mpls_Client-group { description "Client which requested MPLS enablement on this interface"; leaf name { config "false"; type string; description "Name of client which requested MPLS enablement on this interface"; } } grouping mplsstatic_Entity-group { description "Root MPLS Static entity anchoring MPLS Static MOs"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Dummy parent MO for Static Oper data container state-items { uses mplsstatic_State-group; description "Operational state for MPLS static label bindings"; } // MPLS Static address family domain container af-items { list Af-list { key "type"; uses mplsstatic_Af-group; description "MPLS Static Address Family list"; } description "MPLS Static Address Family"; } } grouping mplsstatic_State-group { description "Operational state for MPLS static label bindings"; // Prefix local label container pfxlblstate-items { list PfxLclLblState-list { config "false"; key "label"; uses mplsstatic_PfxLclLblState-group; description "Oper data for local Label for an IP Prefix (IPv4 or IPv6) list"; } description "Oper data for local Label for an IP Prefix (IPv4 or IPv6)"; } // Cross-connect local label container xcstate-items { list XcLclLblState-list { config "false"; key "label"; uses mplsstatic_XcLclLblState-group; description "Local Label for Cross-Connect list"; } description "Local Label for Cross-Connect"; } // Policy local label container polblstate-items { list PoLclLblState-list { config "false"; key "label"; uses mplsstatic_PoLclLblState-group; description "Local Label for a Policy-Based Prefix (IPv4 or IPv6) list"; } description "Local Label for a Policy-Based Prefix (IPv4 or IPv6)"; } } grouping mplsstatic_PfxLclLblState-group { description "Oper data for local Label for an IP Prefix (IPv4 or IPv6)"; leaf label { config "false"; type mplsstatic_InLabelVal; description "Local In Label Value"; } leaf pfx { config "false"; type address_Ip; description "Oper data for Local Label Prefix/Subnet"; } leaf vrf { config "false"; type string; description "VRF for the static label binding"; } // This object holds primary nexthop information // for prefix local label container nhstate-items { uses mplsstatic_NhState-group; description "Oper data for next hop information for prefix local label"; } // This object holds auto resolve nexthop information // for prefix local label container autoresolvenhstate-items { uses mplsstatic_AutoResolveNhState-group; description "Auto-Resolved Next Hop"; } // This object holds backup nexthop information // for prefix local label container backupnhstate-items { uses mplsstatic_BackupNhState-group; description "Backup Next Hop Information For Prefix Local Label"; } } grouping mplsstatic_NhState-group { description "Oper data for next hop information for prefix local label"; leaf outLbl { config "false"; type mplsstatic_OutLabelVal; description "Outgoing Label Value"; } leaf nhAddr { config "false"; type address_Ip; description "Next Hop - IP Address"; } } grouping mplsstatic_AutoResolveNhState-group { description "Auto-Resolved Next Hop"; leaf outLbl { config "false"; type mplsstatic_OutLabelVal; description "Outgoing Label Value"; } } grouping mplsstatic_BackupNhState-group { description "Backup Next Hop Information For Prefix Local Label"; leaf outLbl { config "false"; type mplsstatic_OutLabelVal; description "Outgoing Label Value"; } leaf nhAddr { config "false"; type address_Ip; description "Backup Next Hop IP Address"; } } grouping mplsstatic_XcLclLblState-group { description "Local Label for Cross-Connect"; leaf label { config "false"; type mplsstatic_InLabelVal; description "Local In Label Value"; } leaf name { config "false"; type mplsstatic_LspName; description "Cross-Connect Label LSP Name"; } leaf vrf { config "false"; type string; description "VRF for the static label binding"; } // This object holds primary nexthop information // for cross-connect local label container xcnhstate-items { list XcNhState-list { config "false"; key "pathId"; uses mplsstatic_XcNhState-group; description "Next Hop Information For Cross-Connect FECs list"; } description "Next Hop Information For Cross-Connect FECs"; } } grouping mplsstatic_XcNhState-group { description "Next Hop Information For Cross-Connect FECs"; leaf outLblStack { config "false"; type mplsstatic_OutLblStack; description "Outgoing label stack"; } leaf pathId { config "false"; type uint16; description "Cross-Connect FEC Next Hop Path identifier"; } leaf nhAddr { config "false"; type address_Ip; description "Next Hop - IP Address"; } } grouping mplsstatic_PoLclLblState-group { description "Local Label for a Policy-Based Prefix (IPv4 or IPv6)"; leaf label { config "false"; type mplsstatic_InLabelVal; description "Local In Label Value"; } leaf pfx { config "false"; type address_Ip; description "Policy-Based Local Label Prefix/Subnet"; } leaf name { config "false"; type mplsstatic_LspName; description "Policy-Based Local Label LSP Name"; } leaf vrf { config "false"; type string; description "VRF for the static label binding"; } // This object holds oper data for primary nexthop information // for policy local label container polnhstate-items { list PolNhState-list { config "false"; key "pathId"; uses mplsstatic_PolNhState-group; description "Oper data for next hop for policy FECs list"; } description "Oper data for next hop for policy FECs"; } } grouping mplsstatic_PolNhState-group { description "Oper data for next hop for policy FECs"; leaf outLblStack { config "false"; type mplsstatic_OutLblStack; description "Outgoing Label Stack"; } leaf pathId { config "false"; type uint16; description "Policy FEC Next Hop Path Identifier"; } leaf nhAddr { config "false"; type address_Ip; description "Next Hop - IP Address"; } } grouping mplsstatic_Af-group { description "MPLS Static Address Family"; // Type leaf type { type mplsstatic_AfT; description "Type of Address Family (IPv4, IPv6, etc.)"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Prefix local label container pfxlabel-items { list PfxLclLbl-list { key "label"; uses mplsstatic_PfxLclLbl-group; description "Local Label for an IP Prefix (IPv4 or IPv6) list"; } description "Local Label for an IP Prefix (IPv4 or IPv6)"; } // Named LSP container lsp-items { list NamedLSP-list { key "name"; uses mplsstatic_NamedLSP-group; description "Parent of LSPs with Names list"; } description "Parent of LSPs with Names"; } } grouping mplsstatic_PfxLclLbl-group { description "Local Label for an IP Prefix (IPv4 or IPv6)"; leaf pfx { type address_Ip; description "Local Label Prefix/Subnet"; } leaf label { type mplsstatic_InLabelVal; description "Local In Label Value"; } // This object holds primary nexthop information // for prefix local label container nh-items { uses mplsstatic_Nh-group; description "Next Hop Information For Prefix Local Label"; } // This object holds auto resolve nexthop information // for prefix local label container autoresolvenh-items { uses mplsstatic_AutoResolveNh-group; description "Auto-Resolved Next Hop"; } // This object holds backup nexthop information // for prefix local label container backupnh-items { uses mplsstatic_BackupNh-group; description "Backup Next Hop Information For Prefix Local Label"; } } grouping mplsstatic_Nh-group { description "Next Hop Information For Prefix Local Label"; leaf outLbl { type mplsstatic_OutLabelVal; description "Outgoing Label Value"; } leaf nhAddr { type address_Ip; description "Next Hop - IP Address"; } } grouping mplsstatic_AutoResolveNh-group { description "Auto-Resolved Next Hop"; leaf outLbl { type mplsstatic_OutLabelVal; description "Outgoing Label Value"; } } grouping mplsstatic_BackupNh-group { description "Backup Next Hop Information For Prefix Local Label"; leaf outLbl { type mplsstatic_OutLabelVal; description "Outgoing Label Value"; } leaf nhAddr { type address_Ip; description "Backup Next Hop IP Address"; } leaf if { type nw_IfId; description "Backup Next Hop Interface"; } } grouping mplsstatic_NamedLSP-group { description "Parent of LSPs with Names"; leaf name { type mplsstatic_LspName; description "Name of the Parent LSP"; } // Cross-connect local label container xclabel-items { list XcLclLbl-list { key "label"; uses mplsstatic_XcLclLbl-group; description "Local Label for Cross-Connect list"; } description "Local Label for Cross-Connect"; } // Policy local label container pollabel-items { list PolicyLclLbl-list { key "label"; uses mplsstatic_PolicyLclLbl-group; description "Local Label for a Policy-Based Prefix (IPv4 or IPv6) list"; } description "Local Label for a Policy-Based Prefix (IPv4 or IPv6)"; } } grouping mplsstatic_XcLclLbl-group { description "Local Label for Cross-Connect"; leaf name { type mplsstatic_LspName; description "Cross-Connect Label LSP Name"; } leaf label { type mplsstatic_InLabelVal; description "Local In Label Value"; } // This object holds primary nexthop information // for cross-connect local label container nh-items { list XcNh-list { key "pathId"; uses mplsstatic_XcNh-group; description "Next Hop Information For Cross-Connect FECs list"; } description "Next Hop Information For Cross-Connect FECs"; } } grouping mplsstatic_XcNh-group { description "Next Hop Information For Cross-Connect FECs"; leaf outLblStack { type mplsstatic_OutLblStack; description "Outgoing label stack"; } leaf pathId { type uint16; description "Cross-Connect FEC Next Hop Path identifier"; } leaf nhAddr { type address_Ip; description "Next Hop - IP Address"; } } grouping mplsstatic_PolicyLclLbl-group { description "Local Label for a Policy-Based Prefix (IPv4 or IPv6)"; leaf pfx { type address_Ip; description "Policy-Based Local Label Prefix/Subnet"; } leaf name { type mplsstatic_LspName; description "Policy-Based Local Label LSP Name"; } leaf label { type mplsstatic_InLabelVal; description "Local In Label Value"; } // This object holds primary nexthop information // for policy local label container nh-items { list PolNh-list { key "pathId"; uses mplsstatic_PolNh-group; description "Next Hop for Policy FECs list"; } description "Next Hop for Policy FECs"; } } grouping mplsstatic_PolNh-group { description "Next Hop for Policy FECs"; leaf outLblStack { type mplsstatic_OutLblStack; description "Outgoing Label Stack"; } leaf pathId { type uint16; description "Policy FEC Next Hop Path Identifier"; } leaf nhAddr { type address_Ip; description "Next Hop - IP Address"; } } grouping mplsstripcl_MplsStripclMode-group { description "MPLS Stripcl Mode"; leaf type { type mplsstripcl_StripclModeType; description "MPLS Stripcl Mode Type"; } } grouping mplsstripcl_MplsTA-group { description "MPLS tap-aggregation"; leaf ta { type boolean; default "false"; description "enable mode tap-aggregation"; } leaf tAvlanId { type uint16; description "tap-aggregation vlan"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container rsethIf-items { uses l2_RsEthIf_source-group; description "Ethernet Interface"; } } grouping ulib_LabelTable-group { description "Label Table. Contains aggregate properties for allocated labels and anchors children that describe the allocated labels"; leaf operLabels { config "false"; type ulib_LabelCnt; description "Total Number of Labels"; } leaf operIPv4Prefixes { config "false"; type ulib_LabelCnt; description "Total Number of IPv4 Prefixes"; } leaf operIPv6Prefixes { config "false"; type ulib_LabelCnt; description "Total Number of IPv6 Prefixes"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Label Table Clients container client-items { list Clients-list { config "false"; key "name"; uses ulib_Clients-group; description "Label Table Clients: other components on the same device acting as clients to the ULIB service list"; } description "Label Table Clients: other components on the same device acting as clients to the ULIB service"; } container deaggfecs-items { uses ulib_DeaggFecs-group; description "Parent MO to contain Deaggregate (Per-VRF) FECs that are keyed by their FEC properties"; } // Label Range container lblrange-items { uses ulib_LblRange-group; description "Allowed MPLS label ranges for dynamically allocated and statically configured labels"; } // Labels // Ephemeral data container lbl-items { // Ephemeral data list Labels-list { config "false"; key "label"; uses ulib_Labels-group; description "A single MPLS label list"; } description "A single MPLS label"; } } grouping ulib_Clients-group { description "Label Table Clients: other components on the same device acting as clients to the ULIB service"; leaf name { config "false"; type ulib_ClientName; description "Name of the ulib client"; } leaf index { config "false"; type uint32; description "Index of the ulib client"; } leaf uuid { config "false"; type uint32; description "UUID of the ulib client"; } leaf mtsSap { config "false"; type uint32; description "MTS-SAP of the client"; } leaf staleTime { config "false"; type union { type string; type uint64; } description "Time to wait for clients to reclaim resources before cleaning"; } leaf flag { config "false"; type ulib_ClientFlag; description "Internal flags for the client"; } leaf regMsg { config "false"; type uint32; description "Number of register messages received from the client"; } leaf convMsg { config "false"; type uint32; description "Number of convergence messages received from the client"; } leaf fecMsg { config "false"; type uint32; description "Number of FEC messages received from the client"; } leaf fecAdd { config "false"; type uint32; description "Number of FECs added by the client"; } leaf ileAdd { config "false"; type uint32; description "Number of ILEs created by the client"; } leaf fecDel { config "false"; type uint32; description "Number of FECs deleted by the client"; } leaf ileDel { config "false"; type uint32; description "Number of ILEs deleted by the client"; } leaf lastXid { config "false"; type uint32; description "Last transaction id sent in a FEC transaction by the client"; } leaf fecAck { config "false"; type uint32; default "0"; description "Number of FEC Acknowledgement messages sent to the client"; } } grouping ulib_DeaggFecs-group { description "Parent MO to contain Deaggregate (Per-VRF) FECs that are keyed by their FEC properties"; container fec-items { list DeaggFecToLabels-list { config "false"; key "vrf"; uses ulib_DeaggFecToLabels-group; description "Used to map Deaggregate (Per-VRF) FEC information to the labels assigned to the FEC. The full FEC information is found under the DN /sys/labeltable/lbl-[lbl]/. list"; } description "Used to map Deaggregate (Per-VRF) FEC information to the labels assigned to the FEC. The full FEC information is found under the DN /sys/labeltable/lbl-[lbl]/. "; } } grouping ulib_DeaggFecToLabels-group { description "Used to map Deaggregate (Per-VRF) FEC information to the labels assigned to the FEC. The full FEC information is found under the DN /sys/labeltable/lbl-[lbl]/. "; leaf vrf { config "false"; type string; description "The properties of the FEC aggregated as a single value. For DeaggFecToLabel this is the VRF name."; } leaf ipv4Labels { config "false"; type ulib_LblList; description "The labels assigned to the IPv4 table id of this VRF FEC as a comma-separated list of unsigned decimal numbers."; } leaf ipv6Labels { config "false"; type ulib_LblList; description "The labels assigned to the IPv6 table id of this VRF FEC as a comma-separated list of unsigned decimal numbers."; } } grouping ulib_LblRange-group { description "Allowed MPLS label ranges for dynamically allocated and statically configured labels"; // Config : Dynamic Label Range leaf dynLblMin { type ulib_DynLblMin; description "Minimum dynamic label, configured value"; } leaf dynLblMax { type ulib_DynLblMax; description "Maximum dynamic label, configured value"; } // Config : Static Label Range leaf staticLblMin { type ulib_LabelVal; description "Minimum Static Label, configured value"; } leaf staticLblMax { type ulib_LabelVal; description "Maximum Static Label, configured value"; } // Oper : Dynamic Label Range leaf operDynLblMin { config "false"; type ulib_LabelVal; description "Minimum dynamic label, operational value"; } leaf operDynLblMax { config "false"; type ulib_LabelVal; description "Maximum dynamic label, operational value"; } // Oper : Static Label Range leaf operStaticLblMin { config "false"; type ulib_LabelVal; description "Minimum static label, operational value"; } leaf operStaticLblMax { config "false"; type ulib_LabelVal; description "Maximum static label, operational value"; } // Fault : Static Labels Out Of Range leaf operStaticLblsOutOfRange { config "false"; type ulib_LabelCnt; description "Number of static labels that are no longer inside the static range due to a change in the configured ranges."; } } grouping ulib_Labels-group { description "A single MPLS label"; // Ephemeral data leaf label { config "false"; type uint32; description "Label value"; } // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "Corresponding FEC type"; } // Ephemeral data leaf labelByteStats { config "false"; type uint64; description "Sum of packet lengths in bytes for incoming packets with this label"; } // Ephemeral data leaf labelPacketStats { config "false"; type uint64; description "Count of incoming packets with this label"; } // IPv4 FEC // Ephemeral data container FecIPv4-items { uses ulib_FecIPv4-group; description "Represents an MPLS IPv4 FEC"; } // IPv6 FEC // Ephemeral data container FecIPv6-items { uses ulib_FecIPv6-group; description "Represents an MPLS IPv6 FEC"; } // Policy IPv4 FEC // Ephemeral data container FecPolicyIPv4-items { uses ulib_FecPolicyIPv4-group; description "Represents a Policy MPLS IPv4 FEC"; } // Policy IPv6 FEC // Ephemeral data container FecPolicyIPv6-items { uses ulib_FecPolicyIPv6-group; description "Represents a Policy MPLS IPv6 FEC"; } // None FEC // Ephemeral data container FecNone-items { uses ulib_FecNone-group; description "Represents a 'None' FEC; a FEC that is only defined by an incoming label"; } // SR-TE FEC // Ephemeral data container FecSRTE-items { uses ulib_FecSRTE-group; description "Represents an SR-TE FEC"; } // Per-CE FEC // Ephemeral data container FecPerCE-items { uses ulib_FecPerCE-group; description "Represents a Per-CE FEC"; } // Reserved FEC // Ephemeral data container FecReserved-items { uses ulib_FecReserved-group; description "Placeholder for a reserved FEC number. This is not a real instantiated FEC."; } // Deagg FEC // Ephemeral data container FecDeagg-items { uses ulib_FecDeagg-group; description "Represents a Deaggregate (Per-VRF) FEC"; } // ADJ_SID FEC // Ephemeral data container FecAdjSID-items { uses ulib_FecAdjSID-group; description "Represents an Adjacency SID FEC. Used in Segment-Routing for associating a SID with an adjacency"; } // NHLFE // Ephemeral data container Nhlfe-items { // Ephemeral data list Nhlfe-list { config "false"; key "idx"; uses ulib_Nhlfe-group; description "Represents an NHLFE entry on a FEC, describing the outgoing information needed for forwarding list"; } description "Represents an NHLFE entry on a FEC, describing the outgoing information needed for forwarding"; } } grouping ulib_FecIPv4-group { description "Represents an MPLS IPv4 FEC"; // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } // Ephemeral data leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } // Ephemeral data leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } // Ephemeral data leaf prefix { config "false"; type address_Ip; description "Forwarding Equivalence Class (FEC) IP Prefix"; } // Ephemeral data leaf maskLength { config "false"; type uint8; description "Forwarding Equivalence Class (FEC) IP Mask Length"; } } grouping ulib_FecIPv6-group { description "Represents an MPLS IPv6 FEC"; // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } // Ephemeral data leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } // Ephemeral data leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } // Ephemeral data leaf prefix { config "false"; type address_Ip; description "Forwarding Equivalence Class (FEC) IP Prefix"; } // Ephemeral data leaf maskLength { config "false"; type uint8; description "Forwarding Equivalence Class (FEC) IP Mask Length"; } } grouping ulib_FecPolicyIPv4-group { description "Represents a Policy MPLS IPv4 FEC"; // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } // Ephemeral data leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } // Ephemeral data leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } // Ephemeral data leaf prefix { config "false"; type address_Ip; description "Forwarding Equivalence Class (FEC) IP Prefix"; } // Ephemeral data leaf maskLength { config "false"; type uint8; description "Forwarding Equivalence Class (FEC) IP Mask Length"; } } grouping ulib_FecPolicyIPv6-group { description "Represents a Policy MPLS IPv6 FEC"; // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } // Ephemeral data leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } // Ephemeral data leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } // Ephemeral data leaf prefix { config "false"; type address_Ip; description "Forwarding Equivalence Class (FEC) IP Prefix"; } // Ephemeral data leaf maskLength { config "false"; type uint8; description "Forwarding Equivalence Class (FEC) IP Mask Length"; } } grouping ulib_FecNone-group { description "Represents a 'None' FEC; a FEC that is only defined by an incoming label"; // Ephemeral data leaf label { config "false"; type uint32; description "None - Forwarding Equivalence Class (FEC) MPLS Label"; } // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "None - Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "None - Forwarding Equivalence Class (FEC) State"; } leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } } grouping ulib_FecSRTE-group { description "Represents an SR-TE FEC"; // Ephemeral data leaf id { config "false"; type uint32; description "SRTE - Forwarding Equivalence Class (FEC) Identifier"; } // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "SRTE - Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "SRTE - Forwarding Equivalence Class (FEC) State"; } leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } } grouping ulib_FecPerCE-group { description "Represents a Per-CE FEC"; // Ephemeral data leaf nextHopSet { config "false"; type uint32; description "Per-CE Forwarding Equivalence Class (FEC) Next-Hop Set Id"; } // Ephemeral data leaf addressFamily { config "false"; type ulib_EphemeralAddressFamily; description "Per-CE Forwarding Equivalence Class (FEC) Address Family"; } leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } } grouping ulib_FecReserved-group { description "Placeholder for a reserved FEC number. This is not a real instantiated FEC."; // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } // Ephemeral data leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } // Ephemeral data leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } } grouping ulib_FecDeagg-group { description "Represents a Deaggregate (Per-VRF) FEC"; // Ephemeral data leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } // Ephemeral data leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } // Ephemeral data leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } // Ephemeral data leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } } grouping ulib_FecAdjSID-group { description "Represents an Adjacency SID FEC. Used in Segment-Routing for associating a SID with an adjacency"; // ADJ_SID Fec Properties // Ephemeral data leaf ifIndex { config "false"; type nw_IfId; description "Adjacency SID Forwarding Equivalence Class (FEC) Interface Index"; } // Ephemeral data leaf appId { config "false"; type uint32; description "Adjacency SID Forwarding Equivalence Class (FEC) Application Id"; } // Ephemeral data leaf nextHop { config "false"; type address_Ip; description "Adjacency SID Forwarding Equivalence Class (FEC) Next-hop IP Address"; } leaf fecType { config "false"; type ulib_FecType; description "Forwarding Equivalence Class (FEC) Type"; } leaf state { config "false"; type ulib_FecState; description "Forwarding Equivalence Class (FEC) State"; } leaf tableId { config "false"; type ulib_TableId; description "Forwarding Equivalence Class (FEC) Table ID"; } leaf flags { config "false"; type string; description "Flags that apply to the FEC presented as a comma-separated list"; } } grouping ulib_Nhlfe-group { description "Represents an NHLFE entry on a FEC, describing the outgoing information needed for forwarding"; // Ephemeral data leaf idx { config "false"; type uint32; description "Next Hop Label Forwarding Entry (NHLFE) Index"; } // Ephemeral data leaf ip { config "false"; type address_Ip; description "Next Hop Label Forwarding Entry (NHLFE) IP address"; } // Ephemeral data leaf outLabel { config "false"; type ulib_OutLblStack; description "Next Hop Label Forwarding Entry (NHLFE) Outgoing MPLS label"; } // Ephemeral data leaf interface { config "false"; type ulib_InterfaceStr; description "Next Hop Label Forwarding Entry (NHLFE) Outgoing Interface"; } // Ephemeral data leaf outLabelByteStats { config "false"; type uint64; description "Sum of packet lengths in bytes for packets traversing this NHLFE"; } // Ephemeral data leaf outLabelPacketStats { config "false"; type uint64; description "Count of outgoing packets traversing this NHLFE"; } leaf weight { config "false"; type uint32; description "Weight of Nexthop Element"; } leaf flags { config "false"; type string; description "Flags that apply to the NHLFE presented as a comma-separated list"; } leaf monitoringLbl { config "false"; type uint32; description "Monitoring label used to check the liveness of this NHLFE"; } } grouping mrib_Entity-group { description "Holds MRIB entity information"; // This objects hold per mrib instance information container inst-items { uses mrib_Inst-group; description "Holds per MRIB instance information"; } } grouping mrib_Inst-group { description "Holds per MRIB instance information"; // This objects hold per MRIB information container dom-items { list Dom-list { key "name"; uses mrib_Dom-group; description "This objects holds MRIB vrf domain level information list"; } description "This objects holds MRIB vrf domain level information"; } container loglevel-items { uses mrib_LogLevel-group; description "Configure logging level"; } // This object holds mrib route db information // Ephemeral data container routeDb-items { uses mrib_RouteDb-group; description "This object holds MRIB route database information"; } } grouping mrib_Dom-group { description "This objects holds MRIB vrf domain level information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Admin State leaf adminSt { type nw_AdminSt; default "disabled"; description "Admin State"; } // Per-Dom Controls leaf ctrl { type rtdmc_DomCtrl; description "Domain Controls"; } // Protocol packet MTU leaf mtu { type rtdmc_Mtu; description "Maximum Transmission Unit"; } // Auto Enable leaf autoEnable { type rtdmc_AutoEnable; description "Auto Enable"; } leaf logNbhChng { type boolean; description "Log Neighbhor changes"; } leaf flushRoutes { type boolean; description "Flush Routes"; } leaf bfd { type boolean; description "BFD"; } leaf jpDelay { type rtdmc_JpDelayRange; description "Join-Prune message inter-packet delay"; } leaf regRateLmt { type rtdmc_RegRateRange; description "Register rate limit for data packets per second"; } leaf rfcStrict { type boolean; description "Do not process joins from unknown neighbors"; } leaf sptSwitchGraceful { type boolean; description "Graceful switch to SPT"; } // This object holds mrib config information container config-items { uses mrib_Config-group; description "Holds MRIB config information"; } container eventHist-items { list EventHistory-list { key "type"; uses mrib_EventHistory-group; description "Configure event-history buffers list"; } description "Configure event-history buffers"; } container mcastglobalbndry-items { uses mrib_GlobalBndry-group; description "Config IP multicast global boundary prefix list configuration"; } container rpfselect-items { list RpfSelect-list { key "vrfName srcPfx"; uses mrib_RpfSelect-group; description "Configure IP multicast RPF select configuration list"; } description "Configure IP multicast RPF select configuration"; } // ServiceReflect -> Ingress -> grpList ServiceReflect -> Egress -> grpList ServiceReflect -> Source-Interface -> Src_intf Parent container sr-items { uses mrib_ServiceReflect-group; description "Holds SR NAT Mode Information - Ingress/Egress"; } // This object holds global config for mrib container trace-items { uses mrib_Trace-group; description "This object holds global configuration for Bintrace"; } } grouping mrib_Config-group { description "Holds MRIB config information"; // Holddown Enable leaf holdEnable { type mrib_HoldAdminSt; description "Holddown Enable"; } // Holddown second leaf holddown { type mrib_HoldDownType; description "holddown second"; } // Mode Enable leaf ModeEnable { type mrib_ModeAdminSt; description "Mode Enable"; } // Multipath Mode leaf Mode { type mrib_MultipathMode; description "MRIB Multipath Mode"; } // Multipath Resilient leaf modeResilient { type mrib_ResilientType; description "MRIB Multipath Resilient"; } // Mfdm-buffer-route type leaf mfdmType { type mrib_MfdmType; description "Mfdm buffer route type"; } // Mfdm-buffer-route-count size leaf mfdmSize { type mrib_MfdmSize; description "Mfdm buffer route size"; } } grouping mrib_EventHistory-group { description "Configure event-history buffers"; leaf type { type mrib_EhType; description "configures type of event history"; } leaf size { type mrib_Size; description "configures buffer size in text/kb"; } } grouping mrib_GlobalBndry-group { description "Config IP multicast global boundary prefix list configuration"; // prefix list leaf pfxList { type mrib_PrefixT; description "global boundary prefix list"; } } grouping mrib_RpfSelect-group { description "Configure IP multicast RPF select configuration"; leaf srcPfx { type address_Ip; description "Source IP prefix address"; } // Vrf name leaf vrfName { type l3_VrfName; description "Vrf Name for RPF check"; } } grouping mrib_ServiceReflect-group { description "Holds SR NAT Mode Information - Ingress/Egress"; // This is an MO which will have all groups in Ingress // mode. container ingress-items { list IngressMode-list { key "grpList"; uses mrib_IngressMode-group; description "Holds SR NAT Mode Information - Ingress list"; } description "Holds SR NAT Mode Information - Ingress"; } // This is an MO which will have all groups in Egress // mode. container egress-items { list EgressMode-list { key "grpList"; uses mrib_EgressMode-group; description "Holds SR NAT Mode Information - Egress list"; } description "Holds SR NAT Mode Information - Egress"; } // This is an MO which has the source interface info for // SR NAT container sourceintf-items { uses mrib_SrcIntf-group; description "Holds SR NAT source interface Information - can only be a loopback information."; } // ServiceReflect -> mode This is mode. container natmode-items { uses mrib_Mode-group; description "Holds SR NAT Mode Information"; } // This object holds sr nat rule information Parent container rule-items { uses mrib_SrRule-group; description "This parent MO has all the SR NAT rules"; } } grouping mrib_IngressMode-group { description "Holds SR NAT Mode Information - Ingress"; leaf grpList { type address_Ip; description "IP multicast group address"; } } grouping mrib_EgressMode-group { description "Holds SR NAT Mode Information - Egress"; leaf grpList { type address_Ip; description "IP multicast group address"; } } grouping mrib_SrcIntf-group { description "Holds SR NAT source interface Information - can only be a loopback information."; leaf srcIntf { type nw_IfId; description "Source intf can only be loopback interfaces"; } } grouping mrib_Mode-group { description "Holds SR NAT Mode Information"; leaf mode { type mrib_SrModeType; description "IP multicast group address"; } leaf noRewriteEnabled { type boolean; description "IP multicast group address"; } } grouping mrib_SrRule-group { description "This parent MO has all the SR NAT rules"; container pregrp-items { list Rule-list { key "preTransGrp postTransGrp grpMasklen preTransSrc postTransSrc srcMasklen udpsrcPort udpDestPort staticOif"; uses mrib_Rule-group; description "Holds the rule info - (S,G), port, oif etc list"; } description "Holds the rule info - (S,G), port, oif etc"; } } grouping mrib_Rule-group { description "Holds the rule info - (S,G), port, oif etc"; leaf preTransGrp { type address_Ip; description "Group Address that needs translation"; } leaf postTransGrp { type address_Ip; description "Group Address to be translated into."; } // Group Mask Len leaf grpMasklen { type mrib_MaskLen; description "Group Mask Length - Applies to G1 and G2."; } leaf preTransSrc { type address_Ip; description "Source Address to be translated"; } leaf postTransSrc { type address_Ip; description "Source Address to be translated into"; } // Group Mask Len leaf srcMasklen { type mrib_MaskLen; description "Source Mask Length - applies to S1 and S2"; } // udp-port ID leaf udpsrcPort { type mrib_PortId; description "to UDP source port for NATing"; } // udp-dest-port ID leaf udpDestPort { type mrib_PortId; description "to UDP Destination port for NATing"; } leaf staticOif { type nw_IfId; description "Static OIF can only be physical interfaces"; } } grouping mrib_Trace-group { description "This object holds global configuration for Bintrace"; leaf traceEnable { type boolean; description "Configure multicast and enable bintrace"; } // trace entries leaf traceEntryCnt { type mrib_TraceCountType; description "Update number of bintrace entries"; } // trace records leaf traceRecCnt { type mrib_TraceCountType; description "Update number of bintrace record per entry"; } } grouping mrib_LogLevel-group { description "Configure logging level"; leaf type { type mrib_LogType; description "Configures logging type"; } leaf level { type mrib_LvlType; description "Configures level values from 0-7"; } } grouping mrib_RouteDb-group { description "This object holds MRIB route database information"; // This objects hold per pim domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses mrib_Vrf-group; description "This object holds per MRIB domain (vrf) information list"; } description "This object holds per MRIB domain (vrf) information"; } } grouping mrib_Vrf-group { description "This object holds per MRIB domain (vrf) information"; // Ephemeral data leaf name { config "false"; type string; description "Vrf Name"; } // Ephemeral data leaf totalNumRoutes { config "false"; type uint32; description "Total Number of Routes"; } // Ephemeral data leaf starGRoute { config "false"; type uint32; description "Total number of Star G Count"; } // Ephemeral data leaf sgRoute { config "false"; type uint32; description "Total number of SG Count"; } // Ephemeral data leaf starGPrfx { config "false"; type uint32; description "Total number of Star G Prefix count"; } leaf groupCount { config "false"; type uint32; description "Total number of groups in the VRF"; } // This object holds mrib route group information // Ephemeral data container group-items { // Ephemeral data list Group-list { config "false"; key "grpAddr"; uses mrib_Group-group; description "Holds MRIB route group information list"; } description "Holds MRIB route group information"; } } grouping mrib_Group-group { description "Holds MRIB route group information"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group Address"; } // Ephemeral data leaf grpMasklen { config "false"; type uint32; description "Group Mask Length"; } // Ephemeral data leaf bidir { config "false"; type boolean; description "Bidirectional flag"; } // This object holds mrib route source information // Ephemeral data container source-items { // Ephemeral data list Source-list { config "false"; key "srcAddr"; uses mrib_Source-group; description "This object holds MRIB route source information list"; } description "This object holds MRIB route source information"; } } grouping mrib_Source-group { description "This object holds MRIB route source information"; // Ephemeral data leaf srcAddr { config "false"; type address_Ip; description "Source Address"; } // Ephemeral data leaf pending { config "false"; type boolean; description "Pending flag"; } // Ephemeral data leaf uptime { config "false"; type union { type string; type uint64; } description "Uptime"; } // Ephemeral data leaf oifcount { config "false"; type uint32; description "OIF Count"; } // Ephemeral data leaf statsPkts { config "false"; type uint32; description "Statistics packets"; } // Ephemeral data leaf statsBytes { config "false"; type uint32; description "Statistics Bytes"; } // Ephemeral data leaf statsRateBuf { config "false"; type string; description "Statistics Rate Buffer"; } // Ephemeral data leaf lispSrcRloc { config "false"; type string; description "lisp source rloc"; } // Ephemeral data leaf routeIif { config "false"; type string; description "Route Incoming Interface"; } // Ephemeral data leaf rpfNbr { config "false"; type string; description "RPF Neighbor"; } // Ephemeral data leaf internal { config "false"; type boolean; description "Internal"; } // Ephemeral data leaf rpfNbrUptime { config "false"; type union { type string; type uint64; } description "uptime of RPF neighbor"; } // Ephemeral data leaf fabricOif { config "false"; type boolean; description "Fabric OIF"; } // Ephemeral data leaf fabricLoser { config "false"; type boolean; description "Fabric Loser"; } // Ephemeral data leaf numVpcSviOifs { config "false"; type uint32; description "Number of vpc svi OIFs"; } // Ephemeral data leaf routeMdtIod { config "false"; type boolean; description "Route MDT IOD"; } // Ephemeral data leaf mdtEncapIndex { config "false"; type uint32; description "MDT Encap Index"; } // This object holds mrib mpib information // Ephemeral data container mpib-items { // Ephemeral data list Mpib-list { config "false"; key "mpibName"; uses mrib_Mpib-group; description "This object holds MPIB information list"; } description "This object holds MPIB information"; } // This object holds mrib OIF information // Ephemeral data container oif-items { // Ephemeral data list Oif-list { config "false"; key "oifName"; uses mrib_Oif-group; description "This object holds MRIB OIF information list"; } description "This object holds MRIB OIF information"; } } grouping mrib_Mpib-group { description "This object holds MPIB information"; // Ephemeral data leaf mpibName { config "false"; type string; description "MPIB name"; } // Ephemeral data leaf oifCount { config "false"; type uint32; description "OIF count"; } // Ephemeral data leaf staleRoute { config "false"; type boolean; description "Stale Route"; } } grouping mrib_Oif-group { description "This object holds MRIB OIF information"; // Ephemeral data leaf oifName { config "false"; type string; description "OIF name"; } // Ephemeral data leaf oifUptime { config "false"; type union { type string; type uint64; } description "OIF Uptime"; } // Ephemeral data leaf oifRPF { config "false"; type boolean; description "OIF RPF"; } // Ephemeral data leaf oifLispEncapEntries { config "false"; type uint32; description "Lisp Encap Entries Count"; } // This object holds lisp encap information // Ephemeral data container lispEncap-items { // Ephemeral data list LispEncap-list { config "false"; key "index"; uses mrib_LispEncap-group; description "This object holds Lisp Encapsulation information list"; } description "This object holds Lisp Encapsulation information"; } // This object holds mrib OIF MPIB information // Ephemeral data container oifMpib-items { // Ephemeral data list OifMpib-list { config "false"; key "oifMpibName"; uses mrib_OifMpib-group; description "This object holds MRIB OIF MPIB information list"; } description "This object holds MRIB OIF MPIB information"; } } grouping mrib_LispEncap-group { description "This object holds Lisp Encapsulation information"; // Ephemeral data leaf index { config "false"; type uint32; description "Lisp Encap Index"; } // Ephemeral data leaf srcRloc { config "false"; type address_Ip; description "Source remote location"; } // Ephemeral data leaf dstRloc { config "false"; type address_Ip; description "Destination remote location"; } } grouping mrib_OifMpib-group { description "This object holds MRIB OIF MPIB information"; // Ephemeral data leaf oifMpibName { config "false"; type string; description "OIF MPIB name"; } // Ephemeral data leaf staleOif { config "false"; type boolean; description "Flag indicating if OIF is Stale"; } // Ephemeral data leaf VpcSvi { config "false"; type boolean; description "Flag indicating VPC SVI"; } } grouping msdp_Entity-group { description "Holds MSDP control plane entity information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per MSDP instance information container inst-items { uses msdp_Inst-group; description "Holds per MSDP instance information"; } } grouping msdp_Inst-group { description "Holds per MSDP instance information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This objects hold per domain (vrf) MSDP information container dom-items { list Dom-list { key "name"; uses msdp_Dom-group; description "Holds per domain (vrf) MSDP information list"; } description "Holds per domain (vrf) MSDP information"; } container loglevel-items { uses msdp_LogLevel-group; description "Configure logging level"; } } grouping msdp_Dom-group { description "Holds per domain (vrf) MSDP information"; leaf origIf { type nw_IfId; description "Originator Interface identifying IP address in RP field of Source-Active message. Supported interfaces include Ethernet-like, port/channel, loopback and vlan interfaces"; } leaf srcActiveMsgIntvl { type msdp_SrcActiveMsgIntvl; description "Source Active message Interval"; } leaf reConnIntvl { type msdp_ReConnIntvl; description "Reconnect Interval"; } leaf ctrl { type msdp_DomCtrl; description "Flush routes"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // msdp databases // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "type"; uses msdp_Db-group; description "Holds information about MSDP Database list"; } description "Holds information about MSDP Database"; } // This object holds group limt and source range info container maxgrp-items { list MaxGrpP-list { key "srcPfx"; uses msdp_MaxGrpP-group; description "Holds group limit and source range information list"; } description "Holds group limit and source range information"; } container eventHist-items { list EventHistory-list { key "type"; uses msdp_EventHistory-group; description "Configure event-history buffers list"; } description "Configure event-history buffers"; } // This object holds MSDP information pertaining to a peer container peer-items { list Peer-list { key "addr"; uses msdp_Peer-group; description "Holds MSDP information pertaining to a peer list"; } description "Holds MSDP information pertaining to a peer"; } container interleakp-items { uses msdp_InterLeakP-group; description "Holds information of Redistribution policy"; } } grouping msdp_Db-group { description "Holds information about MSDP Database"; // Type of the repository // Ephemeral data leaf type { config "false"; type msdp_DbT; description "Indicates different database type for different show command"; } // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This object holds the MSDP SA-Cache related information // Ephemeral data container src-items { // Ephemeral data list Route-list { config "false"; key "src grp rp"; uses msdp_Route-group; description "Holds the MSDP SA-Cache related information list"; } description "Holds the MSDP SA-Cache related information"; } // This class holds information of learnt sources // Ephemeral data container source-items { // Ephemeral data list Source-list { config "false"; key "addr"; uses msdp_Source-group; description "Holds information of MSDP sources list"; } description "Holds information of MSDP sources"; } } grouping msdp_Route-group { description "Holds the MSDP SA-Cache related information"; // Ephemeral data leaf src { config "false"; type address_Ip; description "Source Address"; } // Ephemeral data leaf grp { config "false"; type address_Ip; description "Group Address"; } // Ephemeral data leaf rp { config "false"; type address_Ip; description "RP Address"; } // Ephemeral data leaf peer { config "false"; type address_Ip; description "IP address of MSDP Peer"; } // Ephemeral data leaf asn { config "false"; type string; description "AS Number"; } // Ephemeral data leaf createTs { config "false"; type union { type string; type uint64; } description "Creation timestamp of the entry"; } // Ephemeral data leaf expireTs { config "false"; type union { type string; type uint64; } description "Expiry timestamp of the entry"; } // Ephemeral data leaf saCnt { config "false"; type uint32; description "Source-Active Message Request Count"; } // Ephemeral data leaf dataPkt { config "false"; type uint32; description "Count of data packets forwarded"; } } grouping msdp_Source-group { description "Holds information of MSDP sources"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "Source Address"; } // Ephemeral data leaf grpCnt { config "false"; type uint32; description "Number of groups learnt"; } // Ephemeral data leaf grpLimit { config "false"; type uint32; description "Configured group limit"; } // Ephemeral data leaf srcPfx { config "false"; type address_Ip; description "Source prefix of the corresponding group limit"; } // Ephemeral data leaf violations { config "false"; type uint32; description "Source group exceeds the maximum group limit configured."; } } grouping msdp_MaxGrpP-group { description "Holds group limit and source range information"; leaf srcPfx { type address_Ip; description "Source prefix"; } leaf maxGrp { type msdp_MaxGrpLimit; description "Max Group count"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping msdp_EventHistory-group { description "Configure event-history buffers"; leaf type { type msdp_EhType; description "configures type of event history"; } leaf size { type msdp_Size; description "configures buffer size in text/kb"; } } grouping msdp_Peer-group { description "Holds MSDP information pertaining to a peer"; leaf addr { type address_Ip; description "IP address of MSDP Peer"; } // Administrative state up/down leaf adminSt { type nw_AdminSt; description "Administrative state enabled/disabled"; } // source interface leaf srcIf { type nw_IfId; description "Source Interface. Supported interfaces include Ethernet-like, port/channel, loopback and vlan interfaces"; } // Remote ASN leaf asn { type msdp_Asn; description "Autonomous System Number"; } // sa-limit leaf srcActiveMsgLimit { type msdp_SrcActiveMsgLimit; description "Source Active msg Limit"; } // Keepalive interval, how often you send keepalives leaf kaIntvl { type msdp_KaIntvl; description "Keepalive interval, how often you send keepalives"; } // Keepalive timeout leaf kaTimeout { type msdp_KaTimeout; description "Keepalive Timeout"; } // Operationsl state leaf operSt { config "false"; type msdp_OperSt; description "Operational Status"; } // Remote port of TCP connection to this peer leaf remPort { config "false"; type l4_Port; description "Remote TCP connection port to this peer"; } // Local port of TCP connection to this peer leaf localPort { config "false"; type l4_Port; description "Local TCP connection port to this peer"; } // Reason for last reset leaf lastResetOperQual { config "false"; type msdp_LastResetT; description "Reason for last reset"; } leaf discontinuityTs { config "false"; type union { type string; type uint64; } description "Discontinuity Time"; } leaf upTs { config "false"; type union { type string; type uint64; } description "Uptime"; } leaf connTmrTs { config "false"; type union { type string; type uint64; } description "Connect Timer Timestamp"; } // Count of established transitions leaf establishTransitions { config "false"; type nw_Counter32; description "Count of established transitions"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } // This object holds authentication policy information container auth-items { uses msdp_AuthP-group; description "Holds Authentication Policy information"; } // This object holds mesh group information container meshgrp-items { uses msdp_MeshGrp-group; description "Holds mesh group policy information"; } // SA policy MO container rtctrl-items { list RtCtrlP-list { key "direction"; uses msdp_RtCtrlP-group; description "Source Active Route Control policy list"; } description "Source Active Route Control policy"; } // This object holds the MSDP peer related statistics // Ephemeral data container peerstats-items { uses msdp_PeerStats-group; description "Holds the MSDP peer related statistics"; } } grouping msdp_AuthP-group { description "Holds Authentication Policy information"; // Authentication type leaf type { type msdp_AuthT; description "Authentication type"; } // Authentication key leaf key { type msdp_AuthKey; description "Authentication key"; } leaf keychain { type string { pattern ".*[!-~]{0,63}.*"; } description "Name of the Keychain Used For Authentication"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping msdp_MeshGrp-group { description "Holds mesh group policy information"; // Mesh Group name leaf grpName { type msdp_GrpNameT; description "Mesh Group Name"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } } grouping msdp_RtCtrlP-group { description "Source Active Route Control policy"; // Prefix list to control the distribution leaf pfxList { type msdp_PrefixT; description "Prefix list to control the distribution"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Direction [in/out] leaf direction { type rtctrl_RtCtrlDir; description "Direction"; } leaf rtMap { type string; description "Route Map"; } } grouping msdp_PeerStats-group { description "Holds the MSDP peer related statistics"; // Ephemeral data leaf lastMessageRcvd { config "false"; type union { type string; type uint64; } description "Last Message Received Timestamp"; } // Count of SA requests received // Ephemeral data leaf saReqRcvd { config "false"; type nw_Counter32; description "Count of SA Request Received"; } // Count of SA requests sent // Ephemeral data leaf saReqSent { config "false"; type nw_Counter32; description " Count of SA Request Sent"; } // Count of SA responses received // Ephemeral data leaf saRspRcvd { config "false"; type nw_Counter32; description "Count of SA Response Received"; } // Count of SA responses sent // Ephemeral data leaf saRspSent { config "false"; type nw_Counter32; description "Count of SA Response Sent"; } // Count of control messages received // Ephemeral data leaf ctrlMessagesRcvd { config "false"; type nw_Counter32; description "Count of Control Messages Received"; } // Count of control messages sent // Ephemeral data leaf ctrlMessagesSent { config "false"; type nw_Counter32; description "Count of Control Messages Sent"; } // Count of data packets received // Ephemeral data leaf dataMessagesRcvd { config "false"; type nw_Counter32; description "Count of Data Messages Received"; } // Count of data packets sent // Ephemeral data leaf dataMessagesSent { config "false"; type nw_Counter32; description "Count of Data Messages Sent"; } // Count of notifications received // Ephemeral data leaf notifRcvd { config "false"; type nw_Counter32; description "Count of SA Notifications Received"; } // Count of SA notifications sent // Ephemeral data leaf notifSent { config "false"; type nw_Counter32; description "Count of SA Notifications Sent"; } // Count of keepalive messages received // Ephemeral data leaf kaRcvd { config "false"; type nw_Counter32; description "Count of Keepalives Received"; } // Count of keepalive messages sent // Ephemeral data leaf kaSent { config "false"; type nw_Counter32; description "Count of Keepalives Sent"; } // Count of RPF check failures // Ephemeral data leaf rpfChkFail { config "false"; type nw_Counter32; description "Count of RPF Check Failures"; } // Count of connection attempts // Ephemeral data leaf connAttempts { config "false"; type nw_Counter32; description "Count of Connection Attempts"; } // Count of SA-cache entries learnt from this peer // Ephemeral data leaf rtCnt { config "false"; type nw_Counter32; description "Count of SG cache entries learnt"; } } grouping msdp_InterLeakP-group { description "Holds information of Redistribution policy"; leaf pfxList { type msdp_PrefixT; description "pfxlist name"; } leaf srcLeak { type msdp_Source; description "Source of route leak distribution"; } leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; description "Scope"; } leaf rtMap { type string; description "Route Map"; } } grouping msdp_LogLevel-group { description "Configure logging level"; leaf type { type msdp_LogType; description "Configures logging type"; } leaf level { type msdp_LvlType; description "Configures log level"; } } grouping mvpn_Entity-group { description "Holds MVPN control plane entity information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds per mvpn instance information container inst-items { uses mvpn_Inst-group; description "Holds per MVPN instance information"; } } grouping mvpn_Inst-group { description "Holds per MVPN instance information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Inter Packet Delay leaf jpDelay { type rtdmc_JPDelay; description "Inter Packet Delay"; } // Null Register Inter Batch Delay leaf nrDelay { type rtdmc_NRDelay; description "Null Register Inter Batch Delay"; } // Number of routes in a null register leaf nrNumRt { type rtdmc_NRNumRt; description "Null Register Number of Routes"; } leaf regStop { type boolean; description "Register until stops"; } // This object holds per mvpn domain (vrf) information container dom-items { list Dom-list { key "name"; uses mvpn_Dom-group; description "Holds per mvpn domain (vrf) information list"; } description "Holds per mvpn domain (vrf) information"; } } grouping mvpn_Dom-group { description "Holds per mvpn domain (vrf) information"; leaf asmUseSharedTree { type boolean; description "ASM use shared tree configured"; } leaf enforceBGPmdtSafi { type boolean; default "true"; description "Depend on BGP MDT SAFI for auto-discovery"; } leaf pimHelloIntvl { type mvpn_PimHelloIntvl; description "PIM hello interval used between peers"; } leaf pimJoinPruneIntvl { type mvpn_PimJPIntvl; description "Join-Prune interval used between peers"; } leaf mdtDefaultGroup { type address_Ip; description "IP multicast group address"; } leaf mdtDefaultEnabled { type boolean; description "This property helps us manage mdtDefaultGroup property"; } leaf mdtSourceIntf { type nw_IfId; description "Source interface to be used in the backbone network"; } leaf mdtSrcEnabled { type boolean; description "This property helps us manage mdtSourceIntf property"; } leaf dataMtuValue { type mvpn_DataMtuVal; description "MTU Value configured for the mdt"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This object holds Data MDT settings per group // address in a dom container group-items { list DataGrp-list { key "grpAddr"; uses mvpn_DataGrp-group; description "This Object holds MDT data per Group Information list"; } description "This Object holds MDT data per Group Information"; } } grouping mvpn_DataGrp-group { description "This Object holds MDT data per Group Information"; leaf grpAddr { type address_Ip; description "List of group range prefixes, only multicast allowed"; } leaf rtMap { type mvpn_RtMapType; description "Route Map Name to control the distribution"; } } grouping nd_Entity-group { description "Neighbor Discover Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per nd instance information. There is // only one instance of nd running in the system today container inst-items { uses nd_Inst-group; description "Neighbor Discovery Instance"; } } grouping nd_Inst-group { description "Neighbor Discovery Instance"; // Solicitated neighbor advertisement leaf solicitNghbrAdvertisement { type nw_AdminSt; default "disabled"; description "Solicit neighbor advertisement"; } // Solicitated neighbor advertisement with complete entry leaf acceptSolicitNghbrEntry { type nd_SolicitAcceptValue; description "Accept or no-accept entry in Solicit neighbor advertisement"; } // Solicitated neighbor advertisement Probe value Probe Value as 0 means no-probe leaf probeIntervalForSolicitNghbr { type nd_SolicitProbeValue; description "Probe interval"; } // Aging timer for nd cached entires leaf agingInterval { type nd_AgingInterval; description "Aging Interval"; } // Off-list timer for neighbor discovery leaf offListTimeout { type nd_OffListTimeout; description "Off-list timeout"; } // IPv6 Route Distance leaf ipv6AdjRouteDistance { type nd_adjRouteDist; description "Ipv6 Adjacency Route Distance"; } // ND Cache Limit leaf cacheLimit { type nd_NdCacheLimit; description "Cache Limit"; } // ND Cache SysLog Rate leaf cacheSyslogRate { type nd_NdCacheSyslogRate; description "Cache Syslog Rate"; } // Config error in this MO leaf configErr { config "false"; type nd_ConfigErrInst; default "0"; description "Config error Inst"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Ephemeral data container addrreg-items { // Ephemeral data list AddrReg-list { config "false"; key "nodeIpAddr"; uses nd_AddrReg-group; description "ND/ICMPv6 Address Registry DB list"; } description "ND/ICMPv6 Address Registry DB"; } // This objects hold per ND domain (vrf) information container dom-items { list Dom-list { key "name"; uses nd_Dom-group; description "Neighbor Discovery Domain list"; } description "Neighbor Discovery Domain"; } // Glean throttling helps to discard packets at line card when // adjacency of the next hop is getting resolved. // Ref: // Guide: Cisco Nexus 9000 Series NX-OS Unicast Routing Configuration Guide // Chapter: Configuring IPv4 container ipv6gleanthrottle-items { uses nd_IpV6Throttle-group; description "IPV6 throttling"; } // This object holds IPv6 ND Sync for VPC container vpc-items { uses nd_Vpc-group; description "Ipv6 Nd Synchronize"; } // Ephemeral data container l2stat-items { uses nd_L2Stat-group; description "L2 Interface Statistics"; } // Ephemeral data container offliststat-items { // Ephemeral data list OffListVlan-list { config "false"; key "vlanId addr"; uses nd_OffListVlan-group; description "ND offlist vlan statistics list"; } description "ND offlist vlan statistics"; } // Ephemeral data container proxystat-items { uses nd_ProxyStat-group; description "ND Proxy Statistics"; } // ND Supcache Stats(Global) // Ephemeral data container supcachestats-items { uses nd_SupCacheStats-group; description "ND suppression cache statistics"; } // icmpv6 packet counters (global) // Ephemeral data container glblpktstats-items { uses nd_GlobalTrafficStats-group; description "ICMPv6/ND global traffic counters"; } // Holds Suppression-cache table oper data // Ephemeral data container db-items { // Ephemeral data list DbSupCache-list { config "false"; key "type"; uses nd_DbSupCache-group; description " This Object Holds Suppression-Cache Database list"; } description " This Object Holds Suppression-Cache Database"; } // Link Local Global VADDR statistics // Ephemeral data container vaddrllstat-items { // Ephemeral data list VaddrLinkLocalStat-list { config "false"; key "vAddr"; uses nd_VaddrLinkLocalStat-group; description "ICMPv6/ND link local vaddr statistics list"; } description "ICMPv6/ND link local vaddr statistics"; } // Ephemeral data container vpcstat-items { uses nd_VPCStat-group; description "ND/ICMPv6 VPC statistics"; } } grouping nd_AddrReg-group { description "ND/ICMPv6 Address Registry DB"; // IPv6 ND Addr-reg phy interface // Ephemeral data leaf nodeIpPhyIntf { config "false"; type nw_IfId; description "IPv6 ND NodeIp physical interface"; } // Ephemeral data leaf nodeIpAddr { config "false"; type address_Ip; description "IPv6 ND NodeIp address"; } // Ephemeral data leaf nodeIpRovrId { config "false"; type uint64; description "IPv6 ND NodeIp Rovr-id"; } // Ephemeral data leaf nodeIpLifetime { config "false"; type uint16; description "IPv6 ND NodeIp Lifetime"; } // Ephemeral data leaf nodeIpMac { config "false"; type address_Mac; description "IPv6 ND NodeIp MAC address"; } // Ephemeral data leaf nodeIpAge { config "false"; type string; description "IPv6 ND NodeIp entry Age"; } // Ephemeral data leaf nodeIpPeerLLA { config "false"; type address_Ip; description "IPv6 ND NodeIp peer LLA"; } // Ephemeral data leaf nodeIpState { config "false"; type string; description "Ipv6 ND NodeIp State"; } } grouping nd_Dom-group { description "Neighbor Discovery Domain"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // ND databases container db-items { list Db-list { config "false"; key "type"; uses nd_Db-group; description "Database list"; } description "Database"; } // This object holds nd information that is operated at a // interface level container if-items { list If-list { key "id"; uses nd_If-group; description "Neighbor Discovery Interface list"; } description "Neighbor Discovery Interface"; } // Only Global level VADDR statistics // Ephemeral data container vaddrstatglobal-items { // Ephemeral data list VaddrGlobalStat-list { config "false"; key "vAddr"; uses nd_VaddrGlobalStat-group; description "ND offlist vlan statistics list"; } description "ND offlist vlan statistics"; } } grouping nd_Db-group { description "Database"; // Type of the repository leaf type { config "false"; type nd_DbT; description "Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // ND adjacency definitions container adj-items { list AdjEp-list { config "false"; key "ifId addr"; uses nd_AdjEp-group; description "Adjacency list"; } description "Adjacency"; } } grouping nd_AdjEp-group { description "Adjacency"; // Logical interface that this ep is associated with leaf ifId { config "false"; type nw_IfId; description "Logical Interface ID"; } // Operational state leaf operSt { config "false"; type nd_AdjOperSt; description "Operational State"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf addr { config "false"; type address_Ip; description "IPv6 address"; } // Mac address leaf mac { config "false"; type nd_AdjMac; description "MAC"; } } grouping nd_If-group { description "Neighbor Discovery Interface"; // Extract next hop MAC address embedded in IPV6 address leaf macExtract { type nd_MacExtract; description "Extract next hop MAC address"; } // Disable sending RDNSS in // Router-Advertisement messages leaf dnsSuppress { type nw_AdminSt; default "disabled"; description "Do not send RDNSS in router advertisement"; } // Disable sending DNSSL (DNS search-list) in // Router-Advertisement messages leaf dnsSearchListSuppress { type nw_AdminSt; default "disabled"; description "Do not send DNSSL in router advertisement"; } // Disable sending Route Information Options in RA messages leaf routeSuppress { type nw_AdminSt; default "disabled"; description "Do Not send Route Information in RA"; } // Set Default Router Preference Value (RFC 4191) leaf routerPreference { type nd_RtPrefForCmd; default "unspecified"; description "Set Router Preference (RFC 4191)"; } // Interface controls for: // redirects, managed-config-flag, other-config-flag, // supress-ra, supress-ra-mtu leaf ctrl { type nd_IfControl; description "Controls"; } // Neighbor Solicitation: Sent by a node to determine the // link-layer address of a neighbor, or to verify that a // neighbor is still reachable via a cached link-layer // address. Neighbor Solicitations are also used for // Duplicate Address Detection. Retransmission interval between IPv6 neighbor // solication messages leaf nsIntvl { type nd_NsIntvl; description "Neighbor Solicit Interval"; } // Retransmission retry count sending neighbor // soliciation messages // // Routers send out Router Advertisement messages // periodically, or in response to Router Solicitations Interval between sending ICMPv6 router advertisement // messages leaf raIntvl { type nd_RaIntvl; description "Router Advertisement Interval"; } // Interval between RA transmissions minimum leaf raIntvlMin { type nd_RaIntvlMin; description "Router Advertisement Interval Minimum"; } // Router Advertisement (RA) messages also contain Internet // parameters such as the hop limit that hosts should // use in outgoing packets and, optionally, link parameters // such as the link MTU. This facilitates centralized // administration of critical parameters that can be set on // routers and automatically propagated to all attached // hosts Hop limit leaf hopLimit { type nd_HopLimit; description "Hop limit"; } // Link MTU (sent in RA message) leaf mtu { type nd_Mtu; description "MTU"; } // Router Lifetime. The lifetime associated with the // default router in units of seconds. leaf raLifetime { type nd_RaLifetime; description "Router Advertisement lifetime"; } leaf defaultRaLifetime { type nw_AdminSt; description "Default RA Lifetime enabled"; } // Reachable time. The time, in milliseconds, that a // node assumes a neighbor is reachable after having // received a reachability confirmation. Used by the // Neighbor Unreachability Detection algorithm leaf reachableTime { type nd_ReachableTime; description "Reachable time"; } // Retransmit timer. The time, in milliseconds, between // retransmitted Neighbor Solicitation messages. Used // by address resolution and the Neighbor Unreachability // Detection algorithm. A value of zero means unspecified // (by this router) leaf retransTimer { type nd_RetransTimer; description "Retransmit timer"; } // Duplicate address detection attempts limit leaf dadAttempts { type nd_DadAttempts; description "Dad attempts"; } // Discover host from DADNS leaf dadnsInterval { type nd_DadnsInverval; description "Dadns interval"; } // To Handle the config fault for this MO leaf configError { config "false"; type nd_ConfigErr; default "noerror"; description "Config error"; } // Delete adj on mac delete notif without probe leaf delAdjOnMacDel { type nw_AdminSt; default "disabled"; description "Delete adj on mac delete notif without probe"; } leaf bootFileUrl { type string { length "0..128"; } description "The URL for a boot file in string"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Static ND adjacency definitions container sadj-items { list StAdjEp-list { config "false"; key "addr"; uses nd_StAdjEp-group; description "ND Static Adjacency list"; } description "ND Static Adjacency"; } // DNS Search-list statistics // Ephemeral data container dnsslif-items { uses nd_DNSIfSearchListStats-group; description "ND interface DNS statistics"; } // DNS Server statistics // Ephemeral data container dnsstat-items { uses nd_DNSIfStats-group; description "ND interface DNS statistics"; } // This object holds all IPv6 ND Routes as children container routes-items { uses nd_IfRoutes-group; description "Ipv6 Nd Route All"; } // This object holds IPv6 ICMP Neighbor oper related properties // Ephemeral data container ngbrdata-items { // Ephemeral data list NeighborData-list { config "false"; key "ngbrAddr"; uses nd_NeighborData-group; description "IPv6 ICMP Neighbor Data list"; } description "IPv6 ICMP Neighbor Data"; } container ndlocalproxy-items { list NdLocalProxy-list { key "prefix"; uses nd_NdLocalProxy-group; description "IPv6 ND Local Proxy With No Hardware Flooding list"; } description "IPv6 ND Local Proxy With No Hardware Flooding"; } // This object holds IPv6 ICMP Neighbor oper related properties // Ephemeral data container stickyngbrdata-items { // Ephemeral data list StickyNeighborData-list { config "false"; key "ngbrAddr"; uses nd_StickyNeighborData-group; description "IPv6 ICMP Sticky Neighbor Data list"; } description "IPv6 ICMP Sticky Neighbor Data"; } // A list of prefixes to be placed in Prefix Information // options in Router Advertisement messages sent from the // interface. container pfx-items { list Pfx-list { key "addr"; uses nd_Pfx-group; description "Prefix to be advertised list"; } description "Prefix to be advertised"; } container defpfx-items { uses nd_DefaultPrefix-group; description "Default Prefix to be advertised"; } // ND DNS Server container dns-items { list RouteAdvDNSServer-list { key "dnsServerAddr dnsSequenceNum"; uses nd_RouteAdvDNSServer-group; description "Route advertisement DNS server list"; } description "Route advertisement DNS server"; } // ND DNS Search List container dnssl-items { list RouteAdvDNSSearchList-list { key "dnsSearchListName dnsSequenceNum"; uses nd_RouteAdvDNSSearchList-group; description "Route advertisement DNS search list list"; } description "Route advertisement DNS search list"; } // Ephemeral data container rtrstat-items { // Ephemeral data list RouterStat-list { config "false"; key "routerAddr"; uses nd_RouterStat-group; description "Router statistics list"; } description "Router statistics"; } // Interface statistics ND packet counters (per-i/f) // Ephemeral data container ifstats-items { uses nd_IfStats-group; description "interface statistics"; } // VADDR Statistics per i/f for specific client // Ephemeral data container vaddrstat-items { // Ephemeral data list VaddrStat-list { config "false"; key "vaddrProto"; uses nd_VaddrStat-group; description "ND VADDR statistics list"; } description "ND VADDR statistics"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping nd_StAdjEp-group { description "ND Static Adjacency"; // Operational state leaf operSt { config "false"; type nd_StAdjOperSt; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type nd_StAdjOperStQual; description "Operational State Qualifier"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf addr { config "false"; type address_Ip; description "IPv6 address"; } // Mac address leaf mac { config "false"; type nd_AdjMac; description "MAC"; } container rtfvEpDefRefToStAdjEpV6-items { list RtFvEpDefRefToStAdjEpV6-list { config "false"; key "tDn"; uses fv_RtFvEpDefRefToStAdjEpV6_target-group; } } } grouping nd_DNSIfSearchListStats-group { description "ND interface DNS statistics"; // Ephemeral data leaf dnsSearchListSuppress { config "false"; type boolean; description "ND DNS search-list suppress"; } // Ephemeral data container server-items { // Ephemeral data list DNSSearchListStats-list { config "false"; key "dnsSearchList"; uses nd_DNSSearchListStats-group; description "ND DNS search-list statistics list"; } description "ND DNS search-list statistics"; } } grouping nd_DNSSearchListStats-group { description "ND DNS search-list statistics"; // Ephemeral data leaf dnsSearchList { config "false"; type string; description "ND DNS search-list name"; } // Ephemeral data leaf dnsSearchListLife { config "false"; type uint32; description "ND DNS search-list lifetime"; } // Ephemeral data leaf dnsSearchListSeq { config "false"; type uint32; description "ND DNS search-list sequence no"; } } grouping nd_DNSIfStats-group { description "ND interface DNS statistics"; // Ephemeral data leaf dnsServerSuppress { config "false"; type boolean; description "ND DNS server suppress"; } // Ephemeral data container server-items { // Ephemeral data list DNSServerStats-list { config "false"; key "addr"; uses nd_DNSServerStats-group; description "ND DNS server statistics list"; } description "ND DNS server statistics"; } } grouping nd_DNSServerStats-group { description "ND DNS server statistics"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "ND DNS server name"; } // Ephemeral data leaf dnsServerLife { config "false"; type uint32; description "ND DNS server lifetime"; } // Ephemeral data leaf dnsServerSeq { config "false"; type uint32; description "ND DNS server sequence no"; } } grouping nd_IfRoutes-group { description "Ipv6 Nd Route All"; // This object holds IPv6 ND Route command related properties container rt-items { list Route-list { key "ndRouteAddr"; uses nd_Route-group; description "Ipv6 Nd Route (specific) list"; } description "Ipv6 Nd Route (specific)"; } } grouping nd_Route-group { description "Ipv6 Nd Route (specific)"; leaf ndRouteAddr { type address_Ip; description "Nd Route IPv6 address"; } // Nd Route Life Time leaf ndRouteLifeTime { type nd_NdRtLifeTime; description "Nd Route life time"; } // Nd Route Infinite Life Time leaf ndRouteLifeTimeInfinite { type nw_AdminSt; default "disabled"; description "Nd Route life time infinite"; } // Set Default Route Preference Value for ND Route (RFC 4191) leaf routePreference { type nd_RtPrefForNdRt; description "Set Route Preference for ND Route (RFC 4191)"; } // Verify if route is present in Route table leaf verifyReachability { type nw_AdminSt; default "disabled"; description "Verify if route is present in Route table"; } } grouping nd_NeighborData-group { description "IPv6 ICMP Neighbor Data"; // Ephemeral data leaf ngbrAddr { config "false"; type address_Ip; description "IPv6 ICMP Neighbor Address"; } // Ephemeral data leaf ngbrAge { config "false"; type string; description "IPv6 ICMP Neighbor Age"; } // Ephemeral data leaf ngbrMac { config "false"; type address_Mac; description "IPv6 ICMP Neighbor MAC"; } // Ephemeral data leaf ngbrState { config "false"; type string; description "IPv6 ICMP Neighbor State"; } // IPv6 ICMP Neighbor Interface // Ephemeral data leaf ngbrInterface { config "false"; type nw_IfId; description "IPv6 ICMP Neighbor Interface"; } // IPv6 ICMP Neighbor Physical Interface // Ephemeral data leaf ngbrPhyInterface { config "false"; type nw_IfId; description "IPv6 ICMP Neighbor Physical Interface"; } // Ephemeral data leaf ngbrSyncedViaCFSoE { config "false"; type boolean; description "IPv6 ICMP Adjacency Synced Via CFSoE"; } // Ephemeral data leaf ngbrThrottledViaGlean { config "false"; type boolean; description "IPv6 ICMP Adjacency Throttled For Glean"; } } grouping nd_NdLocalProxy-group { description "IPv6 ND Local Proxy With No Hardware Flooding"; leaf prefix { type address_Ip; description "Prefix"; } } grouping nd_StickyNeighborData-group { description "IPv6 ICMP Sticky Neighbor Data"; // Ephemeral data leaf ngbrAddr { config "false"; type address_Ip; description "IPv6 ICMP Neighbor Address"; } // Ephemeral data leaf ngbrMac { config "false"; type address_Mac; description "IPv6 ICMP Neighbor MAC"; } // IPv6 ICMP Neighbor Interface // Ephemeral data leaf ngbrInterface { config "false"; type nw_IfId; description "IPv6 ICMP Neighbor Interface"; } // Ephemeral data leaf ngbrVrfName { config "false"; type string; description "IPv6 ICMP Neighbor VRF Name"; } // Ephemeral data leaf ngbrFlags { config "false"; type string; description "IPv6 ICMP Sticky Neighbor Flag"; } // Ephemeral data leaf ngbrRemoteVtepInfo { config "false"; type string; description "IPv6 ICMP Neighbor Remote VTEP Info"; } } grouping nd_Pfx-group { description "Prefix to be advertised"; leaf addr { type address_Ip; description "Prefix address"; } // Valid lifetime of the prefix @@@ (0xffffffff == infinite) leaf lifetime { type nd_Lifetime; description "Valid Lifetime"; } // Preferred lifetime of the prefix @@@ (0xffffffff == infinite) leaf prefLifetime { type nd_PrefLifetime; description "Preferred Lifetime"; } // RA prefix Controls leaf ctrl { type nd_PfxControl; description "Prefix Controls"; } } grouping nd_DefaultPrefix-group { description "Default Prefix to be advertised"; // Default prefix leaf defPrefix { type nw_AdminSt; description "Default prefix"; } // Valid lifetime of the prefix default leaf defLifetime { type nd_Lifetime; description "Valid lifetime for default prefix"; } // Preferred lifetime of the prefix default leaf defPrefLifetime { type nd_PrefLifetime; description "Preferred lifetime for default prefix"; } // Default RA prefix Controls leaf ctrl { type nd_PfxControl; description "Prefix Controls"; } } grouping nd_RouteAdvDNSServer-group { description "Route advertisement DNS server"; leaf dnsServerAddr { type address_Ip; description "DNS server IPv6 address"; } // DNS Server Life Time // Default value handled in local MO type leaf dnsServerLifeTime { // Type is a Local-MO-Defined-Type type nd_DNSServerLifeTime_RouteAdvDNSServer_dnsServerLifeTime; description "DNS server life time"; } // DNS Server Infinite Life Time leaf dnsServerLifeTimeInfinite { type nw_AdminSt; default "disabled"; description "DNS server life time infinite"; } // DNS Server Sequence Number leaf dnsSequenceNum { type nd_DNSSeqNum; description "DNS server sequence number"; } // Flag to indicate if dns server is configured or not leaf dnsServer { type nw_AdminSt; default "disabled"; description "IPv6 nd ra DNS server"; } } grouping nd_RouteAdvDNSSearchList-group { description "Route advertisement DNS search list"; leaf dnsSearchListName { type string; description "DNS search list name"; } // DNS Search List Life Time // Default value handled in local MO type leaf dnsSearchListLifeTime { // Type is a Local-MO-Defined-Type type nd_DNSServerLifeTime_RouteAdvDNSSearchList_dnsSearchListLifeTime; description "DNS search list life time"; } // DNS Search List Infinite Life Time leaf dnsSearchListLifeTimeInfinite { type nw_AdminSt; default "disabled"; description "DNS search list life time infinite"; } // DNS Search List Sequence Number leaf dnsSequenceNum { type nd_DNSSeqNum; description "DNS search list sequence number"; } // Flag to indicate if dns search list is configured or not leaf dnssl { type nw_AdminSt; default "disabled"; description "IPv6 nd ra DNS search list"; } } grouping nd_RouterStat-group { description "Router statistics"; // Ephemeral data leaf routerAddr { config "false"; type address_Ip; } // Ephemeral data leaf ifName { config "false"; type string; description "Router address associated with nterface"; } // Ephemeral data leaf lastUpdateTime { config "false"; type decimal64 { fraction-digits 6; } description "Last update time"; } // Ephemeral data leaf hopLimit { config "false"; type uint32; description "Current hop limit"; } // Ephemeral data leaf lifetime { config "false"; type uint32; description "Current lifetime"; } // Ephemeral data leaf addrFlag { config "false"; type uint16; description "Addr flag"; } // Ephemeral data leaf otherFlag { config "false"; type uint16; description "Other flag"; } // Ephemeral data leaf mtu { config "false"; type uint16; description "Mtu"; } // Ephemeral data leaf homeagentFlag { config "false"; type uint16; description "Homeagent flag"; } // Ephemeral data leaf preference { config "false"; type nd_RouterPreference; description "Preference flag"; } // Ephemeral data leaf reachableTime { config "false"; type uint64; description "Reachable time"; } // Ephemeral data leaf retransmissionTime { config "false"; type uint64; description "Retransmission time"; } // Ephemeral data container pfxstat-items { // Ephemeral data list RaPrefixStat-list { config "false"; key "prefixAddr"; uses nd_RaPrefixStat-group; description "RA prefix statistics list"; } description "RA prefix statistics"; } } grouping nd_RaPrefixStat-group { description "RA prefix statistics"; // Ephemeral data leaf prefixAddr { config "false"; type address_Ip; description "Prefix address"; } // Ephemeral data leaf onlinkFlag { config "false"; type boolean; description "Onlink flag"; } // Ephemeral data leaf autonomousFlag { config "false"; type boolean; description "Autonomous flag"; } // Ephemeral data leaf validLifetime { config "false"; type uint64; description "Valid lifetime"; } // Ephemeral data leaf prefLifetime { config "false"; type uint32; description "preferred lifetime"; } } grouping nd_IfStats-group { description "interface statistics"; // Total Messages sent @@@ ICMPV6_PKT_MSGS_SNT_CNT // Ephemeral data leaf totSent { config "false"; type nw_Counter64; description "Total messages sent"; } // Total Messages received @@@ ICMPV6_PKT_MSGS_RECV_CNT // Ephemeral data leaf totRvcd { config "false"; type nw_Counter64; description "Total messages received"; } // Error Messages sent @@@ ICMPV6_PKT_ERR_SNT_CNT // Ephemeral data leaf errSent { config "false"; type nw_Counter64; description "Error messages sent"; } // Error Messages received @@@ ICMPV6_PKT_ERR_RECV_CNT // Ephemeral data leaf errRcvd { config "false"; type nw_Counter64; description "Error messages received"; } // Interface Down Drop Count sent @@@ ICMPV6_PKT_SNT_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropSent { config "false"; type nw_Counter64; description "Interface Down Drop Count sent"; } // Interface Down Drop Count received @@@ ICMPV6_PKT_RECV_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropRcvd { config "false"; type nw_Counter64; description "Interface Down Drop Count received"; } // Adjacency not recovered from AM after HA @@@ ICMPV6_PKT_DROPPED_HA_NOT_READY // Ephemeral data leaf dropHaNotRdy { config "false"; type nw_Counter64; description "Adjacency not recovered from AM after HA"; } // Pkts allowed due to inv ttl on vPC-MCT @@@ ICMPV6_PKT_ALLOW_MCT_TTL_CNT // Ephemeral data leaf dropInvldTtlMct { config "false"; type nw_Counter64; description "Pkts allowed due to inv ttl on vPC-MCT"; } // Pkts dropped as source mac addr is own @@@ ICMPV6_PKT_RECV_DROP_OWN_SRC_MAC_COUNT // Ephemeral data leaf dropSrcMacOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as source mac addr is own"; } // Pkts dropped as tgt ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_TARGET_NOT_US_COUNT // Ephemeral data leaf dropTgtIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as tgt ip addr is not own"; } // Pkts dropped as src ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_SRC_NOT_US_COUNT // Ephemeral data leaf dropSrcIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as src ip addr is not own"; } // Destination Unreachables sent @@@ ICMPV6_PKT_DEST_UNREACHS_SNT_CNT // Ephemeral data leaf destUnreachSent { config "false"; type nw_Counter64; description "Destination Unreachables sent"; } // Destination Unreachables received @@@ ICMPV6_PKT_DEST_UNREACHS_RECV_CNT // Ephemeral data leaf destUnreachRcvd { config "false"; type nw_Counter64; description "Destination Unreachables received"; } // Administratively Prohibited sent @@@ ICMPV6_PKT_ADMIN_PROHIBS_SNT_CNT // Ephemeral data leaf adminProhibSent { config "false"; type nw_Counter64; description "Administratively Prohibited sent"; } // Administratively Prohibited received @@@ ICMPV6_PKT_ADMIN_PROHIBS_RECV_CNT // Ephemeral data leaf adminProhibRcvd { config "false"; type nw_Counter64; description "Administratively Prohibited received"; } // Time Exceeded sent @@@ ICMPV6_PKT_TIME_EXCDS_SNT_CNT // Ephemeral data leaf timeExcdSent { config "false"; type nw_Counter64; description "Time Exceeded sent "; } // Time Exceeded received @@@ ICMPV6_PKT_TIME_EXCDS_RECV_CNT // Ephemeral data leaf timeExcdRcvd { config "false"; type nw_Counter64; description "Time Exceeded received"; } // Parameter Problems sent @@@ ICMPV6_PKT_PARM_PROBS_SNT_CNT // Ephemeral data leaf parmPrblmSent { config "false"; type nw_Counter64; description "Parameter Problems sent"; } // Parameter Problems received @@@ ICMPV6_PKT_PARM_PROBS_RECV_CNT // Ephemeral data leaf parmPrblmRcvd { config "false"; type nw_Counter64; description "Parameter Problems received"; } // Echo Request sent @@@ ICMPV6_PKT_ECHOS_SNT_CNT // Ephemeral data leaf echoReqSent { config "false"; type nw_Counter64; description "Echo Request sent"; } // Echo Request received @@@ ICMPV6_PKT_ECHOS_RECV_CNT // Ephemeral data leaf echoReqRcvd { config "false"; type nw_Counter64; description "Echo Request received"; } // Echo Replies sent @@@ ICMPV6_PKT_ECHO_REPLIES_SNT_CNT // Ephemeral data leaf echoRepSent { config "false"; type nw_Counter64; description "Echo Replies sent"; } // Echo Replies received @@@ ICMPV6_PKT_ECHO_REPLIES_RECV_CNT // Ephemeral data leaf echoRepRcvd { config "false"; type nw_Counter64; description "Echo Replies received"; } // Redirects sent @@@ ICMPV6_PKT_REDIRECTS_SNT_CNT // Ephemeral data leaf redirSent { config "false"; type nw_Counter64; description "Redirects sent"; } // Redirects received @@@ ICMPV6_PKT_REDIRECTS_RECV_CNT // Ephemeral data leaf redirRcvd { config "false"; type nw_Counter64; description "Redirects received"; } // Packet Too Big sent @@@ ICMPV6_PKT_TOO_BIG_SNT_CNT // Ephemeral data leaf tooBigSent { config "false"; type nw_Counter64; description "Packet Too Big sent"; } // Packet Too Big received @@@ ICMPV6_PKT_TOO_BIG_RECV_CNT // Ephemeral data leaf tooBigRcvd { config "false"; type nw_Counter64; description "Packet Too Big received"; } // Router Advertisements sent @@@ ICMPV6_PKT_ROUTER_ADV_SNT_CNT // Ephemeral data leaf raSent { config "false"; type nw_Counter64; description "Router Advertisements sent"; } // Router Advertisements received @@@ ICMPV6_PKT_ROUTER_ADV_RECV_CNT // Ephemeral data leaf raRcvd { config "false"; type nw_Counter64; description "Router Advertisements received"; } // Router Solicitations sent @@@ ICMPV6_PKT_ROUTER_SOLICITS_SNT_CNT // Ephemeral data leaf rsSent { config "false"; type nw_Counter64; description "Router Solicitations sent"; } // Router Solicitations received @@@ ICMPV6_PKT_ROUTER_SOLICITS_RECV_CNT // Ephemeral data leaf rsRcvd { config "false"; type nw_Counter64; description "Router Solicitations received"; } // Neighbor Advertisements sent @@@ ICMPV6_PKT_NEIGHBOR_ADV_SNT_CNT // Ephemeral data leaf naSent { config "false"; type nw_Counter64; description "Neighbor Advertisements sent"; } // Neighbor Advertisements received @@@ ICMPV6_PKT_NEIGHBOR_ADV_RECV_CNT // Ephemeral data leaf naRcvd { config "false"; type nw_Counter64; description "Neighbor Advertisements received"; } // Neighbor Solicitations sent @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_SNT_CNT // Ephemeral data leaf nsSent { config "false"; type nw_Counter64; description "Neighbor Solicitations sent"; } // Neighbor Solicitations received @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_RECV_CNT // Ephemeral data leaf nsRcvd { config "false"; type nw_Counter64; description "Neighbor Solicitations received"; } // Duplicate router RA received @@@ ICMPV6_PKT_DUP_ROUTER // Ephemeral data leaf dupRAReceived { config "false"; type nw_Counter64; description "Duplicate router RA received"; } // Fastpath Packets @@@ ICMPV6_PKT_FASTPATH_RECV_CNT // Ephemeral data leaf fastpthRcvd { config "false"; type nw_Counter64; description "Fastpath Packets"; } // Ignored Fastpath Packets - Fastpath disabled @@@ ICMPV6_PKT_RECV_DROP_FASTPATH_DISABLED_CNT // Ephemeral data leaf fastpathDsbleIgnRcvd { config "false"; type nw_Counter64; description "Ignored Fastpath Packets - Fastpath disabled"; } // Ignored Fastpath Packets - others @@@ ICMPV6_PKT_RECV_DROP_REQUEST_IGNORE_CNT // Ephemeral data leaf fastpathOtherIgnRcvd { config "false"; type nw_Counter64; description "Ignored fastpath packets - others"; } // Ephemeral data leaf lastNghbrSolicitSent { config "false"; type string; description "Last neighbor solicitation sent"; } // Ephemeral data leaf lastNghbrAdvertisementSent { config "false"; type string; description "Last neighbor advertisement sent"; } // Ephemeral data leaf lastRouterAdvertisementSent { config "false"; type string; description "Last router advertisement sent"; } // Ephemeral data leaf nextRouterAdvertisementSent { config "false"; type string; description "Next neighbor advertisement sent"; } // Ephemeral data leaf nsRetransmitInterval { config "false"; type uint64; description "NS retransmit interval"; } // Ephemeral data leaf ndNudRetryBase { config "false"; type uint64; description "ND NUD retry base"; } // Ephemeral data leaf ndNudRetryInterval { config "false"; type uint64; description "ND NUD retry interval"; } // Ephemeral data leaf ndNudRetryAttemps { config "false"; type uint64; description "ND NUD retry attempts"; } // Ephemeral data leaf sendRedirect { config "false"; type boolean; description "Error send redirects"; } // Ephemeral data leaf redirectCause { config "false"; type uint64; description "Error redirect cause"; } // Ephemeral data leaf sendUnreachables { config "false"; type boolean; description "ND NUD retry interval"; } // Ephemeral data leaf maxDadAttempts { config "false"; type uint16; description "Maximum DAD attempts"; } // Ephemeral data leaf currentDadAttempt { config "false"; type uint16; description "Current DAD attempt"; } // Ephemeral data leaf ifState { config "false"; type string; description "Interface state"; } // Ephemeral data leaf ifAddr { config "false"; type string; description "Interface IPv6 address/s"; } // Ephemeral data leaf linkLocalAddr { config "false"; type string; description "IPv6 link local address"; } // Ephemeral data leaf linkLocalAddrState { config "false"; type string; description "IPv6 address state"; } // Ephemeral data leaf ndMacExtractState { config "false"; type string; description "ND mac-extract state"; } // Ephemeral data leaf statsLastReset { config "false"; type string; description "Interface statistics last reset"; } // Vinci specific: Proxy NA count @@@ ICMPV6_PKT_PROXY_NA_CNT // Ephemeral data leaf proxyNaCount { config "false"; type nw_Counter64; description "Proxy NA count"; } // Vinci specific: Proxy NA to BD count @@@ ICMPV6_PKT_FLOOD_BACK_TO_BD_NA // Ephemeral data leaf proxyNaToBdCount { config "false"; type nw_Counter64; description "Proxy NA to BD count"; } // Vinci specific: Proxy NS to BD count @@@ ICMPV6_PKT_FLOOD_BACK_TO_BD_NS // Ephemeral data leaf proxyNsToBdCount { config "false"; type nw_Counter64; description "Proxy NS to BD count"; } // Vinci specific: RARP NS Count @@@ ICMPV6_PKT_NS_SENT_FOR_RARP_CASE // Ephemeral data leaf rarpNsCount { config "false"; type nw_Counter64; description "RARP NS count"; } // Ephemeral data container bhdrpcnt-items { uses nd_BhDrpCnt-group; description "Black Hole Drop Count"; } // Ephemeral data container ra-items { uses nd_RouterAdv-group; description "Router advertisement"; } // Ephemeral data container vip-items { uses nd_IfVipClientStats-group; description "Interface virtual client"; } // Ephemeral data container addr-items { // Ephemeral data list IfIPv6AddrStats-list { config "false"; key "addr"; uses nd_IfIPv6AddrStats-group; description "Interface address list"; } description "Interface address"; } // Ephemeral data container pfx-items { // Ephemeral data list PrefixStats-list { config "false"; key "addr"; uses nd_PrefixStats-group; description "prefix statistics list"; } description "prefix statistics"; } // Ephemeral data container rt-items { // Ephemeral data list RouteStats-list { config "false"; key "addr"; uses nd_RouteStats-group; description "interface nd route statistics list"; } description "interface nd route statistics"; } // Ephemeral data container addrtree-items { // Ephemeral data list AddrTreeStats-list { config "false"; key "addr"; uses nd_AddrTreeStats-group; description "Address tree statistics list"; } description "Address tree statistics"; } } grouping nd_BhDrpCnt-group { description "Black Hole Drop Count"; // BlackHole Route Drop Count @@@ ICMPV6_BLACKHOLE_ADJ_DRP_CNT // Ephemeral data leaf bhDrpCnt { config "false"; type nw_Counter64; description "Blackhole Route Drop Count"; } } grouping nd_RouterAdv-group { description "Router advertisement"; // Ephemeral data leaf raInterval { config "false"; type uint64; description "Router advertisement interval"; } // Ephemeral data leaf raIntervalMin { config "false"; type uint64; description "Router advertisement minimum interval"; } // Ephemeral data leaf mFlag { config "false"; type boolean; description "Managed address configuration flag"; } // Ephemeral data leaf oFlag { config "false"; type boolean; description "Other stateful configuration flag"; } // Ephemeral data leaf hopLimit { config "false"; type uint64; description "Current hop limit"; } // Ephemeral data leaf mtu { config "false"; type uint64; description "MTU"; } // Ephemeral data leaf routerLifetime { config "false"; type uint64; description "Router lifetime"; } // Ephemeral data leaf reachableTime { config "false"; type uint64; description "Reachable time"; } // Ephemeral data leaf retransmitTime { config "false"; type uint64; description "Retransmit time"; } // Ephemeral data leaf suppressRa { config "false"; type boolean; description "Suppress RA"; } // Ephemeral data leaf suppressRaMtu { config "false"; type boolean; description "Suppress RA MTU"; } } grouping nd_IfVipClientStats-group { description "Interface virtual client"; // Ephemeral data container vipaddr-items { // Ephemeral data list IfVipAddrStats-list { config "false"; key "addr"; uses nd_IfVipAddrStats-group; description "Interface virtual address list"; } description "Interface virtual address"; } } grouping nd_IfVipAddrStats-group { description "Interface virtual address"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "Virtual IPv6 address"; } // Ephemeral data leaf lastNghbrSolicitSent { config "false"; type string; description "Last neighbor solicitation sent"; } // Ephemeral data leaf lastNghbrAdvertisementSent { config "false"; type string; description "Last neighbor advertisement sent"; } // Ephemeral data leaf lastRouterAdvertisementSent { config "false"; type string; description "Last router advertisement sent"; } // Ephemeral data leaf nextRouterAdvertisementSent { config "false"; type string; description "Next neighbor advertisement sent"; } } grouping nd_IfIPv6AddrStats-group { description "Interface address"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "IPv6 address"; } // Ephemeral data leaf addrState { config "false"; type string; description "IPv6 address state"; } } grouping nd_PrefixStats-group { description "prefix statistics"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "Prefix address"; } // Ephemeral data leaf maskLen { config "false"; type uint16; description "Mask Length"; } // Ephemeral data leaf enabled { config "false"; type boolean; description "Address enabled or not"; } // Valid lifetime of the prefix @@@ (0xffffffff == infinite) // Ephemeral data leaf lifetime { config "false"; type nd_Lifetime; description "Valid Lifetime"; } // Preferred lifetime of the prefix @@@ (0xffffffff == infinite) // Ephemeral data leaf prefLifetime { config "false"; type nd_Lifetime; description "Preferred Lifetime"; } // Ephemeral data leaf onLink { config "false"; type boolean; description "ND prefix on-link"; } // Ephemeral data leaf offLink { config "false"; type boolean; description "ND prefix off-link"; } // Ephemeral data leaf autonomous { config "false"; type boolean; description "ND prefix autonomous"; } // Ephemeral data leaf rtrAddr { config "false"; type boolean; description "ND prefix rtr-address"; } // Ephemeral data leaf ifAssignedAddr { config "false"; type boolean; description "nd prefix interface assigned address"; } // Ephemeral data leaf refCount { config "false"; type uint32; description "nd prefix reference count"; } } grouping nd_RouteStats-group { description "interface nd route statistics"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "Route address"; } // Ephemeral data leaf routePreference { config "false"; type nd_RouterPreference; description "Route Preference"; } // Valid lifetime of the prefix @@@ (0xffffffff == infinite) // Ephemeral data leaf routeLifetime { config "false"; type nd_OperNdRtLifeTime; description "Route Lifetime"; } // Ephemeral data leaf octetUnits { config "false"; type uint32; description "Route Info Option TLV len(units of octects)"; } // Ephemeral data leaf verifyReachability { config "false"; type boolean; description "Reachability-verify"; } // Ephemeral data leaf advRouteInRoute { config "false"; type boolean; description "Adv route in Route Info Option"; } // Ephemeral data leaf advRouteWithZeroLifetime { config "false"; type boolean; description "Adv route with zero lifetime"; } } grouping nd_AddrTreeStats-group { description "Address tree statistics"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "IPv6 address"; } // Ephemeral data leaf maskLen { config "false"; type uint8; description "Address mask length"; } // Ephemeral data leaf addrType { config "false"; type nd_AddrType; description "IPv6 address"; } // Ephemeral data leaf dadState { config "false"; type string; description "Dad state"; } // Ephemeral data leaf dadAttempt { config "false"; type uint16; description "Dad attempt"; } } grouping nd_VaddrStat-group { description "ND VADDR statistics"; // Ephemeral data leaf vaddrProto { config "false"; type string; description "VADDR protocol"; } // Ephemeral data leaf groupId { config "false"; type uint16; description "Group id"; } // Ephemeral data leaf clientUUID { config "false"; type uint32; description "client UUID"; } // Ephemeral data leaf clientState { config "false"; type nd_VaddrClientState; description "Client state"; } // Ephemeral data leaf clientInUse { config "false"; type uint16; description "Client in use"; } // Ephemeral data leaf clientActiveState { config "false"; type string; description "Client active or not"; } leaf interface { config "false"; type string; description "Interface"; } leaf context { config "false"; type string; description "Context Name (context-id)"; } // VADDR Statistics per i/f for // specific client(protocol) -> VIP addr // Ephemeral data container vip-items { // Ephemeral data list VaddrStatVip-list { config "false"; key "vAddr"; uses nd_VaddrStatVip-group; description "VIP statistics list"; } description "VIP statistics"; } } grouping nd_VaddrStatVip-group { description "VIP statistics"; // Ephemeral data leaf vAddr { config "false"; type address_Ip; description "Virtual IPv6 address"; } // Ephemeral data leaf virtualMac { config "false"; type string; description "Virtual MAC"; } // Total Messages sent @@@ ICMPV6_PKT_MSGS_SNT_CNT // Ephemeral data leaf totSent { config "false"; type nw_Counter64; description "Total messages sent"; } // Total Messages received @@@ ICMPV6_PKT_MSGS_RECV_CNT // Ephemeral data leaf totRvcd { config "false"; type nw_Counter64; description "Total messages received"; } // Error Messages sent @@@ ICMPV6_PKT_ERR_SNT_CNT // Ephemeral data leaf errSent { config "false"; type nw_Counter64; description "Error messages sent"; } // Error Messages received @@@ ICMPV6_PKT_ERR_RECV_CNT // Ephemeral data leaf errRcvd { config "false"; type nw_Counter64; description "Error messages received"; } // Interface Down Drop Count sent @@@ ICMPV6_PKT_SNT_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropSent { config "false"; type nw_Counter64; description "Interface Down Drop Count sent"; } // Interface Down Drop Count received @@@ ICMPV6_PKT_RECV_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropRcvd { config "false"; type nw_Counter64; description "Interface Down Drop Count received"; } // Adjacency not recovered from AM after HA @@@ ICMPV6_PKT_DROPPED_HA_NOT_READY // Ephemeral data leaf dropHaNotRdy { config "false"; type nw_Counter64; description "Adjacency not recovered from AM after HA"; } // Pkts allowed due to inv ttl on vPC-MCT @@@ ICMPV6_PKT_ALLOW_MCT_TTL_CNT // Ephemeral data leaf dropInvldTtlMct { config "false"; type nw_Counter64; description "Pkts allowed due to inv ttl on vPC-MCT"; } // Pkts dropped as source mac addr is own @@@ ICMPV6_PKT_RECV_DROP_OWN_SRC_MAC_COUNT // Ephemeral data leaf dropSrcMacOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as source mac addr is own"; } // Pkts dropped as tgt ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_TARGET_NOT_US_COUNT // Ephemeral data leaf dropTgtIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as tgt ip addr is not own"; } // Pkts dropped as src ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_SRC_NOT_US_COUNT // Ephemeral data leaf dropSrcIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as src ip addr is not own"; } // Destination Unreachables sent @@@ ICMPV6_PKT_DEST_UNREACHS_SNT_CNT // Ephemeral data leaf destUnreachSent { config "false"; type nw_Counter64; description "Destination Unreachables sent"; } // Destination Unreachables received @@@ ICMPV6_PKT_DEST_UNREACHS_RECV_CNT // Ephemeral data leaf destUnreachRcvd { config "false"; type nw_Counter64; description "Destination Unreachables received"; } // Administratively Prohibited sent @@@ ICMPV6_PKT_ADMIN_PROHIBS_SNT_CNT // Ephemeral data leaf adminProhibSent { config "false"; type nw_Counter64; description "Administratively Prohibited sent"; } // Administratively Prohibited received @@@ ICMPV6_PKT_ADMIN_PROHIBS_RECV_CNT // Ephemeral data leaf adminProhibRcvd { config "false"; type nw_Counter64; description "Administratively Prohibited received"; } // Time Exceeded sent @@@ ICMPV6_PKT_TIME_EXCDS_SNT_CNT // Ephemeral data leaf timeExcdSent { config "false"; type nw_Counter64; description "Time Exceeded sent "; } // Time Exceeded received @@@ ICMPV6_PKT_TIME_EXCDS_RECV_CNT // Ephemeral data leaf timeExcdRcvd { config "false"; type nw_Counter64; description "Time Exceeded received"; } // Parameter Problems sent @@@ ICMPV6_PKT_PARM_PROBS_SNT_CNT // Ephemeral data leaf parmPrblmSent { config "false"; type nw_Counter64; description "Parameter Problems sent"; } // Parameter Problems received @@@ ICMPV6_PKT_PARM_PROBS_RECV_CNT // Ephemeral data leaf parmPrblmRcvd { config "false"; type nw_Counter64; description "Parameter Problems received"; } // Echo Request sent @@@ ICMPV6_PKT_ECHOS_SNT_CNT // Ephemeral data leaf echoReqSent { config "false"; type nw_Counter64; description "Echo Request sent"; } // Echo Request received @@@ ICMPV6_PKT_ECHOS_RECV_CNT // Ephemeral data leaf echoReqRcvd { config "false"; type nw_Counter64; description "Echo Request received"; } // Echo Replies sent @@@ ICMPV6_PKT_ECHO_REPLIES_SNT_CNT // Ephemeral data leaf echoRepSent { config "false"; type nw_Counter64; description "Echo Replies sent"; } // Echo Replies received @@@ ICMPV6_PKT_ECHO_REPLIES_RECV_CNT // Ephemeral data leaf echoRepRcvd { config "false"; type nw_Counter64; description "Echo Replies received"; } // Redirects sent @@@ ICMPV6_PKT_REDIRECTS_SNT_CNT // Ephemeral data leaf redirSent { config "false"; type nw_Counter64; description "Redirects sent"; } // Redirects received @@@ ICMPV6_PKT_REDIRECTS_RECV_CNT // Ephemeral data leaf redirRcvd { config "false"; type nw_Counter64; description "Redirects received"; } // Packet Too Big sent @@@ ICMPV6_PKT_TOO_BIG_SNT_CNT // Ephemeral data leaf tooBigSent { config "false"; type nw_Counter64; description "Packet Too Big sent"; } // Packet Too Big received @@@ ICMPV6_PKT_TOO_BIG_RECV_CNT // Ephemeral data leaf tooBigRcvd { config "false"; type nw_Counter64; description "Packet Too Big received"; } // Router Advertisements sent @@@ ICMPV6_PKT_ROUTER_ADV_SNT_CNT // Ephemeral data leaf raSent { config "false"; type nw_Counter64; description "Router Advertisements sent"; } // Router Advertisements received @@@ ICMPV6_PKT_ROUTER_ADV_RECV_CNT // Ephemeral data leaf raRcvd { config "false"; type nw_Counter64; description "Router Advertisements received"; } // Router Solicitations sent @@@ ICMPV6_PKT_ROUTER_SOLICITS_SNT_CNT // Ephemeral data leaf rsSent { config "false"; type nw_Counter64; description "Router Solicitations sent"; } // Router Solicitations received @@@ ICMPV6_PKT_ROUTER_SOLICITS_RECV_CNT // Ephemeral data leaf rsRcvd { config "false"; type nw_Counter64; description "Router Solicitations received"; } // Neighbor Advertisements sent @@@ ICMPV6_PKT_NEIGHBOR_ADV_SNT_CNT // Ephemeral data leaf naSent { config "false"; type nw_Counter64; description "Neighbor Advertisements sent"; } // Neighbor Advertisements received @@@ ICMPV6_PKT_NEIGHBOR_ADV_RECV_CNT // Ephemeral data leaf naRcvd { config "false"; type nw_Counter64; description "Neighbor Advertisements received"; } // Neighbor Solicitations sent @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_SNT_CNT // Ephemeral data leaf nsSent { config "false"; type nw_Counter64; description "Neighbor Solicitations sent"; } // Neighbor Solicitations received @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_RECV_CNT // Ephemeral data leaf nsRcvd { config "false"; type nw_Counter64; description "Neighbor Solicitations received"; } // Duplicate router RA received @@@ ICMPV6_PKT_DUP_ROUTER // Ephemeral data leaf dupRAReceived { config "false"; type nw_Counter64; description "Duplicate router RA received"; } // Ephemeral data leaf lastNghbrSolicitSent { config "false"; type string; description "Last neighbor solicitation sent"; } // Ephemeral data leaf lastNghbrAdvertisementSent { config "false"; type string; description "Last neighbor advertisement sent"; } // Ephemeral data leaf lastRouterAdvertisementSent { config "false"; type string; description "Last router advertisement sent"; } // Ephemeral data leaf nextRouterAdvertisementSent { config "false"; type string; description "Next neighbor advertisement sent"; } } grouping nd_VaddrGlobalStat-group { description "ND offlist vlan statistics"; // Ephemeral data leaf vAddr { config "false"; type address_Ip; description "Virtual IPv6 address"; } // Ephemeral data leaf protocol { config "false"; type string; description "Protocol"; } // Ephemeral data leaf virtualMac { config "false"; type string; description "Virtual MAC"; } // Ephemeral data leaf groupId { config "false"; type uint16; description "Group id"; } // Ephemeral data leaf clientUUID { config "false"; type uint32; description "client UUID"; } // Ephemeral data leaf clientState { config "false"; type nd_VaddrClientState; description "Client state"; } // Ephemeral data leaf clientInUse { config "false"; type uint16; description "Client in use"; } // Ephemeral data leaf clientActiveState { config "false"; type string; description "Client active or not"; } // Ephemeral data leaf interface { config "false"; type string; description "Interface"; } // Ephemeral data leaf context { config "false"; type string; description "Context Name (context-id)"; } } grouping nd_IpV6Throttle-group { description "IPV6 throttling"; // Enable / Disable glean throttling leaf adminSt { type nw_AdminSt; default "disabled"; description "Glean throttle state"; } // Threshold for syslog for number of packets hitting the entry leaf syslog { type nd_SyslogCnt; description "Glean throttle syslog for number of packets"; } // Max throttle packets count. Crossing this threshold, // packet will not be throttled for a particular adjacency leaf maxPacket { type nd_MaxPacket; description "Glean throttle pack count"; } // Timeout for throttle setting for a particular adjacency leaf timeout { type nd_ThrTimeout; description "Ipv4 glean throttle timeout"; } } grouping nd_Vpc-group { description "Ipv6 Nd Synchronize"; // This objects hold per vpc domain information. There is only // one vpc domain that is configurable in the system container dom-items { list VpcDom-list { key "domainId"; uses nd_VpcDom-group; description "VPC Domain list"; } description "VPC Domain"; } } grouping nd_VpcDom-group { description "VPC Domain"; leaf domainId { type vpc_DomId; description "Respective VPC Domain"; } // Enable/Disable IPV6 ND SYNC leaf ndSync { type nw_AdminSt; default "disabled"; description "IPV6 ND Sync"; } } grouping nd_L2Stat-group { description "L2 Interface Statistics"; // Ephemeral data container if-items { // Ephemeral data list L2If-list { config "false"; key "id"; uses nd_L2If-group; description "L2 Interface list"; } description "L2 Interface"; } } grouping nd_L2If-group { description "L2 Interface"; leaf id { config "false"; type nw_IfId; description "Interface"; } // Ephemeral data leaf ndPackets { config "false"; type uint64; description "Total ND Packets On L2 Interface"; } } grouping nd_OffListVlan-group { description "ND offlist vlan statistics"; // Ephemeral data leaf vlanId { config "false"; type uint16; description "Offlist vlan id"; } // Ephemeral data leaf totalOfflistEntries { config "false"; type uint16; description "Total offlist entries for vlan"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "Address"; } // Ephemeral data leaf age { config "false"; type string; description "Age"; } // Ephemeral data leaf macAddr { config "false"; type string; description "Mac address"; } // Ephemeral data leaf flags { config "false"; type uint16; description "Address"; } } grouping nd_ProxyStat-group { description "ND Proxy Statistics"; // Ephemeral data container vlan-items { // Ephemeral data list VlanIntf-list { config "false"; key "id"; uses nd_VlanIntf-group; description "Vlan Interface list"; } description "Vlan Interface"; } } grouping nd_VlanIntf-group { description "Vlan Interface"; // Ephemeral data leaf id { config "false"; type nw_IfId; description "Interface"; } // Ephemeral data container if-items { // Ephemeral data list PhysicalIntf-list { config "false"; key "id"; uses nd_PhysicalIntf-group; description "Physical Interface list"; } description "Physical Interface"; } } grouping nd_PhysicalIntf-group { description "Physical Interface"; leaf id { config "false"; type nw_IfId; description "Interface"; } // Ephemeral data leaf numProxies { config "false"; type string; description "Number of Proxies in Last 24 Hours"; } } grouping nd_SupCacheStats-group { description "ND suppression cache statistics"; // Ephemeral data leaf suppressed { config "false"; type uint64; description "ND suppression cache:Suppressed"; } // Ephemeral data leaf nsFloodToBD { config "false"; type uint64; description "ND suppression cache: NS Flood to BD"; } // Ephemeral data leaf receiveNS { config "false"; type uint64; description "ND suppression cache: Receive NS"; } // Ephemeral data leaf receiveNonLocalNS { config "false"; type uint64; description "ND suppression cache: Receive Non Local NS"; } // Ephemeral data leaf receiveNonLocalNA { config "false"; type uint64; description "ND suppression cache: Receive Non Local NA"; } // Ephemeral data leaf localEntryAdds { config "false"; type uint64; description "ND suppression cache: Local entry adds"; } // Ephemeral data leaf localEntryDel { config "false"; type uint64; description "ND suppression cache: Local entry deletes"; } // Ephemeral data leaf remoteToLocal { config "false"; type uint64; description "ND suppression cache: Mobility Remote to Local"; } // Ephemeral data leaf localToRemote { config "false"; type uint64; description "ND suppression cache: Mobility Local to Remote"; } // Ephemeral data leaf remoteToRemote { config "false"; type uint64; description "ND suppression cache: Mobility Remote to Remote"; } // Ephemeral data leaf rarpSignalRefresh { config "false"; type uint64; description "ND suppression cache: RARP Signal Refresh"; } } grouping nd_GlobalTrafficStats-group { description "ICMPv6/ND global traffic counters"; // Total Messages sent @@@ ICMPV6_PKT_MSGS_SNT_CNT // Ephemeral data leaf totSent { config "false"; type nw_Counter64; description "Total messages sent"; } // Total Messages received @@@ ICMPV6_PKT_MSGS_RECV_CNT // Ephemeral data leaf totRvcd { config "false"; type nw_Counter64; description "Total messages received"; } // Error Messages sent @@@ ICMPV6_PKT_ERR_SNT_CNT // Ephemeral data leaf errSent { config "false"; type nw_Counter64; description "Error messages sent"; } // Error Messages received @@@ ICMPV6_PKT_ERR_RECV_CNT // Ephemeral data leaf errRcvd { config "false"; type nw_Counter64; description "Error messages received"; } // Interface Down Drop Count sent @@@ ICMPV6_PKT_SNT_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropSent { config "false"; type nw_Counter64; description "Interface Down Drop Count sent"; } // Interface Down Drop Count received @@@ ICMPV6_PKT_RECV_DROP_IF_DOWN_CNT // Ephemeral data leaf ifDownDropRcvd { config "false"; type nw_Counter64; description "Interface Down Drop Count received"; } // Adjacency not recovered from AM after HA @@@ ICMPV6_PKT_DROPPED_HA_NOT_READY // Ephemeral data leaf dropHaNotRdy { config "false"; type nw_Counter64; description "Adjacency not recovered from AM after HA"; } // Pkts allowed due to inv ttl on vPC-MCT @@@ ICMPV6_PKT_ALLOW_MCT_TTL_CNT // Ephemeral data leaf dropInvldTtlMct { config "false"; type nw_Counter64; description "Pkts allowed due to inv ttl on vPC-MCT"; } // Pkts dropped as source mac addr is own @@@ ICMPV6_PKT_RECV_DROP_OWN_SRC_MAC_COUNT // Ephemeral data leaf dropSrcMacOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as source mac addr is own"; } // Pkts dropped as tgt ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_TARGET_NOT_US_COUNT // Ephemeral data leaf dropTgtIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as tgt ip addr is not own"; } // Pkts dropped as src ip addr is not own @@@ ICMPV6_PKT_RECV_DROP_SRC_NOT_US_COUNT // Ephemeral data leaf dropSrcIpNotOwnRcvd { config "false"; type nw_Counter64; description "Pkts dropped as src ip addr is not own"; } // Destination Unreachables sent @@@ ICMPV6_PKT_DEST_UNREACHS_SNT_CNT // Ephemeral data leaf destUnreachSent { config "false"; type nw_Counter64; description "Destination Unreachables sent"; } // Destination Unreachables received @@@ ICMPV6_PKT_DEST_UNREACHS_RECV_CNT // Ephemeral data leaf destUnreachRcvd { config "false"; type nw_Counter64; description "Destination Unreachables received"; } // Administratively Prohibited sent @@@ ICMPV6_PKT_ADMIN_PROHIBS_SNT_CNT // Ephemeral data leaf adminProhibSent { config "false"; type nw_Counter64; description "Administratively Prohibited sent"; } // Administratively Prohibited received @@@ ICMPV6_PKT_ADMIN_PROHIBS_RECV_CNT // Ephemeral data leaf adminProhibRcvd { config "false"; type nw_Counter64; description "Administratively Prohibited received"; } // Time Exceeded sent @@@ ICMPV6_PKT_TIME_EXCDS_SNT_CNT // Ephemeral data leaf timeExcdSent { config "false"; type nw_Counter64; description "Time Exceeded sent "; } // Time Exceeded received @@@ ICMPV6_PKT_TIME_EXCDS_RECV_CNT // Ephemeral data leaf timeExcdRcvd { config "false"; type nw_Counter64; description "Time Exceeded received"; } // Parameter Problems sent @@@ ICMPV6_PKT_PARM_PROBS_SNT_CNT // Ephemeral data leaf parmPrblmSent { config "false"; type nw_Counter64; description "Parameter Problems sent"; } // Parameter Problems received @@@ ICMPV6_PKT_PARM_PROBS_RECV_CNT // Ephemeral data leaf parmPrblmRcvd { config "false"; type nw_Counter64; description "Parameter Problems received"; } // Echo Request sent @@@ ICMPV6_PKT_ECHOS_SNT_CNT // Ephemeral data leaf echoReqSent { config "false"; type nw_Counter64; description "Echo Request sent"; } // Echo Request received @@@ ICMPV6_PKT_ECHOS_RECV_CNT // Ephemeral data leaf echoReqRcvd { config "false"; type nw_Counter64; description "Echo Request received"; } // Echo Replies sent @@@ ICMPV6_PKT_ECHO_REPLIES_SNT_CNT // Ephemeral data leaf echoRepSent { config "false"; type nw_Counter64; description "Echo Replies sent"; } // Echo Replies received @@@ ICMPV6_PKT_ECHO_REPLIES_RECV_CNT // Ephemeral data leaf echoRepRcvd { config "false"; type nw_Counter64; description "Echo Replies received"; } // Redirects sent @@@ ICMPV6_PKT_REDIRECTS_SNT_CNT // Ephemeral data leaf redirSent { config "false"; type nw_Counter64; description "Redirects sent"; } // Redirects received @@@ ICMPV6_PKT_REDIRECTS_RECV_CNT // Ephemeral data leaf redirRcvd { config "false"; type nw_Counter64; description "Redirects received"; } // Packet Too Big sent @@@ ICMPV6_PKT_TOO_BIG_SNT_CNT // Ephemeral data leaf tooBigSent { config "false"; type nw_Counter64; description "Packet Too Big sent"; } // Packet Too Big received @@@ ICMPV6_PKT_TOO_BIG_RECV_CNT // Ephemeral data leaf tooBigRcvd { config "false"; type nw_Counter64; description "Packet Too Big received"; } // Router Advertisements sent @@@ ICMPV6_PKT_ROUTER_ADV_SNT_CNT // Ephemeral data leaf raSent { config "false"; type nw_Counter64; description "Router Advertisements sent"; } // Router Advertisements received @@@ ICMPV6_PKT_ROUTER_ADV_RECV_CNT // Ephemeral data leaf raRcvd { config "false"; type nw_Counter64; description "Router Advertisements received"; } // Router Solicitations sent @@@ ICMPV6_PKT_ROUTER_SOLICITS_SNT_CNT // Ephemeral data leaf rsSent { config "false"; type nw_Counter64; description "Router Solicitations sent"; } // Router Solicitations received @@@ ICMPV6_PKT_ROUTER_SOLICITS_RECV_CNT // Ephemeral data leaf rsRcvd { config "false"; type nw_Counter64; description "Router Solicitations received"; } // Neighbor Advertisements sent @@@ ICMPV6_PKT_NEIGHBOR_ADV_SNT_CNT // Ephemeral data leaf naSent { config "false"; type nw_Counter64; description "Neighbor Advertisements sent"; } // Neighbor Advertisements received @@@ ICMPV6_PKT_NEIGHBOR_ADV_RECV_CNT // Ephemeral data leaf naRcvd { config "false"; type nw_Counter64; description "Neighbor Advertisements received"; } // Neighbor Solicitations sent @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_SNT_CNT // Ephemeral data leaf nsSent { config "false"; type nw_Counter64; description "Neighbor Solicitations sent"; } // Neighbor Solicitations received @@@ ICMPV6_PKT_NEIGHBOR_SOLICITS_RECV_CNT // Ephemeral data leaf nsRcvd { config "false"; type nw_Counter64; description "Neighbor Solicitations received"; } // Duplicate router RA received @@@ ICMPV6_PKT_DUP_ROUTER // Ephemeral data leaf dupRAReceived { config "false"; type nw_Counter64; description "Duplicate router RA received"; } // Fastpath Packets @@@ ICMPV6_PKT_FASTPATH_RECV_CNT // Ephemeral data leaf fastpthRcvd { config "false"; type nw_Counter64; description "Fastpath Packets"; } // Ignored Fastpath Packets - Fastpath disabled @@@ ICMPV6_PKT_RECV_DROP_FASTPATH_DISABLED_CNT // Ephemeral data leaf fastpathDsbleIgnRcvd { config "false"; type nw_Counter64; description "Ignored Fastpath Packets - Fastpath disabled"; } // Ignored Fastpath Packets - others @@@ ICMPV6_PKT_RECV_DROP_REQUEST_IGNORE_CNT // Ephemeral data leaf fastpathOtherIgnRcvd { config "false"; type nw_Counter64; description "Ignored fastpath packets - others"; } // @@@ ICMPV6_PKT_MLD_V1_QUERY_SNT_CNT // Ephemeral data leaf mldV1QueriesSent { config "false"; type nw_Counter64; description "V1 queries sent"; } // @@@ ICMPV6_PKT_MLD_V1_QUERY_RECV_CNT // Ephemeral data leaf mldV1QueriesRecv { config "false"; type nw_Counter64; description "V1 queries received"; } // @@@ ICMPV6_PKT_MLD_V2_QUERY_SNT_CNT // Ephemeral data leaf mldV2QueriesSent { config "false"; type nw_Counter64; description "V2 queries sent"; } // @@@ ICMPV6_PKT_MLD_V2_QUERY_RECV_CNT // Ephemeral data leaf mldV2QueriesRecv { config "false"; type nw_Counter64; description "V2 queries received"; } // @@@ ICMPV6_PKT_MLD_V1_REPORTS_SNT_CNT // Ephemeral data leaf mldV1ReportsSent { config "false"; type nw_Counter64; description "V1 reports sent"; } // @@@ ICMPV6_PKT_MLD_V1_REPORTS_RECV_CNT // Ephemeral data leaf mldV1ReportsRecv { config "false"; type nw_Counter64; description "V1 reports received"; } // @@@ ICMPV6_PKT_MLD_V2_REPORTS_SNT_CNT // Ephemeral data leaf mldV2ReportsSent { config "false"; type nw_Counter64; description "V2 reports sent"; } // @@@ ICMPV6_PKT_MLD_V2_REPORTS_RECV_CNT // Ephemeral data leaf mldV2ReportsRecv { config "false"; type nw_Counter64; description "V2 reports received"; } // @@@ ICMPV6_PKT_MLD_V1_LEAVES_SNT_CNT // Ephemeral data leaf mldV1LeavesSent { config "false"; type nw_Counter64; description "V1 leaves sent"; } // @@@ ICMPV6_PKT_MLD_V1_LEAVES_RECV_CNT // Ephemeral data leaf mldV1LeavesRecv { config "false"; type nw_Counter64; description "V1 leaves received"; } // OC DTX Request Recevied Count @@@ ICMPV6_OC_DTX_REQ_RCV_CNT // Ephemeral data leaf ocDtxReqRcvCnt { config "false"; type nw_Counter64; description "OC DTX Request Recevied Count"; } // OC DTX Responses Sent Count @@@ ICMPV6_OC_DTX_RESP_SNT_CNT // Ephemeral data leaf ocDtxRespSntCnt { config "false"; type nw_Counter64; description "OC DTX Response Sent Count"; } // OC DTX Session Drop Count @@@ ICMPV6_OC_DTX_SESSION_DROP_CNT // Ephemeral data leaf ocDtxSessionDrpCnt { config "false"; type nw_Counter64; description "OC DTX Session Drop Count"; } // BlackHole Route Drop Count @@@ ICMPV6_BLACKHOLE_ADJ_DRP_CNT // Ephemeral data leaf bhDrpCnt { config "false"; type nw_Counter64; description "Blackhole Route Drop Count"; } } grouping nd_DbSupCache-group { description " This Object Holds Suppression-Cache Database"; // Type of the repository // Ephemeral data leaf type { config "false"; type nd_DbT; description "DbSupCache: Database Type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Holds Suppression-cache vlan related information // Ephemeral data container vlan-items { // Ephemeral data list SupCacheVlan-list { config "false"; key "id"; uses nd_SupCacheVlan-group; description "This Object Holds Suppression Cache Table Vlan list"; } description "This Object Holds Suppression Cache Table Vlan"; } } grouping nd_SupCacheVlan-group { description "This Object Holds Suppression Cache Table Vlan"; // vlan id // Ephemeral data leaf id { config "false"; type stp_VlanId; description "SupCacheVlan: VLAN id"; } // Suppression ND Mode // Ephemeral data leaf suppressNdMode { config "false"; type nd_SuppressNdMode; description "SupCacheVlan: Suppression ND mode"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Holds suppression-cache entry information // Ephemeral data container ipv6addr-items { // Ephemeral data list SupCacheEntry-list { config "false"; key "ipv6addr"; uses nd_SupCacheEntry-group; description "This Object Holds Suppression Cache Entry list"; } description "This Object Holds Suppression Cache Entry"; } } grouping nd_SupCacheEntry-group { description "This Object Holds Suppression Cache Entry"; // Ephemeral data leaf ipv6addr { config "false"; type address_Ip; description "SupCacheEntry: IPv6 Address"; } // IRP Entry flags // Ephemeral data leaf flags { config "false"; type nd_SupCacheFlag; description "SupCacheEntry: Flags"; } // Ephemeral data leaf mac { config "false"; type address_Mac; description "SupCacheEntry: MAC Address"; } // Ephemeral data leaf upTS { config "false"; type union { type string; type uint64; } description "SupCacheEntry: ND Entry Up Time"; } // Physical Interface ID // Ephemeral data leaf phyid { config "false"; type nw_IfId; description "SupCacheEntry: Physical Interface ID"; } leaf remotevtepaddr { config "false"; type string; description "SupCacheEntry: Remote Vtep Address"; } } grouping nd_VaddrLinkLocalStat-group { description "ICMPv6/ND link local vaddr statistics"; // Ephemeral data leaf vAddr { config "false"; type address_Ip; description "Virtual IPv6 address"; } // Ephemeral data leaf virtualMac { config "false"; type string; description "Virtual MAC"; } // Ephemeral data leaf interface { config "false"; type string; description "Interface name"; } // Ephemeral data leaf active { config "false"; type string; description "Active state"; } } grouping nd_VPCStat-group { description "ND/ICMPv6 VPC statistics"; // Ephemeral data leaf cfsStatus { config "false"; type string; description "IPv6 ND sync status"; } // Ephemeral data leaf layer3Routing { config "false"; type string; description "IPv6 ND L3 routing"; } // Ephemeral data leaf syncProcDropRecvPullReq { config "false"; type uint16; description "Drop the received CFS pull request"; } // Ephemeral data leaf syncProcDropRecvPushMsg { config "false"; type uint16; description "Drop the received CFS push message"; } // Ephemeral data leaf syncIgnoreSendPullReq { config "false"; type uint16; description "Ignore to send pull request using CFSoE"; } // Ephemeral data leaf syncIgnoreSendPushMsg { config "false"; type uint16; description "Ignore to send push message using CFSoE"; } // Ephemeral data leaf syncDropIMApiFailed { config "false"; type uint16; description "IM api failed while processing CFS payload"; } // Ephemeral data leaf syncDropMcemApiFailed { config "false"; type uint16; description "MCECM api failed while processing CFS payload"; } // Ephemeral data leaf syncDropInvalidPcIod { config "false"; type uint16; description "Invalid MCT port-channel iod for CFS payload"; } // Ephemeral data leaf syncProcDropPtLookupFailed { config "false"; type uint16; description "PT lookup failed while processing CFS payload"; } // Ephemeral data leaf syncProcDropRespFailedNomct { config "false"; type uint16; description "Invalid MCT iod while processing CFS payload"; } // Ephemeral data leaf syncProcDropRespFailed { config "false"; type uint16; description "Sending CFS response failed for CFS payload"; } // Ephemeral data leaf syncProcDropMCEMIfindexVpcConvFailed { config "false"; type uint16; description "Unabled to retrieve VPC id from ifindex for push"; } // Ephemeral data leaf syncProcDropMCEMVpcIfindexConvFailed { config "false"; type uint16; description "Unabled to retrieve ifindex from vpc id"; } // Ephemeral data leaf PeriodicSyncProcDropMCEMIfindexVpcConvFailed { config "false"; type uint16; description "Unabled to retrieve VPC id from ifindex during periodic sync"; } // Ephemeral data leaf periodicSyncProcDropMCEMVpcIfindexConvFailed { config "false"; type uint16; description "Unabled to retrieve ifindex from vpc id during periodic sync"; } // Ephemeral data leaf syncProcRespSent { config "false"; type uint16; description "Response sent via CFSoE"; } // Ephemeral data leaf syncProcRespRcvd { config "false"; type uint16; description "Response received via CFSoE"; } // Ephemeral data leaf syncProcRespRcvdErr { config "false"; type uint16; description "Response received via CFSoE with errors"; } // Ephemeral data leaf syncProcRcvdMsg { config "false"; type uint16; description "Received message via CFSoE"; } // Ephemeral data leaf syncProcSendFailed { config "false"; type uint16; description "Send message failed via CFSoE"; } // Ephemeral data leaf syncProcCfsRelDlvryFailed { config "false"; type uint16; description "MCECM send api failed via CFSoE"; } // Ephemeral data leaf syncProcCfsRelDlvrySuccess { config "false"; type uint16; description "Send message succeeded via CFSoE"; } // Ephemeral data leaf offlistProcDropPtAddFailed { config "false"; type uint16; description "PT add failed while processing offlist DB"; } // Ephemeral data leaf offlistProcDropNoMem { config "false"; type uint16; description "Memory alloc failed while processing offlist DB"; } // Ephemeral data leaf offlistProcDropTmrCreateFailed { config "false"; type uint16; description "Timer create failed while processing offlist DB"; } // Ephemeral data leaf offlistProcDropAddAdjFailed { config "false"; type uint16; description "Adjacency addition failed while processing offlist DB"; } // Ephemeral data leaf offlistProcDropPtLookupFailed { config "false"; type uint16; description "PT lookup failed while processing offlist DB"; } // Ephemeral data leaf offlistProcNoDropVlanMismatch { config "false"; type uint16; description "VLAN mismatch while processing offlist DB"; } // Ephemeral data leaf offlistProcDropSVIInvalid { config "false"; type uint16; description "SVI is invalid while processing offlist DB"; } // Ephemeral data leaf offlistProcNoDropSVIDown { config "false"; type uint16; description "SVI is down while processing offlist DB"; } // Ephemeral data leaf offlistProcDropMCTDown { config "false"; type uint16; description "MCT is down while processing offlist DB"; } // Ephemeral data leaf offlistProcDropCtxtInvalid { config "false"; type uint16; description "Ctxt_type is invalid while processing offlist DB"; } // Ephemeral data leaf offlistProcDropVRFInvalid { config "false"; type uint16; description "VRF invalid while processing offlist DB"; } // Ephemeral data leaf offlistProcDropL3addrInvalid { config "false"; type uint16; description "IP address invalid while processing offlist DB"; } // Ephemeral data leaf offlistProcDropL3addrSanityFailed { config "false"; type uint16; description "IP address sanity failed while processing offlist DB"; } // Ephemeral data leaf offlistProcDropMacSanityFailed { config "false"; type uint16; description "MAC sanity failed while processing offlist DB"; } // Ephemeral data leaf offlistProcDropOwnMac { config "false"; type uint16; description "Own MAC while processing offlist DB"; } // Ephemeral data leaf offlistProcDropOwnIpv6Addr { config "false"; type uint16; description "Own IPv6 address while processing offlist DB"; } // Ephemeral data leaf offlistProcDropOwnVIPv6Addr { config "false"; type uint16; description "Own VIPv6 address while processing offlist DB"; } // Ephemeral data leaf offlistProcDropCreateAdjFailed { config "false"; type uint16; description "Create adjacency failed while processing offlist DB"; } // Ephemeral data leaf offlistProcDropSubnetMismatch { config "false"; type uint16; description "Subnet mismatch while processing offlist DB"; } // Ephemeral data leaf offlistProcDropAdjAlreadyExist { config "false"; type uint16; description "Adj already exist while processing offlist DB"; } // Ephemeral data leaf offlistProcNoDropIpv6Disabled { config "false"; type uint16; description "IPv6 disabled on interface while processing offlist DB"; } // Ephemeral data leaf offlistProcDropCount { config "false"; type uint16; description "Total drop count while processing offlist DB"; } // Ephemeral data leaf offlistProcNoDropCount { config "false"; type uint16; description "Total do not count while processing offlist DB"; } // Ephemeral data leaf offlistProcAddAdj { config "false"; type uint16; description "Total adjacency additions in offlist DB"; } // Ephemeral data leaf offlistProcDelAdj { config "false"; type uint16; description "Total adjacency deletion in offlist DB"; } // Ephemeral data leaf offlistProcAdjAlreadyExist { config "false"; type uint16; description "Total duplicate adjacencies ignored in offlist DB"; } } grouping ngmvpn_Entity-group { description "Fabric Group Manager Entity, which hold NGMVPN entity information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per ngmvpn instance information. There is only // one instance of ngmvpn running in the system today container inst-items { uses ngmvpn_Inst-group; description "NGMVPN Instance MO"; } } grouping ngmvpn_Inst-group { description "NGMVPN Instance MO"; leaf overlayDistributedDr { type boolean; description "Overlay Distributed DR flag"; } leaf overlayDistributedDrDone { config "false"; type boolean; description "Overlay Distributed DR state"; } leaf overlaySptOnly { type boolean; default "true"; description "Overlay SPT only flag"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Address family type // Ephemeral data container af-items { // Ephemeral data list Af-list { config "false"; key "type"; uses ngmvpn_Af-group; description "Specifies IPv4 or IPv6 type Address-Family list"; } description "Specifies IPv4 or IPv6 type Address-Family"; } // This objects hold per IP Multicast domain (VRF) information container dom-items { list Dom-list { key "name"; uses ngmvpn_Dom-group; description "VRF related information for NGMVPN list"; } description "VRF related information for NGMVPN"; } container eventhist-items { list EventHistory-list { key "type"; uses ngmvpn_EventHistory-group; description "This object holds configuration details of event-history buffers list"; } description "This object holds configuration details of event-history buffers"; } // This object holds global config for ngmvpn container gl-items { uses ngmvpn_Gl-group; description "This object holds global configuration for NGMVPN"; } } grouping ngmvpn_Af-group { description "Specifies IPv4 or IPv6 type Address-Family"; // Type // Ephemeral data leaf type { config "false"; type ngmvpn_AfT; description "Type of Address-Family, where 0 represents IPv4 and 1 represents IPv6"; } // This object holds mrib route db information // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "dbtype"; uses ngmvpn_Db-group; description "NGMVPN DB to query either ipv4 or ipv6 routes list"; } description "NGMVPN DB to query either ipv4 or ipv6 routes"; } } grouping ngmvpn_Db-group { description "NGMVPN DB to query either ipv4 or ipv6 routes"; // Type of the repository // Ephemeral data leaf dbtype { config "false"; type ngmvpn_DbT; description "DB Type, where 0 represents IPv4 routes and 1 represents IPv6 routes"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This objects hold per pim domain (vrf) information // Ephemeral data container vni-items { // Ephemeral data list Vni-list { config "false"; key "id"; uses ngmvpn_Vni-group; description "Holds NGMVPN VNI information list"; } description "Holds NGMVPN VNI information"; } // This objects hold per pim domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses ngmvpn_Vrf-group; description "Holds per NGMVPN domain (vrf) information list"; } description "Holds per NGMVPN domain (vrf) information"; } } grouping ngmvpn_Vni-group { description "Holds NGMVPN VNI information"; // Ephemeral data leaf id { config "false"; type uint32; description "VNI ID"; } // Ephemeral data container l2route-items { // Ephemeral data list L2route-list { config "false"; key "src grp"; uses ngmvpn_L2route-group; description "NGMVPN L2 route information list"; } description "NGMVPN L2 route information"; } } grouping ngmvpn_L2route-group { description "NGMVPN L2 route information"; // Ephemeral data leaf maskLen { config "false"; type uint32; description "Mask Length"; } // Ephemeral data leaf src { config "false"; type address_Ip; description "Source Address"; } // Ephemeral data leaf grp { config "false"; type address_Ip; description "Group Address"; } // Fabric node // Ephemeral data container fabNode-items { // Ephemeral data list FabNode-list { config "false"; key "ipAddr"; uses ngmvpn_FabNode-group; description "Interested Fabric nodes list"; } description "Interested Fabric nodes"; } } grouping ngmvpn_FabNode-group { description "Interested Fabric nodes"; // Ephemeral data leaf ipAddr { config "false"; type address_Ip; description "Fabric node IP Address"; } } grouping ngmvpn_Vrf-group { description "Holds per NGMVPN domain (vrf) information"; // Ephemeral data leaf name { config "false"; type string; description "Vrf Name"; } // This object holds mrib route group information // Ephemeral data container group-items { // Ephemeral data list Group-list { config "false"; key "grpAddr"; uses ngmvpn_Group-group; description "NGMVPN Route Group list"; } description "NGMVPN Route Group"; } } grouping ngmvpn_Group-group { description "NGMVPN Route Group"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group Address"; } leaf maskLen { config "false"; type uint32; description "Mask Length of the group address"; } // This object holds mrib route group information // Ephemeral data container source-items { // Ephemeral data list Source-list { config "false"; key "srcAddr"; uses ngmvpn_Source-group; description "NGMVPN Route Source address list"; } description "NGMVPN Route Source address"; } } grouping ngmvpn_Source-group { description "NGMVPN Route Source address"; // Ephemeral data leaf srcAddr { config "false"; type address_Ip; description "Source Address"; } leaf maskLen { config "false"; type uint32; description "Mask Length of the source address"; } leaf uptime { config "false"; type string; description "Uptime of the route"; } // Fabric node // Ephemeral data container fabNode-items { // Ephemeral data list FabNode-list { config "false"; key "ipAddr"; uses ngmvpn_FabNode-group; description "Interested Fabric nodes list"; } description "Interested Fabric nodes"; } } grouping ngmvpn_Dom-group { description "VRF related information for NGMVPN"; leaf mdtV4Vxlan { type ngmvpn_MdtVxlan; description "L3VNI NGMVPN MDT VXLAN support"; } leaf mdtV6Vxlan { type ngmvpn_MdtVxlan; description "L3VNI NGMVPN MDT VXLAN support"; } leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } } grouping ngmvpn_EventHistory-group { description "This object holds configuration details of event-history buffers"; leaf type { type ngmvpn_EhType; description "Configures type of event history"; } leaf size { type ngmvpn_Size; description "Configures buffer size in text per kb"; } } grouping ngmvpn_Gl-group { description "This object holds global configuration for NGMVPN"; // LoggingLevel leaf logLevel { type ngmvpn_LoggingLvl; description "Sets syslog filter level for NGMVPN"; } // logLevel leaf logLvl { type mcast_LogLevelRange; description "Syslog filter level"; } leaf isolate { type boolean; description "Isolate this router flag"; } } grouping ospfv3_Entity-group { description "OSPFv3 control plane entity information"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This object holds OSPFv3 information that is operated at a // interface level container if-items { list If-list { key "id"; uses ospfv3_If-group; description "OSPFv3 information operated at interface level list"; } description "OSPFv3 information operated at interface level "; } // This object holds per OSPFv3 instance information. container inst-items { list Inst-list { key "name"; uses ospfv3_Inst-group; description "OSPFv3 router instance information list"; } description "OSPFv3 router instance information"; } } grouping ospfv3_If-group { description "OSPFv3 information operated at interface level "; // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // OSPFv3 Instance name leaf instance { type ospfv3_InstanceName; description "OSPFv3 instance name used with area command"; } // Dom name leaf dom { config "false"; type ospfv3_DomName; description "Dom to which the interface belongs to"; } leaf mtuIgnore { type boolean; description "Disable OSPF MTU mismatch detection"; } // BFD control leaf bfdCtrl { type ospfv3_BfdControl; description "Bidirectional Forwarding Detection (BFD) control"; } // Instance identifier under interface leaf instanceId { type ospfv3_InstanceID; description "OSPFv3 instance identifier under interface"; } // Passive interface control leaf passive { type ospfv3_PassiveControl; description "Suppress routing updates on the interface"; } // Network type leaf nwT { type ospfv3_NwT; description "Network Type, can be Point-to-point or Broadcast"; } // Priority, used in determining the designated router on // this network leaf prio { type ospfv3_DesigPrio; description "Router priority, used in determining the designated router on this network"; } // Cost of the interface leaf cost { type ospfv3_IfCost; description "Cost associated with interface"; } // Area to which this interface belongs to leaf area { type ospfv3_AreaId; description "Area associated with interface"; } leaf advSecondary { type boolean; default "true"; description "Advertise secondary IPv6 addresses"; } // Hello interval, interval between hello packets that // OSPFv3 sends on the interface leaf helloIntvl { type ospfv3_HelloIntvl; description "Interval between hello packets that OSPFv3 sends on the interface"; } // Dead interval, interval during which at least one // hello packet must be received from a neighbor before // the router declares that neighbor as down leaf deadIntvl { type ospfv3_DeadIntvl; description "Dead interval, interval during which at least one hello packet must be received from a neighbor before the router declares that neighbor as down"; } // Retransmit interval, time between LSA retransmissions. // When a router sends an LSA to its neighbor, it keeps // the LSA until it receives an acknowledgement from the // neighbor. If the router receives no acknowldegement // within the retransmit interval, the local router // resends the LSA leaf reTxIntvl { type ospfv3_ReTxIntvl; description "Retransmit interval, the time between LSA retransmissions"; } // Transmit delay, estimated time needed to send an LSA // update packet leaf txDelay { type ospfv3_TxDelay; description "Transmit delay, estimated time needed to send an LSA update packet"; } // This object holds authentication new policy information for interface container auth-items { uses ospfv3_IfAuthNewP-group; description "This object holds authentication new policy information for interface"; } // This object holds authentication new policy information for interface container esp-items { uses ospfv3_IfEspNewP-group; description "This object holds authentication new policy information for interface"; } // This object holds multi-area information // at a interface level container multiarea-items { list MultiArea-list { key "multiareaid"; uses ospfv3_MultiArea-group; description "This object holds multi-area information operated at interface level list"; } description "This object holds multi-area information operated at interface level"; } container rtospfIfDefToOspfv3If-items { list RtOspfIfDefToOspfv3If-list { config "false"; key "tDn"; uses ospf_RtOspfIfDefToOspfv3If_target-group; } } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping ospfv3_IfAuthNewP-group { description "This object holds authentication new policy information for interface"; // Security Parameter Index leaf spi { type ospfv3_AuthSpi; description "Security Parameter Index"; } // Authentication key leaf authKey { type ospfv3_AuthKey; description "Key used for authentication"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf authKeyEncrType { type ospfv3_AuthKeyEncrType; default "cleartext"; description "Authentication key encryption type which can be Cleartext, 3DES or CiscoType7"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf authType { type ospfv3_AuthType; description "Authentication types which can be md5, sha1 or disable."; } } grouping ospfv3_IfEspNewP-group { description "This object holds authentication new policy information for interface"; // Security Parameter Index leaf spi { type ospfv3_EspSpi; description "Security Parameter Index"; } // Authentication key leaf espAuthKey { type ospfv3_EspKey; description "Key used for ESP authentication"; } // Encr key leaf espEncrKey { type ospfv3_EspKey; description "Key used for encryption"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf espAuthKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP authentication"; } // Encr key encrypted with 3DES/CiscoType7 or Cleartext leaf espEncrKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP encryption"; } // Encryption keychain leaf encrKeychain { type ospfv3_KeychainType; description "Keychain used for Encryption"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf espDisable { type ospfv3_EspDisable; description "Used to Disable Encryption in ESP."; } // Authentication type leaf espAuthType { type ospfv3_EspAuthType; description "Authentication types which can be sha1 or disable."; } // Authentication key encrypted leaf espEncrType { type ospfv3_EspEncrType; description "Authentication key encryption type"; } } grouping ospfv3_MultiArea-group { description "This object holds multi-area information operated at interface level"; // Multi Area id leaf multiareaid { type ospfv3_AreaId; description "Holds multi area identifier (ID)"; } } grouping ospfv3_Inst-group { description "OSPFv3 router instance information"; leaf name { type naming_Name256 { length "0..128"; pattern "[A-Za-z0-9_][A-Za-z0-9_-]{0,19}"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } leaf flushRoutes { type boolean; default "false"; description "Flush routes on non-graceful controlled restart"; } leaf isolate { type boolean; default "false"; description "Isolate this router from OSPFv3 perspective"; } // This object holds per OSPFv3 VRF information container dom-items { list Dom-list { key "name"; uses ospfv3_Dom-group; description "OSPFv3 VRF information list"; } description "OSPFv3 VRF information"; } } grouping ospfv3_Dom-group { description "OSPFv3 VRF information"; leaf name { type naming_Name256 { length "1..128"; pattern "[A-Za-z0-9!@#$\\^\\*=\\+\\{\\}\\.;:_-]{1,32}"; } description "This object holds name information"; } // Router id for this VRF, if this is not specified // the router-id is automatically picked up based on the // first interface that comes up in that VRF leaf rtrId { type ip_RtrId; description "Router identifier for this VRF"; } leaf bfdCtrl { type boolean; default "false"; description "Holds the controls for bfd"; } // Admin state leaf adminSt { type nw_AdminSt; description "OSPFv3 VRF administrative state"; } // VRF Operational state leaf operSt { config "false"; type ospfv3_OperSt; description "Operational state of VRF"; } // Operational Router id for this VRF, if it is not specified // the router-id is automatically picked up based on the // first interface that comes up in that VRF leaf operRtrId { config "false"; type ip_RtrId; description "Operational Router identifier for this VRF"; } leaf nameLookup { type boolean; default "false"; description "Enable Name Lookup for OSPFv3 Neighbors"; } leaf passiveIntfDefault { type boolean; default "false"; description "Suppress routing updates on the interface"; } // Bandwidth Reference value. If bwRefUnit is mbps, then the // range is 1 to 4000000 and if bwRefUnit is gbps, then the // range is 1 to 4000 leaf bwRef { type ospfv3_BwRef; description "Bandwidth reference value, holds the range from 1-4000000 if unit is mbps and holds range from 1-4000 if unit is gbps"; } // Bandwidth Reference Unit leaf bwRefUnit { type ospfv3_BwRefUnit; description "Bandwidth reference unit (Mbps or Gbps)"; } leaf discardRouteInt { type boolean; default "true"; description "Holds the controls for discard-route internal"; } leaf discardRouteExt { type boolean; default "true"; description "Holds the controls for discard-route external"; } // Adjacency change logging level leaf adjChangeLogLevel { type ospfv3_AdjChangeLogLevel; description "Adjacency change logging level"; } // This object holds OSPFv3 area information container area-items { list Area-list { key "id"; uses ospfv3_Area-group; description "Configures OSPFv3 area properties list"; } description "Configures OSPFv3 area properties"; } // This object holds authentication new policy information for Dom container auth-items { uses ospfv3_DomAuthNewP-group; description "This object holds authentication new policy information for Dom"; } // This object holds per address family OSPFv3 VRF information container af-items { list DomAf-list { key "type"; uses ospfv3_DomAf-group; description "OSPFv3 VRF information of IPv6 unicast address-family list"; } description "OSPFv3 VRF information of IPv6 unicast address-family"; } // This object holds lsa related frequency controls, none of // these need to be exposed to the user container lsactrl-items { uses ospfv3_LsaCtrl-group; description "Link State Advertisement(LSA) related frequency controls"; } // This object holds authentication new policy information for Dom container esp-items { uses ospfv3_DomEspNewP-group; description "This object holds authentication new policy information for Dom"; } // This object holds per VRF graceful restart information container gr-items { uses ospfv3_Gr-group; description "Object holding per OSPFv3 VRF graceful restart information"; } // This object holds per domain max-lsa information container maxlsa-items { uses ospfv3_MaxLsaP-group; description "Max-LSA(Link State Advertisement) Database overflow for each domain or VRF"; } // This object holds per domain Max metric information container maxmetriclsa-items { uses ospfv3_MaxMetricLsaP-group; description "Max-Metric Link State Advertisement(LSA) information per Domain/VRF"; } } grouping ospfv3_Area-group { description "Configures OSPFv3 area properties"; // Area id leaf id { type ospfv3_AreaId; description "Area Id as an integer or ip address"; } // Area type (stub | nssa ) leaf type { type ospfv3_AreaT; description "Configure area type as NSSA or stub"; } leaf summary { type boolean; default "true"; description "Originate summary LSA into other areas"; } leaf redistribute { type boolean; default "true"; description "Send redistributed LSAs into NSSA area"; } leaf supressFa { type boolean; default "false"; description "Supress forwarding address in translated LSA"; } // NSSA translator role leaf nssaTransRole { type ospf_NssaTransRole; description "Not-so-stubby area(NSSA) translator role"; } // This object holds per address family OSPFv3 VRF information container areaaf-items { list AreaAf-list { key "type"; uses ospfv3_AreaAf-group; description "OSPFv3 area address family domain list"; } description "OSPFv3 area address family domain"; } // This object holds authentication new policy information for area container auth-items { uses ospfv3_AreaAuthNewP-group; description "This object holds authentication new policy information for area"; } // This object holds authentication new policy information for area container esp-items { uses ospfv3_AreaEspNewP-group; description "This object holds authentication new policy information for area"; } // This object holds information about OSPFv3 virtual // links container vlink-items { list Vlink-list { key "nbrRtrId"; uses ospfv3_Vlink-group; description "This object holds information about OSPFv3 virtual link list"; } description "This object holds information about OSPFv3 virtual link"; } // This objects holds control distribution of default route leak policy container defrtleak-items { uses ospfv3_DefRtLeakP-group; description "Default route leak or the distribution policy"; } } grouping ospfv3_AreaAf-group { description "OSPFv3 area address family domain"; // Address family type leaf type { type ospfv3_AfT; description "Unicast IP address family type"; } // Area cost, specifies cost for default summary LSAs. // Used with nssa/stub area types. leaf cost { type ospfv3_AreaCost; description "Specify cost for default inter-area-prefix LSA"; } // Lsa Leak Control concrete class. container lsaleakctrlp-items { list LsaLeakCtrlP-list { key "direction"; uses ospfv3_LsaLeakCtrlP-group; description "This object holds link-state advertisement(LSA) leak control policies list"; } description "This object holds link-state advertisement(LSA) leak control policies"; } // Inter-area route summarization. This is configured // on ABRs, summarizing routes between areas in the // autonomous system container iartsum-items { list InterAreaRtSum-list { key "addr"; uses ospfv3_InterAreaRtSum-group; description "Inter-area Route Summarization configured on ABRs list"; } description "Inter-area Route Summarization configured on ABRs"; } } grouping ospfv3_LsaLeakCtrlP-group { description "This object holds link-state advertisement(LSA) leak control policies"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; description "Scope"; } leaf rtMap { type string; description "Route Map"; } leaf direction { type rtleak_RtCtrlDir; description "Direction: Specifies whether to apply this policy in the incoming or outgoing direction."; } } grouping ospfv3_InterAreaRtSum-group { description "Inter-area Route Summarization configured on ABRs"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf addr { type address_Ip; description "Address"; } // Summary address no Advertise leaf ctrl { type ospf_SumControl; description "Summary address no advertise"; } // Area range cost leaf cost { type ospf_SumCost; description "Area range cost for route summarization"; } } grouping ospfv3_AreaAuthNewP-group { description "This object holds authentication new policy information for area"; // Security Parameter Index leaf spi { type ospfv3_AuthSpi; description "Security Parameter Index"; } // Authentication key leaf authKey { type ospfv3_AuthKey; description "Key used for authentication"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf authKeyEncrType { type ospfv3_AuthKeyEncrType; default "cleartext"; description "Authentication key encryption type which can be Cleartext, 3DES or CiscoType7"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf authType { type ospfv3_AuthType; description "Authentication types which can be md5, sha1 or disable."; } } grouping ospfv3_AreaEspNewP-group { description "This object holds authentication new policy information for area"; // Security Parameter Index leaf spi { type ospfv3_EspSpi; description "Security Parameter Index"; } // Authentication key leaf espAuthKey { type ospfv3_EspKey; description "Key used for ESP authentication"; } // Encr key leaf espEncrKey { type ospfv3_EspKey; description "Key used for encryption"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf espAuthKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP authentication"; } // Encr key encrypted with 3DES/CiscoType7 or Cleartext leaf espEncrKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP encryption"; } // Encryption keychain leaf encrKeychain { type ospfv3_KeychainType; description "Keychain used for Encryption"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf espDisable { type ospfv3_EspDisable; description "Used to Disable Encryption in ESP."; } // Authentication type leaf espAuthType { type ospfv3_EspAuthType; description "Authentication types which can be sha1 or disable."; } // Authentication key encrypted leaf espEncrType { type ospfv3_EspEncrType; description "Authentication key encryption type"; } } grouping ospfv3_Vlink-group { description "This object holds information about OSPFv3 virtual link"; // Router id associated with virtual link neighbor leaf nbrRtrId { type ip_RtrId; description "Router id associated with virtual link neighbor"; } // Hello interval, interval between hello packets that // OSPFv3 sends on the interface leaf helloIntvl { type ospfv3_HelloIntvl; description "Interval between hello packets that OSPFv3 sends on the interface"; } // Dead interval, interval during which at least one // hello packet must be received from a neighbor before // the router declares that neighbor as down leaf deadIntvl { type ospfv3_DeadIntvl; description "Dead interval, interval during which at least one hello packet must be received from a neighbor before the router declares that neighbor as down"; } // Retransmit interval, time between LSA retransmissions. // When a router sends an LSA to its neighbor, it keeps // the LSA until it receives an acknowledgement from the // neighbor. If the router receives no acknowldegement // within the retransmit interval, the local router // resends the LSA leaf reTxIntvl { type ospfv3_ReTxIntvl; description "Retransmit interval, the time between LSA retransmissions"; } // Transmit delay, estimated time needed to send an LSA // update packet leaf txDelay { type ospfv3_TxDelay; description "Transmit delay, estimated time needed to send an LSA update packet"; } // This object holds authentication new policy information for vlink container auth-items { uses ospfv3_VlinkAuthNewP-group; description "This object holds authentication new policy information for vlink"; } // This object holds authentication new policy information for vlink container esp-items { uses ospfv3_VlinkEspNewP-group; description "This object holds authentication new policy information for vlink"; } } grouping ospfv3_VlinkAuthNewP-group { description "This object holds authentication new policy information for vlink"; // Security Parameter Index leaf spi { type ospfv3_AuthSpi; description "Security Parameter Index"; } // Authentication key leaf authKey { type ospfv3_AuthKey; description "Key used for authentication"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf authKeyEncrType { type ospfv3_AuthKeyEncrType; default "cleartext"; description "Authentication key encryption type which can be Cleartext, 3DES or CiscoType7"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf authType { type ospfv3_AuthType; description "Authentication types which can be md5, sha1 or disable."; } } grouping ospfv3_VlinkEspNewP-group { description "This object holds authentication new policy information for vlink"; // Security Parameter Index leaf spi { type ospfv3_EspSpi; description "Security Parameter Index"; } // Authentication key leaf espAuthKey { type ospfv3_EspKey; description "Key used for ESP authentication"; } // Encr key leaf espEncrKey { type ospfv3_EspKey; description "Key used for encryption"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf espAuthKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP authentication"; } // Encr key encrypted with 3DES/CiscoType7 or Cleartext leaf espEncrKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP encryption"; } // Encryption keychain leaf encrKeychain { type ospfv3_KeychainType; description "Keychain used for Encryption"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf espDisable { type ospfv3_EspDisable; description "Used to Disable Encryption in ESP."; } // Authentication type leaf espAuthType { type ospfv3_EspAuthType; description "Authentication types which can be sha1 or disable."; } // Authentication key encrypted leaf espEncrType { type ospfv3_EspEncrType; description "Authentication key encryption type"; } } grouping ospfv3_DefRtLeakP-group { description "Default route leak or the distribution policy"; // Scope of the policy (intra protocol, inter protcol, // default route) leaf scope { type rtleak_Scope; default "defrt"; description "Scope"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Policy to control distribution of default route"; } leaf always { type boolean; description "Always advertise default leak"; } } grouping ospfv3_DomAuthNewP-group { description "This object holds authentication new policy information for Dom"; // Security Parameter Index leaf spi { type ospfv3_AuthSpi; description "Security Parameter Index"; } // Authentication key leaf authKey { type ospfv3_AuthKey; description "Key used for authentication"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf authKeyEncrType { type ospfv3_AuthKeyEncrType; default "cleartext"; description "Authentication key encryption type which can be Cleartext, 3DES or CiscoType7"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf authType { type ospfv3_DomAuthType; description "Authentication types which can be md5 or sha1."; } } grouping ospfv3_DomAf-group { description "OSPFv3 VRF information of IPv6 unicast address-family"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Address family type leaf type { type ospfv3_AfT; description "IPv6 unicast address family type"; } // Default metric leaf defaultMetric { type ospfv3_DefMetric; description "Specify default metric for redistributed routes"; } // MAX ECMP leaf maxEcmp { type ospfv3_Ecmp; description "Maximum Equal Cost Multi Path(ECMP)"; } // Distance leaf adminDistance { type ospfv3_AdminDist; description "Adminitrative distance value"; } leaf defRtNssaPbitClear { type boolean; description "Override RFC 3101 behaviour and add default route on ABR even if P-bit is clear in received type-7 default route LSA"; } // This object holds spf computation frequency controls, none // of these need to be exposed to the user container spfcomp-items { uses ospfv3_SpfComp-group; description "Shortest Path First(SPF) computation frequency controls"; } // This objects holds control distribution of default route leak policy container defrtleak-items { uses ospfv3_DefRtLeakP-group; description "Default route leak or the distribution policy"; } // Inter protocol route leak policy. This defines distribution // of routes from other protocols to OSPFV3 container interleak-items { list InterLeakP-list { key "proto inst asn"; uses ospfv3_InterLeakP-group; description "Redistribute information from another routing protocol list"; } description "Redistribute information from another routing protocol"; } // Leak controls related to the number of routes leaked container leakctrl-items { uses ospfv3_LeakCtrlP-group; description "Maximum number of prefixes redistributed to protocol"; } container ribleak-items { uses ospfv3_RibLeakP-group; description "OSPFv3 to Route Information Base(RIB) Route Leak/distribution Policy Per Domain or VRF"; } // External route summarization is specific to external // routes that are injected into OSPF using route leak. // Configure external route summarization on ASBRs that // are leaking routes into OSPF container extrtsum-items { list ExtRtSum-list { key "addr"; uses ospfv3_ExtRtSum-group; description "External Route Summarization on ASBRs that are Leaking Routes into OSPFv3 list"; } description "External Route Summarization on ASBRs that are Leaking Routes into OSPFv3"; } } grouping ospfv3_SpfComp-group { description "Shortest Path First(SPF) computation frequency controls"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Initial spf schedule delay interval leaf initIntvl { type ospfv3_SpfCompInitIntvl; description "Initial SPF schedule delay interval"; } // Minimum hold time between spf calculations leaf holdIntvl { type ospfv3_SpfCompHoldIntvl; description "Minimum hold time interval between SPF calculations"; } // Maximum wait time between spf calculations leaf maxIntvl { type ospfv3_SpfCompMaxIntvl; description "Maximum wait time between SPF calculations"; } } grouping ospfv3_InterLeakP-group { description "Redistribute information from another routing protocol"; leaf rtMap { type string { pattern ".*[!-~]{1,63}.*"; } description "Policy to control distribution of default route"; } // Protocol from where the routes are leaked leaf proto { type rtleak_Proto; description "Protocol"; } // Routing protocol instance, the routing instance of the // protocol from where the routes are being leaked leaf inst { type rtleak_Inst; description "Instance"; } // Leak BGP routes from this Autonomous System (AS) <1-4294967295>|<1-65535>[.<0-65535>] Autonomous system number leaf asn { type rtleak_Asn { pattern "((none)|([1-9]{1}[0-9]{0,8}|[1-3]{1}[0-9]{1,9}|4{1}[0-1]{1}[0-9]{8}|4{1}2{1}[0-8]{1}[0-9]{7}|4{1}2{1}9{1}[0-3]{1}[0-9]{6}|4{1}2{1}9{1}4{1}[0-8]{1}[0-9]{5}|4{1}2{1}9{1}4{1}9{1}[0-5]{1}[0-9]{4}|4{1}2{1}9{1}4{1}9{1}6{1}[0-6]{1}[0-9]{3}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}[0-1]{1}[0-9]{2}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}[0-8]{1}[0-9]{1}|4{1}2{1}9{1}4{1}9{1}6{1}7{1}2{1}9{1}[0-5]{1})|(([1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])\\.([0-9]{1,4}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])))"; } description "Autonomous System Number"; } // SRv6 Prefix Type which is being leaked leaf srv6PrefixType { type rtleak_Srv6PrefixType; description "SRv6 Prefix Type; Valid only when proto is srv6"; } } grouping ospfv3_LeakCtrlP-group { description "Maximum number of prefixes redistributed to protocol"; // Controls on what to do when the number of routes cross // the maximum route/prefix limit leaf ctrl { type rtleak_Ctrl; description "Controls"; } // Maximum limit on routes leaked leaf max { type rtleak_MaxPfx; description "Maximum Limit"; } // Threshold at which warning is issued when number of // routes crosses the threshold leaf thresh { type rtleak_Thresh; description "Threshold"; } // Maximum number of retries to retrieve the leaked routes, // this is applicable only when the routes are withdrawn leaf retries { type rtleak_Retries; description "Retries"; } // Duration between the retries leaf duration { type rtleak_Duration; description "Duration"; } } grouping ospfv3_RibLeakP-group { description "OSPFv3 to Route Information Base(RIB) Route Leak/distribution Policy Per Domain or VRF"; leaf rtMap { type string { pattern ".*[!-~]{1,63}.*"; } description "Route map used in distribution of routes"; } // If always is set to false, only routes that are permitted // by the route map(rtMap) configuration are downloaded to the // routing information base (RIB). leaf always { type rtleak_Always; description "Filter routes into RIB"; } } grouping ospfv3_ExtRtSum-group { description "External Route Summarization on ASBRs that are Leaking Routes into OSPFv3"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf addr { type address_Ip; description "Address"; } // Summary address no Advertise leaf ctrl { type ospf_SumControl; description "Summary address no advertise"; } // Summary address tag leaf tag { type ospf_RtTag; description "Route tag of external route"; } } grouping ospfv3_LsaCtrl-group { description "Link State Advertisement(LSA) related frequency controls"; leaf name { config "false"; type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // LSA group pacing interval leaf gpPacingIntvl { type ospfv3_LsaGpPacingIntvl; description "LSA group pacing interval"; } // Minimum interval between arrival of a LSA leaf arrivalIntvl { type ospfv3_LsaArrivalIntvl; description "Minimum interval between arrival of a LSA"; } // LSA generation throttle start wait interval leaf startIntvl { type ospfv3_LsaThStartIntvl; description "LSA generation throttle start wait interval"; } // LSA generation throttle hold interval leaf holdIntvl { type ospfv3_LsaThHoldIntvl; description "LSA generation throttle hold interval"; } // LSA generation throttle maximum interval leaf maxIntvl { type ospfv3_LsaThMaxIntvl; description "LSA generation throttle maximum interval"; } } grouping ospfv3_DomEspNewP-group { description "This object holds authentication new policy information for Dom"; // Security Parameter Index leaf spi { type ospfv3_EspSpi; description "Security Parameter Index"; } // Authentication key leaf espAuthKey { type ospfv3_EspKey; description "Key used for ESP authentication"; } // Encr key leaf espEncrKey { type ospfv3_EspKey; description "Key used for encryption"; } // Authentication key encrypted with 3DES/CiscoType7 or Cleartext leaf espAuthKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP authentication"; } // Encr key encrypted with 3DES/CiscoType7 or Cleartext leaf espEncrKeyType { type ospfv3_EspKeyType; default "cleartext"; description "Key Type used for ESP encryption"; } // Encryption keychain leaf encrKeychain { type ospfv3_KeychainType; description "Keychain used for Encryption"; } // Authentication keychain leaf authKeychain { type ospfv3_KeychainType; description "Authentication keychain"; } // Authentication type leaf espDisable { type ospfv3_EspDisable; description "Used to Disable Encryption in ESP."; } // Authentication type leaf espAuthType { type ospfv3_EspDomAuthType; description "Authentication types which can be sha1 or disable."; } // Authentication key encrypted leaf espEncrType { type ospfv3_EspDomEncrType; description "Authentication key encryption type"; } } grouping ospfv3_Gr-group { description "Object holding per OSPFv3 VRF graceful restart information"; // Graceful restart controls leaf ctrl { type ospfv3_GrCtrl; description "Graceful restart controls like planned, complete and disabled state"; } leaf helper { type boolean; default "true"; description "Graceful restart helper mode"; } // Graceful restart period leaf gracePeriod { type ospfv3_GrPeriod; description "Graceful restart period in seconds starting from 5 to 1800"; } leaf restartAge { config "false"; type uint32; description "Graceful restart age"; } } grouping ospfv3_MaxLsaP-group { description "Max-LSA(Link State Advertisement) Database overflow for each domain or VRF"; // Maximum number of non self-generated LSAs leaf maxLsa { type ospf_MaxLsa; description "Set maximum number of non self-generated LSAs"; } // Threshold value (%) at which to generate a warning message leaf thresholdVal { type ospf_MaxLsaThresh; description "Max LSA threshold percentage value at which to generate a warning message"; } // Set count on how many times adjacencies can be suppressed leaf ignoreCount { type ospf_SleepCnt; description "Set count on how many times adjacencies can be suppressed"; } // Specifies the time (in minutes) to ignore all neighbors after // the maximum limit of LSAs has been exceeded leaf ignoreTime { type ospf_SleepIntvl; description "Set time during which all adjacencies are suppressed"; } // Specifies the time in minutes, after which the // ignore-count is reset to zero. leaf resetTime { type ospf_ResetIntvl; description "Set number of minutes after which ignore-count is reset to zero"; } leaf logWarning { type ospfv3_MaxLsaAct; description "Log a warning message when limit is exceeded"; } } grouping ospfv3_MaxMetricLsaP-group { description "Max-Metric Link State Advertisement(LSA) information per Domain/VRF"; leaf externalLsa { type boolean; description "Set this to max-metric External LSAs"; } // Max metric value to be used for external LSAs leaf maxMetricExtLsaValue { type ospf_MaxMetric; description "Maximum metric value for external LSAs"; } leaf interAreaPrefixLsa { type boolean; description "Set this to max-metric Inter-area-prefix LSAs"; } // Max metric value to be used for Inter-area-prefix/summary LSAs leaf maxMetricSumLsaValue { type ospf_MaxMetric; description "Maximum metric value for Inter-area-prefix/Summary LSAs"; } leaf onStartup { type boolean; description "Max metric advertised should be effective only at startup"; } // Time (in secs) for which max metric should be advertised // at startup leaf startupIntvl { type ospf_StartupIntvl; description "Wait period in seconds after which max metric should be advertised at startup"; } leaf stubPrefixLsa { type boolean; description "Advertise Max metric for Stub links as well"; } // At startup, advertise max metric until convergence of BGP ASN leaf awaitConvBgpAsn { type rtleak_Asn; description "At startup, advertise max metric until convergence of BGP ASN"; } } grouping ospfv3_SnmpTrapsEntity-group { description "Holds OSPFv3 SNMP Traps control plane entity information"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // ospfv3 trap container inst-items { list Tospfv3-list { key "ospfv3InstName"; uses ospfv3_Tospfv3-group; description "Configure SNMP OSPFV3 traps list"; } description "Configure SNMP OSPFV3 traps"; } } grouping ospfv3_Tospfv3-group { description "Configure SNMP OSPFV3 traps"; // SNMP OSPFV3 trap for // inst leaf ospfv3InstName { type ospfv3_SnmpInstanceName; description "SNMP OSPFV3 trap for specific ospfv3 instance"; } leaf trapLsa { type boolean; default "false"; description "SNMP OSPFV3 trap for ospfv3 lsa"; } leaf trapAll { type boolean; default "false"; description "SNMP OSPFV3 trap for all ospv3 process"; } // SNMP OSPFV3 trap for OSPFV3 second window Type leaf trapWindow { type ospfv3_WindowType; description "SNMP OSPFV3 trap for window type from 1 to 60"; } // Max number of traps sent in window time leaf trapRate { type ospfv3_RateType; description "SNMP OSPFV3 trap for Rate"; } } grouping pim_Entity-group { description "Holds PIM control plane entity information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per pim instance information container inst-items { uses pim_Inst-group; description "Holds per PIM instance information"; } // This object holds the pim dom related statistics // Ephemeral data container pimdomdb-items { uses pim_PimDomdb-group; description "This object holds the PIM domain related statistics"; } // This object holds mrib route db information // Ephemeral data container pimifdb-items { // Ephemeral data list PimIfdb-list { config "false"; key "ifdbtype"; uses pim_PimIfdb-group; description "Holds PIM route db information list"; } description "Holds PIM route db information"; } } grouping pim_Inst-group { description "Holds per PIM instance information"; leaf evpnBorderLeaf { type boolean; description "EVPN Border Leaf flag"; } leaf extraNet { type boolean; description "Extranet RPF Lookup"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Inter Packet Delay leaf jpDelay { type rtdmc_JPDelay; description "Inter Packet Delay"; } // Null Register Inter Batch Delay leaf nrDelay { type rtdmc_NRDelay; description "Null Register Inter Batch Delay"; } // Number of routes in a null register leaf nrNumRt { type rtdmc_NRNumRt; description "Null Register Number of Routes"; } leaf regStop { type boolean; description "Register until stops"; } // This objects hold per pim domain (vrf) information container dom-items { list Dom-list { key "name"; uses pim_Dom-group; description "Holds per PIM domain (vrf) information list"; } description "Holds per PIM domain (vrf) information"; } // This object holds global config for pim container gl-items { uses pim_Gl-group; description "This object holds global configuration for PIM"; } // PIM databases // Ephemeral data container routedb-items { // Ephemeral data list RouteDb-list { config "false"; key "type"; uses pim_RouteDb-group; description "This object holds multicast route database information list"; } description "This object holds multicast route database information"; } } grouping pim_Dom-group { description "Holds per PIM domain (vrf) information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Admin State leaf adminSt { type nw_AdminSt; default "disabled"; description "Admin State"; } // Per-Dom Controls leaf ctrl { type rtdmc_DomCtrl; description "Domain Controls"; } // Protocol packet MTU leaf mtu { type rtdmc_Mtu; description "Maximum Transmission Unit"; } // Auto Enable leaf autoEnable { type rtdmc_AutoEnable; description "Auto Enable"; } leaf logNbhChng { type boolean; description "Log Neighbhor changes"; } leaf flushRoutes { type boolean; description "Flush Routes"; } leaf bfd { type boolean; description "BFD"; } leaf jpDelay { type rtdmc_JpDelayRange; description "Join-Prune message inter-packet delay"; } leaf regRateLmt { type rtdmc_RegRateRange; description "Register rate limit for data packets per second"; } leaf rfcStrict { type boolean; description "Do not process joins from unknown neighbors"; } leaf sptSwitchGraceful { type boolean; description "Graceful switch to SPT"; } // This object holds policy for Anycast RP Function // Specifies the anycast and local interface for the anycast RP // and all the peer's local info Anycast RP is not supported for BSR and Auto-RP container acastrpfunc-items { uses pim_AcastRPFuncP-group; description "This object holds policy for Anycast RP Function"; } // This object holds policy for // allow-RP command container allowrp-items { uses pim_AllowRPP-group; description "This object holds policy for Allow-RP command"; } container assert-items { uses pim_Assert-group; description "This model is used to configure assert events for PIM"; } // This object holds policy for // Auto-RP method of RP discovery container autorp-items { uses pim_AutoRPP-group; description "This object holds policy for Auto-RP method of RP discovery"; } // This object holds policy for // Bootstrap Router method of RP discovery container bsr-items { uses pim_BSRP-group; description "Holds policy for Bootstrap Router method of RP discovery"; } // PIM databases container db-items { list Db-list { config "false"; key "type"; uses pim_Db-group; description "This object acts as a database for multicast route information list"; } description "This object acts as a database for multicast route information"; } // This object holds the pim dom related statistics // Ephemeral data container domstats-items { uses pim_DomStats-group; description "This object holds the PIM domain related statistics"; } container eventHist-items { list EventHistory-list { key "type"; uses pim_EventHistory-group; description "This object is used to configure event-history buffers list"; } description "This object is used to configure event-history buffers"; } // This object holds pim information that is operated at a // interface level container if-items { list If-list { key "id"; uses pim_If-group; description "Holds PIM information that is operated at a interface level list"; } description "Holds PIM information that is operated at a interface level"; } // This object holds resource (router state) limit policy // to limit amount of multicast routing state on the router container limit-items { uses pim_ResP-group; description "Holds resource (router state) limit policy to limit amount of multicast routing state on the router"; } // This object holds policy for // Any Source Multicast (ASM) pattern container asm-items { uses pim_ASMPatP-group; description "Holds policy for Any Source Multicast (ASM) pattern"; } // This object holds policy for // Source Specific Multicast (SSM) pattern container ssm-items { uses pim_SSMPatP-group; description "Holds policy for Source Specific Multicast (SSM) pattern"; } // This object holds policy for // Bidirectional Multicast (BiDir) pattern container bidir-items { uses pim_BidirPatP-group; description "Holds policy for Bidirectional Multicast (BiDir) pattern"; } // This object holds the MTI pim interface related statistics // Ephemeral data container mti-items { // Ephemeral data list MtiProp-list { config "false"; key "id"; uses pim_MtiProp-group; description "This object holds the Mti PIM interface related statistics list"; } description "This object holds the Mti PIM interface related statistics"; } container pfmsd-items { uses pim_Pfmsd-group; description "This object is used for pfm source discovery protocol"; } // This object holds policy for Static RP container staticrp-items { uses pim_StaticRPP-group; description "Holds policy for Static RP"; } // This object holds the pim control traffic stats container trstats-items { uses pim_TrafficStats-group; description "Holds the PIM control traffic statistics"; } } grouping pim_AcastRPFuncP-group { description "This object holds policy for Anycast RP Function"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Anycast RP Unique Local Interface leaf localIf { type nw_IfId; description "Local Interface"; } // This object holds Anycast RP Peer Info container peer-items { list AcastRPPeer-list { key "addr rpSetAddr"; uses pim_AcastRPPeer-group; description "This object holds Anycast RP Peer Information list"; } description "This object holds Anycast RP Peer Information"; } } grouping pim_AcastRPPeer-group { description "This object holds Anycast RP Peer Information"; leaf rpSetAddr { type address_Ip; description "IP Address of node performing the function"; } leaf addr { type address_Ip; description "Address"; } } grouping pim_AllowRPP-group { description "This object holds policy for Allow-RP command"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map name for choosing groups"; } } grouping pim_Assert-group { description "This model is used to configure assert events for PIM"; // AssertRate leaf assertRtLmt { type rtdmc_AssertRateLmt; description "Configure Rate limit for pim asserts"; } } grouping pim_AutoRPP-group { description "This object holds policy for Auto-RP method of RP discovery"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Auto-RP Control leaf ctrl { type rtdmc_AutoRPCtrl; description "Control"; } // End Child MOs This object holds policy for // choosing RPs from among RP candidates container rpfilter-items { uses pim_RPFilterP-group; description "Holds policy for choosing RPs from among RP candidates"; } // This object holds policy for // choosing Mapping Agent from among the candidates container mafilter-items { uses pim_MAFilterP-group; description "This object holds policy for choosing Mapping Agent among the candidates"; } // This object holds policy for RP Function container rpfunc-items { uses pim_RPFuncP-group; description "Holds policy for RP Function"; } // This object holds policy for // Auto-RP Mapping Agent Function container mafunc-items { uses pim_MAFuncP-group; description "This object holds policy for Auto-RP Mapping Agent Function"; } } grouping pim_RPFilterP-group { description "Holds policy for choosing RPs from among RP candidates"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping pim_MAFilterP-group { description "This object holds policy for choosing Mapping Agent among the candidates"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping pim_RPFuncP-group { description "Holds policy for RP Function"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Priority leaf prio { type rtdmc_BSRPrio; description "Priority"; } // Interval leaf interval { type rtdmc_BSRInterval; description "Interval"; } // Scope leaf scope { type rtdmc_AutoRPScope; description "Scope"; } leaf addr { type address_Ip; description "AutoRP Cand RP Address"; } leaf useSendRPAnnCommand { type boolean; description "Flag to use send-rp-announce"; } // This object holds multicast group ranges for RP container range-items { list RPGrpRange-list { key "bidir"; uses pim_RPGrpRange-group; description "This object holds multicast group ranges for RP list"; } description "This object holds multicast group ranges for RP"; } } grouping pim_RPGrpRange-group { description "This object holds multicast group ranges for RP"; leaf override { type boolean; description "Flag to override RP preference to use Static over Dynamic RP"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } leaf grpList { type address_Ip; description "Group List"; } leaf grpList1 { type address_Ip; description "Group List"; } leaf grpList2 { type address_Ip; description "Group List"; } leaf grpList3 { type address_Ip; description "Group List"; } leaf ssmNone { type boolean; description "SSM None "; } leaf bidir { type boolean; description "BiDir Groups"; } } grouping pim_MAFuncP-group { description "This object holds policy for Auto-RP Mapping Agent Function"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Scope leaf scope { type rtdmc_AutoRPScope; description "Scope"; } leaf useSendRPDisCommand { type boolean; description "Flag to use send-rp-discovery"; } } grouping pim_BSRP-group { description "Holds policy for Bootstrap Router method of RP discovery"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // BSR Control leaf ctrl { type rtdmc_BSRCtrl; description "Control"; } // End Child MOs This object holds policy for // choosing RPs from among RP candidates container rpfilter-items { uses pim_RPFilterP-group; description "Holds policy for choosing RPs from among RP candidates"; } // This object holds policy for // choosing BSRs from among BSR candidates container bsrfilter-items { uses pim_BSRFilterP-group; description "Holds BSR policy to filter from other BSR candidates"; } // This object holds policy for RP Function container rpfunc-items { uses pim_RPFuncP-group; description "Holds policy for RP Function"; } // This object holds policy for // Bootstrap Router Function container bsrfunc-items { uses pim_BSRFuncP-group; description "Holds policy for Bootstrap Router Function"; } } grouping pim_BSRFilterP-group { description "Holds BSR policy to filter from other BSR candidates"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping pim_BSRFuncP-group { description "Holds policy for Bootstrap Router Function"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Hash Mask Len leaf hashLen { type rtdmc_BSRHashLen { range "1..32"; } default "30"; description "Hash Mask Len"; } // Priority leaf prio { type rtdmc_BSRPrio; description "Priority"; } // Priority leaf interval { type rtdmc_BSRInterval; description "Interval"; } } grouping pim_Db-group { description "This object acts as a database for multicast route information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository leaf type { config "false"; type rtdmc_DbT; description "Type"; } container autorp-items { list AutoRPPInfo-list { config "false"; key "addr"; uses pim_AutoRPPInfo-group; description "Holds PIM Auto-RP information list"; } description "Holds PIM Auto-RP information"; } container bsr-items { list BSRInfo-list { config "false"; key "addr"; uses pim_BSRInfo-group; description "This object holds information related to PIM Selected Bootstrap Router list"; } description "This object holds information related to PIM Selected Bootstrap Router"; } container grange-items { list RPGrange-list { config "false"; key "addr"; uses pim_RPGrange-group; description "Holds information about RP group range list"; } description "Holds information about RP group range"; } // PIM Group/Src MOs // Ephemeral data container src-items { // Ephemeral data list Route-list { config "false"; key "src grp"; uses pim_Route-group; description "Holds PIM Route, having Group and Source information list"; } description "Holds PIM Route, having Group and Source information"; } container rp-items { list RPInfo-list { config "false"; key "addr"; uses pim_RPInfo-group; description "PIM Rendezvous Point information list"; } description "PIM Rendezvous Point information"; } } grouping pim_AutoRPPInfo-group { description "Holds PIM Auto-RP information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf addr { config "false"; type address_Ip; description "Source address"; } leaf expiry { config "false"; type union { type string; type uint64; } description "Expiry timer"; } leaf uptime { config "false"; type union { type string; type uint64; } description "Uptime"; } leaf priority { config "false"; type uint32; description "Priority"; } leaf hashMaskLen { config "false"; type uint32; description "Hash Mask Length"; } } grouping pim_BSRInfo-group { description "This object holds information related to PIM Selected Bootstrap Router"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf addr { config "false"; type address_Ip; description "Source address"; } leaf expiry { config "false"; type union { type string; type uint64; } description "Expiry timer"; } leaf uptime { config "false"; type union { type string; type uint64; } description "Uptime"; } leaf priority { config "false"; type uint32; description "Priority"; } leaf hashMaskLen { config "false"; type uint32; description "Hash Mask Length"; } } grouping pim_RPGrange-group { description "Holds information about RP group range"; leaf addr { config "false"; type address_Ip; description "IP Address for Group Range"; } leaf flags { config "false"; type rtdmc_GRangeFlags; description "Group Range flags"; } leaf rpAddr { config "false"; type address_Ip; description "RP address for this group range"; } } grouping pim_Route-group { description "Holds PIM Route, having Group and Source information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf ver { config "false"; type uint32; description "Version"; } // Ephemeral data leaf src { config "false"; type address_Ip; description "Source"; } // Ephemeral data leaf grp { config "false"; type address_Ip; description "Group"; } // Ephemeral data leaf rpAddrRoute { config "false"; type address_Ip; description "Route RP addr"; } // Ephemeral data leaf iif { config "false"; type nw_IfId; description "Incoming interface"; } // Ephemeral data leaf rpfNbr { config "false"; type address_Ip; description "RPF Nbr Address"; } // Ephemeral data leaf rpfSrc { config "false"; type address_Ip; description "RPF Source Address"; } // Ephemeral data leaf rtType { config "false"; type rtdmc_RtFlags; description "Route Uptime"; } // Ephemeral data leaf swPktCnt { config "false"; type rtdmc_PktCntType; description "Software Packet Count"; } // Ephemeral data leaf swByteCnt { config "false"; type rtdmc_PktCntType; description "Software Byte Count"; } // Ephemeral data leaf hwPktCnt { config "false"; type rtdmc_ByteCntType; description "Hardware Packet Count"; } // Ephemeral data leaf hwByteCnt { config "false"; type rtdmc_ByteCntType; description "Hardware Byte Count"; } // Ephemeral data leaf assertMetric { config "false"; type uint32; description "Assert metric"; } // Ephemeral data leaf assertMetricPref { config "false"; type uint32; description "Assert metric preference"; } // Ephemeral data leaf routeBits { config "false"; type rtdmc_RouteBits; description "RP WC Bit"; } // Ephemeral data leaf rtTimeOutInvtl { config "false"; type uint32; description "Route Timeout Interval"; } // Ephemeral data leaf jpHoldTime { config "false"; type uint32; description "JP Hold time"; } } grouping pim_RPInfo-group { description "PIM Rendezvous Point information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf addr { config "false"; type address_Ip; description "RP address"; } leaf local { config "false"; type boolean; description "Is RP local"; } leaf uptime { config "false"; type union { type string; type uint64; } description "RP uptime"; } leaf arpExp { config "false"; type union { type string; type uint64; } description "Auto RP Expiry timer"; } leaf bsrExp { config "false"; type union { type string; type uint64; } description "BSR RP Expiry timer"; } leaf bsrAddr { config "false"; type address_Ip; description "Selected BSR Address"; } leaf priority { config "false"; type uint32; description "RP Priority"; } leaf discType { config "false"; type rtdmc_RPSourceType; description "RP source type"; } leaf dfOrdinal { config "false"; type uint32; description "Bidir DF Ordinal"; } container rsrP2Grange-items { list RsRP2Grange-list { config "false"; key "tDn"; uses pim_RsRP2Grange_source-group; description "RP to Group range mapping list"; } description "RP to Group range mapping"; } } grouping pim_DomStats-group { description "This object holds the PIM domain related statistics"; // Ephemeral data leaf regSent { config "false"; type rtdmc_Counter32; description "Registers Sent"; } // Ephemeral data leaf regRcvd { config "false"; type rtdmc_Counter32; description "Registers Received "; } // Ephemeral data leaf nullRegSent { config "false"; type rtdmc_Counter32; description "Null Registers Sent"; } // Ephemeral data leaf nullRegRcvd { config "false"; type rtdmc_Counter32; description "Null Registers Received"; } // Ephemeral data leaf regStopSent { config "false"; type rtdmc_Counter32; description "Register Stop Sent"; } // Ephemeral data leaf regStopRcvd { config "false"; type rtdmc_Counter32; description "Register Stop Received "; } // Ephemeral data leaf regRcvdSSM { config "false"; type rtdmc_Counter32; description "Registers Received for SSM"; } // Ephemeral data leaf regRcvdBiDir { config "false"; type rtdmc_Counter32; description "Registers Received for BiDir"; } // Ephemeral data leaf regRcvdAndNotRP { config "false"; type rtdmc_Counter32; description "Registers Received but not RP"; } // Ephemeral data leaf bsrBsSent { config "false"; type rtdmc_Counter32; description "Bootstrap message sent"; } // Ephemeral data leaf bsrBsRcvd { config "false"; type rtdmc_Counter32; description "Bootstrap message received"; } // Ephemeral data leaf bsrCRPSent { config "false"; type rtdmc_Counter32; description "Candidate RP message sent"; } // Ephemeral data leaf bsrCRPRcvd { config "false"; type rtdmc_Counter32; description "Candidate RP message received"; } // Ephemeral data leaf bsrBsFromNonNbr { config "false"; type rtdmc_Counter32; description "Bootstrap message from non-neighbor"; } // Ephemeral data leaf bsrBsFromBorderIF { config "false"; type rtdmc_Counter32; description "Bootstrap message from border interface"; } // Ephemeral data leaf bsrBsLenErr { config "false"; type rtdmc_Counter32; description "Bootstrap length error"; } // Ephemeral data leaf bsrBsRPFFail { config "false"; type rtdmc_Counter32; description "Bootstrap messages for which RPF Failed"; } // Ephemeral data leaf bsrBsRcvdLisNotConf { config "false"; type rtdmc_Counter32; description "Bootstrap received listen not configured"; } // Ephemeral data leaf bsrCRPFromBorderIF { config "false"; type rtdmc_Counter32; description "Bootstrap Candidate RP From border interface"; } // Ephemeral data leaf bsrCRPRcvdLisNotConf { config "false"; type rtdmc_Counter32; description "Bootstrap candidate RP received but listen not configured"; } // Ephemeral data leaf autoRPAnnouncesSent { config "false"; type rtdmc_Counter32; description "RP announcements sent"; } // Ephemeral data leaf autoRPAnnouncesRcvd { config "false"; type rtdmc_Counter32; description "RP announcements received"; } // Ephemeral data leaf autoRPDiscoveriesSent { config "false"; type rtdmc_Counter32; description "RP discoveries sent"; } // Ephemeral data leaf autoRPDiscoveriesRcvd { config "false"; type rtdmc_Counter32; description "RP discoveries received"; } // Ephemeral data leaf autoRPRPFFailed { config "false"; type rtdmc_Counter32; description "Auto RP RPF Failed"; } // Ephemeral data leaf autoRPFromBorderIF { config "false"; type rtdmc_Counter32; description "Auto RP from border interface"; } // Ephemeral data leaf autoRPInvalidType { config "false"; type rtdmc_Counter32; description "Auto RP invalid type"; } // Ephemeral data leaf autoRPTTLExp { config "false"; type rtdmc_Counter32; description "Auto RP TTL expired"; } // Ephemeral data leaf autoRPRcvdLisNotConf { config "false"; type rtdmc_Counter32; description "Auto RP received but listen not configured"; } // Ephemeral data leaf cpRPFFailNoRoute { config "false"; type rtdmc_Counter32; description "Control plane RPF fail due to no route"; } // Ephemeral data leaf dpRPFFailNoRoute { config "false"; type rtdmc_Counter32; description "Data Plane RPF fail due to no route"; } // Ephemeral data leaf dpNoMcastState { config "false"; type rtdmc_Counter32; description "Data Plane no multicast state found"; } // Ephemeral data leaf dpCrtRouteStateCnt { config "false"; type rtdmc_Counter32; description "Data Plane create route state count"; } } grouping pim_EventHistory-group { description "This object is used to configure event-history buffers"; leaf type { type pim_EhType; description "configures type of event history"; } leaf size { type pim_Size; description "configures buffer size in text/kb"; } } grouping pim_If-group { description "Holds PIM information that is operated at a interface level"; // Interface Control leaf ctrl { type pim_IfCtrl; description "Interface Controls"; } // Designated Router Priority leaf drPrio { type pim_DRPrio; description "Designated Router Priority level"; } // Designated Router Delay leaf drDelay { type pim_DRDelay; description "Designated Router Delay value"; } leaf jpRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Join Prune Policy name"; } leaf neighRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Neighbor route-map Policy"; } leaf neighpfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Neighbor prefix-list Policy"; } leaf border { type boolean; description "Border policy - Treat interface as boundary of PIM domain"; } leaf borderRouter { type boolean; description "Acts as a border router on configuration"; } leaf passive { type boolean; description "Passive interface - No send or receive"; } leaf rtEpPDn { type string; description "L3 Router EpP DN"; } leaf ipAddr { config "false"; type address_Ip; description "IP Address of the interface"; } leaf bfdInst { type pim_BfdInstSt; description "BFD Instance State"; } leaf pimSparseMode { type boolean; description "Sparse Mode configured"; } leaf rfcStrict { type boolean; description "Do not process joins from unknown neighbors on this interface"; } // Pfm-sd boundary leaf pfmSdBoundary { type pim_Boundary; description "Pfm-sd boundary, in for restricting incoming pfm-sd message, out for restricting outgoing pfm-sd message"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // PIM databases container db-items { list Db-list { config "false"; key "type"; uses pim_Db-group; description "This object acts as a database for multicast route information list"; } description "This object acts as a database for multicast route information"; } // This object holds mrib route db information // Ephemeral data container ifdb-items { // Ephemeral data list Ifdb-list { config "false"; key "ifdbtype"; uses pim_Ifdb-group; description "Holds PIM route db information list"; } description "Holds PIM route db information"; } // This object holds the join-prune traffic policy container jp-items { list JPTrP-list { key "policyDir"; uses pim_JPTrP-group; description "This object holds the join-prune traffic policy list"; } description "This object holds the join-prune traffic policy"; } // This object holds the hello traffic policy container hello-items { uses pim_HelloTrP-group; description "This object holds the hello traffic policy"; } // This object holds the pim control traffic stats container trstats-items { uses pim_TrafficStats-group; description "Holds the PIM control traffic statistics"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping pim_Ifdb-group { description "Holds PIM route db information"; // Type of the repository // Ephemeral data leaf ifdbtype { config "false"; type pim_ifdbT; description "represents repository type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This object holds pim neighbor information // Ephemeral data container adj-items { // Ephemeral data list AdjEp-list { config "false"; key "addr"; uses pim_AdjEp-group; description "This object holds PIM neighbor information list"; } description "This object holds PIM neighbor information"; } // This object holds the pim interface related statistics // Ephemeral data container ifprop-items { uses pim_IfProp-group; description "This object holds the PIM interface related statistics"; } // This object holds the pim interface related statistics // Ephemeral data container ifstats-items { uses pim_IfStats-group; description "Holds the PIM interface related statistics"; } } grouping pim_AdjEp-group { description "This object holds PIM neighbor information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "Address of neighbor interface"; } // Ephemeral data leaf nbrName { config "false"; type string; description "Neighbor Name"; } // DR Priority // Ephemeral data leaf drPrio { config "false"; type rtdmc_DRPrio; description "DR Priority"; } // Ephemeral data leaf uptime { config "false"; type string; description "Uptime of the neighbor"; } // Ephemeral data leaf expiry { config "false"; type string; description "Neighbor Expiry Timer value"; } // Generation id // Ephemeral data leaf genId { config "false"; type rtdmc_GenId; description "Generation ID"; } // BFD state // Ephemeral data leaf bfdSt { config "false"; type rtdmc_BfdOperSt; description "BFD State"; } // Adjacency state // Ephemeral data leaf operSt { config "false"; type rtdmc_AdjOperSt; description "Operational State"; } // Flags // Ephemeral data leaf flags { config "false"; type rtdmc_AdjFlags; description "Flags"; } // This object holds the pim neighbor related statistics // Ephemeral data container adjstats-items { uses pim_AdjStats-group; description "This object holds the PIM neighbor related statistics"; } } grouping pim_AdjStats-group { description "This object holds the PIM neighbor related statistics"; // Ephemeral data leaf lastHelloReceived { config "false"; type string; description "Last Hello Received time"; } // Longest Hello Interval // Ephemeral data leaf longHelloItvl { config "false"; type rtdmc_HelloItvl; description "Longest Hello Interval"; } // Last Hold Time advertised by Peer // Ephemeral data leaf lastHoldTime { config "false"; type rtdmc_HoldTime; description "Last Hold Time"; } // non-hello expiry timer resets // Ephemeral data leaf nonHelloExpResets { config "false"; type rtdmc_Counter32; description "Non-Hello Expiry Timer Resets"; } } grouping pim_IfProp-group { description "This object holds the PIM interface related statistics"; // Ephemeral data leaf nextHello { config "false"; type union { type string; type uint64; } description "Time when next hello is sent"; } // Ephemeral data leaf nbrHoldTime { config "false"; type uint32; description "PIM Neighbor HoldTime"; } // Ephemeral data leaf dr { config "false"; type address_Ip; description "PIM Designated Router information"; } // Generation id // Ephemeral data leaf genID { config "false"; type pim_PropGenId; description "Generation Identifier"; } } grouping pim_IfStats-group { description "Holds the PIM interface related statistics"; // Ephemeral data leaf helloSent { config "false"; type rtdmc_Counter32; description "number of hello sent"; } // Ephemeral data leaf helloRcvd { config "false"; type rtdmc_Counter32; description "number of hello rcvd"; } // Ephemeral data leaf jpSent { config "false"; type rtdmc_Counter32; description "number of JP sent"; } // Ephemeral data leaf jpRcvd { config "false"; type rtdmc_Counter32; description "number of JP rcvd"; } // Ephemeral data leaf assertRcvd { config "false"; type rtdmc_Counter32; description "number of assert rcvd"; } // Ephemeral data leaf graftsSent { config "false"; type rtdmc_Counter32; description "number of grafts sent"; } // Ephemeral data leaf graftsRcvd { config "false"; type rtdmc_Counter32; description "number of grafts rcvd"; } // Ephemeral data leaf grftAckSent { config "false"; type rtdmc_Counter32; description "number of graft ack sent"; } // Ephemeral data leaf grftAckRcvd { config "false"; type rtdmc_Counter32; description "number of graft ack rcvd"; } // Ephemeral data leaf dfOfferSent { config "false"; type rtdmc_Counter32; description "number of DF-offer sent"; } // Ephemeral data leaf dfOfferRcvd { config "false"; type rtdmc_Counter32; description "number of DF-offer rcvd"; } // Ephemeral data leaf dfWinnerSent { config "false"; type rtdmc_Counter32; description "number of DF winner sent"; } // Ephemeral data leaf dfWinnerRcvd { config "false"; type rtdmc_Counter32; description "number of DF winner rcvd"; } // Ephemeral data leaf dfBackoffSent { config "false"; type rtdmc_Counter32; description "number of DF backoff sent"; } // Ephemeral data leaf dfBackoffRcvd { config "false"; type rtdmc_Counter32; description "number of DF backoff rcvd"; } // Ephemeral data leaf dfPassesSent { config "false"; type rtdmc_Counter32; description "number of DF Passes sent"; } // Ephemeral data leaf dfPassesRcvd { config "false"; type rtdmc_Counter32; description "number of DF Passes rcvd"; } // Ephemeral data leaf chksumErr { config "false"; type rtdmc_Counter32; description "Checksum errors"; } // Ephemeral data leaf invalidPktRcvd { config "false"; type rtdmc_Counter32; description "number of invalid pkt rcvd"; } // Ephemeral data leaf authFail { config "false"; type rtdmc_Counter32; description "number of authentication failures"; } // Ephemeral data leaf pktLenErr { config "false"; type rtdmc_Counter32; description "number of packet length errors"; } // Ephemeral data leaf badVerPkt { config "false"; type rtdmc_Counter32; description "number of bad version pkts"; } // Ephemeral data leaf pktFrmSelf { config "false"; type rtdmc_Counter32; description "number of pkts from Self"; } // Ephemeral data leaf pktFrmNonNbr { config "false"; type rtdmc_Counter32; description "packets from Non-Neighbor"; } // Ephemeral data leaf pktOnPassiveIf { config "false"; type rtdmc_Counter32; description "number of packets on passive interface"; } // Ephemeral data leaf jpRcvdOnRPF { config "false"; type rtdmc_Counter32; description "number of packets rcvd on RPF interface"; } // Ephemeral data leaf joinNoRP { config "false"; type rtdmc_Counter32; description "*,G Join rcvd with no RP"; } // Ephemeral data leaf joinWrongRp { config "false"; type rtdmc_Counter32; description "number of packets rcvd on Wrong RP"; } // Ephemeral data leaf jpSSMRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for SSM groups"; } // Ephemeral data leaf jpBidirRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for Bidir groups"; } // Ephemeral data leaf jpFilterIn { config "false"; type rtdmc_Counter32; description "number of JP filtered by inbound policy "; } // Ephemeral data leaf jpFilterOut { config "false"; type rtdmc_Counter32; description "number of JP filtered by outbound policy "; } // Ephemeral data leaf pfmsdPktSent { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets sent"; } // Ephemeral data leaf pfmsdPktRcvd { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets received"; } // Ephemeral data leaf pfmsdPktFwded { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets forwarded"; } } grouping pim_JPTrP-group { description "This object holds the join-prune traffic policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf RtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Out Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "In Prefix List"; } // in route-map for out-bound policy application // Interval used between peers leaf itvl { type rtdmc_JPItvl; description "Periodic Interval"; } leaf policyDir { type rtdmc_PolicyDirType; description "Policy Direction "; } } grouping pim_HelloTrP-group { description "This object holds the hello traffic policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Hello Interval leaf helloItvl { type rtdmc_HelloItvl; description "Hello Interval"; } // Authentication Type leaf authT { type rtdmc_AuthT; description "Authentication Type"; } // Authentication Key leaf authKey { type rtdmc_AuthKey; description "Authentication Key"; } leaf keychain { type string { pattern ".*[!-~]{0,63}.*"; } description "Name of the Keychain Used For Authentication"; } } grouping pim_TrafficStats-group { description "Holds the PIM control traffic statistics"; // AutoRP Announce Received leaf autorpAnnRcvd { config "false"; type nw_Counter32; description "AutoRP Announce Received"; } // AutoRP Discovery received leaf autorpDiscRcvd { config "false"; type nw_Counter32; description "AutoRP Discovery Received"; } // AutoRP Announce Sent leaf autorpAnnSent { config "false"; type nw_Counter32; description "AutoRP Announce Sent"; } // Auto RP Discovery sent leaf autorpDiscSent { config "false"; type nw_Counter32; description "AutoRP Discovery Sent"; } // AutoRP RPF Sent leaf autorpRpfSent { config "false"; type nw_Counter32; description "AutoRP RPF Sent"; } // AutoRP Border Deny leaf autorpBrdDeny { config "false"; type nw_Counter32; description "AutoRP Border Deny"; } // AutoRP No Listen leaf autorrpNoListn { config "false"; type nw_Counter32; description "AutoRP No Listen"; } // AutoRP TTL Expired leaf autorpTtlExp { config "false"; type nw_Counter32; description "AutoRP TTL Expired"; } // AutoRP Invalid type leaf autorpInvType { config "false"; type nw_Counter32; description "AutoRP Invalid Type"; } leaf lastClearTs { config "false"; type union { type string; type uint64; } description "Last Clear Timestamp"; } // Register received leaf regRcvd { config "false"; type nw_Counter32; description "Register Received"; } // Null register received leaf nullRegRcvd { config "false"; type nw_Counter32; description "Null Register Received"; } // Reg Stop Received leaf regStopRcvd { config "false"; type nw_Counter32; description "Reg Stop Received"; } // Bootstrap received leaf bsRcvd { config "false"; type nw_Counter32; description "Bootstrap received"; } // Candidate Rp Received leaf candRpRcvd { config "false"; type nw_Counter32; description "Candidate RP Received"; } // Null Register Sent leaf nullRegSent { config "false"; type nw_Counter32; description "NULL Register sent"; } // Register stop sent leaf regStopSent { config "false"; type nw_Counter32; description "Register Stop Sent"; } // Bootstrap sent leaf bsSent { config "false"; type nw_Counter32; description "Bootstrap Sent"; } // Candidate RP Sent leaf candRPSent { config "false"; type nw_Counter32; description "Candidate RP Sent"; } // BS no NBR leaf bsNoNbr { config "false"; type nw_Counter32; description "BS No NBR"; } // BS Border Deny leaf bsBordDeny { config "false"; type nw_Counter32; description "BS Border Deny"; } // BS LEngth errors leaf bsLenErr { config "false"; type nw_Counter32; description "BS Len Errors"; } // BS RPF Failed leaf bsRpfFail { config "false"; type nw_Counter32; description "BS RPF Failed"; } // BS NO Listen leaf bsNoLis { config "false"; type nw_Counter32; description "BS No Listen"; } // Candidate RP No Listen leaf candrpNoLis { config "false"; type nw_Counter32; description "Candidate RP No Listen"; } // Candidate RP Border Deny leaf candrpBordDeny { config "false"; type nw_Counter32; description "Candidate RP Border Deny"; } // REgister received not RP leaf regRcvdNoRP { config "false"; type nw_Counter32; description "Register Received not RP"; } // Register Received for SSM leaf regRcvdForSSM { config "false"; type nw_Counter32; description "Register Received Not SSM"; } // Register received for bidir leaf regRcvdForBd { config "false"; type nw_Counter32; description "Register received for Bidir"; } // no route leaf noRoute { config "false"; type nw_Counter32; description "No Route"; } } grouping pim_ResP-group { description "Holds resource (router state) limit policy to limit amount of multicast routing state on the router"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Maximum Multicast Entries leaf max { type mcast_NumEntries; description "Maximum Multicast Entries"; } // Reserved Multicast Entries leaf rsvd { type mcast_NumEntries; description "Reserved Multicast Entries"; } leaf rtMap { type string; description "Reserved Entries Route Map"; } } grouping pim_ASMPatP-group { description "Holds policy for Any Source Multicast (ASM) pattern"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Controls leaf ctrl { type rtdmc_ASMCtrl; description "Controls"; } leaf preBuildSpt { type boolean; description "Pre-Build-SPT"; } leaf force { type boolean; description "force pre-build-spt"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } // This object holds (S,G) expiry timer // policy for specified range container sgexp-items { uses pim_SGRangeExpP-group; description "Holds (S,G) expiry timer policy for specified range"; } // This object holds group range // to use only shared tree container shared-items { uses pim_SharedRangeP-group; description "Holds group range policy to use only shared tree"; } // This object holds the register traffic policy container reg-items { uses pim_RegTrP-group; description "This object holds the register traffic policy"; } } grouping pim_SGRangeExpP-group { description "Holds (S,G) expiry timer policy for specified range"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } leaf grpList { type address_Ip; description "Group List"; } leaf grpList1 { type address_Ip; description "Group List"; } leaf grpList2 { type address_Ip; description "Group List"; } leaf grpList3 { type address_Ip; description "Group List"; } leaf ssmNone { type boolean; description "SSM None "; } // (S,G) entry inactivity expiry timer leaf sgExpItvl { type rtdmc_SGExpItvl; description "(S,G) Entry Expiry Timer"; } leaf sparse { type boolean; description "(S,G) Entry Expiry Timer configured with sparse mode"; } } grouping pim_SharedRangeP-group { description "Holds group range policy to use only shared tree"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } leaf grpList { type address_Ip; description "Group List"; } leaf grpList1 { type address_Ip; description "Group List"; } leaf grpList2 { type address_Ip; description "Group List"; } leaf grpList3 { type address_Ip; description "Group List"; } leaf ssmNone { type boolean; description "SSM None "; } leaf useSPTCommand { type boolean; description "Flag to use spt-threashold command"; } } grouping pim_RegTrP-group { description "This object holds the register traffic policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf addr { type address_Ip; description "Source Address"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Max Rate leaf maxRate { type rtdmc_RegRate; description "Maximum Rate"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Register Message Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Register Message Prefix List"; } } grouping pim_SSMPatP-group { description "Holds policy for Source Specific Multicast (SSM) pattern"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // This object holds SSM group range container range-items { uses pim_SSMRangeP-group; description "SSM Group Range Policy"; } } grouping pim_SSMRangeP-group { description "SSM Group Range Policy"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } leaf grpList { type address_Ip; description "Group List"; } leaf grpList1 { type address_Ip; description "Group List"; } leaf grpList2 { type address_Ip; description "Group List"; } leaf grpList3 { type address_Ip; description "Group List"; } leaf ssmNone { type boolean; description "SSM None "; } } grouping pim_BidirPatP-group { description "Holds policy for Bidirectional Multicast (BiDir) pattern"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Maximum number of RPs leaf maxRP { type rtdmc_BidirRPLimit; description "Maximum RPs"; } // Designated Forwarder Offer Burst Interval leaf dfobItvl { type rtdmc_DFOBItvl; description "Designated Forwarder Offer Burst Interval"; } } grouping pim_MtiProp-group { description "This object holds the Mti PIM interface related statistics"; // Ephemeral data leaf id { config "false"; type uint32; description "represents mti ID"; } // Ephemeral data leaf nextHello { config "false"; type union { type string; type uint64; } description "Time when next hello is sent"; } // Ephemeral data leaf nbrHoldTime { config "false"; type uint32; description "PIM Neighbor HoldTime"; } // Generation id // Ephemeral data leaf genID { config "false"; type pim_PropGenId; description "Generation Identifier"; } // Ephemeral data leaf pimMTU { config "false"; type uint32; description "Value of PIM MTU on the mti interface"; } // Ephemeral data leaf dr { config "false"; type address_Ip; description "Designated router address(DR)"; } // Ephemeral data leaf nbrCount { config "false"; type uint32; description "PIM Neighbor Count on MTI interface"; } // Ephemeral data leaf brdrInterface { config "false"; type boolean; description "Indicates if Interface is Border interface"; } // This object holds pim neighbor information // Ephemeral data container adj-items { // Ephemeral data list MtiAdj-list { config "false"; key "addr"; uses pim_MtiAdj-group; description "This object holds PIM neighbor information list"; } description "This object holds PIM neighbor information"; } // This object holds the pim interface related statistics // Ephemeral data container ifstats-items { uses pim_MtiStats-group; description "Holds the PIM interface related statistics"; } } grouping pim_MtiAdj-group { description "This object holds PIM neighbor information"; // Ephemeral data leaf isVpcPeer { config "false"; type boolean; description "Indicates if this interface is VPC peer"; } // Ephemeral data leaf isInactive { config "false"; type boolean; description "Indicates if this neighbor is inactive"; } // Ephemeral data leaf helloAuthPending { config "false"; type boolean; description "Is Hello Auth pending"; } // Ephemeral data leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "Address of neighbor interface"; } // Ephemeral data leaf nbrName { config "false"; type string; description "Neighbor Name"; } // DR Priority // Ephemeral data leaf drPrio { config "false"; type rtdmc_DRPrio; description "DR Priority"; } // Ephemeral data leaf uptime { config "false"; type string; description "Uptime of the neighbor"; } // Ephemeral data leaf expiry { config "false"; type string; description "Neighbor Expiry Timer value"; } // Generation id // Ephemeral data leaf genId { config "false"; type rtdmc_GenId; description "Generation ID"; } // BFD state // Ephemeral data leaf bfdSt { config "false"; type rtdmc_BfdOperSt; description "BFD State"; } // Adjacency state // Ephemeral data leaf operSt { config "false"; type rtdmc_AdjOperSt; description "Operational State"; } // This object holds the pim neighbor related statistics // Ephemeral data container adjstats-items { uses pim_MtiAdjStats-group; description "This object holds the PIM neighbor related statistics"; } } grouping pim_MtiAdjStats-group { description "This object holds the PIM neighbor related statistics"; // Ephemeral data leaf lastHelloReceived { config "false"; type string; description "Last Hello Received time"; } // Longest Hello Interval // Ephemeral data leaf longHelloItvl { config "false"; type rtdmc_HelloItvl; description "Longest Hello Interval"; } // non-hello expiry timer resets // Ephemeral data leaf nonHelloExpResets { config "false"; type rtdmc_Counter32; description "Non-Hello Expiry Timer Resets"; } } grouping pim_MtiStats-group { description "Holds the PIM interface related statistics"; // Ephemeral data leaf helloSent { config "false"; type rtdmc_Counter32; description "number of hello sent"; } // Ephemeral data leaf helloRcvd { config "false"; type rtdmc_Counter32; description "number of hello rcvd"; } // Ephemeral data leaf jpSent { config "false"; type rtdmc_Counter32; description "number of JP sent"; } // Ephemeral data leaf jpRcvd { config "false"; type rtdmc_Counter32; description "number of JP rcvd"; } // Ephemeral data leaf assertRcvd { config "false"; type rtdmc_Counter32; description "number of assert rcvd"; } // Ephemeral data leaf graftsSent { config "false"; type rtdmc_Counter32; description "number of grafts sent"; } // Ephemeral data leaf graftsRcvd { config "false"; type rtdmc_Counter32; description "number of grafts rcvd"; } // Ephemeral data leaf grftAckSent { config "false"; type rtdmc_Counter32; description "number of graft ack sent"; } // Ephemeral data leaf grftAckRcvd { config "false"; type rtdmc_Counter32; description "number of graft ack rcvd"; } // Ephemeral data leaf dfOfferSent { config "false"; type rtdmc_Counter32; description "number of DF-offer sent"; } // Ephemeral data leaf dfOfferRcvd { config "false"; type rtdmc_Counter32; description "number of DF-offer rcvd"; } // Ephemeral data leaf dfWinnerSent { config "false"; type rtdmc_Counter32; description "number of DF winner sent"; } // Ephemeral data leaf dfWinnerRcvd { config "false"; type rtdmc_Counter32; description "number of DF winner rcvd"; } // Ephemeral data leaf dfBackoffSent { config "false"; type rtdmc_Counter32; description "number of DF backoff sent"; } // Ephemeral data leaf dfBackoffRcvd { config "false"; type rtdmc_Counter32; description "number of DF backoff rcvd"; } // Ephemeral data leaf dfPassesSent { config "false"; type rtdmc_Counter32; description "number of DF Passes sent"; } // Ephemeral data leaf dfPassesRcvd { config "false"; type rtdmc_Counter32; description "number of DF Passes rcvd"; } // Ephemeral data leaf chksumErr { config "false"; type rtdmc_Counter32; description "Checksum errors"; } // Ephemeral data leaf invalidPktRcvd { config "false"; type rtdmc_Counter32; description "number of invalid pkt rcvd"; } // Ephemeral data leaf authFail { config "false"; type rtdmc_Counter32; description "number of authentication failures"; } // Ephemeral data leaf pktLenErr { config "false"; type rtdmc_Counter32; description "number of packet length errors"; } // Ephemeral data leaf badVerPkt { config "false"; type rtdmc_Counter32; description "number of bad version pkts"; } // Ephemeral data leaf pktFrmSelf { config "false"; type rtdmc_Counter32; description "number of pkts from Self"; } // Ephemeral data leaf pktFrmNonNbr { config "false"; type rtdmc_Counter32; description "packets from Non-Neighbor"; } // Ephemeral data leaf pktOnPassiveIf { config "false"; type rtdmc_Counter32; description "number of packets on passive interface"; } // Ephemeral data leaf jpRcvdOnRPF { config "false"; type rtdmc_Counter32; description "number of packets rcvd on RPF interface"; } // Ephemeral data leaf joinNoRP { config "false"; type rtdmc_Counter32; description "*,G Join rcvd with no RP"; } // Ephemeral data leaf joinWrongRp { config "false"; type rtdmc_Counter32; description "number of packets rcvd on Wrong RP"; } // Ephemeral data leaf jpSSMRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for SSM groups"; } // Ephemeral data leaf jpBidirRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for Bidir groups"; } // Ephemeral data leaf jpFilterIn { config "false"; type rtdmc_Counter32; description "number of JP filtered by inbound policy "; } // Ephemeral data leaf jpFilterOut { config "false"; type rtdmc_Counter32; description "number of JP filtered by outbound policy "; } // Ephemeral data leaf pfmsdPktSent { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets sent"; } // Ephemeral data leaf pfmsdPktRcvd { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets received"; } // Ephemeral data leaf pfmsdPktFwded { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets forwarded"; } } grouping pim_Pfmsd-group { description "This object is used for pfm source discovery protocol"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "this property is pfm Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "this property is pfm Prefix List"; } leaf grpRange { type address_Ip; description "pfm source discovery group address"; } leaf originator { type nw_IfId; description "pfmsd source discovery source interface"; } leaf announcementInterval { type pim_AnnouncementInterval; description "pfm source discovery periodic interval in second"; } leaf announcementgapInterval { type pim_AnnouncementGapInterval; description "pfm source discovery gap interval in second"; } leaf announcementRate { type pim_AnnouncementRate; description "pfm source discovery message rate in times/minute"; } leaf sourceHoldTime { type pim_SourceHoldTime; description "pfm source discovery holdtime in second"; } } grouping pim_StaticRPP-group { description "Holds policy for Static RP"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // This object holds Static RP Info // If rp addr is configured locally, // router assumes RP functionality container rp-items { list StaticRP-list { key "addr"; uses pim_StaticRP-group; description "Holds Static RP Information.If rp address is configured locally,router assumes RP functionality list"; } description "Holds Static RP Information.If rp address is configured locally,router assumes RP functionality"; } } grouping pim_StaticRP-group { description "Holds Static RP Information.If rp address is configured locally,router assumes RP functionality"; leaf addr { type address_Ip; description "Address"; } // This object holds multicast group ranges for RP container range-items { list RPGrpRange-list { key "bidir"; uses pim_RPGrpRange-group; description "This object holds multicast group ranges for RP list"; } description "This object holds multicast group ranges for RP"; } container rpgrplist-items { list RPGrpList-list { key "grpListName"; uses pim_RPGrpList-group; description "RP Multicast Group List list"; } description "RP Multicast Group List"; } } grouping pim_RPGrpList-group { description "RP Multicast Group List"; leaf grpListName { type address_Ip; description "Group List address information"; } leaf bidir { type boolean; description "Flag to treat Group Ranges as BiDir"; } leaf override { type boolean; description "Flag to override RP preference to use Static over Dynamic RP"; } } grouping pim_Gl-group { description "This object holds global configuration for PIM"; // LoggingLevel leaf logLevel { type pim_LoggingLvl; description "Sets syslog filter level for PIM"; } // logLevel leaf logLvl { type mcast_LogLevelRange; description "Syslog filter level"; } leaf isolate { type boolean; description "Isolate this router flag"; } } grouping pim_RouteDb-group { description "This object holds multicast route database information"; leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository // Ephemeral data leaf type { config "false"; type rtdmc_DbT; description "Type"; } // This objects hold per pim domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses pim_Vrf-group; description "Holds per PIM domain (vrf) information list"; } description "Holds per PIM domain (vrf) information"; } } grouping pim_Vrf-group { description "Holds per PIM domain (vrf) information"; // Vrf name // Ephemeral data leaf name { config "false"; type l3_VrfName; description "Vrf Name"; } // This object holds PIM route group information // Ephemeral data container group-items { // Ephemeral data list Group-list { config "false"; key "grpAddr"; uses pim_Group-group; description "Holds PIM route group information list"; } description "Holds PIM route group information"; } } grouping pim_Group-group { description "Holds PIM route group information"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group IP Address"; } // This object holds pim route group information // Ephemeral data container source-items { // Ephemeral data list Source-list { config "false"; key "srcAddr"; uses pim_Source-group; description "Holds PIM Route Source information list"; } description "Holds PIM Route Source information"; } } grouping pim_Source-group { description "Holds PIM Route Source information"; // Ephemeral data leaf srcAddr { config "false"; type address_Ip; description "Source IP Address"; } leaf rpAddressRoute { config "false"; type address_Ip; description "Route RP address"; } leaf assertMetrics { config "false"; type uint32; description "Assert metrics value"; } leaf assertMetricPrefs { config "false"; type uint32; description "Configured assert metric preference"; } leaf expiry { config "false"; type string; description "Route Expiry Timestamp"; } leaf uptime { config "false"; type string; description "Route uptime Timestamp"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } leaf ver { config "false"; type uint32; description "Version"; } leaf src { config "false"; type address_Ip; description "Source"; } leaf grp { config "false"; type address_Ip; description "Group"; } leaf rpAddrRoute { config "false"; type address_Ip; description "Route RP addr"; } leaf iif { config "false"; type nw_IfId; description "Incoming interface"; } leaf rpfNbr { config "false"; type address_Ip; description "RPF Nbr Address"; } leaf rpfSrc { config "false"; type address_Ip; description "RPF Source Address"; } leaf rtType { config "false"; type rtdmc_RtFlags; description "Route Uptime"; } leaf swPktCnt { config "false"; type rtdmc_PktCntType; description "Software Packet Count"; } leaf swByteCnt { config "false"; type rtdmc_PktCntType; description "Software Byte Count"; } leaf hwPktCnt { config "false"; type rtdmc_ByteCntType; description "Hardware Packet Count"; } leaf hwByteCnt { config "false"; type rtdmc_ByteCntType; description "Hardware Byte Count"; } leaf assertMetric { config "false"; type uint32; description "Assert metric"; } leaf assertMetricPref { config "false"; type uint32; description "Assert metric preference"; } leaf routeBits { config "false"; type rtdmc_RouteBits; description "RP WC Bit"; } leaf rtTimeOutInvtl { config "false"; type uint32; description "Route Timeout Interval"; } leaf jpHoldTime { config "false"; type uint32; description "JP Hold time"; } // PIM OIF list MOs // Ephemeral data container oif-items { // Ephemeral data list Oif-list { config "false"; key "oIf"; uses pim_Oif-group; description "PIM OIF entry details list"; } description "PIM OIF entry details"; } } grouping pim_Oif-group { description "PIM OIF entry details"; leaf oifFlags { config "false"; type pim_OifFlagsNew; description "pim route oif lists"; } // Ephemeral data leaf oIf { config "false"; type nw_IfId; description "Outgoing interface"; } leaf flags { config "false"; type rtdmc_OifFlags; description "pim route oif lists"; } leaf oifcount { config "false"; type uint32; description "OIF COUNT for the PIM ROute"; } } grouping pim_PimDomdb-group { description "This object holds the PIM domain related statistics"; // This objects hold per pim domain (vrf) information // Ephemeral data container pimdom-items { // Ephemeral data list PimDom-list { config "false"; key "name"; uses pim_PimDom-group; description "Holds per PIM domain (vrf) information list"; } description "Holds per PIM domain (vrf) information"; } } grouping pim_PimDom-group { description "Holds per PIM domain (vrf) information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Admin State // Ephemeral data leaf adminSt { config "false"; type nw_AdminSt; default "disabled"; description "Admin State"; } // Per-Dom Controls // Ephemeral data leaf ctrl { config "false"; type rtdmc_DomCtrl; description "Domain Controls"; } // Protocol packet MTU // Ephemeral data leaf mtu { config "false"; type rtdmc_Mtu; description "Maximum Transmission Unit"; } // Auto Enable // Ephemeral data leaf autoEnable { config "false"; type rtdmc_AutoEnable; description "Auto Enable"; } // Ephemeral data leaf logNbhChng { config "false"; type boolean; description "Log Neighbhor changes"; } // Ephemeral data leaf flushRoutes { config "false"; type boolean; description "Flush Routes"; } // Ephemeral data leaf bfd { config "false"; type boolean; description "BFD"; } // Ephemeral data leaf jpDelay { config "false"; type rtdmc_JpDelayRange; description "Join-Prune message inter-packet delay"; } // Ephemeral data leaf regRateLmt { config "false"; type rtdmc_RegRateRange; description "Register rate limit for data packets per second"; } // Ephemeral data leaf rfcStrict { config "false"; type boolean; description "Do not process joins from unknown neighbors"; } // Ephemeral data leaf sptSwitchGraceful { config "false"; type boolean; description "Graceful switch to SPT"; } // This object holds the pim dom related statistics // Ephemeral data container domstats-items { uses pim_PimDomStats-group; description "This object holds the PIM domain related statistics"; } // This object holds pim information that is operated at // interface level // Ephemeral data container pimif-items { // Ephemeral data list PimIf-list { config "false"; key "id"; uses pim_PimIf-group; description "Holds PIM information that is operated at interface level list"; } description "Holds PIM information that is operated at interface level"; } } grouping pim_PimDomStats-group { description "This object holds the PIM domain related statistics"; // Ephemeral data leaf regSent { config "false"; type rtdmc_Counter32; description "Registers Sent"; } // Ephemeral data leaf regRcvd { config "false"; type rtdmc_Counter32; description "Registers Received "; } // Ephemeral data leaf nullRegSent { config "false"; type rtdmc_Counter32; description "Null Registers Sent"; } // Ephemeral data leaf nullRegRcvd { config "false"; type rtdmc_Counter32; description "Null Registers Received"; } // Ephemeral data leaf regStopSent { config "false"; type rtdmc_Counter32; description "Register Stop Sent"; } // Ephemeral data leaf regStopRcvd { config "false"; type rtdmc_Counter32; description "Register Stop Received "; } // Ephemeral data leaf regRcvdSSM { config "false"; type rtdmc_Counter32; description "Registers Received for SSM"; } // Ephemeral data leaf regRcvdBiDir { config "false"; type rtdmc_Counter32; description "Registers Received for BiDir"; } // Ephemeral data leaf regRcvdAndNotRP { config "false"; type rtdmc_Counter32; description "Registers Received but not RP"; } // Ephemeral data leaf bsrBsSent { config "false"; type rtdmc_Counter32; description "Bootstrap message sent"; } // Ephemeral data leaf bsrBsRcvd { config "false"; type rtdmc_Counter32; description "Bootstrap message received"; } // Ephemeral data leaf bsrCRPSent { config "false"; type rtdmc_Counter32; description "Candidate RP message sent"; } // Ephemeral data leaf bsrCRPRcvd { config "false"; type rtdmc_Counter32; description "Candidate RP message received"; } // Ephemeral data leaf bsrBsFromNonNbr { config "false"; type rtdmc_Counter32; description "Bootstrap message from non-neighbor"; } // Ephemeral data leaf bsrBsFromBorderIF { config "false"; type rtdmc_Counter32; description "Bootstrap message from border interface"; } // Ephemeral data leaf bsrBsLenErr { config "false"; type rtdmc_Counter32; description "Bootstrap length error"; } // Ephemeral data leaf bsrBsRPFFail { config "false"; type rtdmc_Counter32; description "Bootstrap messages for which RPF Failed"; } // Ephemeral data leaf bsrBsRcvdLisNotConf { config "false"; type rtdmc_Counter32; description "Bootstrap received listen not configured"; } // Ephemeral data leaf bsrCRPFromBorderIF { config "false"; type rtdmc_Counter32; description "Bootstrap Candidate RP From border interface"; } // Ephemeral data leaf bsrCRPRcvdLisNotConf { config "false"; type rtdmc_Counter32; description "Bootstrap candidate RP received but listen not configured"; } // Ephemeral data leaf autoRPAnnouncesSent { config "false"; type rtdmc_Counter32; description "RP announcements sent"; } // Ephemeral data leaf autoRPAnnouncesRcvd { config "false"; type rtdmc_Counter32; description "RP announcements received"; } // Ephemeral data leaf autoRPDiscoveriesSent { config "false"; type rtdmc_Counter32; description "RP discoveries sent"; } // Ephemeral data leaf autoRPDiscoveriesRcvd { config "false"; type rtdmc_Counter32; description "RP discoveries received"; } // Ephemeral data leaf autoRPRPFFailed { config "false"; type rtdmc_Counter32; description "Auto RP RPF Failed"; } // Ephemeral data leaf autoRPFromBorderIF { config "false"; type rtdmc_Counter32; description "Auto RP from border interface"; } // Ephemeral data leaf autoRPInvalidType { config "false"; type rtdmc_Counter32; description "Auto RP invalid type"; } // Ephemeral data leaf autoRPTTLExp { config "false"; type rtdmc_Counter32; description "Auto RP TTL expired"; } // Ephemeral data leaf autoRPRcvdLisNotConf { config "false"; type rtdmc_Counter32; description "Auto RP received but listen not configured"; } // Ephemeral data leaf cpRPFFailNoRoute { config "false"; type rtdmc_Counter32; description "Control plane RPF fail due to no route"; } // Ephemeral data leaf dpRPFFailNoRoute { config "false"; type rtdmc_Counter32; description "Data Plane RPF fail due to no route"; } // Ephemeral data leaf dpNoMcastState { config "false"; type rtdmc_Counter32; description "Data Plane no multicast state found"; } // Ephemeral data leaf dpCrtRouteStateCnt { config "false"; type rtdmc_Counter32; description "Data Plane create route state count"; } } grouping pim_PimIf-group { description "Holds PIM information that is operated at interface level"; // Ephemeral data leaf id { config "false"; type pim_IfId; description "Interface Identifier of this endpoint"; } // This object holds pim neighbor information // Ephemeral data container pimadj-items { // Ephemeral data list PimAdjEp-list { config "false"; key "addr"; uses pim_PimAdjEp-group; description "This object holds PIM adjacency information list"; } description "This object holds PIM adjacency information"; } // This object holds the pim interface related statistics // Ephemeral data container pimifprop-items { uses pim_PimIfProp-group; description "This object holds the PIM interface related statistics"; } // This object holds the pim interface related statistics // Ephemeral data container pimifstats-items { uses pim_PimIfStats-group; description "Holds the PIM interface related statistics"; } } grouping pim_PimAdjEp-group { description "This object holds PIM adjacency information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "Address of neighbor interface"; } // Ephemeral data leaf nbrName { config "false"; type string; description "Neighbor Name"; } // DR Priority // Ephemeral data leaf drPrio { config "false"; type rtdmc_DRPrio; description "DR Priority"; } // Ephemeral data leaf uptime { config "false"; type string; description "Uptime of the neighbor"; } // Ephemeral data leaf expiry { config "false"; type string; description "Neighbor Expiry Timer value"; } // Generation id // Ephemeral data leaf genId { config "false"; type rtdmc_GenId; description "Generation ID"; } // BFD state // Ephemeral data leaf bfdSt { config "false"; type rtdmc_BfdOperSt; description "BFD State"; } // Adjacency state // Ephemeral data leaf operSt { config "false"; type rtdmc_AdjOperSt; description "Operational State"; } // Flags // Ephemeral data leaf flags { config "false"; type rtdmc_AdjFlags; description "Flags"; } // This object holds the pim neighbor related statistics // Ephemeral data container adjstats-items { uses pim_PimAdjStats-group; description "This object holds the PIM neighbor related statistics"; } } grouping pim_PimAdjStats-group { description "This object holds the PIM neighbor related statistics"; // Ephemeral data leaf lastHelloReceived { config "false"; type string; description "Last Hello Received time"; } // Longest Hello Interval // Ephemeral data leaf longHelloItvl { config "false"; type rtdmc_HelloItvl; description "Longest Hello Interval"; } // Last Hold Time advertised by Peer // Ephemeral data leaf lastHoldTime { config "false"; type rtdmc_HoldTime; description "Last Hold Time"; } // non-hello expiry timer resets // Ephemeral data leaf nonHelloExpResets { config "false"; type rtdmc_Counter32; description "Non-Hello Expiry Timer Resets"; } } grouping pim_PimIfProp-group { description "This object holds the PIM interface related statistics"; // Ephemeral data leaf nextHello { config "false"; type string; description "Time when next hello is sent"; } // Ephemeral data leaf nbrHoldTime { config "false"; type uint32; description "PIM Neighbor HoldTime"; } // Ephemeral data leaf dr { config "false"; type address_Ip; description "PIM Designated Router information"; } // Generation id // Ephemeral data leaf genID { config "false"; type pim_PropGenId; description "Generation Identifier"; } } grouping pim_PimIfStats-group { description "Holds the PIM interface related statistics"; // Ephemeral data leaf helloSent { config "false"; type rtdmc_Counter32; description "number of hello sent"; } // Ephemeral data leaf helloRcvd { config "false"; type rtdmc_Counter32; description "number of hello rcvd"; } // Ephemeral data leaf jpSent { config "false"; type rtdmc_Counter32; description "number of JP sent"; } // Ephemeral data leaf jpRcvd { config "false"; type rtdmc_Counter32; description "number of JP rcvd"; } // Ephemeral data leaf assertRcvd { config "false"; type rtdmc_Counter32; description "number of assert rcvd"; } // Ephemeral data leaf graftsSent { config "false"; type rtdmc_Counter32; description "number of grafts sent"; } // Ephemeral data leaf graftsRcvd { config "false"; type rtdmc_Counter32; description "number of grafts rcvd"; } // Ephemeral data leaf grftAckSent { config "false"; type rtdmc_Counter32; description "number of graft ack sent"; } // Ephemeral data leaf grftAckRcvd { config "false"; type rtdmc_Counter32; description "number of graft ack rcvd"; } // Ephemeral data leaf dfOfferSent { config "false"; type rtdmc_Counter32; description "number of DF-offer sent"; } // Ephemeral data leaf dfOfferRcvd { config "false"; type rtdmc_Counter32; description "number of DF-offer rcvd"; } // Ephemeral data leaf dfWinnerSent { config "false"; type rtdmc_Counter32; description "number of DF winner sent"; } // Ephemeral data leaf dfWinnerRcvd { config "false"; type rtdmc_Counter32; description "number of DF winner rcvd"; } // Ephemeral data leaf dfBackoffSent { config "false"; type rtdmc_Counter32; description "number of DF backoff sent"; } // Ephemeral data leaf dfBackoffRcvd { config "false"; type rtdmc_Counter32; description "number of DF backoff rcvd"; } // Ephemeral data leaf dfPassesSent { config "false"; type rtdmc_Counter32; description "number of DF Passes sent"; } // Ephemeral data leaf dfPassesRcvd { config "false"; type rtdmc_Counter32; description "number of DF Passes rcvd"; } // Ephemeral data leaf chksumErr { config "false"; type rtdmc_Counter32; description "Checksum errors"; } // Ephemeral data leaf invalidPktRcvd { config "false"; type rtdmc_Counter32; description "number of invalid pkt rcvd"; } // Ephemeral data leaf authFail { config "false"; type rtdmc_Counter32; description "number of authentication failures"; } // Ephemeral data leaf pktLenErr { config "false"; type rtdmc_Counter32; description "number of packet length errors"; } // Ephemeral data leaf badVerPkt { config "false"; type rtdmc_Counter32; description "number of bad version pkts"; } // Ephemeral data leaf pktFrmSelf { config "false"; type rtdmc_Counter32; description "number of pkts from Self"; } // Ephemeral data leaf pktFrmNonNbr { config "false"; type rtdmc_Counter32; description "packets from Non-Neighbor"; } // Ephemeral data leaf pktOnPassiveIf { config "false"; type rtdmc_Counter32; description "number of packets on passive interface"; } // Ephemeral data leaf jpRcvdOnRPF { config "false"; type rtdmc_Counter32; description "number of packets rcvd on RPF interface"; } // Ephemeral data leaf joinNoRP { config "false"; type rtdmc_Counter32; description "*,G Join rcvd with no RP"; } // Ephemeral data leaf joinWrongRp { config "false"; type rtdmc_Counter32; description "number of packets rcvd on Wrong RP"; } // Ephemeral data leaf jpSSMRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for SSM groups"; } // Ephemeral data leaf jpBidirRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for Bidir groups"; } // Ephemeral data leaf jpFilterIn { config "false"; type rtdmc_Counter32; description "number of JP filtered by inbound policy "; } // Ephemeral data leaf jpFilterOut { config "false"; type rtdmc_Counter32; description "number of JP filtered by outbound policy "; } // Ephemeral data leaf pfmsdPktSent { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets sent"; } // Ephemeral data leaf pfmsdPktRcvd { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets received"; } // Ephemeral data leaf pfmsdPktFwded { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets forwarded"; } } grouping pim_PimIfdb-group { description "Holds PIM route db information"; // Type of the repository // Ephemeral data leaf ifdbtype { config "false"; type pim_ifdbT; description "represents repository type"; } leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This objects hold per pim domain (vrf) information // Ephemeral data container pimdom-items { // Ephemeral data list PimDom-list { config "false"; key "name"; uses pim_PimDom-group; description "Holds per PIM domain (vrf) information list"; } description "Holds per PIM domain (vrf) information"; } } grouping pim6_Entity-group { description "Holds PIM6 control plane entity information"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This objects hold per pim6 instance information container inst-items { uses pim6_Inst-group; description "This objects hold per PIM6 instance information"; } } grouping pim6_Inst-group { description "This objects hold per PIM6 instance information"; leaf evpnBorderLeaf { type boolean; description "EVPN Border Leaf flag"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Null Register Inter Batch Delay leaf nrDelay { type rtdmc_NRDelay; description "Null Register Inter Batch Delay"; } // Number of routes in a null register leaf nrNumRt { type rtdmc_NRNumRt; description "Null Register Number of Routes"; } // PIM6 databases // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "type"; uses pim6_Db-group; description "This object holds PIM6 Database information list"; } description "This object holds PIM6 Database information"; } // This objects hold per pim6 domain (vrf) information container dom-items { list Dom-list { key "name"; uses pim6_Dom-group; description "This objects hold per PIM6 domain (vrf) information list"; } description "This objects hold per PIM6 domain (vrf) information"; } // This object holds global config for pim6 container gl-items { uses pim6_Gl-group; description "This object holds global configuration for PIM6"; } // This object holds pim6 route db information // Ephemeral data container routedb-items { uses pim6_RouteDb-group; description "This object holds PIM6 route database information"; } } grouping pim6_Db-group { description "This object holds PIM6 Database information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Type of the repository // Ephemeral data leaf type { config "false"; type rtdmc_DbT; description "Type"; } // PIM6 bitfield // Ephemeral data container bf-items { uses pim6_Bitfield-group; description "PIM6 Bitfield Database"; } // This object holds pim6 information for embed-rp // Ephemeral data container embedrp-items { // Ephemeral data list EmbedRp-list { config "false"; key "grpAddr"; uses pim6_EmbedRp-group; description "Holds PIM6 Embed-RP operational information list"; } description "Holds PIM6 Embed-RP operational information"; } // This object holds global config for pim6 // Ephemeral data container syslog-items { // Ephemeral data list Syslog-list { config "false"; key "facName"; uses pim6_Syslog-group; description "This object holds syslog data for pim6 protocols list"; } description "This object holds syslog data for pim6 protocols"; } // This objects hold per pim6 domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses pim6_Vrf-group; description "This objects hold per pim6 domain (vrf) information list"; } description "This objects hold per pim6 domain (vrf) information"; } } grouping pim6_Bitfield-group { description "PIM6 Bitfield Database"; // PIM6 bitfield entry // Ephemeral data container bfentry-items { // Ephemeral data list BfEntry-list { config "false"; key "bfType"; uses pim6_BfEntry-group; description "PIM6 bitfield entry list"; } description "PIM6 bitfield entry"; } } grouping pim6_BfEntry-group { description "PIM6 bitfield entry"; // Ephemeral data leaf bfType { config "false"; type string; description "Bitfield Type"; } // Ephemeral data leaf bfAttr { config "false"; type uint32; description "Bitfield attribute"; } // Ephemeral data leaf bfSgmnt { config "false"; type uint32; description "Bitfield segment"; } // Ephemeral data leaf bfFlags { config "false"; type uint32; description "Bitfield flags"; } // Ephemeral data leaf bfCompressArraySize { config "false"; type uint32; description "Bitfield Compression array-size"; } // Ephemeral data leaf bfPosAllocated { config "false"; type uint32; description "Bitfield positions allocated"; } // routed multicast Bitfield compress index-bitpos // Ephemeral data container bfcomp-items { // Ephemeral data list BfComp-list { config "false"; key "bfIdx"; uses pim6_BfComp-group; description "Holds Bitfield Compression index-bit position details list"; } description "Holds Bitfield Compression index-bit position details"; } } grouping pim6_BfComp-group { description "Holds Bitfield Compression index-bit position details"; // Ephemeral data leaf bfCompType { config "false"; type string; description "Bitfield Compression type"; } // Ephemeral data leaf bfIdx { config "false"; type uint32; description "Bitfield index"; } // Ephemeral data leaf bfBitPos { config "false"; type uint32; description "Bitfield bit-position"; } } grouping pim6_EmbedRp-group { description "Holds PIM6 Embed-RP operational information"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group IP Address for Embed-RP"; } // Ephemeral data leaf rpAddr { config "false"; type address_Ip; description "Embed-RP IP Address"; } // Ephemeral data leaf illegalFlag { config "false"; type boolean; description "Illegal Flag"; } // Ephemeral data leaf prefix { config "false"; type string; description "Ip Address in network prefix format"; } // Ephemeral data leaf prefixLen { config "false"; type uint32; description "Networ Prefix length"; } // Ephemeral data leaf grpId { config "false"; type uint32; description "Group identifier"; } // Ephemeral data leaf scope { config "false"; type uint32; description "Scope"; } // Ephemeral data leaf scopeStr { config "false"; type string; description "Scope String"; } // Ephemeral data leaf rpIfId { config "false"; type nw_IfId; description "Embed RP's intername id"; } } grouping pim6_Syslog-group { description "This object holds syslog data for pim6 protocols"; // Ephemeral data leaf facName { config "false"; type string; description "Facility Name"; } // Default logLevel // Ephemeral data leaf deflogLvl { config "false"; type mcast_LogLevelRange; description "Default Syslog filter level"; } // Current logLevel // Ephemeral data leaf currlogLvl { config "false"; type mcast_LogLevelRange; description "Current Syslog filter level"; } } grouping pim6_Vrf-group { description "This objects hold per pim6 domain (vrf) information"; // Vrf name // Ephemeral data leaf name { config "false"; type l3_VrfName; description "Vrf Name"; } // Ephemeral data leaf cid { config "false"; type uint32; description "Vrf Identifier"; } // Ephemeral data leaf tableId { config "false"; type string; description "Table Identifier"; } // Ephemeral data leaf pim6EnbldIntfCount { config "false"; type uint32; description "Total Number PIM6 enabled interfaces"; } // Ephemeral data leaf bfdEnabled { config "false"; type boolean; description "Flag to enable BFD support"; } // Ephemeral data leaf totalNumRoutes { config "false"; type uint32; description "Total Number of Routes"; } // Ephemeral data container autorp-items { // Ephemeral data list AutoRppInfo-list { config "false"; key "addr"; uses pim6_AutoRppInfo-group; description "PIM6 Auto-RP information list"; } description "PIM6 Auto-RP information"; } // Ephemeral data container bsr-items { // Ephemeral data list BsrInfo-list { config "false"; key "grpAddr"; uses pim6_BsrInfo-group; description "PIM6 Selected Bootstrap Router list"; } description "PIM6 Selected Bootstrap Router"; } // Ephemeral data container grange-items { // Ephemeral data list RpGrange-list { config "false"; key "addr"; uses pim6_RpGrange-group; description "Rendezvous Point Group Range Record list"; } description "Rendezvous Point Group Range Record"; } // This object holds pim6 route group information // Ephemeral data container group-items { // Ephemeral data list Group-list { config "false"; key "grpAddr"; uses pim6_Group-group; description "This object holds PIM6 route group information list"; } description "This object holds PIM6 route group information"; } // Ephemeral data container ifrec-items { // Ephemeral data list IfRec-list { config "false"; key "pim6IfName"; uses pim6_IfRec-group; description "PIM6 Interface Record list"; } description "PIM6 Interface Record"; } // Ephemeral data container rp-items { // Ephemeral data list RpInfoRec-list { config "false"; key "rpAddr"; uses pim6_RpInfoRec-group; description "PIM6 Rendezvous Point Record list"; } description "PIM6 Rendezvous Point Record"; } // This object holds the pim6 control traffic stats // Ephemeral data container trstats-items { uses pim6_TrafficStats-group; description "This object holds the PIM6 control traffic stats"; } // Ephemeral data container vrfdetail-items { uses pim6_VrfDetails-group; description "This objects holds PIM6 context details"; } } grouping pim6_AutoRppInfo-group { description "PIM6 Auto-RP information"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "Source address"; } // Ephemeral data leaf expiry { config "false"; type union { type string; type uint64; } description "Expiry timer"; } // Ephemeral data leaf uptime { config "false"; type union { type string; type uint64; } description "Uptime"; } // Ephemeral data leaf priority { config "false"; type uint32; description "Priority"; } // Ephemeral data leaf hashMaskLen { config "false"; type uint32; description "Hash Mask Length"; } } grouping pim6_BsrInfo-group { description "PIM6 Selected Bootstrap Router"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "Group IP address"; } // Ephemeral data leaf bsrAddr { config "false"; type address_Ip; description "BSR IP address"; } // Ephemeral data leaf rpAddr { config "false"; type address_Ip; description "RP IP address with best hash"; } // Ephemeral data leaf hash { config "false"; type uint32; description "Hash value"; } // Ephemeral data leaf hashMaskLen { config "false"; type uint32; description "Hash Mask Length"; } // Ephemeral data leaf bestHash { config "false"; type boolean; description "Best hash selected flag"; } } grouping pim6_RpGrange-group { description "Rendezvous Point Group Range Record"; // Ephemeral data leaf addr { config "false"; type address_Ip; description "IP Address for Group Range"; } // Ephemeral data leaf rpAddr { config "false"; type address_Ip; description "RP IP address for this group range"; } // Ephemeral data leaf mode { config "false"; type string; description "RP Group range mode"; } // Ephemeral data leaf userShared { config "false"; type uint32; description "User-shared Range Address"; } } grouping pim6_Group-group { description "This object holds PIM6 route group information"; // Ephemeral data leaf grpAddr { config "false"; type address_Ip; description "IPv6 Group Address"; } // Ephemeral data leaf grpMasklen { config "false"; type uint32; description "Group Mask Length"; } // Ephemeral data leaf bidir { config "false"; type boolean; description "Bidirectional group"; } // This object holds pim6 route source information // Ephemeral data container source-items { // Ephemeral data list Source-list { config "false"; key "srcAddr"; uses pim6_Source-group; description "This object holds pim6 route source information list"; } description "This object holds pim6 route source information"; } } grouping pim6_Source-group { description "This object holds pim6 route source information"; // Ephemeral data leaf srcAddr { config "false"; type address_Ip; description "Source IP Address"; } // Ephemeral data leaf expiryTs { config "false"; type string; description "Route Expiry Timestamp in HH:MM:SS PST Format"; } // Ephemeral data leaf assertMetrics { config "false"; type uint32; description "Assert metric value"; } // Ephemeral data leaf assertMetricPrefs { config "false"; type uint32; description "Assert metric preference"; } // Ephemeral data leaf oifcount { config "false"; type uint32; description "Outgoing Interface Count"; } // RPF Information route incoming interface // Ephemeral data leaf routeIif { config "false"; type nw_IfId; description "Route Incoming Interface"; } // Ephemeral data leaf rpfNbr { config "false"; type address_Ip; description "RPF Neighbor IP Address"; } // Ephemeral data leaf rtTimeOutInvtl { config "false"; type uint32; description "Route Timeout Interval"; } // Ephemeral data leaf jpHoldTime { config "false"; type uint32; description "JP Hold time"; } // This object holds pim6 OIF information // Ephemeral data container oif-items { // Ephemeral data list Oif-list { config "false"; key "oifName"; uses pim6_Oif-group; description "This object holds pim6 OIF information list"; } description "This object holds pim6 OIF information"; } } grouping pim6_Oif-group { description "This object holds pim6 OIF information"; // Ephemeral data leaf oifName { config "false"; type string; description "Outgoing Interface name"; } // Ephemeral data leaf oifUptime { config "false"; type string; description "OIF Uptime in HH:MM:SS PST format"; } // Ephemeral data leaf oifRPF { config "false"; type boolean; description "Outgoing Interface RPF"; } // Ephemeral data leaf oifLispEncapEntries { config "false"; type uint32; description "Lisp Encap Entries Count"; } } grouping pim6_IfRec-group { description "PIM6 Interface Record"; // Ephemeral data leaf pim6Dr { config "false"; type address_Ip; description "IPv6 Address of PIM6 DR on the interface"; } // Designated Router Priority // Ephemeral data leaf pim6DrPrio { config "false"; type rtdmc_DRPrio; description "Designated Router Priority on the interface"; } // Ephemeral data leaf pim6NbrHoldTime { config "false"; type uint32; description "PIM6 Neighbor HoldTime"; } // Generation id // Ephemeral data leaf pim6GenID { config "false"; type rtdmc_GenId; description "Generation ID to be sent in Hello Msgs"; } // Ephemeral data leaf pim6NextHello { config "false"; type string; description "Next hello time in HH:MM:SS PST format"; } // Ephemeral data leaf pim6IpAddr { config "false"; type address_Ip; description "IP Address of the interface"; } leaf pim6IfName { config "false"; type nw_IfId; description "PIM6 Interface Name"; } // Ephemeral data leaf pim6Border { config "false"; type boolean; description "Is interface Pim6 domain border"; } // Ephemeral data leaf pim6SparseMode { config "false"; type boolean; description "Pim6 is enabled on the interface"; } // This object holds pim6 neighbor information // Ephemeral data container adjrec-items { // Ephemeral data list AdjEpRec-list { config "false"; key "addr"; uses pim6_AdjEpRec-group; description "This object holds PIM6 neighbor record list"; } description "This object holds PIM6 neighbor record"; } // This object holds the pim6 interface related statistics // Ephemeral data container ifstats-items { uses pim6_IfStats-group; description "This object holds the pim6 interface related statistics"; } } grouping pim6_AdjEpRec-group { description "This object holds PIM6 neighbor record"; // Ephemeral data leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } // Ephemeral data leaf addr { config "false"; type address_Ip; description "Address of neighbor interface"; } // Ephemeral data leaf nbrName { config "false"; type string; description "Neighbor Name"; } // DR Priority // Ephemeral data leaf drPrio { config "false"; type rtdmc_DRPrio; description "DR Priority"; } // Ephemeral data leaf uptime { config "false"; type string; description "Uptime of the neighbor"; } // Ephemeral data leaf expiry { config "false"; type string; description "Neighbor Expiry Timer value"; } // Generation id // Ephemeral data leaf genId { config "false"; type rtdmc_GenId; description "Generation ID"; } // BFD state // Ephemeral data leaf bfdSt { config "false"; type rtdmc_BfdOperSt; description "BFD State"; } // Adjacency state // Ephemeral data leaf operSt { config "false"; type rtdmc_AdjOperSt; description "Operational State"; } // Flags // Ephemeral data leaf flags { config "false"; type rtdmc_AdjFlags; description "Flags"; } // This object holds the pim6 neighbor related statistics // Ephemeral data container adjstats-items { uses pim6_AdjStats-group; description "This object holds the PIM6 neighbor related statistics"; } } grouping pim6_AdjStats-group { description "This object holds the PIM6 neighbor related statistics"; // Ephemeral data leaf lastHelloReceived { config "false"; type string; description "Last Hello Received time"; } // Longest Hello Interval // Ephemeral data leaf longHelloItvl { config "false"; type rtdmc_HelloItvl; description "Longest Hello Interval"; } // Last Hold Time advertised by Peer // Ephemeral data leaf lastHoldTime { config "false"; type rtdmc_HoldTime; description "Last Hold Time"; } // non-hello expiry timer resets // Ephemeral data leaf nonHelloExpResets { config "false"; type rtdmc_Counter32; description "Non-Hello Expiry Timer Resets"; } } grouping pim6_IfStats-group { description "This object holds the pim6 interface related statistics"; // Ephemeral data leaf helloSent { config "false"; type rtdmc_Counter32; description "number of hello sent"; } // Ephemeral data leaf helloRcvd { config "false"; type rtdmc_Counter32; description "number of hello rcvd"; } // Ephemeral data leaf jpSent { config "false"; type rtdmc_Counter32; description "number of JP sent"; } // Ephemeral data leaf jpRcvd { config "false"; type rtdmc_Counter32; description "number of JP rcvd"; } // Ephemeral data leaf assertSent { config "false"; type rtdmc_Counter32; description "number of assert sent"; } // Ephemeral data leaf assertRcvd { config "false"; type rtdmc_Counter32; description "number of assert rcvd"; } // Ephemeral data leaf graftsSent { config "false"; type rtdmc_Counter32; description "number of grafts sent"; } // Ephemeral data leaf graftsRcvd { config "false"; type rtdmc_Counter32; description "number of grafts rcvd"; } // Ephemeral data leaf grftAckSent { config "false"; type rtdmc_Counter32; description "number of graft ack sent"; } // Ephemeral data leaf grftAckRcvd { config "false"; type rtdmc_Counter32; description "number of graft ack rcvd"; } // Ephemeral data leaf dfOfferSent { config "false"; type rtdmc_Counter32; description "number of DF-offer sent"; } // Ephemeral data leaf dfOfferRcvd { config "false"; type rtdmc_Counter32; description "number of DF-offer rcvd"; } // Ephemeral data leaf dfWinnerSent { config "false"; type rtdmc_Counter32; description "number of DF winner sent"; } // Ephemeral data leaf dfWinnerRcvd { config "false"; type rtdmc_Counter32; description "number of DF winner rcvd"; } // Ephemeral data leaf dfBackoffSent { config "false"; type rtdmc_Counter32; description "number of DF backoff sent"; } // Ephemeral data leaf dfBackoffRcvd { config "false"; type rtdmc_Counter32; description "number of DF backoff rcvd"; } // Ephemeral data leaf dfPassesSent { config "false"; type rtdmc_Counter32; description "number of DF Passes sent"; } // Ephemeral data leaf dfPassesRcvd { config "false"; type rtdmc_Counter32; description "number of DF Passes rcvd"; } // Ephemeral data leaf chksumErr { config "false"; type rtdmc_Counter32; description "Checksum errors"; } // Ephemeral data leaf invalidPktSent { config "false"; type rtdmc_Counter32; description "number of invalid pkt sent"; } // Ephemeral data leaf invalidPktRcvd { config "false"; type rtdmc_Counter32; description "number of invalid pkt rcvd"; } // Ephemeral data leaf authFail { config "false"; type rtdmc_Counter32; description "number of authentication failures"; } // Ephemeral data leaf pktLenErr { config "false"; type rtdmc_Counter32; description "number of packet length errors"; } // Ephemeral data leaf badVerPkt { config "false"; type rtdmc_Counter32; description "number of bad version pkts"; } // Ephemeral data leaf pktFrmSelf { config "false"; type rtdmc_Counter32; description "number of pkts from Self"; } // Ephemeral data leaf pktFrmNonNbr { config "false"; type rtdmc_Counter32; description "packets from Non-Neighbor"; } // Ephemeral data leaf pktOnPassiveIf { config "false"; type rtdmc_Counter32; description "number of packets on passive interface"; } // Ephemeral data leaf jpRcvdOnRPF { config "false"; type rtdmc_Counter32; description "number of packets rcvd on RPF interface"; } // Ephemeral data leaf joinNoRP { config "false"; type rtdmc_Counter32; description "*,G Join rcvd with no RP"; } // Ephemeral data leaf joinWrongRp { config "false"; type rtdmc_Counter32; description "number of packets rcvd on Wrong RP"; } // Ephemeral data leaf jpSSMRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for SSM groups"; } // Ephemeral data leaf jpBidirRcvd { config "false"; type rtdmc_Counter32; description "number of packets rcvd for Bidir groups"; } // Ephemeral data leaf jpFilterIn { config "false"; type rtdmc_Counter32; description "number of JP filtered by inbound policy "; } // Ephemeral data leaf jpFilterOut { config "false"; type rtdmc_Counter32; description "number of JP filtered by outbound policy "; } // Ephemeral data leaf pfmsdPktSent { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets sent"; } // Ephemeral data leaf pfmsdPktRcvd { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets received"; } // Ephemeral data leaf pfmsdPktFwded { config "false"; type rtdmc_Counter32; description "number of pfm-sd packets forwarded"; } } grouping pim6_RpInfoRec-group { description "PIM6 Rendezvous Point Record"; // Ephemeral data leaf rpAddr { config "false"; type address_Ip; description "IPv6 address for RP"; } // Ephemeral data leaf rpLocal { config "false"; type boolean; description "Flag to indicte if RP is local"; } // Ephemeral data leaf rpUptime { config "false"; type string; description "RP uptime in HH:MM:SS PST Format"; } // Ephemeral data leaf rpPriority { config "false"; type uint32; description "Priority for cand-RP message"; } // Ephemeral data leaf rpDiscType { config "false"; type rtdmc_RPSourceType; description "RP source type"; } // Ephemeral data leaf rpDfOrdinal { config "false"; type uint32; description "Per RP Bidirectional DF Ordinal"; } // Ephemeral data leaf rpMetricPref { config "false"; type uint32; description "Router preference to this RP"; } // Ephemeral data leaf rpMetric { config "false"; type uint32; description "Unicast metric to this RP"; } // This object holds pim6 information that is operated at a // interface level for DF RP // Ephemeral data container rpif-items { // Ephemeral data list RpIf-list { config "false"; key "ifName"; uses pim6_RpIf-group; description "Holds PIM6 DF RP Interface operational information list"; } description "Holds PIM6 DF RP Interface operational information"; } } grouping pim6_RpIf-group { description "Holds PIM6 DF RP Interface operational information"; // Ephemeral data leaf ifName { config "false"; type nw_IfId; description "DF Interface Name"; } // Ephemeral data leaf dfWinner { config "false"; type address_Ip; description "DF Winner IP Address"; } // Df state // Ephemeral data leaf dfState { config "false"; type rtdmc_DfStates; description "Current state of DF"; } // Ephemeral data leaf dfUptime { config "false"; type string; description "Time since using this DF"; } // Ephemeral data leaf isRpf { config "false"; type boolean; description "RPF flag"; } // Ephemeral data leaf winnerMetricPref { config "false"; type uint32; description "Preference of DF winner"; } // Ephemeral data leaf winnerMetric { config "false"; type uint32; description "Metric of DF winner"; } } grouping pim6_TrafficStats-group { description "This object holds the PIM6 control traffic stats"; // Ephemeral data leaf lastClearTs { config "false"; type union { type string; type uint64; } description "Last Clear Timestamp"; } // Register received // Ephemeral data leaf regRcvd { config "false"; type nw_Counter32; description "Register Received"; } // Null register received // Ephemeral data leaf nullRegRcvd { config "false"; type nw_Counter32; description "Null Register Received"; } // Reg Stop Received // Ephemeral data leaf regStopRcvd { config "false"; type nw_Counter32; description "Reg Stop Received"; } // Bootstrap received // Ephemeral data leaf bsRcvd { config "false"; type nw_Counter32; description "Bootstrap received"; } // Candidate Rp Received // Ephemeral data leaf candRpRcvd { config "false"; type nw_Counter32; description "Candidate RP Received"; } // Null Register Sent // Ephemeral data leaf nullRegSent { config "false"; type nw_Counter32; description "NULL Register sent"; } // Register stop sent // Ephemeral data leaf regStopSent { config "false"; type nw_Counter32; description "Register Stop Sent"; } // Bootstrap sent // Ephemeral data leaf bsSent { config "false"; type nw_Counter32; description "Bootstrap Sent"; } // Candidate RP Sent // Ephemeral data leaf candRPSent { config "false"; type nw_Counter32; description "Candidate RP Sent"; } // BS no NBR // Ephemeral data leaf bsNoNbr { config "false"; type nw_Counter32; description "BS No NBR"; } // BS Border Deny // Ephemeral data leaf bsBordDeny { config "false"; type nw_Counter32; description "BS Border Deny"; } // BS LEngth errors // Ephemeral data leaf bsLenErr { config "false"; type nw_Counter32; description "BS Len Errors"; } // BS RPF Failed // Ephemeral data leaf bsRpfFail { config "false"; type nw_Counter32; description "BS RPF Failed"; } // BS NO Listen // Ephemeral data leaf bsNoLis { config "false"; type nw_Counter32; description "BS No Listen"; } // Candidate RP No Listen // Ephemeral data leaf candrpNoLis { config "false"; type nw_Counter32; description "Candidate RP No Listen"; } // Candidate RP Border Deny // Ephemeral data leaf candrpBordDeny { config "false"; type nw_Counter32; description "Candidate RP Border Deny"; } // REgister received not RP // Ephemeral data leaf regRcvdNoRP { config "false"; type nw_Counter32; description "Register Received not RP"; } // Register Received for SSM // Ephemeral data leaf regRcvdForSSM { config "false"; type nw_Counter32; description "Register Received Not SSM"; } // Register received for bidir // Ephemeral data leaf regRcvdForBd { config "false"; type nw_Counter32; description "Register received for Bidir"; } // no route // Ephemeral data leaf noRoute { config "false"; type nw_Counter32; description "No Route"; } } grouping pim6_VrfDetails-group { description "This objects holds PIM6 context details"; // Ephemeral data leaf stLmt { config "false"; type uint64; description "Configured maximum state limit"; } // Ephemeral data leaf availStLmt { config "false"; type uint64; description "Available state limit"; } // Ephemeral data leaf rsvLmt { config "false"; type uint64; description "Configured maximum reserved limit"; } // Ephemeral data leaf availRsvLmt { config "false"; type uint64; description "Available reserved limit"; } // Ephemeral data leaf rsvPolName { config "false"; type string; description "Configured Reserve Policy name"; } // Ephemeral data leaf regRateLmt { config "false"; type uint64; description "Register rate limit in pps"; } // Ephemeral data leaf sharedTrPolName { config "false"; type string; description "Configured Use-Shared tree route-map policy name"; } // Ephemeral data container grange-items { // Ephemeral data list SharedRouteRange-list { config "false"; key "grangeIp"; uses pim6_SharedRouteRange-group; description "This objects holds PIM6 USe-shared tree route range list"; } description "This objects holds PIM6 USe-shared tree route range"; } } grouping pim6_SharedRouteRange-group { description "This objects holds PIM6 USe-shared tree route range"; // Ephemeral data leaf grangeIp { config "false"; type address_Ip; description "Group-range IPv6 address"; } } grouping pim6_Dom-group { description "This objects hold per PIM6 domain (vrf) information"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Admin State leaf adminSt { type nw_AdminSt; default "disabled"; description "Admin State"; } // Per-Dom Controls leaf ctrl { type rtdmc_DomCtrl; description "Domain Controls"; } // Protocol packet MTU leaf mtu { type rtdmc_Mtu; description "Maximum Transmission Unit"; } leaf logNbhChng { type boolean; description "Log Neighbhor changes"; } leaf flushRoutes { type boolean; description "Flush Routes"; } leaf bfd { type boolean; description "BFD"; } leaf regRateLmt { type rtdmc_RegRateRange; description "Register rate limit for data packets per second"; } leaf sptSwitchGraceful { type boolean; description "Graceful switch to SPT"; } // This object holds policy for Anycast RP Function // Specifies the anycast and local interface for the anycast RP // and all the peer's local info Anycast RP is not supported for BSR and Auto-RP container acastrpfunc-items { uses pim6_AcastRpFuncP-group; description "Anycast RP Function Policy"; } // This object holds policy for // allow-RP command container allowrp-items { uses pim6_AllowRPP-group; description "This object holds policy for Allow-RP command"; } container assert-items { uses pim6_Assert-group; description "This model is used to configure assert events for PIM6"; } // This object holds policy for // Bootstrap Router method of RP discovery container bsr-items { uses pim6_BsrP-group; description "This object holds policy for Bootstrap Router method of RP discovery"; } container eventhist-items { list EventHistory-list { key "type"; uses pim6_EventHistory-group; description "This object holds configuration detais for event-history buffers list"; } description "This object holds configuration detais for event-history buffers"; } // This object holds pim6 information that is operated at a // interface level container if-items { list If-list { key "id"; uses pim6_If-group; description "This object holds PIM6 information that is operated at a interface level list"; } description "This object holds PIM6 information that is operated at a interface level"; } // This object holds resource (router state) limit policy // to limit amount of multicast routing state on the router container limit-items { uses pim6_ResP-group; description "This object holds resource (router state) limit policy"; } // This object holds policy for // Any Source Multicast (ASM) pattern container asm-items { uses pim6_AsmPatP-group; description "This object holds policy for Any Source Multicast (ASM) pattern"; } // This object holds policy for // Source Specific Multicast (SSM) pattern container ssm-items { uses pim6_SsmPatP-group; description "This object holds policy for SSM Pattern"; } // This object holds policy for // Bidirectional Multicast (BiDir) pattern container bidir-items { uses pim6_BidirPatP-group; description "This object holds policy for BiDir Pattern"; } // This object holds policy for Static RP container staticrp-items { uses pim6_StaticRPP-group; description "This object holds policy for Static RP"; } } grouping pim6_AcastRpFuncP-group { description "Anycast RP Function Policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Anycast RP Unique Local Interface leaf localIf { type nw_IfId; description "Local Interface"; } // This object holds Anycast RP Peer Info container peer-items { list AcastRpPeer-list { key "addr rpSetAddr"; uses pim6_AcastRpPeer-group; description "Anycast RP Peer information list"; } description "Anycast RP Peer information"; } } grouping pim6_AcastRpPeer-group { description "Anycast RP Peer information"; leaf rpSetAddr { type address_Ip; description "IP Address of node performing the function"; } leaf addr { type address_Ip; description "Address"; } } grouping pim6_AllowRPP-group { description "This object holds policy for Allow-RP command"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route map name for choosing groups"; } } grouping pim6_Assert-group { description "This model is used to configure assert events for PIM6"; // AssertRate leaf assertRtLmt { type rtdmc_AssertRateLmt; description "Configure Rate limit for pim asserts"; } } grouping pim6_BsrP-group { description "This object holds policy for Bootstrap Router method of RP discovery"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // BSR Control leaf ctrl { type rtdmc_BSRCtrl; description "Control"; } // End Child MOs This object holds policy for // choosing RPs from among RP candidates container rpfilter-items { uses pim6_RpFilterP-group; description "This object holds policy for RP Filter"; } // This object holds policy for // choosing BSRs from among BSR candidates container bsrfilter-items { uses pim6_BsrFilterP-group; description "This object holds policy for choosing BSRs among BSR candidates"; } // This object holds policy for RP Function container rpfunc-items { uses pim6_RpFuncP-group; description "This object holds policy for RP Function"; } // This object holds policy for // Bootstrap Router Function container bsrfunc-items { uses pim6_BsrFuncP-group; description "This object holds policy for Bootstrap Router Function"; } } grouping pim6_RpFilterP-group { description "This object holds policy for RP Filter"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping pim6_BsrFilterP-group { description "This object holds policy for choosing BSRs among BSR candidates"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } } grouping pim6_RpFuncP-group { description "This object holds policy for RP Function"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Priority leaf prio { type rtdmc_BSRPrio; description "Priority"; } // Interval leaf interval { type rtdmc_BSRInterval; description "Interval"; } // Scope leaf scope { type rtdmc_AutoRPScope; description "Scope"; } leaf addr { type address_Ip; description "AutoRP Cand RP Address"; } leaf useSendRPAnnCommand { type boolean; description "Flag to use send-rp-announce"; } // This object holds multicast group ranges for RP container range-items { list RpGrpRange-list { key "bidir"; uses pim6_RpGrpRange-group; description "This object holds multicast group ranges for RP list"; } description "This object holds multicast group ranges for RP"; } } grouping pim6_RpGrpRange-group { description "This object holds multicast group ranges for RP"; leaf override { type boolean; description "Flag to override RP preference to choose static RP"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } leaf grpList { type address_Ip; description "Group List"; } leaf grpList1 { type address_Ip; description "Group List"; } leaf grpList2 { type address_Ip; description "Group List"; } leaf grpList3 { type address_Ip; description "Group List"; } leaf ssmNone { type boolean; description "SSM None "; } leaf bidir { type boolean; description "BiDir Groups"; } } grouping pim6_BsrFuncP-group { description "This object holds policy for Bootstrap Router Function"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Source Interface leaf srcIf { type nw_IfId; description "Source Interface"; } // Hash Mask Len leaf hashLen { type rtdmc_BSRHashLen { range "1..32"; } default "30"; description "Hash Mask Len"; } // Priority leaf prio { type rtdmc_BSRPrio; description "Priority"; } // Priority leaf interval { type rtdmc_BSRInterval; description "Interval"; } } grouping pim6_EventHistory-group { description "This object holds configuration detais for event-history buffers"; leaf type { type pim6_EhType; description "configures type of event history"; } leaf size { type pim6_Size; description "configures buffer size in text/kb"; } } grouping pim6_If-group { description "This object holds PIM6 information that is operated at a interface level"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // Interface Control leaf ctrl { type rtdmc_IfCtrl; description "Controls"; } leaf dr { config "false"; type address_Ip; description "PIM DR"; } leaf nbrHoldTime { config "false"; type uint32; description "PIM Nbr HoldTime"; } // Generation id leaf genID { config "false"; type rtdmc_GenId; description "Generation ID"; } leaf nextHello { config "false"; type union { type string; type uint64; } description "Next hello time"; } leaf ipAddr { config "false"; type address_Ip; description "IP Address of the interface"; } leaf ifName { config "false"; type string; description "Interface Name"; } // Designated Router Priority leaf drPrio { type rtdmc_DRPrio; description "Designated Router Priority"; } leaf jpRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Join Prune Policy"; } leaf neighRtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Neighbor route-map Policy"; } leaf neighpfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Neighbor prefix-list Policy"; } leaf border { type boolean; description "Border policy"; } leaf passive { type boolean; description "Interface in Passive mode. No send/receive."; } leaf rtEpPDn { type string; description "RtEpP DN"; } leaf bfdInst { type rtdmc_BfdInstSt; description "BFD Instance"; } leaf pimSparseMode { type boolean; description "Sparse Mode "; } // This object holds pim6 neighbor information container adj-items { list AdjEp-list { key "addr"; uses pim6_AdjEp-group; description "This object holds PIM6 neighbor information list"; } description "This object holds PIM6 neighbor information"; } // PIM6 databases // Ephemeral data container db-items { // Ephemeral data list Db-list { config "false"; key "type"; uses pim6_Db-group; description "This object holds PIM6 Database information list"; } description "This object holds PIM6 Database information"; } // This object holds the join-prune traffic policy container jp-items { list JpTrP-list { key "policyDir"; uses pim6_JpTrP-group; description "This object holds the join-prune traffic policy list"; } description "This object holds the join-prune traffic policy"; } // This object holds the hello traffic policy container hello-items { uses pim6_HelloTrP-group; description "This object holds the hello traffic policy"; } // This object holds the pim6 control traffic stats // Ephemeral data container trstats-items { uses pim6_TrafficStats-group; description "This object holds the PIM6 control traffic stats"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping pim6_AdjEp-group { description "This object holds PIM6 neighbor information"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf addr { type address_Ip; description "Address of neighbor interface"; } leaf nbrName { config "false"; type string; description "Neighbor Name"; } // DR Priority leaf drPrio { config "false"; type rtdmc_DRPrio; description "DR Priority"; } leaf uptime { config "false"; type string; description "Uptime of the neighbor"; } leaf expiry { config "false"; type string; description "Neighbor Expiry Timer value"; } // Generation id leaf genId { config "false"; type rtdmc_GenId; description "Generation ID"; } // BFD state leaf bfdSt { config "false"; type rtdmc_BfdOperSt; description "BFD State"; } // Adjacency state leaf operSt { config "false"; type rtdmc_AdjOperSt; description "Operational State"; } // Flags leaf flags { config "false"; type rtdmc_AdjFlags; description "Flags"; } } grouping pim6_JpTrP-group { description "This object holds the join-prune traffic policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf RtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Out Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "In Prefix List"; } // in route-map for out-bound policy application // Interval used between peers leaf itvl { type rtdmc_JPItvl; description "Periodic Interval"; } leaf policyDir { type rtdmc_PolicyDirType; description "Policy Direction "; } } grouping pim6_HelloTrP-group { description "This object holds the hello traffic policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Hello Interval leaf helloItvl { type rtdmc_HelloItvl; description "Hello Interval"; } // Authentication Type leaf authT { type rtdmc_AuthT; description "Authentication Type"; } // Authentication Key leaf authKey { type rtdmc_AuthKey; description "Authentication Key"; } leaf keychain { type string { pattern ".*[!-~]{0,63}.*"; } description "Name of the Keychain Used For Authentication"; } } grouping pim6_ResP-group { description "This object holds resource (router state) limit policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Maximum Multicast Entries leaf max { type mcast_NumEntries; description "Maximum Multicast Entries"; } // Reserved Multicast Entries leaf rsvd { type mcast_NumEntries; description "Reserved Multicast Entries"; } leaf rtMap { type string; description "Reserved Entries Route Map"; } } grouping pim6_AsmPatP-group { description "This object holds policy for Any Source Multicast (ASM) pattern"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // This object holds group range // to use only shared tree container shared-items { uses pim6_SharedRangeP-group; description "Shared Tree Group Range Policy"; } // This object holds the register traffic policy container reg-items { uses pim6_RegTrP-group; description "This object holds the register traffic policy"; } } grouping pim6_SharedRangeP-group { description "Shared Tree Group Range Policy"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } leaf grpList { type address_Ip; description "Group List"; } leaf grpList1 { type address_Ip; description "Group List"; } leaf grpList2 { type address_Ip; description "Group List"; } leaf grpList3 { type address_Ip; description "Group List"; } leaf ssmNone { type boolean; description "SSM None "; } leaf useSPTCommand { type boolean; description "Flag to use spt-threashold command"; } } grouping pim6_RegTrP-group { description "This object holds the register traffic policy"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } leaf addr { type address_Ip; description "Source Address"; } // Max Rate leaf maxRate { type rtdmc_RegRate; description "Maximum Rate"; } leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Register Message Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Register Message Prefix List"; } } grouping pim6_SsmPatP-group { description "This object holds policy for SSM Pattern"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // This object holds SSM group range container range-items { uses pim6_SsmRangeP-group; description "SSM Group Range Policy"; } } grouping pim6_SsmRangeP-group { description "SSM Group Range Policy"; leaf rtMap { type string { pattern ".*[!-~]{0,63}.*"; } description "Route Map"; } leaf pfxList { type string { pattern ".*[!-~]{0,63}.*"; } description "Prefix List"; } leaf grpList { type address_Ip; description "Group List"; } leaf grpList1 { type address_Ip; description "Group List"; } leaf grpList2 { type address_Ip; description "Group List"; } leaf grpList3 { type address_Ip; description "Group List"; } leaf ssmNone { type boolean; description "SSM None "; } } grouping pim6_BidirPatP-group { description "This object holds policy for BiDir Pattern"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // Maximum number of RPs leaf maxRP { type rtdmc_BidirRPLimit; description "Maximum RPs"; } // Designated Forwarder Offer Burst Interval leaf dfobItvl { type rtdmc_DFOBItvl; description "Designated Forwarder Offer Burst Interval"; } } grouping pim6_StaticRPP-group { description "This object holds policy for Static RP"; leaf name { type pol_ObjName { length "0..64"; pattern ".*[a-zA-Z0-9_\\.:-]*.*"; } description "Name of the given attribute"; } leaf descr { type naming_Descr; description "Description of the specified attribute"; } // This object holds Static RP Info // If rp addr is configured locally, // router assumes RP functionality container rp-items { list StaticRP-list { key "addr"; uses pim6_StaticRP-group; description "This object holds Static RP Information list"; } description "This object holds Static RP Information"; } } grouping pim6_StaticRP-group { description "This object holds Static RP Information"; leaf addr { type address_Ip; description "Address"; } // This object holds multicast group ranges for RP container range-items { list RpGrpRange-list { key "bidir"; uses pim6_RpGrpRange-group; description "This object holds multicast group ranges for RP list"; } description "This object holds multicast group ranges for RP"; } container rpgrplist-items { list RpGrpList-list { key "grpListName"; uses pim6_RpGrpList-group; description "RP Multicast Group List list"; } description "RP Multicast Group List"; } } grouping pim6_RpGrpList-group { description "RP Multicast Group List"; leaf grpListName { type address_Ip; description "Group List address"; } leaf bidir { type boolean; description "Treat Group Ranges as BiDir"; } leaf override { type boolean; description " Prefer Static RP over Dynamic RP"; } } grouping pim6_Gl-group { description "This object holds global configuration for PIM6"; // logLevel leaf logLvl { type mcast_LogLevelRange; description "Syslog filter level"; } leaf isolate { type boolean; description "Isolate this router flag"; } } grouping pim6_RouteDb-group { description "This object holds PIM6 route database information"; // This objects hold per pim6 domain (vrf) information // Ephemeral data container vrf-items { // Ephemeral data list Vrf-list { config "false"; key "name"; uses pim6_Vrf-group; description "This objects hold per pim6 domain (vrf) information list"; } description "This objects hold per pim6 domain (vrf) information"; } } grouping ptp_PtpEntity-group { description "PTP Entity MO for all the PTP global configuration properties"; leaf domainNum { type uint32 { range "0..127"; } default "0"; description "PTP Clock Domain number to use for this clock"; } // PTP priority1 leaf priority1 { type ptp_Priority; description "PTP priority1 value to use when advertising the clock"; } // PTP priority2 leaf priority2 { type ptp_Priority; description "PTP priority2 value to use when advertising the clock"; } leaf sourceIp { type address_Ip; description "PTP source IPv4 address for all the PTP packets in the multicast PTP mode"; } leaf sourceIpv6 { type address_Ipv6; description "PTP source IPv6 address for all the PTP packets in the multicast PTP mode"; } // PTP vrf name leaf vrfName { type l3_VrfName; description "PTP vrf name for ptp source ip"; } // PTP Ipv6 vrf name leaf vrfNameIpv6 { type l3_VrfName; description "PTP vrf name for ptp source ipv6"; } leaf peerDelayReqInterval { type uint32 { range "0..5"; } default "0"; description "PTP peer delay request interval"; } leaf correctionRangeThreshold { type uint32 { range "10..1000000000"; } default "100000"; description "PTP correction range threshold"; } // PTP correction range logging enable/disable leaf correctionRangeLogging { type ptp_AdminSt; description "PTP correction range logging enable/disable"; } leaf meanPathDelay { type uint32 { range "10..1000000000"; } default "1000000000"; description "PTP Mean Path Delay"; } // PTP device type boundary clock/generalized PTP leaf deviceType { type ptp_DeviceType; description "PTP Device Type bounday clock/ generalized PTP"; } // PTP clok periodic-update enable leaf clockPeriodicUpdate { type ptp_AdminSt; description "PTP clock periodic-update enable/disable"; } leaf clockPeriodicUpdateInterval { type uint16 { range "0..3600"; } default "60"; description "PTP clok periodic-update interval value"; } // PTP clock operation one step enable/disable leaf clockOperationOneStep { type ptp_AdminSt; description "PTP Clock Operation One Step PTP enable/disable"; } // PTP offload enable/disable leaf offload { type ptp_AdminSt; description "PTP offload enable/disable"; } // PTP management enable/disable leaf mgmt { type ptp_Mgmt; description "PTP management packet support enable/disable"; } // PTP forward PTPv1 packets enable/disable leaf forwardVersion1 { type ptp_AdminSt; description "PTP forwarding of PTPv1 packets enable/disable"; } // PTP enhanced multicast client scale enable/disable leaf enhancedClientScale { type ptp_AdminSt; description "PTP enhanced multicast client scale enable/disable"; } leaf scale1g { type boolean; default "false"; description "ptp packets timestamping at asic for 1g ports"; } // PTP N3K Specific Properties PTP multi-domain enable/disable leaf multiDomain { type ptp_AdminSt; description "PTP multi-domain enable/disable"; } leaf multiDomainTransPriority1 { type uint16 { range "0..255"; } default "255"; description "PTP multi-domain transition-attributes Priority 1 value"; } leaf multiDomainTransPriority2 { type uint16 { range "0..255"; } default "255"; description "PTP multi-domain transition-attributes Priority 2 value"; } // PTP acl redirect enable/disable leaf aclRedirect { type ptp_AdminSt; description "PTP acl redirect enable/disable"; } leaf convergenceTime { type uint16 { range "3..2600"; } description "PTP convergence-time value"; } leaf clockIdentity { type address_Mac; description "PTP clock-identity MAC Address"; } // PTP grandmaster-capable leaf grandmasterCapable { type ptp_GmCapable; description "PTP grandmaster-capable enable/disable"; } leaf gmCapConvergenceTime { type uint16 { range "3..2600"; } default "30"; description "PTP grandmaster-capable convergence-time value"; } leaf clockSyncAuto { type boolean; description "PTP clock-sync auto yes/no"; } // PTP gm-change notification enable/disable leaf notifyGmChange { type ptp_AdminSt; description "PTP gm-change notification enable/disable"; } // PTP parent-change notification enable/disable leaf notifyParentChange { type ptp_AdminSt; description "PTP parent-change notification enable/disable"; } // PTP tolerance mean path delay leaf toleranceMPDState { type ptp_AdminSt; description "PTP tolerance mean path delay threshold enable/disable"; } leaf toleranceMPDVal { type ptp_ToleranceThreshold; description "PTP tolerance mean path delay threshold"; } // PTP tolerance reverse path delay leaf toleranceRPDState { type ptp_AdminSt; description "PTP tolerance reverse path delay threshold enable/disable"; } leaf toleranceRPDVal { type ptp_ToleranceThreshold; description "PTP tolerance reverse path delay threshold"; } // Holds multiple PTP Domain information, Valid in N3K device container domain-items { list PtpDomain-list { key "domain"; uses ptp_PtpDomain-group; description "PTP Domain Object for multiple Domain properties list"; } description "PTP Domain Object for multiple Domain properties"; } // Holds multiple PTP Correction oper information container correction-items { uses ptp_PtpCorrection-group; description "PTP Correction Object"; } // MO allows user to enable/disable & customize notifications for significant // PTP event: Change in Grand Master (GM) clock container gmchange-items { uses ptp_PtpGmChange-group; description "PTP Grand Master (GM) clock Change Object"; } // MO allows user to enable/disable & customize notifications for significant // PTP event: Change in Parent clock container parentchange-items { uses ptp_PtpParentChange-group; description "PTP Parent clock Change Object"; } // MO allows user to enable/disable & customize notifications for significant // PTP event: Change in PTP state on a port container portstate-items { list PtpPortState-list { config "false"; key "intf"; uses ptp_PtpPortState-group; description "PTP Port State Change Object list"; } description "PTP Port State Change Object"; } // Holds PTP Profile information container profile-items { uses ptp_PtpProfile-group; description "PTP Profile Object"; } // Holds PTP high-correction notification config container notifyhighcorr-items { uses ptp_PtpNotifyHighCorr-group; description "PTP high-correction notification"; } // Holds PTP port-state-change notification config container notifyportstatechg-items { uses ptp_PtpNotifyPortStateChg-group; description "PTP port-state-change notification"; } // Holds PTP Ephemeral oper information // Ephemeral data container ephoper-items { uses ptp_PtpEph-group; description "PTP Ephemeral Oper Object"; } // Holds PTP Unicast negotiation config container ucastnegotiation-items { uses ptp_UcastNegotiation-group; description "PTP Unicast Negotiation Object"; } // Holds PTP UTC offset config container utcoffset-items { uses ptp_UtcOffset-group; description "PTP UTC offset configuration"; } container if-items { list PtpIf-list { key "id"; uses ptp_PtpIf-group; description "Per-interface PTP configuration and management list"; } description "Per-interface PTP configuration and management"; } } grouping ptp_PtpDomain-group { description "PTP Domain Object for multiple Domain properties"; leaf domain { type uint16 { range "0..127"; } description "PTP Clock Domain value"; } leaf clockAccThreshold { type uint16 { range "0..255"; } default "254"; description "Domain clock-accuracy-threshold value"; } leaf clockClassThreshold { type uint16 { range "0..255"; } default "248"; description "Domain clock-class-threshold value"; } leaf priority { type uint16 { range "0..255"; } default "255"; description "Priority value for PTP Domain"; } } grouping ptp_PtpCorrection-group { description "PTP Correction Object"; leaf lastHighCorrectionTime { config "false"; type string; description "last SUP time when the correction occured"; } leaf lastHighCorrectionValue { config "false"; type int64; description "PTP last Correction value"; } leaf highCorrectionCount { config "false"; type uint16; description "Total PTP Corrections since last timestamp"; } } grouping ptp_PtpGmChange-group { description "PTP Grand Master (GM) clock Change Object"; leaf currentGmId { config "false"; type string; description "current Grand Master clock ID"; } leaf previousGmId { config "false"; type string; description "Grand Master clock ID immediately before change"; } leaf lastGmChangeTime { config "false"; type string; description "timestamp when the GM ID changed"; } } grouping ptp_PtpParentChange-group { description "PTP Parent clock Change Object"; leaf currentParentId { config "false"; type string; description "current Parent clock ID"; } leaf previousParentId { config "false"; type string; description "Parent clock ID immediately before change"; } leaf lastParentChangeTime { config "false"; type string; description "timestamp when the Parent ID changed"; } } grouping ptp_PtpPortState-group { description "PTP Port State Change Object"; // interface for which notification is being sent leaf intf { config "false"; type nw_IfId; description "interface for which notification is being sent"; } leaf stateChange { config "false"; type boolean; description "indicate if state changed from previous notification"; } leaf currentState { config "false"; type string; description "current PTP state of port"; } leaf previousState { config "false"; type string; description "state of port just before state being notified"; } leaf lastPortStateChangeTime { config "false"; type string; description "timestamp when port state changed"; } } grouping ptp_PtpProfile-group { description "PTP Profile Object"; // Profile name leaf profile { type ptp_Profile; description "PTP profile to be configured"; } // Mode for specific profile leaf mode { type ptp_Mode; description "PTP mode for the speciic profile configured"; } } grouping ptp_PtpNotifyHighCorr-group { description "PTP high-correction notification"; // PTP high-correction notification enable/disable leaf notify { type ptp_AdminSt; description "PTP high-correction notification enable/disable"; } // PTP high-correction notification interval leaf interval { type ptp_NotifyHighCorrInterval; description "PTP high-correction notification interval"; } // PTP high-correction notification periodic-notification leaf periodic { type ptp_AdminSt; description "PTP high-correction notification periodic-notification"; } } grouping ptp_PtpNotifyPortStateChg-group { description "PTP port-state-change notification"; // PTP port-state-change notification enable/disable leaf notify { type ptp_AdminSt; description "PTP port-state-change notification enable/disable"; } // PTP port-state-change notification category leaf category { type ptp_NotifyPortStateChgCategory; description "PTP port-state-change notification category"; } // PTP port-state-change notification interval leaf interval { type ptp_NotifyPortStateChgInterval; description "PTP port-state-change notification interval"; } // PTP port-state-change notification periodic-notification leaf periodic { type ptp_AdminSt; description "PTP port-state-change notification periodic-notification"; } } grouping ptp_PtpEph-group { description "PTP Ephemeral Oper Object"; // Holds PTP Ephemeral Correction oper information // Ephemeral data container pastcorrections-items { // Ephemeral data list PtpEphCorrection-list { config "false"; key "supTime"; uses ptp_PtpEphCorrection-group; description "PTP Ephemeral Correction Object list"; } description "PTP Ephemeral Correction Object"; } } grouping ptp_PtpEphCorrection-group { description "PTP Ephemeral Correction Object"; // PTP slave port name // Ephemeral data leaf port { config "false"; type nw_IfId; description "PTP slave port name"; } // Ephemeral data leaf supTime { config "false"; type string; description "SUP time of correction"; } // Ephemeral data leaf corrections { config "false"; type int64; description "PTP past corrections"; } // Ephemeral data leaf meanPathDelay { config "false"; type uint64; description "Mean path delay during correction"; } } grouping ptp_UcastNegotiation-group { description "PTP Unicast Negotiation Object"; leaf state { type ptp_AdminSt; description "Enable/disable unicast negotiation"; } container schema-items { list UcastNegoSchema-list { key "name"; uses ptp_UcastNegoSchema-group; description "PTP Unicast Negotiation Schema Object list"; } description "PTP Unicast Negotiation Schema Object"; } } grouping ptp_UcastNegoSchema-group { description "PTP Unicast Negotiation Schema Object"; leaf name { type ptp_SchemaNameT; description "Name of negotiation schema"; } leaf announceDurationVal { type uint16 { range "60..1000"; } default "300"; description "Schema announce duration value"; } leaf announceRenewOffset { type uint16 { range "3..499"; } default "10"; description "Schema announce renew offset"; } leaf announceDurationMin { type uint16 { range "60..1000"; } default "60"; description "Schema announce duration minimum acceptable value"; } leaf announceDurationMax { type uint16 { range "60..1000"; } default "1000"; description "Schema announce duration maximum acceptable value"; } leaf announceIntervalVal { type int16 { range "-3..0"; } default "-1"; description "Schema announce interval value"; } leaf announceIntervalMin { type int16 { range "-3..0"; } default "-3"; description "Schema announce interval minimum acceptable value"; } leaf announceIntervalMax { type int16 { range "-3..0"; } default "0"; description "Schema announce interval maximum acceptable value"; } leaf delayResponseDurationVal { type uint16 { range "60..1000"; } default "300"; description "Schema delay-response duration value"; } leaf delayResponseRenewOffset { type uint16 { range "3..499"; } default "10"; description "Schema delay-response renew offset"; } leaf delayResponseDurationMin { type uint16 { range "60..1000"; } default "60"; description "Schema delay-response duration minimum acceptable value"; } leaf delayResponseDurationMax { type uint16 { range "60..1000"; } default "1000"; description "Schema delay-response duration maximum acceptable value"; } leaf delayResponseIntervalVal { type int16 { range "-7..0"; } default "-2"; description "Schema delay-response interval value"; } leaf delayResponseIntervalMin { type int16 { range "-7..0"; } default "-4"; description "Schema delay-response interval minimum acceptable value"; } leaf delayResponseIntervalMax { type int16 { range "-7..0"; } default "0"; description "Schema delay-response interval maximum acceptable value"; } leaf syncDurationVal { type uint16 { range "60..1000"; } default "300"; description "Schema sync duration value"; } leaf syncRenewOffset { type uint16 { range "3..499"; } default "10"; description "Schema sync renew offset"; } leaf syncDurationMin { type uint16 { range "60..1000"; } default "60"; description "Schema sync duration minimum acceptable value"; } leaf syncDurationMax { type uint16 { range "60..1000"; } default "1000"; description "Schema sync duration maximum acceptable value"; } leaf syncIntervalVal { type int16 { range "-7..0"; } default "-3"; description "Schema sync interval value"; } leaf syncIntervalMin { type int16 { range "-7..0"; } default "-4"; description "Schema sync interval minimum acceptable value"; } leaf syncIntervalMax { type int16 { range "-7..0"; } default "0"; description "Schema sync interval maximum acceptable value"; } } grouping ptp_UtcOffset-group { description "PTP UTC offset configuration"; // PTP UTC offset config enable/disable leaf config { type ptp_AdminSt; description "PTP UTC offset enable/disable"; } leaf leapSeconds { type uint16 { range "0..125"; } default "37"; description "PTP Leap seconds value"; } // PTP next leap event enable/disable leaf nextLeapEvent { type ptp_AdminSt; description "PTP next leap event enable/disable"; } leaf nextLeapEventDate { type string; description "PTP next leap event date"; } leaf nextLeapEventTime { type string; description "PTP next leap event time"; } leaf newLeapSeconds { type uint16 { range "0..125"; } description "PTP Leap seconds value after event"; } } grouping ptp_PtpIf-group { description "Per-interface PTP configuration and management"; // PTP if id leaf id { type nw_IfId; description "Interface id of port with PTP configuration"; } leaf ptp { type boolean; default "false"; description "PTP enable or disable at interface level"; } leaf neighborPropagationDelayThreshold { type uint32 { range "5..2000000"; } default "1000000"; description "GPTP propagation delay threshold"; } leaf vlan { type string; default "vlan-1"; description "PTP VLAN id configuration"; } // Ranges and defaults are different for each timecode for each interval default value will be replaced in BI any time the Type changes leaf syncIntervalType { type ptp_TimeCode; description "PTP sync interval time code"; } leaf syncIntervalVal { type int16 { range "-7..1"; } description "PTP sync interval value"; } leaf announceIntervalType { type ptp_TimeCode; description "PTP announce interval time code"; } leaf announceIntervalVal { type int16 { range "-3..4"; } default "1"; description "PTP announce interval value"; } leaf announceTimeoutType { type ptp_TimeCode; description "PTP announce timeout time code"; } leaf announceTimeoutVal { type int16 { range "2..10"; } default "3"; description "PTP announce timeout value"; } leaf delayRequestMinIntervalType { type ptp_TimeCode; description "PTP delay-request minimum interval time code"; } leaf delayRequestMinIntervalVal { type int16 { range "-4..6"; } description "PTP delay-request minimum interval value"; } leaf ptpCost { type uint16 { range "0..255"; } default "255"; description "PTP cost value in interface"; } leaf ptpInterfaceDomain { type uint16 { range "0..127"; } default "0"; description "PTP domain value in interface"; } // ipv4/ipv6 leaf transport { type ptp_TransportType; description "Transport type for PTP interface with default IPv4"; } // transmission type unicast/multicast leaf transmission { type ptp_TransportMode; description "Transport mode for PTP interface with default multicast"; } // transmission role slave/master leaf role { type ptp_TransmissionRole; description "Transport role for PTP interface with default master"; } // PTP packets destination MAC leaf ptpDestinationMac { type ptp_PtpDestinationMac; description "PTP destination mac forwardable or non-forwardable"; } // PTP packets destination MAC with RX packet not matching leaf ptpRxNoMatch { type ptp_PtpRxNoMatch; description "PTP packets destination MAC with RX packet not matching"; } leaf ucastSrc { type address_Ip; description "Source IPv4 address for ucast messages"; } leaf ucastSrcIpv6 { type address_Ipv6; description "Source IPv6 address for ucast messages"; } leaf ucastVrf { type l3_VrfName; description "VRF to be used for ptp messages"; } leaf ucastVrfIpv6 { type l3_VrfName; description "VRF to be used for Ipv6 ptp messages"; } leaf profileOverride { type boolean; default "false"; description "Allow override of configuration limits imposed by global PTP profile"; } // PTP asymmetric delay leaf asymmetricDirection { type ptp_Direction; description "asymmetric delay directionfrom master to slave OR slave to master"; } leaf asymmetricDelayValue { type uint32 { range "0..512000000"; } default "0"; description "compensation time(ns) for asymmetric delay"; } leaf negoSchema { type ptp_SchemaNameT; description "Unicast negotiation schema for interface"; } // [no] slave ipv4 //in ptp-master mode N > 1 // [no] master ipv4 //in ptp-slave mode N > 1 container master-items { list UcastTransportIpMaster-list { key "id"; uses ptp_UcastTransportIpMaster-group; description "IP address for transport mode list"; } description "IP address for transport mode"; } container slave-items { list UcastTransportIpSlave-list { key "id"; uses ptp_UcastTransportIpSlave-group; description "IP address for transport mode list"; } description "IP address for transport mode"; } // [no] ptp peer ipv4/ipv6 //used in ptp dynamic mode container peer-items { list PtpPeer-list { key "id"; uses ptp_PtpPeer-group; description "Peer IP address for transport mode list"; } description "Peer IP address for transport mode"; } } grouping ptp_UcastTransportIpMaster-group { description "IP address for transport mode"; leaf id { type address_Ip; description "IPv4 address value for transport mode"; } leaf negoSchema { type ptp_SchemaNameT; description "Unicast negotiation schema for master"; } } grouping ptp_UcastTransportIpSlave-group { description "IP address for transport mode"; leaf id { type address_Ip; description "IPv4 address value for transport mode"; } } grouping ptp_PtpPeer-group { description "Peer IP address for transport mode"; leaf id { type address_Ip; description "IP address value for transport mode"; } leaf negoSchema { type ptp_SchemaNameT; description "Unicast negotiation schema for peer"; } } grouping ttag_TtagEntity-group { description "PTP ttag configuration and management"; leaf ttagMarkerInterval { type uint32 { range "1..25200"; } default "60"; description "PTP ttag marker interval in seconds"; } container if-items { list TtagIf-list { key "id"; uses ttag_TtagIf-group; description "Per-interface PTP ttag configuration and management list"; } description "Per-interface PTP ttag configuration and management"; } } grouping ttag_TtagIf-group { description "Per-interface PTP ttag configuration and management"; // PTP if id leaf id { type nw_IfId; description "Interface id of port with PTP configuration"; } leaf ttag { type boolean; default "false"; description "Ingress packet with ttag on interface"; } leaf ttagStrip { type boolean; default "false"; description "Strip ttag from egress packet on this interface"; } leaf ttagMarker { type boolean; default "false"; description "ttag marker packet on interface"; } } grouping segrt_Entity-group { description "Segment-routing Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } container srv6-items { uses srv6_Entity-group; description "SRv6 root MO"; } // This objects hold per Segment-routing instance information. container inst-items { uses segrt_Inst-group; description "Segment-routing Instance"; } // Holds segment-routing TE entity information container te-items { uses srte_TE-group; description "Traffic Engineering Entity, anchoring all SRTE specific MOs"; } } grouping srv6_Entity-group { description "SRv6 root MO"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // Ephemeral data container sidcounters-items { // Ephemeral data list SidCounters-list { config "false"; key "sidAddress"; uses srv6_SidCounters-group; description "SID counters list"; } description "SID counters"; } container encapsulation-items { uses srv6_Encapsulation-group; description "Encapsulation address. Either address or interface is used, not both."; } container locators-items { uses srv6_Locators-group; description "Root of all locators"; } } grouping srv6_SidCounters-group { description "SID counters"; // Ephemeral data leaf sidAddress { config "false"; type address_Ip; description "SID IPv6 address, no mask length needed"; } // Ephemeral data leaf sidIsLocal { config "false"; type boolean; description "True if the SID is local, false if it is remote."; } // Ephemeral data leaf sidCounterInputPkts { config "false"; type uint64; description "Number of packets coming from this SID."; } // Ephemeral data leaf sidCounterInputBytes { config "false"; type uint64; description "Number of bytes coming from this SID."; } // Ephemeral data leaf sidCounterOutputPkts { config "false"; type uint64; description "Number of packets sent to this SID."; } // Ephemeral data leaf sidCounterOutputBytes { config "false"; type uint64; description "Number of bytes sent to this SID."; } } grouping srv6_Encapsulation-group { description "Encapsulation address. Either address or interface is used, not both."; leaf srcAddress { type address_Ip; description "IPv6 address"; } leaf srcInterface { type string; description "Interface, most likely a loopback"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srv6_Locators-group { description "Root of all locators"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } container locator-items { list Locator-list { key "name"; uses srv6_Locator-group; description "Define one locator list"; } description "Define one locator"; } } grouping srv6_Locator-group { description "Define one locator"; leaf name { type srv6_LocName; description "Locator name"; } leaf prefix { type address_Ip; description "Locator address"; } leaf state { config "false"; type srv6_LocState; description "Locator State"; } leaf id { config "false"; type uint32; description "Locator Id"; } } grouping segrt_Inst-group { description "Segment-routing Instance"; // Sets the interval for which Segment-Routing process will wait for the clients // to cleanup the old SRGB labels leaf srgbCleanupIntvl { type segrt_SrgbCleanupIntvl; description "SRGB cleanup interval"; } // Sets the interval for which Segment-Routing will retry SRGB allocation with ULIB leaf srgbAllocRetryIntvl { type segrt_SrgbAllocRetryIntvl; description "SRGB allocation retry interval"; } // Segment-routing operational state leaf operSt { config "false"; type segrt_OperSt; description "Segment-routing Operational State"; } // Segment-routing operational state qualifier leaf operStQual { config "false"; type segrt_OperStQual; description "Segment-routing Operational State Qualifier"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // This object holds per domain (vrf) information container dom-items { list Dom-list { key "name"; uses segrt_Dom-group; description "Domain list"; } description "Domain"; } // Segment Routing Global Block container srgb-items { uses segrt_Srgb-group; description "Segment Routing Global Block"; } } grouping segrt_Dom-group { description "Domain"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // This object holds per address family Segment-routing information container af-items { list DomAf-list { key "afType"; uses segrt_DomAf-group; description "Address Family Domain list"; } description "Address Family Domain"; } } grouping segrt_DomAf-group { description "Address Family Domain"; leaf name { type naming_Name256 { length "1..128"; } description "This object holds name information"; } // Address Family Type leaf afType { type segrt_AfType; description "Address family type"; } // Prefix SID container pfxsid-items { list PrefixSid-list { key "type"; uses segrt_PrefixSid-group; description "Prefix Segment Identifier list"; } description "Prefix Segment Identifier"; } } grouping segrt_PrefixSid-group { description "Prefix Segment Identifier"; // Type of segment identifier leaf type { type segrt_SrDpType; description "Type of Segment Identifier"; } // MPLS Prefix SID container mplspfxsid-items { list MplsPrefixSid-list { key "pfx"; uses segrt_MplsPrefixSid-group; description "MPLS Prefix Segment Identifier list"; } description "MPLS Prefix Segment Identifier"; } } grouping segrt_MplsPrefixSid-group { description "MPLS Prefix Segment Identifier"; leaf pfx { type address_Ip; description "Prefix"; } // Type of segment identifier leaf sidValueType { type segrt_SidValueType; description "Type of Segment Identifier Value"; } leaf sidValue { type uint32 { range "0..471804"; } description "Value of SID"; } } grouping segrt_Srgb-group { description "Segment Routing Global Block"; // Config Segment Routing Global Block container cfgsrgb-items { list ConfigSrgb-list { key "type"; uses segrt_ConfigSrgb-group; description "Config Segment Routing Global Block list"; } description "Config Segment Routing Global Block"; } // Operational Segment Routing Global Block container opersrgb-items { uses segrt_OperSrgb-group; description "Operational Segment Routing Global Block"; } } grouping segrt_ConfigSrgb-group { description "Config Segment Routing Global Block"; // SRGB type leaf type { type segrt_SrDpType; description "SRGB type"; } // Segment Routing Global Range Label Block container lblblock-items { list LblBlock-list { key "localId"; uses segrt_LblBlock-group; description "Segment Routing Global Range Label Block list"; } description "Segment Routing Global Range Label Block"; } } grouping segrt_LblBlock-group { description "Segment Routing Global Range Label Block"; leaf localId { type string { length "1..64"; } description "SRGB identifier"; } // SRGB minimum label leaf srLblMin { type ulib_LabelVal { range "16000..471804"; } default "16000"; description "SRGB minimum label"; } // SRGB maximum label leaf srLblMax { type ulib_LabelVal { range "16000..471804"; } default "23999"; description "SRGB minimum label"; } // SRGB operational state leaf operSt { config "false"; type segrt_SRGBOperSt; description "SRGB Operational State"; } // Number of SRGB allocation retries leaf numAllocRetries { config "false"; type nw_Counter32; description "Number of SRGB allocation retries"; } } grouping segrt_OperSrgb-group { description "Operational Segment Routing Global Block"; // SRGB type leaf type { type segrt_SrDpType; description "SRGB type"; } // Segment Routing Attributes container operlblblock-items { list OperLblBlock-list { config "false"; key "localId"; uses segrt_OperLblBlock-group; description "Operational Segment Routing Global Range Lable Block list"; } description "Operational Segment Routing Global Range Lable Block"; } } grouping segrt_OperLblBlock-group { description "Operational Segment Routing Global Range Lable Block"; leaf localId { config "false"; type string; description "SRGB identifier"; } // SRGB minimum label leaf srLblMin { config "false"; type ulib_LabelVal; description "SRGB minimum label"; } // SRGB maximum label leaf srLblMax { config "false"; type ulib_LabelVal; description "SRGB minimum label"; } // SRGB operational state leaf operSt { config "false"; type segrt_SRGBOperSt; description "SRGB Operational State"; } // Number of SRGB allocation retries leaf numAllocRetries { config "false"; type nw_Counter32; description "Number of SRGB allocation retries"; } } grouping srte_TE-group { description "Traffic Engineering Entity, anchoring all SRTE specific MOs"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Exp Path definition container affmap-items { uses srte_AffMap-group; description "Configures affinity mappings. Mappings of user-defined names to a bit position in the affinity bitmap "; } // SRTE Color definition container color-items { list Color-list { key "color"; uses srte_Color-group; description "Segment Routing TE Color Class list"; } description "Segment Routing TE Color Class"; } // SRTE Encapsulation definition container encap-items { list Encapsulation-list { key "encapType"; uses srte_Encapsulation-group; description "SRTE Encapsulation Class list"; } description "SRTE Encapsulation Class"; } // SRTE Segment list definition container seglist-items { list SegList-list { key "name"; uses srte_SegList-group; description "SRTE Explicit Segment List Class list"; } description "SRTE Explicit Segment List Class"; } // Operational state of SRTE FH's container fhstate-items { uses srte_FhState-group; description "Operational state for Segment Routing TE First hops"; } // This object holds srte information that is operated at a // interface level container if-items { list If-list { key "id"; uses srte_If-group; description "Configures this interface for segment-routing Traffic-Engineering purposes list"; } description "Configures this interface for segment-routing Traffic-Engineering purposes"; } // Traffic Engineering Liveness Detection related configurations container livedetctn-items { uses srte_LiveDetctn-group; description "Live Detection configuration under Traffic Engineering"; } // SRTE Policy definition container pcc-items { uses srte_Pcc-group; description "SRTE PCC (Path Computation Client) Class"; } // Operational state of SRTE PCEP connections container pcepstate-items { uses srte_PcepState-group; description "Operational state for Segment Routing TE PCEP(Path Computation Element Protocol) connections"; } // SRTE Policy definition container policy-items { list Policy-list { key "name"; uses srte_Policy-group; description "Segment Routing TE Policy Class list"; } description "Segment Routing TE Policy Class"; } // Operational state of SRTE policies container polstate-items { uses srte_PolicyState-group; description "Operational state for Segment Routing TE Policies"; } // promon monitoring model container promon-items { uses srte_Promon-group; description "Operational state of proactive monitoring sessions for SRTE policies"; } // Traffic Engineering SRv6 related configurations container sr-items { uses srte_SR-group; description "Segment Routing configuration under Traffic Engineering"; } } grouping srte_AffMap-group { description "Configures affinity mappings. Mappings of user-defined names to a bit position in the affinity bitmap "; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color definition container affcol-items { list AffColor-list { key "name"; uses srte_AffColor-group; description "User defined name and its bit position in the affinity bit map list"; } description "User defined name and its bit position in the affinity bit map"; } } grouping srte_AffColor-group { description "User defined name and its bit position in the affinity bit map"; leaf name { type srte_Name; description "User defined named of the affinity Color Affinity Name"; } leaf bitpos { type srte_BitPos; description "Bit position in the affinity map"; } } grouping srte_Color-group { description "Segment Routing TE Color Class"; leaf color { type srte_ColorVal; description "Segment Routing TE Color Value"; } leaf metric { type srte_Metric; description "Segment Routing TE Metric"; } leaf shutdown { type boolean; default "false"; description "Shutdown the Segment Routing TE Policies using this color template"; } leaf lockdown { type boolean; default "false"; description "lockdown keyword is used to disable re-optimization of the path preferences for policies using this color template"; } // SRTE Candidate Path definition container cndpaths-items { uses srte_CndPaths-group; description "Denotes the Candidate paths for the On-Demand Color and is identified by a preference value"; } // SRTE Color liveness detection container colivedetctn-items { uses srte_CoLiveDetctn-group; description "Live Detection for Segment Routing TE Color Class"; } } grouping srte_CndPaths-group { description "Denotes the Candidate paths for the On-Demand Color and is identified by a preference value"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Preference definition container pref-items { list Pref-list { key "prefVal"; uses srte_Pref-group; description "Class that defines the preference value of this candidate path list"; } description "Class that defines the preference value of this candidate path"; } } grouping srte_Pref-group { description "Class that defines the preference value of this candidate path"; leaf prefVal { type uint32; description "Preference Value of the Candidate path. Higher preference value is preferred"; } leaf shutdown { type boolean; default "false"; description "Shutdown the Candidate path preference"; } // SRTE Candidate paths Explicit definition container exp-items { list Explicit-list { key "name"; uses srte_Explicit-group; description "Represents an explicit path assigned to a preference under an on-demand color. list"; } description "Represents an explicit path assigned to a preference under an on-demand color."; } // SRTE Candidate Path Dynamic definition container dyn-items { uses srte_Dynamic-group; description "Enables the dynamic path configuration sub-section for this candidate path"; } // SRTE Candidate Path Constraint definition container constraints-items { uses srte_Constraint-group; description "Specifies the required constraints for this Candidate Paths"; } } grouping srte_Explicit-group { description "Represents an explicit path assigned to a preference under an on-demand color."; leaf name { type srte_SrteName; description "Explicit path name. Must be the name of an existing ExpPath MO"; } } grouping srte_Dynamic-group { description "Enables the dynamic path configuration sub-section for this candidate path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Dynamic PCEP definition container pce-items { uses srte_DynPce-group; description "Defines the candidate paths need to be computed by Path Computation engine"; } // SRTE Candidate Path Metric definition container metric-items { uses srte_Metric-group; description "Specifies the type of metric that the computation will optimize"; } } grouping srte_DynPce-group { description "Defines the candidate paths need to be computed by Path Computation engine"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_Metric-group { description "Specifies the type of metric that the computation will optimize"; leaf metricType { type srte_Metric; description "Candidate Path Metric Type"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_Constraint-group { description "Specifies the required constraints for this Candidate Paths"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Segment definition container segment-items { uses srte_Segments-group; description "Specifies Segments constraints for this Candidate Path. ProtectionType, Dataplane"; } // SRTE Candidate Path Association definition container assoc-items { uses srte_Assoc-group; description "Specifies the association types this candidate path belongs to"; } // SRTE Candidate Path Affinity definition container affinity-items { uses srte_Affinity-group; description "Specifies the affinity constraints for the path"; } } grouping srte_Segments-group { description "Specifies Segments constraints for this Candidate Path. ProtectionType, Dataplane"; leaf protType { type srte_ProtectionType; description "Specifies if the candidate path must use protected or unprotected SIDs"; } leaf datapln { type srte_DataPlane; description "Specifies if this candidate paths is encoded with MPLS SIDs or SRv6 SIDs"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_Assoc-group { description "Specifies the association types this candidate path belongs to"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Disjointness container disj-items { uses srte_Disjointness-group; description "Specifies that the path belongs to the disjointness association group"; } } grouping srte_Disjointness-group { description "Specifies that the path belongs to the disjointness association group"; leaf id { type uint32; description "Association group Identifier"; } leaf disjType { type srte_DisjointType; description "Specifies the type of disjointness this path needs to be."; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_Affinity-group { description "Specifies the affinity constraints for the path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Affinity exclude-any definition container exclany-items { uses srte_Excludeany-group; description "Specifies that links that have any of the specified affinity colors must not be traversed by the path"; } // SRTE Candidate Path Affinity include-all definition container inclall-items { uses srte_Includeall-group; description "Specifies that only links that have all of the specified affinity colors must be traversed by the path"; } // SRTE Candidate Path Affinity include-any definition container inclany-items { uses srte_Includeany-group; description "Specifies that only links that have any of the specified affinity colors can be traversed by the path"; } } grouping srte_Excludeany-group { description "Specifies that links that have any of the specified affinity colors must not be traversed by the path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color for constraint container affcol-items { list ConstAffColor-list { key "name"; uses srte_ConstAffColor-group; description "Specify the affinity color for the Affinity constraint type list"; } description "Specify the affinity color for the Affinity constraint type"; } } grouping srte_ConstAffColor-group { description "Specify the affinity color for the Affinity constraint type"; leaf name { type srte_Name; description "Name of the affinity Color definition"; } } grouping srte_Includeall-group { description "Specifies that only links that have all of the specified affinity colors must be traversed by the path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color for constraint container affcol-items { list ConstAffColor-list { key "name"; uses srte_ConstAffColor-group; description "Specify the affinity color for the Affinity constraint type list"; } description "Specify the affinity color for the Affinity constraint type"; } } grouping srte_Includeany-group { description "Specifies that only links that have any of the specified affinity colors can be traversed by the path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color for constraint container affcol-items { list ConstAffColor-list { key "name"; uses srte_ConstAffColor-group; description "Specify the affinity color for the Affinity constraint type list"; } description "Specify the affinity color for the Affinity constraint type"; } } grouping srte_CoLiveDetctn-group { description "Live Detection for Segment Routing TE Color Class"; leaf sidLimit { type srte_MonitorLimit; description "Sid index limit for liveness detection"; } leaf shut { type srte_MonitorShut; description "shut liveness detection for color"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // SRTE Color MPLS liveness detection container compls-items { uses srte_CoMpls-group; description "Mpls Live Detection for Segment Routing TE Color Class"; } } grouping srte_CoMpls-group { description "Mpls Live Detection for Segment Routing TE Color Class"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // SRTE MPLS OAM Color definition container cooam-items { uses srte_CoOam-group; description "Mpls Oam Liveness Detection for Segment Routing TE Color Class"; } // SRTE MPLS BFD Color definition container cobfd-items { uses srte_CoBfd-group; description "Mpls BFD Liveness Detection for Segment Routing TE Color Class"; } } grouping srte_CoOam-group { description "Mpls Oam Liveness Detection for Segment Routing TE Color Class"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } } grouping srte_CoBfd-group { description "Mpls BFD Liveness Detection for Segment Routing TE Color Class"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } } grouping srte_Encapsulation-group { description "SRTE Encapsulation Class"; leaf srcAddress { type address_Ip; description "SRTE Encapsulation Source IP Address"; } leaf encapType { type srte_EncapsulationType; description "SRTE Encapsulation Type"; } } grouping srte_SegList-group { description "SRTE Explicit Segment List Class"; leaf name { type srte_SrteName; description "SRTE Explicit Segment List Name"; } // SRTE Segment list Next-Label definition container nxtlbl-items { list NxtLbl-list { key "idx"; uses srte_NxtLbl-group; description "SRTE Segment List Next Label Class list"; } description "SRTE Segment List Next Label Class"; } // SRTE Segment list Next-SID definition container nxtsid-items { list NxtSid-list { key "idx"; uses srte_NxtSid-group; description "SRTE Segment List Next SRv6 SID Class list"; } description "SRTE Segment List Next SRv6 SID Class"; } // SRTE Segment list policy-endpoint definition container polendpt-items { list PolEndpt-list { key "idx"; uses srte_PolEndpt-group; description "Enables resolvement of path in SRTE by using policy endpoint list"; } description "Enables resolvement of path in SRTE by using policy endpoint"; } } grouping srte_NxtLbl-group { description "SRTE Segment List Next Label Class"; leaf lbl { type srte_LabelVal; description "SRTE Segment List Next Label Value"; } leaf idx { type srte_OptNum; description "SRTE Segment List Next Label Index"; } } grouping srte_NxtSid-group { description "SRTE Segment List Next SRv6 SID Class"; leaf sid { type address_Ip; description "SRTE Segment List Next SID Value"; } leaf idx { type srte_OptNum; description "SRTE Segment List Next Label Index"; } } grouping srte_PolEndpt-group { description "Enables resolvement of path in SRTE by using policy endpoint"; leaf enable { type boolean; default "false"; description "This property enables resolvement of path in SRTE by using policy endpoint"; } leaf idx { type srte_OptNum; description "SRTE Segment List Next Label Index"; } } grouping srte_FhState-group { description "Operational state for Segment Routing TE First hops"; // SRTE first hop label database operational state container fhlbl-items { list FhLabel-list { config "false"; key "label"; uses srte_FhLabel-group; description "Segment Routing TE Policy First hop database list"; } description "Segment Routing TE Policy First hop database"; } // SRTE IPv4-endpoint operational state container endp-items { list Endpoint-list { config "false"; key "endpAddr"; uses srte_Endpoint-group; description "Segment Routing TE Policy IPv4 endpoint database list"; } description "Segment Routing TE Policy IPv4 endpoint database"; } // SRTE SRv6 SID operational state container srv6sid-items { list Srv6Sid-list { config "false"; key "srv6Addr"; uses srte_Srv6Sid-group; description "Segment Routing TE Policy SRv6 SID database list"; } description "Segment Routing TE Policy SRv6 SID database"; } } grouping srte_FhLabel-group { description "Segment Routing TE Policy First hop database"; leaf label { config "false"; type srte_LabelVal; description "SRTE First hop Label Value"; } leaf fhAddrType { config "false"; type srte_FhAddrType; description "Segment Routing TE Policy first hop address type"; } leaf fhType { config "false"; type srte_FhType; description "Segment Routing TE Policy first hop type"; } leaf state { config "false"; type srte_FhState; description "Segment Routing TE Policy FH State"; } leaf stateReason { config "false"; type srte_FhStateReason; description "Segment Routing TE Policy FH State Reason"; } // SRTE first hop label list of monitored addresses container lblmonaddr-items { list LabelMonAddr-list { config "false"; key "monAddr"; uses srte_LabelMonAddr-group; description "Segment Routing TE Policy First hop label monitored addresses list"; } description "Segment Routing TE Policy First hop label monitored addresses"; } } grouping srte_LabelMonAddr-group { description "Segment Routing TE Policy First hop label monitored addresses"; leaf monAddr { config "false"; type address_Ip; description "Segment Routing TE Policy first hop monitored address"; } } grouping srte_Endpoint-group { description "Segment Routing TE Policy IPv4 endpoint database"; leaf endpAddr { config "false"; type address_Ip; description "Segment Routing TE Policy IPv4 endpoint address"; } leaf fhAddrType { config "false"; type srte_FhAddrType; description "Segment Routing TE Policy first hop address type"; } leaf fhType { config "false"; type srte_FhType; description "Segment Routing TE Policy first hop type"; } leaf state { config "false"; type srte_FhState; description "Segment Routing TE Policy FH State"; } leaf stateReason { config "false"; type srte_FhStateReason; description "Segment Routing TE Policy FH State Reason"; } // SRTE IPv4-endpoint list of monitored addresses container endpmonaddr-items { list EndpointMonAddr-list { config "false"; key "monAddr"; uses srte_EndpointMonAddr-group; description "Segment Routing TE Policy First hop IPv4 endpoint monitored addresses list"; } description "Segment Routing TE Policy First hop IPv4 endpoint monitored addresses"; } } grouping srte_EndpointMonAddr-group { description "Segment Routing TE Policy First hop IPv4 endpoint monitored addresses"; leaf monAddr { config "false"; type address_Ip; description "Segment Routing TE Policy IPv4-endpoint monitored address"; } } grouping srte_Srv6Sid-group { description "Segment Routing TE Policy SRv6 SID database"; leaf srv6Addr { config "false"; type address_Ip; description "Segment Routing TE Policy SRv6 SID address"; } leaf fhAddrType { config "false"; type srte_FhAddrType; description "Segment Routing TE Policy first hop address type"; } leaf fhType { config "false"; type srte_FhType; description "Segment Routing TE Policy first hop type"; } leaf state { config "false"; type srte_FhState; description "Segment Routing TE Policy FH State"; } leaf stateReason { config "false"; type srte_FhStateReason; description "Segment Routing TE Policy FH State Reason"; } // SRTE SRV6 SID list of monitored addresses container srv6monaddr-items { list Srv6MonAddr-list { config "false"; key "monAddr"; uses srte_Srv6MonAddr-group; description "Segment Routing TE Policy SRv6 SID monitored addresses list"; } description "Segment Routing TE Policy SRv6 SID monitored addresses"; } } grouping srte_Srv6MonAddr-group { description "Segment Routing TE Policy SRv6 SID monitored addresses"; leaf monAddr { config "false"; type address_Ip; description "Segment Routing TE Policy SRv6 SID monitored address"; } } grouping srte_If-group { description "Configures this interface for segment-routing Traffic-Engineering purposes"; leaf operSt { config "false"; type srte_IfOperSt; description "Operation State for the interface for Segment-routing Traffic Engineering"; } leaf deleted { config "false"; type boolean; description "Is this MO pending deletion"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // SRTE Affinity color for interface container metric-items { uses srte_IntfMetric-group; description "Segment-Routing Protocols advertise Metricval and the te metric over this interace's adjacency"; } // SRTE Interface Affinity container intfaff-items { uses srte_IntfAff-group; description "Lists the affinity color names for this interfaces"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping srte_IntfMetric-group { description "Segment-Routing Protocols advertise Metricval and the te metric over this interace's adjacency"; leaf val { type srte_MetricVal; description "Traffic Engineering Metric value"; } } grouping srte_IntfAff-group { description "Lists the affinity color names for this interfaces"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color for interface container intfaffcol-items { list IntfAffColor-list { key "name"; uses srte_IntfAffColor-group; description "Affinity Color for this interface. Sets the bit that corresponds to this name, see affinity-map list"; } description "Affinity Color for this interface. Sets the bit that corresponds to this name, see affinity-map "; } } grouping srte_IntfAffColor-group { description "Affinity Color for this interface. Sets the bit that corresponds to this name, see affinity-map "; leaf name { type srte_Name; description "Name of the Affinity Color. Sets the bit that corresponds to this name in the affinity-map"; } } grouping srte_LiveDetctn-group { description "Live Detection configuration under Traffic Engineering"; leaf interval { type srte_IntervalVal; description "interval for liveness detection"; } leaf multiplier { type srte_MultiplierVal; description "multiplier for liveness detection"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // MPLS Traffic Engineering Liveness Detection related configurations Traffic Engineering Liveness Detection related configurations container mpls-items { uses srte_Mpls-group; description "Mpls Live Detection configuration under Traffic Engineering"; } } grouping srte_Mpls-group { description "Mpls Live Detection configuration under Traffic Engineering"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } container oam-items { uses srte_Oam-group; description "MPLS OAM Liveness Detection configuration under Traffic Engineering"; } container bfd-items { uses srte_Bfd-group; description "MPLS BFD Liveness Detection configuration under Traffic Engineering"; } } grouping srte_Oam-group { description "MPLS OAM Liveness Detection configuration under Traffic Engineering"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } } grouping srte_Bfd-group { description "MPLS BFD Liveness Detection configuration under Traffic Engineering"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } } grouping srte_Pcc-group { description "SRTE PCC (Path Computation Client) Class"; leaf srcAddress { type address_Ip; description "Local IP address to use as the source address for PCEP connections"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Pce definition container pce-items { list Pce-list { key "pceAddress"; uses srte_Pce-group; description "Defines a PCE to which a PCEP connection may be created list"; } description "Defines a PCE to which a PCEP connection may be created"; } } grouping srte_Pce-group { description "Defines a PCE to which a PCEP connection may be created"; leaf precedence { type srte_PcePrecedence; description "SRTE PCE Precedence Value (0 is most preferred, 255 is least)"; } leaf pceAddress { type address_Ip; description "SRTE PCE IP Address Value"; } } grouping srte_PcepState-group { description "Operational state for Segment Routing TE PCEP(Path Computation Element Protocol) connections"; // SRTE PCEP operational state container pcep-items { list Pcep-list { config "false"; key "remotePcepAddr"; uses srte_Pcep-group; description "Segment Routing TE PCEP(Path Computation Element Protocol) Class list"; } description "Segment Routing TE PCEP(Path Computation Element Protocol) Class"; } } grouping srte_Pcep-group { description "Segment Routing TE PCEP(Path Computation Element Protocol) Class"; leaf remotePcepAddr { config "false"; type address_Ip; description "Segment Routing TE remote PCEP connection IPv4 address"; } leaf localPcepAddr { config "false"; type address_Ip; description "Segment Routing TE local PCEP connection IPv4 address"; } leaf precedence { config "false"; type srte_PcePrecedence; description "Segment Routing TE PCEP precedence"; } leaf state { config "false"; type srte_PcepState; description "Segment Routing TE Policy State"; } } grouping srte_Policy-group { description "Segment Routing TE Policy Class"; leaf name { type srte_SrteName; description "Segment Routing TE Policy Name"; } leaf endpoint { type address_Ip; description "Segment Routing TE Endpoint IPv4/v6 address"; } leaf color { type srte_ColorVal; description "Segment Routing TE Policy Color"; } leaf shutdown { type boolean; default "false"; description "Shutdown the Segment Routing TE Policy"; } leaf lockdown { type boolean; default "false"; description "lockdown keyword is used to disable re-optimization of the path preferences of the policy"; } // SRTE Candidate Path definition container expcndpaths-items { uses srte_ExpCndPaths-group; description "Segment Routing TE Exp Candidate path"; } // Traffic Engineering Liveness Detection related configurations container polivedetctn-items { uses srte_PoLiveDetctn-group; description "Liveness Detection configuration under Traffic Engineering"; } } grouping srte_ExpCndPaths-group { description "Segment Routing TE Exp Candidate path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Policy Preference definition container pref-items { list PolPref-list { key "pref"; uses srte_PolPref-group; description "Each preference acts as a grouping of explicit paths on a policy. The preference having the lowest value and each of who's members is up is chosen as the active group. list"; } description "Each preference acts as a grouping of explicit paths on a policy. The preference having the lowest value and each of who's members is up is chosen as the active group."; } } grouping srte_PolPref-group { description "Each preference acts as a grouping of explicit paths on a policy. The preference having the lowest value and each of who's members is up is chosen as the active group."; leaf pref { type srte_OptNum; description "The preference value for the group of explicit paths"; } leaf shutdown { type boolean; default "false"; description "Shutdown the Candidate path preference"; } // SRTE Policy Explicit-path holder definition container exp-items { list PolExp-list { key "name"; uses srte_PolExp-group; description "Represents an explicit path assigned to a preference under a policy. list"; } description "Represents an explicit path assigned to a preference under a policy."; } // SRTE Candidate Path Dynamic definition container dyn-items { uses srte_PolDynamic-group; description "Enables the dynamic path configuration sub-section for this candidate path"; } // SRTE Candidate Path Constraint definition container constraints-items { uses srte_PolConstraint-group; description "Specifies the required constraints for this Candidate Paths"; } } grouping srte_PolExp-group { description "Represents an explicit path assigned to a preference under a policy."; leaf name { type srte_SrteName; description "Explicit path name. Must be the name of an existing ExpPath MO"; } } grouping srte_PolDynamic-group { description "Enables the dynamic path configuration sub-section for this candidate path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Dynamic PCEP definition container pce-items { uses srte_PolDynPce-group; description "Defines the candidate paths need to be computed by Path Computation engine"; } // SRTE Candidate Path Metric definition container metric-items { uses srte_PolMetric-group; description "Specifies the type of metric that the computation will optimize"; } } grouping srte_PolDynPce-group { description "Defines the candidate paths need to be computed by Path Computation engine"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_PolMetric-group { description "Specifies the type of metric that the computation will optimize"; leaf metricType { type srte_Metric; description "SRTE Candidate Path Metric Type"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_PolConstraint-group { description "Specifies the required constraints for this Candidate Paths"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Segment definition container segment-items { uses srte_PolSegments-group; description "Specifies Segments constraints for this Candidate Path. ProtectionType, Dataplane"; } // SRTE Candidate Path Association definition container assoc-items { uses srte_PolAssoc-group; description "Specifies the association types this candidate path belongs to"; } // SRTE Candidate Path Affinity definition container affinity-items { uses srte_PolAffinity-group; description "Specifies the affinity constraints for the path"; } } grouping srte_PolSegments-group { description "Specifies Segments constraints for this Candidate Path. ProtectionType, Dataplane"; leaf protType { type srte_ProtectionType; description "Specifies if the candidate path must use protected or unprotected SIDs"; } leaf datapln { type srte_DataPlane; description "Specifies if this candidate paths is encoded with MPLS SIDs or SRv6 SIDs"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_PolAssoc-group { description "Specifies the association types this candidate path belongs to"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Disjointness container disj-items { uses srte_PolDisjointness-group; description "Specifies that the path belongs to the disjointness association group"; } } grouping srte_PolDisjointness-group { description "Specifies that the path belongs to the disjointness association group"; leaf disjType { type srte_DisjointType; description "Specifies the type of disjointness this path needs to be."; } leaf id { type uint32; description "Association group Identifier"; } leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } } grouping srte_PolAffinity-group { description "Specifies the affinity constraints for the path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Candidate Path Affinity exclude-any definition container exclany-items { uses srte_PolExcludeany-group; description "Specifies that links that have any of the specified affinity colors must be traversed by the path"; } // SRTE Candidate Path Affinity include-all definition container inclall-items { uses srte_PolIncludeall-group; description "Specifies that only links that have all of the specified affinity colors must be traversed by the path"; } // SRTE Candidate Path Affinity include-any definition container inclany-items { uses srte_PolIncludeany-group; description "Specifies that only links that have any of the specified affinity colors must not be used"; } } grouping srte_PolExcludeany-group { description "Specifies that links that have any of the specified affinity colors must be traversed by the path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color for constraints container affcol-items { list PolConstAffColor-list { key "name"; uses srte_PolConstAffColor-group; description "Specify the affinity color for the Affinity constraint type list"; } description "Specify the affinity color for the Affinity constraint type"; } } grouping srte_PolConstAffColor-group { description "Specify the affinity color for the Affinity constraint type"; leaf name { type srte_Name; description "Name of the affinity Color definition"; } } grouping srte_PolIncludeall-group { description "Specifies that only links that have all of the specified affinity colors must be traversed by the path"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color for constraints container affcol-items { list PolConstAffColor-list { key "name"; uses srte_PolConstAffColor-group; description "Specify the affinity color for the Affinity constraint type list"; } description "Specify the affinity color for the Affinity constraint type"; } } grouping srte_PolIncludeany-group { description "Specifies that only links that have any of the specified affinity colors must not be used"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Operational errors qualifier leaf operErr { config "false"; type nw_OperErrQual; description "Operational Errors Qualifier"; } // SRTE Affinity color for constraints container affcol-items { list PolConstAffColor-list { key "name"; uses srte_PolConstAffColor-group; description "Specify the affinity color for the Affinity constraint type list"; } description "Specify the affinity color for the Affinity constraint type"; } } grouping srte_PoLiveDetctn-group { description "Liveness Detection configuration under Traffic Engineering"; leaf sidLimit { type srte_MonitorLimit; description "Sid index limit for liveness detection"; } leaf shut { type srte_MonitorShut; description "shut policy liveness detection"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // MPLS liveness detection container pompls-items { uses srte_PoMpls-group; description "MPLS liveness detection related configurations"; } } grouping srte_PoMpls-group { description "MPLS liveness detection related configurations"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // OAM MPLS liveness detection container oam-items { uses srte_PoOam-group; description "MPLS OAM liveness detection related configurations"; } // BFD MPLS liveness detection container bfd-items { uses srte_PoBfd-group; description "MPLS BFD liveness detection related configurations"; } } grouping srte_PoOam-group { description "MPLS OAM liveness detection related configurations"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } } grouping srte_PoBfd-group { description "MPLS BFD liveness detection related configurations"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } } grouping srte_PolicyState-group { description "Operational state for Segment Routing TE Policies"; // SRTE Policy operational state container pol-items { list Pol-list { config "false"; key "policy"; uses srte_Pol-group; description "Segment Routing TE Policy list"; } description "Segment Routing TE Policy"; } } grouping srte_Pol-group { description "Segment Routing TE Policy"; leaf policy { config "false"; type string; description "Segment Routing TE Policy"; } leaf aliasName { config "false"; type srte_SrteName; description "Segment Routing TE Policy Alias Name"; } leaf source { config "false"; type address_Ip; description "Segment Routing TE source IPv4/v6 address"; } leaf endpoint { config "false"; type address_Ip; description "Segment Routing TE Endpoint IPv4/v6 address"; } leaf state { config "false"; type srte_PolicyState; description "Segment Routing TE Policy State"; } leaf color { config "false"; type srte_ColorVal; description "Segment Routing TE Policy Color"; } leaf bindingSidLabel { config "false"; type uint32; description "Segment Routing TE Policy Binding SID label"; } leaf bindingSidIPv6 { config "false"; type address_Ip; description "Segment Routing TE Policy Binding SID IPv6 address"; } leaf policyId { config "false"; type uint32; description "Segment Routing TE Policy ID"; } leaf authorized { config "false"; type boolean; description "Flag which indicates the policy is authorized"; } // SRTE Candidate Path Oper definition container cndpathsstate-items { uses srte_CndPathsState-group; description "Segment Routing TE Candidate paths"; } } grouping srte_CndPathsState-group { description "Segment Routing TE Candidate paths"; leaf pathType { config "false"; type srte_PathType; description "Segment Routing TE Policy path type"; } leaf prefCount { config "false"; type uint32; description "Number of path preferences for a Segment Routing TE Policy"; } // SRTE Policy Preference definition container polprefstate-items { list PolPrefState-list { config "false"; key "pref"; uses srte_PolPrefState-group; description "Each preference acts as a grouping of paths on a policy. The preference having the highest value and who's any member is up is chosen as the active group. list"; } description "Each preference acts as a grouping of paths on a policy. The preference having the highest value and who's any member is up is chosen as the active group."; } } grouping srte_PolPrefState-group { description "Each preference acts as a grouping of paths on a policy. The preference having the highest value and who's any member is up is chosen as the active group."; leaf pref { config "false"; type srte_OptNum; description "The preference value for the group of paths"; } leaf pathCount { config "false"; type uint32; description "Number of paths in a preference for a Segment Routing TE Policy"; } leaf pathOptType { config "false"; type srte_PathOptType; description "Segment Routing TE Policy path option type"; } leaf active { config "false"; type boolean; description "This boolean is true when this is the currently active path option of the policy"; } // SRTE Policy path under a preference container polpathstate-items { list PolPathState-list { config "false"; key "name"; uses srte_PolPathState-group; description "Represents a path assigned to a preference under a policy. list"; } description "Represents a path assigned to a preference under a policy."; } } grouping srte_PolPathState-group { description "Represents a path assigned to a preference under a policy."; leaf name { config "false"; type srte_SrteName; description "Path name. The name of an explicit path or a pce path"; } leaf delegatedPce { config "false"; type address_Ip; description "Delegated PCE address"; } leaf weight { config "false"; type uint32; description "SRTE Policy Path Weight"; } leaf promonSessId { config "false"; type uint32; description "ID of the associated promon monitoring session. 0 means there is no associated session."; } // SRTE Segment list Next-Label Operational definition container nxtlblstate-items { list NxtLblState-list { config "false"; key "idx"; uses srte_NxtLblState-group; description "SRTE Segment List Next Label Class list"; } description "SRTE Segment List Next Label Class"; } // SRTE Segment list Next-SID Operational definition container nxtsidstate-items { list NxtSidState-list { config "false"; key "idx"; uses srte_NxtSidState-group; description "SRTE Segment List Next SRv6 SID Class list"; } description "SRTE Segment List Next SRv6 SID Class"; } } grouping srte_NxtLblState-group { description "SRTE Segment List Next Label Class"; leaf idx { config "false"; type srte_OptNum; description "SRTE Segment List Next Label Index"; } leaf lbl { config "false"; type uint32; description "SRTE Segment List Next Label Value"; } } grouping srte_NxtSidState-group { description "SRTE Segment List Next SRv6 SID Class"; leaf idx { config "false"; type srte_OptNum; description "SRTE Segment List Next SID Index"; } leaf sid { config "false"; type address_Ip; description "SRTE Segment List Next SID Value"; } } grouping srte_Promon-group { description "Operational state of proactive monitoring sessions for SRTE policies"; leaf sessionsUsed { config "false"; type uint32; description "Sessions used in the proactive monitoring"; } leaf totalSessions { config "false"; type uint32; description "Total sessions available in the proactive monitoring"; } // promon monitoring sessions container promonsess-items { list PromonSession-list { config "false"; key "sessionId"; uses srte_PromonSession-group; description "Session for proactive monitoring of SRTE policies list"; } description "Session for proactive monitoring of SRTE policies"; } } grouping srte_PromonSession-group { description "Session for proactive monitoring of SRTE policies"; leaf sessionId { config "false"; type uint32; description "Proactive monitoring session ID"; } leaf pathName { config "false"; type srte_SrteName; description "Path name for the proactive monitoring session"; } leaf fhOnly { config "false"; type boolean; description "Session using first hop only or not"; } leaf interval { config "false"; type srte_IntervalVal; description "Interval for the proactive monitoring session"; } leaf multiplier { config "false"; type srte_MultiplierVal; description "Successive success/failure count for the proactive monitoring session"; } leaf state { config "false"; type srte_StateVal; description "State for the proactive monitoring session"; } leaf bfdOverallState { config "false"; type srte_BfdState; description "A state enumeration indicating which precondition is not yet met in order to have an operational BFD monitoring session, or if it is currently operational"; } // List of owner policies for promon session segment list container sesspol-items { list SessPolicy-list { config "false"; key "polName"; uses srte_SessPolicy-group; description "List of owner policies for proactive monitoring session list"; } description "List of owner policies for proactive monitoring session"; } // List of segment list for promon session container proseglst-items { uses srte_ProSegList-group; description "List of segments for Policy"; } // List of OAM sessions for this SRTE promon session container oamsess-items { list OamSession-list { config "false"; key "oamSessId"; uses srte_OamSession-group; description "List of oam sessions for the parent SRTE proactive monitoring session list"; } description "List of oam sessions for the parent SRTE proactive monitoring session"; } // List of BFD sessions for this SRTE promon session container bfdsess-items { list BfdSession-list { config "false"; key "index"; uses srte_BfdSession-group; description "List of BFD sessions for the parent SRTE proactive monitoring session list"; } description "List of BFD sessions for the parent SRTE proactive monitoring session"; } } grouping srte_SessPolicy-group { description "List of owner policies for proactive monitoring session"; leaf polName { config "false"; type srte_SrteName; description "Owner policy name for proactive monitoring session"; } } grouping srte_ProSegList-group { description "List of segments for Policy"; // List of label for promon session segment list container promonlbl-items { list PromonLabel-list { config "false"; key "index"; uses srte_PromonLabel-group; description "List of label for segment list"; } description "List of label for segment"; } // Polendpt for promon session segment list container promonendpt-items { list PromonPoEndpt-list { config "false"; key "index"; uses srte_PromonPoEndpt-group; description "policy endpoint for a segment list"; } description "policy endpoint for a segment"; } } grouping srte_PromonLabel-group { description "List of label for segment"; leaf index { config "false"; type srte_OptNum; description "index value for the segment"; } leaf lbl { config "false"; type srte_LabelVal; description "label value for the segment"; } } grouping srte_PromonPoEndpt-group { description "policy endpoint for a segment"; leaf index { config "false"; type srte_OptNum; description "index value for the segment"; } } grouping srte_OamSession-group { description "List of oam sessions for the parent SRTE proactive monitoring session"; leaf oamSessId { config "false"; type uint32; description "Session id for OAM session"; } leaf state { config "false"; type srte_StateVal; description "State for the OAM session"; } leaf nextHop { config "false"; type address_Ip; description "Next hop Ipv4/Ipv6 for the OAM session"; } leaf intf { config "false"; type nw_IfId; description "Interface details for the OAM session"; } // Containing data related to Segment list in OAM side container oamlbl-items { list OamLabel-list { config "false"; key "idx"; uses srte_OamLabel-group; description "List of label for Policy list"; } description "List of label for Policy"; } } grouping srte_OamLabel-group { description "List of label for Policy"; leaf idx { config "false"; type srte_OptNum; description "Index for the OAM label"; } leaf label { config "false"; type srte_LabelVal; description "Label for the OAM session"; } } grouping srte_BfdSession-group { description "List of BFD sessions for the parent SRTE proactive monitoring session"; leaf index { config "false"; type uint32; description "Index of the BFD session under the parent SRTE proactive monitoring session"; } leaf state { config "false"; type srte_StateVal; description "State for the BFD session"; } leaf type { config "false"; type uint32; description "The type of BFD session created."; } leaf addr { config "false"; type address_Ip; description "The IP address used as the source and destination in the BFD packet"; } leaf ulibSrteId { config "false"; type uint32; description "The SRTE ID for the FEC in ULIB that corresponds to this BFD Promon session. This is 0 when unset."; } leaf bsid { config "false"; type uint32; description "The Binding SID (binding label) in the ULIB that describes the path the BFD packets will take. Set to 0 when this is not a BFD promon session, or the BFD BSID is not yet allocated."; } } grouping srte_SR-group { description "Segment Routing configuration under Traffic Engineering"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // SRv6 Traffic Engineering container srv6-items { uses srte_SRv6-group; description "SRv6 Traffic Engineering related configurations"; } } grouping srte_SRv6-group { description "SRv6 Traffic Engineering related configurations"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Traffic Engineering SRv6 Locators container locs-items { uses srte_Locators-group; description "SRv6 Traffic Engineering locators"; } } grouping srte_Locators-group { description "SRv6 Traffic Engineering locators"; // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Locator name for SRv6 Traffic Engineering container loc-items { list Locator-list { key "name"; uses srte_Locator-group; description "SRv6 TE locator name list"; } description "SRv6 TE locator name"; } } grouping srte_Locator-group { description "SRv6 TE locator name"; leaf name { type srte_Name; description "Locator name for SRv6 Traffic Engineering"; } } grouping tunnelenc_Entity-group { description "Tunnel-encryption control plane entity"; leaf mustSecurePolicy { type boolean; description "Must secure Policy of tunnel-encryption"; } leaf sourceIntf { type nw_IfId; description "Source-interface associated with Tunnel-encryption key exchange"; } leaf icvChk { type boolean; description "Tunnel-encryption ICV Check"; } leaf pkiSourceIntfType { type tunnelenc_PkiSourceIntfType; description "Source-interface loopback type"; } leaf pkiSourceIntf { type nw_IfId; description "Source-interface associated with PKI exchange for Tunnel-encryption"; } leaf certType { type tunnelenc_CertType; description "Tunnel-encryption certificate type"; } leaf pkiTrustpoint { type tunnelenc_TpLabel; description "Tunnel-encryption trustpoint label"; } // This object holds tunnel-encryption information that is operated at a // interface level container if-items { list TunencIf-list { key "id"; uses tunnelenc_TunencIf-group; description "Interface for tunnel-encryption list"; } description "Interface for tunnel-encryption"; } // This object holds tunnel-encryption information that is operated at a // tunenc-peer level container peerip-items { list PeerIp-list { key "peerIp"; uses tunnelenc_PeerIp-group; description "Tunnel-encryption Peer-ip Instance list"; } description "Tunnel-encryption Peer-ip Instance"; } // This object holds tunnel-encryption information that is operated at a // policy level container policy-items { list Policy-list { key "policyName"; uses tunnelenc_Policy-group; description "Tunnel-encryption Policy Instance list"; } description "Tunnel-encryption Policy Instance"; } } grouping tunnelenc_TunencIf-group { description "Interface for tunnel-encryption"; leaf tunnelEnable { type boolean; description "Tunnel-encryption enable on interface"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } } grouping tunnelenc_PeerIp-group { description "Tunnel-encryption Peer-ip Instance"; leaf peerIp { type address_Ipv4; description "Peer-ips aasociated to tunnel-encryption"; } // Key Chain Name leaf keychainName { type tunnelenc_KeyChainName; description "Name of Keychain assciated to Peer-ip"; } leaf pki { type boolean; description "PKI mode for Peer-ip"; } leaf policyName { type string { pattern ".*[a-zA-Z0-9-$_]{0,32}.*"; } description "Name of Policy assciated to Peer-ip"; } } grouping tunnelenc_Policy-group { description "Tunnel-encryption Policy Instance"; // Policy Name leaf policyName { type tunnelenc_PolicyName; description "Name of tunnel-encryption Policy"; } // Cipher Suite leaf cipherSuite { type tunnelenc_CipherSuite; description "Cipher Suite for tunnel-encryption Policy"; } // SAK expiry time leaf sakExpiryTime { type tunnelenc_SakExpiryTime; description "Security Association Key Expiry Time for tunnel-encryption Policy"; } // Replay Protection Window Size leaf replayWindow { type tunnelenc_ReplayWindow; description "Replay Window for tunnel-encryption Policy"; } } grouping vrrp_Entity-group { description "VRRP Entity"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This object holds per vrrp instance information. There is only // one instance supported in vrrp currently container inst-items { uses vrrp_Inst-group; description "VRRP Instance"; } } grouping vrrp_Inst-group { description "VRRP Instance"; leaf name { type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { type nw_InstCtrl; description "Controls"; } // This object holds the interfaces that will have VRRP interface. // Interface must already be created and should have an IP address container if-items { list Interface-list { key "id"; uses vrrp_Interface-group; description "VRRP Interface list"; } description "VRRP Interface"; } } grouping vrrp_Interface-group { description "VRRP Interface"; leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024; description "Description"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative state leaf adminSt { type nw_IfAdminSt; description "Admin State"; } // This object holds vrrp id information container id-items { list Id-list { key "id"; uses vrrp_Id-group; description "VRRPv2 Router Id list"; } description "VRRPv2 Router Id"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping vrrp_Id-group { description "VRRPv2 Router Id"; // vrrp id leaf id { type vrrp_Id; description "VRRP Id"; } leaf primary { type address_Ip; description "primary IP address"; } // advertise interval leaf advIntvl { type vrrp_AdvIntvl; description "Advertisement Interval"; } // authentication text leaf authText { type vrrp_AuthTextType; description "Authentication Text"; } // authentication type leaf authType { type vrrp_AuthType; description "Authentication Type"; } // Preempt leaf preempt { type vrrp_Preempt; description "Preempt"; } // priority configuration leaf priCfg { type vrrp_PriVal; default "100"; description "Configured Priority"; } leaf bfdPeerAddr { type address_Ip; description "BFD Peer address"; } // forwarding lower threshold leaf fwdLwrThrld { type vrrp_PriVal; default "1"; description "Fowarding Lower Threshold"; } // forwarding upper threshold leaf fwdUprThrld { type vrrp_UprThrshld; description "Forwarding Upper Threshold"; } // admin state leaf adminSt { type vrrp_AdminSt; description "Admin state"; } // group state leaf groupSt { config "false"; type vrrp_GroupSt; description "vrrp group state"; } // group state qualifier leaf groupStQual { config "false"; type vrrp_GroupStQual; description "vrrp group state qualifier"; } leaf mac { config "false"; type address_Mac; description "vrrp vmac"; } leaf masterAddr { config "false"; type address_Ip; description "vrrp master address"; } // bfd session status leaf bfdSessionSt { config "false"; type vrrp_bfdSessionSt; description "vrrp bfd session status"; } container secondary-items { list Secondary-list { key "secondary"; uses vrrp_Secondary-group; description "Secondary address for the VRRP Router list"; } description "Secondary address for the VRRP Router"; } // Object to hold vrrp tarck information container track-items { uses vrrp_Track-group; description "VRRP Track objects"; } } grouping vrrp_Secondary-group { description "Secondary address for the VRRP Router"; leaf secondary { type address_Ip; description "Secondary IP address for the VRRP Router"; } } grouping vrrp_Track-group { description "VRRP Track objects"; // Object to hold native track information container nativeTrack-items { uses vrrp_NativeTrack-group; description "VRRPv2 native tracking object"; } // Contains track information of otm track object container track-items { list ObjectTrack-list { key "id"; uses vrrp_ObjectTrack-group; description "VRRPV2 object tracking list"; } description "VRRPV2 object tracking"; } } grouping vrrp_NativeTrack-group { description "VRRPv2 native tracking object"; // Interface name to be tracked, format to be specified // eth1/1, eth1/1.1, po1 leaf id { type nw_IfId; description "Interface to be tracked by this VRRP instance"; } leaf priority { type uint16 { range "1..254"; } description "VRRP Priority when track is down"; } } grouping vrrp_ObjectTrack-group { description "VRRPV2 object tracking"; // Track id to be tracked leaf id { type track_TrackId; description "Track Id to be tracked"; } leaf decrementPriority { type uint16 { range "1..254"; } default "10"; description "Value to be decremented from priority when tracked object is down"; } } grouping vrrpv3_Entity-group { description "VRRPv3 Entity"; // This object holds per vrrpv3 instance information. There is only // one instance supported in vrrpv3 currently container inst-items { uses vrrpv3_Inst-group; description "VRRPv3 Instance"; } } grouping vrrpv3_Inst-group { description "VRRPv3 Instance"; // Administrative state leaf adminSt { type nw_AdminSt; description "Admin State"; } // This object holds the interfaces that will have VRRPv3 interface. container if-items { list Interface-list { key "id"; uses vrrpv3_Interface-group; description "VRRPv3 Interface list"; } description "VRRPv3 Interface"; } } grouping vrrpv3_Interface-group { description "VRRPv3 Interface"; leaf delayIntfMin { type uint16 { range "0..3600"; } default "0"; description "Delay in seconds, to start VRRPv3 state machine after receiving interface moving to Up state"; } leaf delayReload { type uint16 { range "0..3600"; } default "0"; description "Delay in seconds, to start VRRPv3 state machine after the system-reload"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // This object holds Virtual Router ID information container id-items { list Vr-list { key "id af"; uses vrrpv3_Vr-group; description "VRRPv3 Object holds Virtual Router ID information list"; } description "VRRPv3 Object holds Virtual Router ID information"; } // Object to hold vrrpv3 VRRS information container vrrs-items { list VrrsPathway-list { key "tag"; uses vrrpv3_VrrsPathway-group; description "Object holds VRRS Pathway information list"; } description "Object holds VRRS Pathway information"; } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } } grouping vrrpv3_Vr-group { description "VRRPv3 Object holds Virtual Router ID information"; // Virtual Router ID leaf id { type vrrpv3_Id; description "VRRPv3 Virtual Router Id"; } leaf ip { type address_Ip; description "primary IP address"; } // Advertisement Interval leaf advIntvl { type vrrpv3_AdvIntvl; description "Advertisement Interval"; } // Priority Configuration leaf priCfg { type vrrpv3_PriVal; default "100"; description "Configured Priority"; } // Preempt leaf preempt { type vrrpv3_Preempt; description "Preempt"; } // Virtual Router Description string leaf name { type vrrpv3_Desc; description "Virtual Router Description"; } // Minimum Preemption delay before this group can preempt a high priority Masster leaf preemptDelayMin { type vrrpv3_PreemptDelay; description "Miminum delay before preempt"; } // Admin State leaf adminSt { type vrrpv3_AdminSt; description "Admin state"; } // Virtual Router Address family leaf af { type vrrpv3_VrAf; description "Virtual Router Address Family"; } // match-address leaf matchAddr { type vrrpv3_State; default "enabled"; description "Enables matching of secondary addresses in the vrrpv3 advertisement packet against the configured vrrpv3 secondary addresses"; } // vrrpv2 compatibility mode leaf vrrpv2CompatMode { type vrrpv3_State; default "disabled"; description "vrrpv2 compatibility mode"; } // Operational priority value for vrrpv3 group leaf priOper { config "false"; type vrrpv3_PriVal; default "100"; description "Operational priority value for vrrpv3 group"; } leaf decrTrackPrio { type uint8 { range "1..254"; } default "10"; description "Priority to be decremented when tracked object is down. Default value is 10"; } // Object to hold vrrpv3 object track information container track-items { list ObjectTrack-list { key "id"; uses vrrpv3_ObjectTrack-group; description "Holds information of objects tracked by VRRPv3 list"; } description "Holds information of objects tracked by VRRPv3"; } container addr-items { list Addr-list { key "addr"; uses vrrpv3_Addr-group; description "IP address list"; } description "IP address"; } container leader-items { list VrrsLeader-list { key "tag"; uses vrrpv3_VrrsLeader-group; description "VRRS Tag list"; } description "VRRS Tag"; } } grouping vrrpv3_ObjectTrack-group { description "Holds information of objects tracked by VRRPv3"; // Object id to be tracked leaf id { type track_TrackId; description "Object Id to be tracked"; } leaf decrPrio { type uint16 { range "1..254"; } default "10"; description "Priority to be decremented when tracked object is down. Default value is 10"; } } grouping vrrpv3_Addr-group { description "IP address"; leaf addr { type address_Ip; description "IP address"; } } grouping vrrpv3_VrrsLeader-group { description "VRRS Tag"; leaf tag { type string { length "0..48"; } description "VRRS tag for which group is leader"; } } grouping vrrpv3_VrrsPathway-group { description "Object holds VRRS Pathway information"; leaf tag { type string { length "0..48"; } description "Name of vrrs tag which pathway will follow"; } // Admin State leaf adminSt { type vrrpv3_State; default "enabled"; description "Administrative state for vrrs pathway"; } // Vrrs Pathway Description string leaf description { type vrrpv3_Desc; description "Description string for vrrs pathway"; } leaf mac { type address_Mac; default "00:00:00:00:00:00"; description "Configured virtual MAC address for the Pathway"; } leaf macAdvIntvl { type uint16 { range "1..300"; } default "10"; description "Interval in seconds, between virtual MAC unsolicited advertisements"; } container addr-items { list PwAddr-list { key "addr"; uses vrrpv3_PwAddr-group; description "IP address list"; } description "IP address"; } } grouping vrrpv3_PwAddr-group { description "IP address"; leaf addr { type address_Ip; description "IPvX address for vrrs pathway"; } } grouping scrtchpd_Root-group { description "Root"; // Holds rpm control plane entity information container rpmcli-items { uses rpmcli_EntityCli-group; description "Route Policy Map Entity CLI"; } // Holds Vlan-mgr control plane entity information container vlanmgrcli-items { uses vlanmgrcli_EntityCli-group; description "Vlan Manager Entity CLI"; } } grouping rpmcli_EntityCli-group { description "Route Policy Map Entity CLI"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // Route control rule for access lists container accesslistcli-items { list RuleCli-list { config "false"; key "name"; uses rtlistcli_RuleCli-group; description "Rule CLI list"; } description "Rule CLI"; } // Route control rule for V4 prefix lists container pfxlistv4cli-items { list RuleV4Cli-list { config "false"; key "name"; uses rtpfxcli_RuleV4Cli-group; description "IPv4 Rule CLI list"; } description "IPv4 Rule CLI"; } // Route control rule for V6 prefix lists container pfxlistv6cli-items { list RuleV6Cli-list { config "false"; key "name"; uses rtpfxcli_RuleV6Cli-group; description "IPv6 Rule list"; } description "IPv6 Rule"; } // Route control rule for regular community lists container rtregcomcli-items { list RuleCli-list { config "false"; key "name"; uses rtregcomcli_RuleCli-group; description "Rule CLI list"; } description "Rule CLI"; } } grouping rtlistcli_RuleCli-group { description "Rule CLI"; leaf name { config "false"; type pol_ObjName { length "1..63"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Prefix list entry definition container entcli-items { uses rtlistcli_EntryCli-group; description "Entry CLI"; } } grouping rtlistcli_EntryCli-group { description "Entry CLI"; // CLI Action leaf cliAction { config "false"; type scrtchpd_Action; description "Action"; } leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Order leaf order { config "false"; type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { config "false"; type rtflt_Action; description "Action"; } leaf regex { config "false"; type string { pattern ".*[^a-zA-Z~!#%@`;]{0,63}.*"; } description "Regular Expression"; } } grouping rtpfxcli_RuleV4Cli-group { description "IPv4 Rule CLI"; leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Prefix list entry definition container entcli-items { uses rtpfxcli_EntryCli-group; description "Entry CLI"; } } grouping rtpfxcli_EntryCli-group { description "Entry CLI"; // CLI Action leaf cliAction { config "false"; type scrtchpd_Action; description "Action"; } leaf pfx { config "false"; type address_Ip; description "Prefix"; } leaf mask { config "false"; type address_Ip; description "mask"; } // criteria, exact match or inexact match leaf criteria { config "false"; type rtpfx_Criteria; description "Criteria"; } // If the criteria is not an exact match, use a range to // describe the prefix list range leaf fromPfxLen { config "false"; type l3_IpPfxLen; description "Start of Prefix Length"; } leaf toPfxLen { config "false"; type l3_IpPfxLen; description "End of Prefix Length"; } leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Order leaf order { config "false"; type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { config "false"; type rtflt_Action; description "Action"; } } grouping rtpfxcli_RuleV6Cli-group { description "IPv6 Rule"; leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Prefix list entry definition container entcli-items { uses rtpfxcli_EntryCli-group; description "Entry CLI"; } } grouping rtregcomcli_RuleCli-group { description "Rule CLI"; leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Type of the community list [regular | extended] leaf type { config "false"; type rtcom_ComT; description "Type"; } // Mode leaf mode { config "false"; type rtcom_Mode; description "Mode"; } // Regular community list entry container entregcli-items { uses rtregcomcli_EntryRegexCli-group; description "Entry CLI"; } // Regular community list entry container entcli-items { uses rtregcomcli_EntryCli-group; description "Entry CLI"; } } grouping rtregcomcli_EntryRegexCli-group { description "Entry CLI"; leaf numOfChildren { config "false"; type uint32; description "Total Number of Children"; } // CLI Action leaf cliAction { config "false"; type scrtchpd_Action; description "Action"; } leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Order leaf order { config "false"; type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { config "false"; type rtflt_Action; description "Action"; } leaf regex { config "false"; type string { pattern ".*[^a-zA-Z~!#%@`;]{0,63}.*"; } description "Regular Expression"; } } grouping rtregcomcli_EntryCli-group { description "Entry CLI"; leaf numOfChildren { config "false"; type uint32; description "Total Number of Children"; } // CLI Action leaf cliAction { config "false"; type scrtchpd_Action; description "Action"; } leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } // Order leaf order { config "false"; type rtflt_Order { range "1..4294967294"; } description "Order"; } // Action leaf action { config "false"; type rtflt_Action; description "Action"; } leaf regex { config "false"; type string { pattern ".*[^a-zA-Z~!#%@`;]{0,63}.*"; } description "Regular Expression"; } // Item in the community list container itemcli-items { list ItemCli-list { config "false"; key "community"; uses rtregcomcli_ItemCli-group; description "Item CLI list"; } description "Item CLI"; } } grouping rtregcomcli_ItemCli-group { description "Item CLI"; leaf name { config "false"; type pol_ObjName { length "0..64"; } description "Name"; } leaf descr { config "false"; type naming_Descr; description "Description of the specified attribute"; } leaf community { config "false"; type mtx_array_community; description "Community"; } } grouping vlanmgrcli_EntityCli-group { description "Vlan Manager Entity CLI"; leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // - Admin state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Operational state leaf operSt { config "false"; type nw_EntOperSt; description "Operational State"; } // This objects hold per vlan-mgr instance information. There is only // one instance of vlan-mgr running in the system today container inst-items { uses vlanmgrcli_InstCli-group; description "Vlan Manager Instance Cli"; } } grouping vlanmgrcli_InstCli-group { description "Vlan Manager Instance Cli"; leaf vxlanNativeVlans { config "false"; type boolean; description "Vxlan Native Vlans"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "Name"; } // Administrative state leaf adminSt { config "false"; type nw_AdminSt; description "Admin State"; } // Instance controls leaf ctrl { config "false"; type nw_InstCtrl; description "Controls"; } } grouping synthetic_SwTLTestObj-group { description "Synthetic Sw TL Test Object"; leaf name { type naming_Name; description "Name"; } leaf id { type naming_Id; description "Id"; } leaf descr { type naming_Descr; description "TBD"; } leaf objDn { type string; } leaf priKey { type string; } container secc-items { list SwCTestObj-list { key "name"; uses synthetic_SwCTestObj-group; description "Synthetic Sw C Test Object list"; } description "Synthetic Sw C Test Object"; } container iecc-items { list IfcCTestObj-list { key "name"; uses synthetic_IfcCTestObj-group; description "Synthetic Ifc C Test Object list"; } description "Synthetic Ifc C Test Object"; } container rttoObj-items { uses synthetic_RtToObj_target-group; } } grouping cnw_AggrIf-group { description "Controller Aggregated Interface"; // Operational port state leaf operSt { config "false"; type l1_OperSt; description "Operational Status"; } leaf name { config "false"; type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { config "false"; type naming_Descr1024 { length "0..254"; } description "descr"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint Property has READ-Create access."; } // Administrative port state @@@ Comes from port out-of-service policy leaf adminSt { config "false"; type l1_AdminSt; description "Administrative Port State"; } // Administrative port speed @@@ This comes from the host interface // @@@ configuration policy leaf speed { config "false"; type l1_Speed; description "Administrative Port Speed"; } // Administrative port duplex @@@ This comes from the host interface // @@@ configuration policy leaf duplex { config "false"; type l1_Duplex; description "Duplex"; } // DWDM C optic ITU Channel @@@ This comes from the host interface // @@@ configuration policy leaf ituChannel { config "false"; type l1_ItuChannel; description "ITU Channel to support DWDM XCVR"; } // Administrative port auto-negotiation @@@ It comes from the host interface configuration // @@@ policy. It is used for automatically negotiating // @@@ the speed leaf autoNeg { config "false"; type l1_AutoNeg; description "Administrative Port Auto-Negotiation"; } // Administrative port mtu @@@ This comes from QOS Policy leaf mtu { config "false"; type l1_Mtu; description "Administrative port MTU"; } // Administrative port snmp trap state @@@ This is a port level config. but it could go in // @@@ SNMP policy in IFC leaf snmpTrapSt { config "false"; type l1_SnmpTrapSt; description "Administrative Port Snmp Trap State"; } // Administrative port mode @@@ Internally set by PE leaf mode { config "false"; type l1_Mode; description "Administrative port mode"; } // Administrative port layer @@@ Internally set by PE leaf layer { config "false"; type l1_Layer; description "Administrative port layer"; } // Administrative mdix mode @@@ Theres no benefit in exposing this property // @@@ in IFC. Ask Marketing. leaf mdix { config "false"; type l1_Mdix; description "Administrative Medium-dependant interface crossover(Mdix) mode"; } // Administrative port delay @@@ is this exposed in IFC? leaf delay { config "false"; type l1_Delay; description "Administrative port delay time"; } // Administrative port link debounce interval @@@ This comes from the interface configuration policy leaf linkDebounce { config "false"; type l1_LinkDebounce; description "Administrative port link debounce interval"; } // Administrative port dot1q ether-type @@@ This property is not supported in switch ?? leaf dot1qEtherType { config "false"; type l1_DDot1qEtherType; description "Administrative port Dot1q ether-type: configures TPID value in VLAN tag field for packets received and sent by interface"; } // Administrative port bandwidth @@@ Comes from QOS Policy leaf bw { config "false"; type l1_Bw; description "Bandwidth parameter for a routed interface, port channel or subinterface"; } // Administrative port medium type @@@ The fabric & Host connections are P2p. @@@ No need to expose this property in IFC leaf medium { config "false"; type l1_Medium; description "Administrative port medium type"; } // Administrative port inherit bandwidth @@@ It is used for specifying the bandwidth inherited // @@@ by the subinterfaces from the parent interface @@@ It is not exposed in IFC. All the subinterfaces // @@@ inherit full parent interface's bandwidth leaf inhBw { config "false"; type l1_InheritBw; description "Administrative port inherit bandwidth"; } // Administrative port span mode @@@ This comes from the span policy in IFC leaf spanMode { config "false"; type l1_SpanMode; description "Administrative port span mode"; } // Administrative port trans mode @@@ This comes from the transparent port leaf transMode { config "false"; type l1_TransMode; description "Administrative port layer1 mode"; } // Administrative link logging enable @@@ This come from interface configuration policy leaf linkLog { config "false"; type l1_LinkLog; description "Administrative link logging enable"; } // Administrative trunk logging enable @@@ This come from interface configuration policy leaf trunkLog { config "false"; type l1_TrunkLog; description "Administrative trunk logging enable"; } leaf routerMac { config "false"; type address_Mac; default "00:00:00:00:00:00"; description "Administrative Router MAC address"; } // Type of the port: Fabric vs Leaf @@@ This property is not exposed in IFC leaf portT { config "false"; type eqpt_PortT; description "Type of the port: Fabric vs Leaf"; } // Usage of the port: Fabric, Infra, Epg, Controller, Discovery @@@ This property is not exposed in IFC leaf usage { config "false"; type l1_PortUsage; description "Port Usage Type"; } // config trunk vlans leaf trunkVlans { type l1_l1IfTrunkVlans; description "Configed Trunk Vlans"; } // config access vlan leaf accessVlan { type l1_l1IfAccessVlan; description "Configured Access Vlan"; } // Controller Id leaf controllerId { config "false"; type aggregate_ControllerIdBitmap; description "Controller ID"; } // config access vlan leaf nativeVlan { type l1_l1IfNativeVlan; description "Configured Native Vlan"; } // port user config flags leaf userCfgdFlags { config "false"; type l1_userCfgdFlags; description "Port User Config Flags"; } // Dom info container dom-items { list DomDef-list { config "false"; key "domPKey"; uses fv_DomDef-group; description "Domain list"; } description "Domain"; } container rtextConf-items { uses l2_RtExtConf_target-group; description "Eth Interface Attachment"; } container rtbrConf-items { uses l2_RtBrConf_target-group; description "Eth Interface Attachment"; } container rtl2EncEthSwConf-items { list RtL2EncEthSwConf-list { config "false"; key "tDn"; uses l2_RtL2EncEthSwConf_target-group; description "Parent If list"; } description "Parent If"; } container rtl2EthIf-items { list RtL2EthIf-list { config "false"; key "tDn"; uses l2_RtL2EthIf_target-group; description "Ethernet Interface list"; } description "Ethernet Interface"; } container rtfvNodePortAtt-items { list RtFvNodePortAtt-list { config "false"; key "tDn"; uses fv_RtFvNodePortAtt_target-group; } } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container rtphysRtdConf-items { uses l3_RtPhysRtdConf_target-group; description "Physical Routed Attachment"; } container rtl3EncPhysRtdConf-items { list RtL3EncPhysRtdConf-list { key "tDn"; uses l3_RtL3EncPhysRtdConf_target-group; description "Parent If list"; } description "Parent If"; } container rsmbrIfs-items { list RsMbrIfs-list { config "false"; key "tDn"; uses cnw_RsMbrIfs_source-group; description "Member Iinterfaces list"; } description "Member Iinterfaces"; } container rsactiveIf-items { uses cnw_RsActiveIf_source-group; description "Active Interface"; } container rsethIfToVethIf-items { list RsEthIfToVethIf-list { key "tDn"; uses l1_RsEthIfToVethIf_source-group; description "Association to the veths bound to this interface list"; } description "Association to the veths bound to this interface"; } } grouping cnw_PhysIf-group { description "Controller Physical Interface"; // Operational port state leaf operSt { config "false"; type l1_OperSt; description "Operational Status"; } leaf name { type naming_Name256 { length "0..128"; } description "This object holds name information"; } leaf descr { type naming_Descr1024 { length "0..254"; } description "descr"; } // Interface ID of this endpoint leaf id { type nw_IfId; description "Interface Identifier of this endpoint"; } // Administrative port state @@@ Comes from port out-of-service policy leaf adminSt { type l1_AdminSt; description "Administrative Port State"; } // Administrative port speed @@@ This comes from the host interface // @@@ configuration policy leaf speed { type l1_Speed; description "Administrative Port Speed"; } // Administrative port duplex @@@ This comes from the host interface // @@@ configuration policy leaf duplex { type l1_Duplex; description "Duplex"; } // DWDM C optic ITU Channel @@@ This comes from the host interface // @@@ configuration policy leaf ituChannel { type l1_ItuChannel; description "ITU Channel to support DWDM XCVR"; } // Administrative port auto-negotiation @@@ It comes from the host interface configuration // @@@ policy. It is used for automatically negotiating // @@@ the speed leaf autoNeg { type l1_AutoNeg; description "Administrative Port Auto-Negotiation"; } // Administrative port mtu @@@ This comes from QOS Policy leaf mtu { type l1_Mtu; description "Administrative port MTU"; } // Administrative port snmp trap state @@@ This is a port level config. but it could go in // @@@ SNMP policy in IFC leaf snmpTrapSt { type l1_SnmpTrapSt; description "Administrative Port Snmp Trap State"; } // Administrative port mode @@@ Internally set by PE leaf mode { type l1_Mode; description "Administrative port mode"; } // Administrative port layer @@@ Internally set by PE leaf layer { type l1_Layer; description "Administrative port layer"; } // Administrative mdix mode @@@ Theres no benefit in exposing this property // @@@ in IFC. Ask Marketing. leaf mdix { type l1_Mdix; description "Administrative Medium-dependant interface crossover(Mdix) mode"; } // Administrative port delay @@@ is this exposed in IFC? leaf delay { type l1_Delay; description "Administrative port delay time"; } // Administrative port link debounce interval @@@ This comes from the interface configuration policy leaf linkDebounce { type l1_LinkDebounce; description "Administrative port link debounce interval"; } // Administrative port dot1q ether-type @@@ This property is not supported in switch ?? leaf dot1qEtherType { type l1_DDot1qEtherType; description "Administrative port Dot1q ether-type: configures TPID value in VLAN tag field for packets received and sent by interface"; } // Administrative port bandwidth @@@ Comes from QOS Policy leaf bw { type l1_Bw; description "Bandwidth parameter for a routed interface, port channel or subinterface"; } // Administrative port medium type @@@ The fabric & Host connections are P2p. @@@ No need to expose this property in IFC leaf medium { type l1_Medium; description "Administrative port medium type"; } // Administrative port inherit bandwidth @@@ It is used for specifying the bandwidth inherited // @@@ by the subinterfaces from the parent interface @@@ It is not exposed in IFC. All the subinterfaces // @@@ inherit full parent interface's bandwidth leaf inhBw { type l1_InheritBw; description "Administrative port inherit bandwidth"; } // Administrative port span mode @@@ This comes from the span policy in IFC leaf spanMode { type l1_SpanMode; description "Administrative port span mode"; } // Administrative port trans mode @@@ This comes from the transparent port leaf transMode { type l1_TransMode; description "Administrative port layer1 mode"; } // Administrative link logging enable @@@ This come from interface configuration policy leaf linkLog { type l1_LinkLog; description "Administrative link logging enable"; } // Administrative trunk logging enable @@@ This come from interface configuration policy leaf trunkLog { type l1_TrunkLog; description "Administrative trunk logging enable"; } leaf routerMac { type address_Mac; default "00:00:00:00:00:00"; description "Administrative Router MAC address"; } // Type of the port: Fabric vs Leaf @@@ This property is not exposed in IFC leaf portT { type eqpt_PortT; description "Type of the port: Fabric vs Leaf"; } // Usage of the port: Fabric, Infra, Epg, Controller, Discovery @@@ This property is not exposed in IFC leaf usage { type l1_PortUsage; description "Port Usage Type"; } // config trunk vlans leaf trunkVlans { type l1_l1IfTrunkVlans; description "Configed Trunk Vlans"; } // config access vlan leaf accessVlan { type l1_l1IfAccessVlan; description "Configured Access Vlan"; } // Controller Id leaf controllerId { type aggregate_ControllerIdBitmap; description "Controller ID"; } // config access vlan leaf nativeVlan { type l1_l1IfNativeVlan; description "Configured Native Vlan"; } // port user config flags leaf userCfgdFlags { type l1_userCfgdFlags; description "Port User Config Flags"; } // Dom info container dom-items { list DomDef-list { config "false"; key "domPKey"; uses fv_DomDef-group; description "Domain list"; } description "Domain"; } container rtextConf-items { uses l2_RtExtConf_target-group; description "Eth Interface Attachment"; } container rtbrConf-items { uses l2_RtBrConf_target-group; description "Eth Interface Attachment"; } container rtl2EncEthSwConf-items { list RtL2EncEthSwConf-list { config "false"; key "tDn"; uses l2_RtL2EncEthSwConf_target-group; description "Parent If list"; } description "Parent If"; } container rtl2EthIf-items { list RtL2EthIf-list { config "false"; key "tDn"; uses l2_RtL2EthIf_target-group; description "Ethernet Interface list"; } description "Ethernet Interface"; } container rtfvNodePortAtt-items { list RtFvNodePortAtt-list { config "false"; key "tDn"; uses fv_RtFvNodePortAtt_target-group; } } container rtvrfMbr-items { uses l3_RtVrfMbr_target-group; description "VRF Membership Association"; } container rtphysRtdConf-items { uses l3_RtPhysRtdConf_target-group; description "Physical Routed Attachment"; } container rtl3EncPhysRtdConf-items { list RtL3EncPhysRtdConf-list { key "tDn"; uses l3_RtL3EncPhysRtdConf_target-group; description "Parent If list"; } description "Parent If"; } container rtmbrIfs-items { uses cnw_RtMbrIfs_target-group; description "Member Iinterfaces"; } container rtactiveIf-items { uses cnw_RtActiveIf_target-group; description "Active Interface"; } container rsethIfToVethIf-items { list RsEthIfToVethIf-list { key "tDn"; uses l1_RsEthIfToVethIf_source-group; description "Association to the veths bound to this interface list"; } description "Association to the veths bound to this interface"; } } grouping trackutils_TrackUtils-group { description "TrackUtils keeps details about running/startup state, file to be backedup and the location from where binaries needs to be restored as properties"; // Track-state leaf trackState { type trackutils_ConfigStateType; description "Identifies whether the config to be backed up is running config or startup config"; } // TrackData MO container trackdata-items { list TrackData-list { key "fileName"; uses trackutils_TrackData-group; description "The Mo stores the data/file string entered for tracking list"; } description "The Mo stores the data/file string entered for tracking"; } // BinaryLocation MO container binarylocation-items { list BinaryLocation-list { key "binLoc"; uses trackutils_BinaryLocation-group; description "The Mo stores the binary location string entered for restoring binaries list"; } description "The Mo stores the binary location string entered for restoring binaries"; } } grouping trackutils_TrackData-group { description "The Mo stores the data/file string entered for tracking"; leaf fileName { type string; description "The filename property stores the file name entered as a string"; } } grouping trackutils_BinaryLocation-group { description "The Mo stores the binary location string entered for restoring binaries"; leaf binLoc { type string; description "The bin_loc property stores the binary location entered as a string"; } } grouping vshd_CliAlias-group { description "Cli alias configuration"; leaf aliasName { type string { pattern ".*[A-Za-z][0-9A-Za-z]{0,29}.*"; } description "Name of the alias"; } leaf aliasCmd { type string { length "0..1023"; } description "Alias command definition"; } } grouping vshd_CliAliasCheck-group { description "Cli alias check configuration"; // Name of the alias definition leaf mode { type vshd_ModeType; description "strict check for cli alias"; } } grouping vshd_SysMgmt-group { description "SysMgt configuration"; leaf cmdTimeout { type uint16 { range "60..3600"; } default "300"; description "Specifies the cmd timeout, before the cmd returns timeout error"; } } grouping vshd_CliVar-group { description "Configure CLI commands"; leaf varName { type string { pattern "[A-Za-z][0-9A-Za-z]{0,30}.*"; } description "Specify a variable name"; } leaf varValue { type string { length "0..254"; } description "Specify a variable value"; } } grouping action_LCont-group { description "Action Container of mo LCont"; container lsubj-items { list LSubj-list { key "oDn"; uses action_LSubj-group; description "Action Subject of mo LSubj list"; } description "Action Subject of mo LSubj"; } } grouping action_LSubj-group { description "Action Subject of mo LSubj"; leaf oDn { type string; description "Target Object's Subject DN"; } leaf oCl { config "false"; type string; description "Target Object's subject Class id"; } // Result for fabric ping container pingrsltfab-items { list RsltFab-list { config "false"; key "name srcNodeId dstNodeId startTs"; uses ping_RsltFab-group; description "Fabric Result list"; } description "Fabric Result"; } // Result for EP to EP (Tenant) ping container pingrslttn-items { list RsltTn-list { config "false"; key "tenant name srcIp dstIp startTs"; uses ping_RsltTn-group; description "Tenant Result list"; } description "Tenant Result"; } // Result for fabric traceroute container trrsltfab-items { list RsltFab-list { config "false"; key "name srcNodeId dstNodeId startTs"; uses traceroute_RsltFab-group; description "Fabric Result list"; } description "Fabric Result"; } // Result for EP to EP (Tenant) traceroute container trrslttn-items { list RsltTn-list { config "false"; key "tenant name srcIp dstIp startTs"; uses traceroute_RsltTn-group; description "Tenant Result list"; } description "Tenant Result"; } // Exec results container imginsttaskrslt-items { list Rslt-list { config "false"; key "type startTs"; uses imginstall_Rslt-group; description "Result list"; } description "Result"; } // IP EP Tracking Results container iprslt-items { list IpEpRslt-list { config "false"; key "addr vrf"; uses eptrk_IpEpRslt-group; description "IP EP Tracking Result list"; } description "IP EP Tracking Result"; } // Exec results container macrslt-items { list MacEpRslt-list { config "false"; key "addr encap"; uses eptrk_MacEpRslt-group; description "MAC EP Tracking Result list"; } description "MAC EP Tracking Result"; } // Result for fabric ping container pingnverslt-items { list PingNveRslt-list { config "false"; key "sessionId"; uses ngoam_PingNveRslt-group; description "Ping Nve Result list"; } description "Ping Nve Result"; } // Result for fabric traceroute container trnverslt-items { list TraceRtNveRslt-list { config "false"; key "sessionId"; uses ngoam_TraceRtNveRslt-group; description "Fabric Result list"; } description "Fabric Result"; } // Result for Pathtrace container ptrnverslt-items { list PathTraceNveRslt-list { config "false"; key "sessionId"; uses ngoam_PathTraceNveRslt-group; description "PathTrace Nve Result list"; } description "PathTrace Nve Result"; } container rslSubjToDomainRef-items { uses action_RsLSubjToDomainRef_source-group; description "Relation from LSubj To AAA Domain Ref"; } } grouping ping_RsltFab-group { description "Fabric Result"; // Destination Node ID leaf dstNodeId { config "false"; type fabric_NodeId; description "Destination Node ID"; } leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } // Prof. Name leaf name { config "false"; type oam_ProfName; description "Name"; } // Source Node ID leaf srcNodeId { config "false"; type fabric_NodeId; description "Source Node ID"; } // The vrf in which it is running leaf vrf { config "false"; type oam_Vrf; description "VRF"; } // Source IP leaf srcIp { config "false"; type oam_IpId; description "Source IP"; } // Destination IP leaf dstIp { config "false"; type oam_IpId; description "Destination IP"; } // The tenant to which this Ep belongs leaf tenant { config "false"; type oam_TenantName; description "Tenant Name"; } // Payload size leaf payloadSz { config "false"; type oam_PayloadSz; description "Payload Size"; } } grouping ping_RsltTn-group { description "Tenant Result"; leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } // Prof. Name leaf name { config "false"; type oam_ProfName; description "Name"; } // Source Node ID leaf srcNodeId { config "false"; type fabric_NodeId; description "Source Node ID"; } // The vrf in which it is running leaf vrf { config "false"; type oam_Vrf; description "VRF"; } // Source IP leaf srcIp { config "false"; type oam_IpId; description "Source IP"; } // Destination IP leaf dstIp { config "false"; type oam_IpId; description "Destination IP"; } // The tenant to which this Ep belongs leaf tenant { config "false"; type oam_TenantName; description "Tenant Name"; } // Payload size leaf payloadSz { config "false"; type oam_PayloadSz; description "Payload Size"; } } grouping traceroute_RsltFab-group { description "Fabric Result"; // Destination Node ID leaf dstNodeId { config "false"; type fabric_NodeId; description "Destination Node ID"; } leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } // Prof. Name leaf name { config "false"; type oam_ProfName; description "Name"; } // Source Node ID leaf srcNodeId { config "false"; type fabric_NodeId; description "Source Node ID"; } // The vrf in which it is running leaf vrf { config "false"; type oam_Vrf; description "VRF"; } // Source IP leaf srcIp { config "false"; type oam_IpId; description "Source IP"; } // Destination IP leaf dstIp { config "false"; type oam_IpId; description "Destination IP"; } // The tenant to which this Ep belongs leaf tenant { config "false"; type oam_TenantName; description "Tenant Name"; } // Payload size leaf payloadSz { config "false"; type oam_PayloadSz; description "Payload Size"; } // Path Group, captures all the paths that were taken by // traceroute to the final destination container pgrp-items { list PathGrp-list { config "false"; key "id"; uses traceroute_PathGrp-group; description "Path Group list"; } description "Path Group"; } } grouping traceroute_PathGrp-group { description "Path Group"; // Identifier of the path group leaf id { config "false"; type traceroute_PathGrpId; description "ID"; } // Each path represents a sequence of nodes towards the // destination container path-items { list Path-list { config "false"; key "id"; uses traceroute_Path-group; description "Path list"; } description "Path"; } } grouping traceroute_Path-group { description "Path"; // Identifier of the path leaf id { config "false"; type traceroute_PathId; description "ID"; } // Type of the path leaf type { config "false"; type traceroute_PathT; description "Type"; } // Flags leaf flags { config "false"; type traceroute_PathFlags; description "Flags"; } // Node represents a given node in the traceroute path. Each // node is identified by the ip address and the order represents // its placement in the path container node-items { list Node-list { config "false"; key "order"; uses traceroute_Node-group; description "Node list"; } description "Node"; } } grouping traceroute_Node-group { description "Node"; // Node id leaf order { config "false"; type traceroute_Order; description "Order"; } leaf addr { config "false"; type address_Ip; description "Address"; } } grouping traceroute_RsltTn-group { description "Tenant Result"; leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } // Prof. Name leaf name { config "false"; type oam_ProfName; description "Name"; } // Source Node ID leaf srcNodeId { config "false"; type fabric_NodeId; description "Source Node ID"; } // The vrf in which it is running leaf vrf { config "false"; type oam_Vrf; description "VRF"; } // Source IP leaf srcIp { config "false"; type oam_IpId; description "Source IP"; } // Destination IP leaf dstIp { config "false"; type oam_IpId; description "Destination IP"; } // The tenant to which this Ep belongs leaf tenant { config "false"; type oam_TenantName; description "Tenant Name"; } // Payload size leaf payloadSz { config "false"; type oam_PayloadSz; description "Payload Size"; } // Path Group, captures all the paths that were taken by // traceroute to the final destination container pgrp-items { list PathGrp-list { config "false"; key "id"; uses traceroute_PathGrp-group; description "Path Group list"; } description "Path Group"; } } grouping imginstall_Rslt-group { description "Result"; leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } } grouping eptrk_IpEpRslt-group { description "IP EP Tracking Result"; leaf addr { config "false"; type address_Ip; description "IP Address"; } // The vrf the EP belongs to leaf vrf { config "false"; type l3_VrfName; description "VRF"; } leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } container rsipEpRslttoIpEpAtt-items { uses eptrk_RsIpEpRslttoIpEpAtt_source-group; } container rsepRslttoMacEpAtt-items { uses eptrk_RsEpRslttoMacEpAtt_source-group; } } grouping eptrk_MacEpRslt-group { description "MAC EP Tracking Result"; leaf addr { config "false"; type address_Mac; description "MAC Address"; } leaf encap { config "false"; type string; description "TrkEndpoint encap"; } leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } container rsmacEpRslttoIpEpAtt-items { list RsMacEpRslttoIpEpAtt-list { config "false"; key "tDn"; uses eptrk_RsMacEpRslttoIpEpAtt_source-group; } } container rsepRslttoMacEpAtt-items { uses eptrk_RsEpRslttoMacEpAtt_source-group; } } grouping ngoam_TraceRtNveRslt-group { description "Fabric Result"; leaf dstIp { config "false"; type address_Ipv4; description "Destination Node ID"; } // Maximum number of hops that the traceroute took to // reach the destination leaf maxHops { config "false"; type ngoam_Hops; description "Max Hops"; } // Prof. Name leaf sessionId { config "false"; type ngoam_SessionId; description "Name"; } leaf errorCode { config "false"; type string; description "Error Code String"; } leaf failReason { config "false"; type string; description "Failure Reason"; } leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } // Each path represents a sequence of nodes towards the // destination container pathtr-items { list PathTr-list { config "false"; key "id"; uses ngoam_PathTr-group; description "PathTr list"; } description "PathTr"; } } grouping ngoam_PathTr-group { description "PathTr"; // Identifier of the path leaf id { config "false"; type ngoam_PathId; description "ID"; } // Node represents a given node in the traceroute path. Each // node is identified by the ip address and the order represents // its placement in the path container nodetr-items { list NodeTr-list { config "false"; key "order"; uses ngoam_NodeTr-group; description "NodeTr list"; } description "NodeTr"; } } grouping ngoam_NodeTr-group { description "NodeTr"; // Node id leaf order { config "false"; type ngoam_Order; description "Order"; } leaf addr { config "false"; type address_Ipv4; description "IPv4 Address"; } leaf v6addr { config "false"; type address_Ipv6; description "IPv6 Address"; } leaf elapsedTime { config "false"; type union { type string; type uint64; } description "Elapsed Time"; } } grouping ngoam_PathTraceNveRslt-group { description "PathTrace Nve Result"; leaf dstIp { config "false"; type address_Ipv4; description "Destination Node ID"; } // Maximum number of hops that the traceroute took to // reach the destination leaf maxHops { config "false"; type ngoam_Hops; description "Max Hops"; } // Prof. Name leaf sessionId { config "false"; type ngoam_SessionId; description "Name"; } leaf errorCode { config "false"; type string; description "Error Code String"; } leaf failReason { config "false"; type string; description "Failure Reason"; } leaf verbose { config "false"; type string; description "Verbose info, fabric specific verbose info from the replies"; } leaf descr { config "false"; type action_Descr; description "Description"; } // Time that the task started leaf startTs { config "false"; type mo_TStamp; description "TBD"; } // Task rule type leaf type { config "false"; type action_Type; description "TBD"; } leaf rSz { config "false"; type action_RetentionSize; description "TBD"; } // Retention time of task results leaf rTm { config "false"; type action_RetentionTime; description "TBD"; } leaf peerClassId { config "false"; type string; } // Qualifier for the above status leaf qual { config "false"; type action_Qual; description "TBD"; } leaf ack { config "false"; type boolean; } // Time that the task ended leaf endTs { config "false"; type mo_TStamp; description "TBD"; } // Runtime status of the task leaf operSt { config "false"; type action_OperSt; description "Runtime status of the task"; } // Each path represents a sequence of nodes towards the // destination container pathptr-items { list PathPtr-list { config "false"; key "id"; uses ngoam_PathPtr-group; description "PathPtr list"; } description "PathPtr"; } } grouping ngoam_PathPtr-group { description "PathPtr"; // Identifier of the path leaf id { config "false"; type ngoam_PathId; description "ID"; } // Node represents a given node in the traceroute path. Each // node is identified by the ip address and the order represents // its placement in the path container nodeptr-items { list NodePtr-list { config "false"; key "order"; uses ngoam_NodePtr-group; description "NodePtr list"; } description "NodePtr"; } } grouping ngoam_NodePtr-group { description "NodePtr"; // Node id leaf order { config "false"; type ngoam_Order; description "Order"; } leaf addr { config "false"; type address_Ipv4; description "IPv4 Address"; } leaf v6addr { config "false"; type address_Ipv6; description "IPv6 Address"; } leaf nodeName { config "false"; type string; description "Node name"; } leaf elapsedTime { config "false"; type union { type string; type uint64; } description "Elapsed Time"; } leaf ingressIf { config "false"; type string; description "Interface ID"; } leaf ingressIfState { config "false"; type string; description "Interface If state"; } leaf rxLen { config "false"; type uint64; description "Rx Len"; } leaf rxBytes { config "false"; type uint64; description "Rx Bytes"; } leaf rxPktRate { config "false"; type uint64; description "Rx Packet Rate"; } leaf rxByteRate { config "false"; type uint64; description "Rx Byte Rate"; } leaf rxLoad { config "false"; type uint64; description "Rx Load"; } leaf rxUcast { config "false"; type uint64; description "Rx Ucast"; } leaf rxMcast { config "false"; type uint64; description "Rx Mcast"; } leaf rxBcast { config "false"; type uint64; description "Rx Bcast"; } leaf rxDiscards { config "false"; type uint64; description "Rx Discards"; } leaf rxErrors { config "false"; type uint64; description "Rx Errors"; } leaf rxUnknown { config "false"; type uint64; description "Rx Unknown"; } leaf rxBandwidth { config "false"; type uint32; description "Rx Bandwidth"; } leaf egressIf { config "false"; type string; description "Egress Interface Name"; } leaf egressIfState { config "false"; type string; description "Egress Interface State"; } leaf txLen { config "false"; type uint64; description "Tx Len"; } leaf txBytes { config "false"; type uint64; description "Tx Bytes"; } leaf txPktRate { config "false"; type uint64; description "Tx Packet Rate"; } leaf txByteRate { config "false"; type uint64; description "Tx Byte Rate"; } leaf txLoad { config "false"; type uint64; description "Tx Load"; } leaf txUcast { config "false"; type uint64; description "Tx Ucast"; } leaf txMcast { config "false"; type uint64; description "Tx Mcast"; } leaf txBcast { config "false"; type uint64; description "Tx Bcast"; } leaf txDiscards { config "false"; type uint64; description "Tx Discards"; } leaf txErrors { config "false"; type uint64; description "Tx Errors"; } leaf txBandwidth { config "false"; type uint32; description "Tx Bandwidth"; } } grouping file_RsARemoteHostToEpg_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping file_RsARemoteHostToEpp_source-group { description "Relation to Remote Host Reachability EPP"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping infra_RtFexBndlGrpToAggrIf_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping infra_RtAccBndlGrpToAggrIf_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping datetime_RsNtpProviderToNtpAuth_source-group { description "Ntp Authentication Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping dbgexp_RtDbgexpUserCtx_target-group { description "Relation to L3 Context Export Policy"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping dbgexp_RtDbgexpTsSrc_target-group { description "Relation to Traceroute Source Node"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping span_RtSpanSrcToVPort_target-group { description "Relation to SPAN Source to Port"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping span_RtSpanDestToVPort_target-group { description "Relation to VSPAN Destination Vport"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvEPgDefToL3Dom_target-group { description "EPgDef to L3 Domain Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvEPgDefToL2Dom_target-group { description "EPgDef to L2 Domain Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RsHyper_source-group { description "Hypervisor"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping traceroutep_RtTraceroutepTrSrc_target-group { description "Relation to Source Node"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping traceroutep_RtTraceroutepTrDst_target-group { description "Relation to Traceroute Destination"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping dhcp_RsPseudoIf_source-group { description "Pseudo Interface"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping dhcp_RtPseudoIf_target-group { description "Pseudo Interface"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqptdiagp_RtSupCOdDiag_target-group { description "Relation to Supervisor Module"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqptdiagp_RtLcOdDiag_target-group { description "Relation to Linecard"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqptdiagp_RtExtChCardOdDiag_target-group { description "Relation to Extended Chassis Module"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqptdiagp_RtLpOdDiag_target-group { description "Relation to Leaf Port for On-Demand Diag Policy"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqptdiagp_RtFpOdDiag_target-group { description "Relation to Fabric Port for On-Demand Diag Policy"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqptdiagp_RtFcOdDiag_target-group { description "Relation to Fabric Module"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqptdiagp_RtSysCOdDiag_target-group { description "Relation to System Controller Module"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fabric_RtOosSlot_target-group { description "Out of Service Slot"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fabric_RtFabricResRadiusEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fabric_RtFabricResLdapEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fabric_RtFabricResTacacsPlusEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fabric_RtFabricResAuthRealm_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fabric_RtFabricResUserEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fabric_RtFabricResPkiEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsExtBD_source-group { description "External BD Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsBdVsanMap_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } // oper state leaf assocOperSt { config "false"; type l2_AssocOperSt; description "Operational State"; } } grouping l2_RsPathDomAtt_source-group { description "Port Domain Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } // native vlan leaf type { config "false"; type l2_NativeT; description "Send/Receive Untagged Packets"; } } grouping l2_RsVlanCfgPolicyAtt_source-group { description "Vlan Config Reference to Analytics Policy."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RtL2VlanCfgPolicyAtt_target-group { description "Vlan Config Reference to Analytics Policy."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsInbandConf_source-group { description "Inband Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RtInbandConf_target-group { description "Inband Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsExtConf_source-group { description "Eth Interface Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RtExtConf_target-group { description "Eth Interface Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsBrConf_source-group { description "Eth Interface Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RtBrConf_target-group { description "Eth Interface Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsEncEthSwConf_source-group { description "Parent If"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RtL2EncEthSwConf_target-group { description "Parent If"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsEthIf_source-group { description "Ethernet Interface"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RtL2EthIf_target-group { description "Ethernet Interface"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping lldp_RsLldpInstPolCons_source-group { description "Lldp Instance Policy Consumption"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping vpc_RsVpcConf_source-group { description "Port Channel Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping vpc_RtVpcConf_target-group { description "Port Channel Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping vpc_RsVpcConfVeth_source-group { description "Vethernet Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping vpc_RtVpcConfVeth_target-group { description "Vethernet Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping vpc_RsVpcInstPolCons_source-group { description "Vpc Instance Policy Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RsDomDefNs_source-group { description "VXLAN Pool"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RsDomDefNsLocal_source-group { description "VXLAN Pool"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvEpDefRefToStAdjEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvEpDefRefToL2MacEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvEpDefRefToStAdjEpV6_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RsVNode_source-group { description "Relation to Virtual Node"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvVNode_target-group { description "Relation to Virtual Node"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RsLNode_source-group { description "Distributed Virtual Switch"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvToDomDef_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvDomIfConn_target-group { description "Domain Interface Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fv_RtFvNodePortAtt_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping maint_RtMaintFwinstlsrc_target-group { description "Relation to Source Node"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping isis_RsNhAtt_source-group { description "IS-IS Nexthop Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping mgmt_RsRtdMgmtConf_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping mgmt_RtRtdMgmtConf_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsL3If_source-group { description "L3 Interface Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping snmp_RsCommSecPClientGrpAtt_source-group { description "Community Security Policy Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping snmp_RsCommToCtxAtt_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } // Operational state leaf operSt { config "false"; type nw_OSSum; description "Operational State"; } // Operational state qualifier leaf operStQual { config "false"; type nw_OSSumQual; description "Operational State Qualifier"; } } grouping ospf_RtOspfIfDefToOspfIf_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping ospf_RtOspfIfDefToOspfv3If_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping comm_RtCommKeyRing_target-group { description "Key Ring"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aaa_RsSecProvToEpg_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping aaa_RtAaaUserEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aaa_RtAaaLoginDomain_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aaa_RtPreLoginBanner_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aaa_RtAaaKeyringRef_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aaa_RtAaaRbacEp_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RsVtepAtt_source-group { description "Link To Tunnel Intf Entry"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RtAggregateVtepAtt_target-group { description "Link To Tunnel Intf Entry"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RsVlanMemberAtt_source-group { description "Vlan Membership Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RtAggregateVlanMemberAtt_target-group { description "Vlan Membership Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RsMac_source-group { description "Tunnel Mac Entry"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RtMac_target-group { description "Tunnel Mac Entry"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RsVpcIntfEntryAtt_source-group { description "Vpc Interface Entry Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping aggregate_RtVpcIntfEntryAtt_target-group { description "Vpc Interface Entry Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping analytics_RsRecordPAtt_source-group { description "Record Policy Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping analytics_RsCollectorAtt_source-group { description "Reference to Collector"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping analytics_RsProfAtt_source-group { description "Reference to profile."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping analytics_RsPolicyAtt_source-group { description "Reference to policy."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping analytics_RsEventsAtt_source-group { description "Reference to FTE Events"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping analytics_RsMonitorAtt_source-group { description "Reference to Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping epm_RsMacEpToIpEpAtt_source-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eptrk_RsIpEpRslttoIpEpAtt_source-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eptrk_RtIpEpRslttoIpEpAtt_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eptrk_RsEpRslttoMacEpAtt_source-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eptrk_RtEpRslttoMacEpAtt_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eptrk_RsMacEpRslttoIpEpAtt_source-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eptrk_RtMacEpRslttoIpEpAtt_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping fte_RsRecordAtt_source-group { description "Attach FTE Record to FTE Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping fte_RsCollectorAtt_source-group { description "Attach FTE Collector to FTE Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping fte_RsEventsAtt_source-group { description "Attach FTE Events to FTE Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping fte_RsMonitorAtt_source-group { description "Attach FTE Monitor to System FTE"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping bd_RsCollectorAtt_source-group { description "Attach Buffer Drop Collector to Buffer Drop Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping bd_RsMonitorAttch_source-group { description "Monitor Attachment to System Buffer Drop"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping bl_RsRecordAtt_source-group { description "Attach Buffer Latency Record to Buffer Latency Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping bl_RsCollectorAtt_source-group { description "Attach Buffer Latency Collector to Buffer Latency Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping bl_RsThresholdAtt_source-group { description "Queue Config Attachment to Threshold Values"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping bl_RsMonitorAttch_source-group { description "Monitor Attachment to System Buffer Latency"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipt_RsSourcerecordAtt_source-group { description "Attach INT Clone MD Source Record to INT Clone MD Source Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipt_RsSinkcollectorAtt_source-group { description "Collector Attachment to System Sink Monitor INT Clone MD"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipt_RsSinkrecordAtt_source-group { description "Sink Record Attachment to System Sink Monitor INT Clone MD"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipt_RsSourcemonitorAtt_source-group { description "Source Monitor Attachment to System"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } leaf error { config "false"; type uint64; description "Runtime failure code"; } } grouping ipt_RsSinkmonitorAtt_source-group { description "Sink Monitor Attachment to System"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping inbandTelemetry_RsRecordPAtt_source-group { description "Record Policy Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping inbandTelemetry_RsCollectorAtt_source-group { description "Reference to Collector"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping inbandTelemetry_RsWatchlistAtt_source-group { description "Reference to Watchlist"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping inbandTelemetry_RsDroplistAtt_source-group { description "Reference to Droplist"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping inbandTelemetry_RsMonitorAtt_source-group { description "Reference to Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipqos_RsPolicyInstToPMap_source-group { description "Link from policy instance to policy-map"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipqos_RtIpqosPolicyInstToPMap_target-group { description "Link from policy instance to policy-map"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipqos_RsClassMapToPolicyMap_source-group { description "policy-maps using this class-map"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ipqos_RtClassMapToPolicyMap_target-group { description "policy-maps using this class-map"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping flow_RsRecord_source-group { description "Reference to flow record"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping flow_RsExporter1_source-group { description "Reference to flow exporter1"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping flow_RsExporter2_source-group { description "Reference to flow exporter2"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping flow_RsMonitor_source-group { description "Reference to flow monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping flow_RsHwProfile_source-group { description "Reference to hardware profile"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping flow_RsPmap_source-group { description "Reference to policy-map"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping netflow_RsRecordPAtt_source-group { description "Reference to the record that is to be used under this monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping netflow_RsCollectorAtt_source-group { description "Reference to the collector that is to be used under this monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping netflow_RsProfAtt_source-group { description "Reference to profile attachement"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping netflow_RsMonitorAtt_source-group { description "Reference to the monitor that is to be used under this interface"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } leaf protocol { type netflow_FltType; description "TBD"; } leaf flowDirection { type netflow_DirectionT; description "TBD"; } leaf error { config "false"; type uint64; description "Runtime failure code"; } } grouping ssx_RsRecordPAtt_source-group { description "Record Policy Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ssx_RsCollectorAtt_source-group { description "Reference to Collector"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ssx_RsSysMonitorAtt_source-group { description "Reference to Monitor"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ssx_RsMonitorAtt_source-group { description "Reference to Monitor"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping telemetry_RsSensorGroupRel_source-group { description "Link to sensorGroup entry"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } leaf sampleIntvl { type telemetry_sampleIntvlType; description "Sensor sample inteval"; } } grouping telemetry_RsDestGroupRel_source-group { description "Link to destGroup entry"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ip_RsIpAddr_source-group { description "IF Policy Attachement"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ip_RsRtDefIpAddr_source-group { description "Route Def Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ip_RsAddrToIpDef_source-group { description "IpDef attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping ip_RsRouteToRouteDef_source-group { description "Route Def Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping ip_RsRouteToIfConn_source-group { description "Route if Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping ip_RsNexthopToNexthopDef_source-group { description "Nexthop Def Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping ip_RsNexthopToProtG_source-group { description "Protection Group Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l1_RsEthIntfPolicyAtt_source-group { description "Interface Reference to Analytics policy."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l1_RtL1EthIntfPolicyAtt_target-group { description "Interface Reference to Analytics policy."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l1_RsEthIfToVethIf_source-group { description "Association to the veths bound to this interface"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l1_RtEthIfToVethIf_target-group { description "Association to the veths bound to this interface"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping ethpm_RsErrDisRecoverPolCons_source-group { description "ErrDisableRecovery Policy Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping pc_RsMbrIfs_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } // channel-group force leaf isMbrForce { type pc_ChnlGrpForce; description "Channel group force"; } } grouping pc_RtMbrIfs_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping pc_RsLacpPolCons_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping pc_RsPcIntfPolicyAtt_source-group { description "Interface Reference to Analytics policy."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping pc_RtPcPcIntfPolicyAtt_target-group { description "Interface Reference to Analytics policy."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping vlan_RsVlanEppAtt_source-group { description "Epp Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsDscpRuleAtt_source-group { description "DSCP Rule Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } // Qos Class operational state leaf operState { config "false"; type qosp_OperSt; description "Operational State"; } // Rule operational state disabled reason leaf operStQual { config "false"; type qosp_OperStQual; description "Operational State Qualifier"; } } grouping l2_RtL2DscpRuleAtt_target-group { description "DSCP Rule Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_RsDot1pRuleAtt_source-group { description "Dot1p Rule Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } // Qos Class operational state leaf operState { config "false"; type qosp_OperSt; description "Operational State"; } // Rule operational state disabled reason leaf operStQual { config "false"; type qosp_OperStQual; description "Operational State Qualifier"; } } grouping l2_RtL2Dot1pRuleAtt_target-group { description "Dot1p Rule Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping vxlan_RsVxlanEppAtt_source-group { description "Epp Attachement"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping nvo_RsOperSourceInterface_source-group { description "Operational Up/Down status of the Source Interface."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping nvo_RtOperSourceInterface_target-group { description "Operational Up/Down status of the Source Interface."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsCtxToEpP_source-group { description "Epp Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsVrfMbr_source-group { description "VRF Membership Association"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RtVrfMbr_target-group { description "VRF Membership Association"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsVrfPolicyAtt_source-group { description "Vrf Reference to Analytics policy."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RtL3VrfPolicyAtt_target-group { description "Vrf Reference to Analytics policy."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsVrfMonitorAtt_source-group { description "Vrf Reference to Analytics monitor."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RtL3VrfMonitorAtt_target-group { description "Vrf Reference to Analytics monitor."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsPhysRtdConf_source-group { description "Physical Routed Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RtPhysRtdConf_target-group { description "Physical Routed Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsProtLbIf_source-group { description "Protection Group"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } // Interface Mode leaf mode { type ip_IfMode; description "TBD"; } } grouping l3_RsLbIfToLocale_source-group { description "Router Id"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsLbIfToOutRef_source-group { description "Router Id"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RsEncPhysRtdConf_source-group { description "Parent If"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l3_RtL3EncPhysRtdConf_target-group { description "Parent If"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping svi_RsSviIntfPolicyAtt_source-group { description "Interface Reference to Analytics policy."; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping svi_RtSviSviIntfPolicyAtt_target-group { description "Interface Reference to Analytics policy."; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping uribv4_RsRouteOwnerToNexthopAtt_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rib_RsRouteOwnerToNexthopAtt_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRegCommAtt_source-group { description "Regular Community Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRegCommAtt_target-group { description "Regular Community Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsExtCommAtt_source-group { description "Extended Community Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtExtCommAtt_target-group { description "Extended Community Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsLargeCommAtt_source-group { description "Large Community Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapLargeCommAtt_target-group { description "Large Community Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtDstAtt_source-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtDstAtt_target-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtDstAccAtt_source-group { description "Access List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtDstAccAtt_target-group { description "Access List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtDstV6Att_source-group { description "IPv6 Prefix List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtDstV6Att_target-group { description "IPv6 Prefix List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtDstV6AccAtt_source-group { description "Access List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtDstV6AccAtt_target-group { description "Access List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtNhAtt_source-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtNhAtt_target-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtNhV6Att_source-group { description "Prefix List Attachment Ipv6"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtNhV6Att_target-group { description "Prefix List Attachment Ipv6"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtSrcAtt_source-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtSrcAtt_target-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtSrcV6Att_source-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtSrcV6Att_target-group { description "Prefix List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtAsPathAccAtt_source-group { description "Access List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtAsPathAccAtt_target-group { description "Access List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtAsnAsPathAccAtt_source-group { description "Access List Attachment"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtAsnAsPathAccAtt_target-group { description "Access List Attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RsRtMacListAtt_source-group { description "Mac List"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping rtmap_RtRtmapRtMacListAtt_target-group { description "Mac List"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping tunnel_RsTunnelMbrIfs_source-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping tunnel_RtTunnelTunnelMbrIfs_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping tunnel_RsTunnelToLooseNode_source-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqpt_RsMonPolModulePolCons_source-group { description "The monitoring policy consumed by this physical card"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqpt_RsIoPPhysConf_source-group { description "Thw physical interface attachment information"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqpt_RtIoPPhysConf_target-group { description "Thw physical interface attachment information"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping eqpt_RsPsuInstPolCons_source-group { description "The power supply group policy attachment"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping bfd_RsMbrSess_source-group { description "Port-Channel Member Sessions"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping pim_RsRP2Grange_source-group { description "RP to Group range mapping"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping synthetic_RsToObj_source-group { // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping synthetic_RtToObj_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping synthetic_RtPhysIf_target-group { // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping cnw_RsMbrIfs_source-group { description "Member Iinterfaces"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping cnw_RtMbrIfs_target-group { description "Member Iinterfaces"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping cnw_RsActiveIf_source-group { description "Active Interface"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping cnw_RtActiveIf_target-group { description "Active Interface"; // Target Object's DN leaf tDn { config "false"; type reln_Dn; description "Target object's DN and is implicit"; } } grouping action_RsLSubjToDomainRef_source-group { description "Relation from LSubj To AAA Domain Ref"; // Target Object's DN leaf tDn { type reln_Dn; description "Target object's DN and is implicit"; } } grouping l2_VlanStats-group { description "Vlan counters"; leaf inUcastOctets { config "false"; type uint64; description "ucastOctets"; } leaf inUcastPkts { config "false"; type uint64; description "Unicast packets"; } leaf inMcastOctets { config "false"; type uint64; description "Multicast Octets"; } leaf inMcastPkts { config "false"; type uint64; description "Multicast packets"; } leaf inBcastOctets { config "false"; type uint64; description "Broadcast Octets"; } leaf inBcastPkts { config "false"; type uint64; description "Broadcast packets"; } leaf inL3UcastOctets { config "false"; type uint64; description "ingress L3 SVI Unicast Octets"; } leaf inL3UcastPkts { config "false"; type uint64; description "ingress L3 SVI Unicast Packets"; } leaf outUcastOctets { config "false"; type uint64; description "ucastOctets"; } leaf outUcastPkts { config "false"; type uint64; description "Unicast packets"; } } grouping analytics_Statistics-group { description "Analytics Statistics"; leaf flowCreateCe { config "false"; type uint64; description "Number of L2 flows created on the slice"; } leaf flowCreateIPv4 { config "false"; type uint64; description "Number of IPv4 flows created on the slice"; } leaf flowCreateIPv6 { config "false"; type uint64; description "Number of IPv6 flows created on the slice"; } leaf flowHitCe { config "false"; type uint64; description "Number of L2 flows hitting the flow table"; } leaf flowHitIPv4 { config "false"; type uint64; description "Number of IPv4 flows hitting the flow table"; } leaf flowHitIPv6 { config "false"; type uint64; description "Number of IPv6 flows hitting the flow table"; } leaf packetsSeen { config "false"; type uint64; description "Total number of packets seen on the slice"; } leaf export { config "false"; type uint64; description "Total number of export packets sent from the slice"; } leaf skipCollect { config "false"; type uint64; description "Total number of packets not accounted for flow creation on the slice"; } leaf lastCollectTs { config "false"; type uint64; description "Last timestamp when packets were sent to the collector"; } } grouping rmon_IfIn-group { description "Interface Input Counters"; leaf octets { config "false"; type uint64; description "Octets"; } leaf ucastPkts { config "false"; type uint64; description "Unicast Packets"; } leaf nUcastPkts { config "false"; type uint64; description "Non Unicast Packets"; } leaf discards { config "false"; type uint64; description "Discard Packets"; } leaf errors { config "false"; type uint64; description "Error Packets"; } leaf unknownProtos { config "false"; type uint64; description "Unknown Protocol Packets"; } leaf unknownEtype { config "false"; type uint64; description "Unknown Ether Type Packets"; } leaf broadcastPkts { config "false"; type uint64; description "Broadcast Packets"; } leaf multicastPkts { config "false"; type uint64; description "Multicast Packets"; } leaf noBuffer { config "false"; type uint64; description "No Buffer"; } leaf rateInterval { config "false"; type uint32; description "Rate Interval"; } leaf octetRate { config "false"; type uint64; description "Octet Rate"; } leaf packetRate { config "false"; type uint64; description "Packet Rate"; } } grouping rmon_IfOut-group { description "Interface Output Counters"; leaf octets { config "false"; type uint64; description "Octets"; } leaf ucastPkts { config "false"; type uint64; description "Unicast Packets"; } leaf nUcastPkts { config "false"; type uint64; description "Non Unicast Packets"; } leaf discards { config "false"; type uint64; description "Discard Packets"; } leaf errors { config "false"; type uint64; description "Error Packets"; } leaf qLen { config "false"; type uint64; description "Queue Length Packets"; } leaf broadcastPkts { config "false"; type uint64; description "Broadcast Packets"; } leaf multicastPkts { config "false"; type uint64; description "Multicast Packets"; } leaf rateInterval { config "false"; type uint32; description "Rate Interval"; } leaf octetRate { config "false"; type uint64; description "Octet Rate"; } leaf packetRate { config "false"; type uint64; description "Packet Rate"; } } grouping rmon_IpIn-group { description "IPV4 Input Counters"; leaf receives { config "false"; type uint64; description "Receives"; } leaf hdrErrors { config "false"; type uint64; description "Header Error Packets"; } leaf forwDatagrams { config "false"; type uint64; description "Forward Datagram Packets"; } leaf discards { config "false"; type uint64; description "Discard Packets"; } } grouping rmon_Dot1d-group { description "Dot1d Counters"; leaf basePortDelayExceededDiscards { config "false"; type uint64; description "Base Port Delay Exceeded Discard Packets"; } leaf basePortMtuExceededDiscards { config "false"; type uint64; description "Base Port MTU Exceeded Discard Packets"; } leaf tpPortInFrames { config "false"; type uint64; description "TP Port Input Frames"; } leaf tpPortOutFrames { config "false"; type uint64; description "TP Port Output Frames"; } leaf portInDiscards { config "false"; type uint64; description "Port Input Discraded Packets"; } } grouping rmon_EtherStats-group { description "Ethernet Statistic Counters"; leaf dropEvents { config "false"; type uint64; description "Drop Event Packets"; } leaf multicastPkts { config "false"; type uint64; description "Multicast Packets"; } leaf broadcastPkts { config "false"; type uint64; description "Broadcast Packets"; } leaf undersizePkts { config "false"; type uint64; description "Undersize Packets"; } leaf giantPkts { config "false"; type uint64; description "Giant Packets"; } leaf stormSupressedPkts { config "false"; type uint64; description "Storm Supressed Packets"; } leaf fragments { config "false"; type uint64; description "Fragmented Packets"; } leaf pkts64Octets { config "false"; type uint64; description "Packets with 64 Octets"; } leaf pkts65to127Octets { config "false"; type uint64; description "Packets with 65 to 127 Octets"; } leaf pkts128to255Octets { config "false"; type uint64; description "Packets with 128 to 255 Octets"; } leaf pkts256to511Octets { config "false"; type uint64; description "Packets with 256 to 511 Octets"; } leaf pkts512to1023Octets { config "false"; type uint64; description "Packets with 512 to 1023 Octets"; } leaf pkts1024to1518Octets { config "false"; type uint64; description "Packets with 1024 to 1518 Octets"; } leaf pkts1519to1548Octets { config "false"; type uint64; description "Packets with 1519 to 1548 Octets"; } leaf pkts1519to2500Octets { config "false"; type uint64; description "Packets with 1519 to 2500 Octets"; } leaf rxPkts64Octets { config "false"; type uint64; description "RX Packets with 64 Octets"; } leaf txPkts64Octets { config "false"; type uint64; description "TX Packets with 64 Octets"; } leaf rxPkts65to127Octets { config "false"; type uint64; description "RX Packets with 65 to 127 Octets"; } leaf txPkts65to127Octets { config "false"; type uint64; description "TX Packets with 65 to 127 Octets"; } leaf rxPkts128to255Octets { config "false"; type uint64; description "RX Packets with 128 to 255 Octets"; } leaf txPkts128to255Octets { config "false"; type uint64; description "TX Packets with 128 to 255 Octets"; } leaf rxPkts256to511Octets { config "false"; type uint64; description "RX Packets with 256 to 511 Octets"; } leaf txPkts256to511Octets { config "false"; type uint64; description "TX Packets with 256 to 511 Octets"; } leaf rxPkts512to1023Octets { config "false"; type uint64; description "RX Packets with 512 to 1023 Octets"; } leaf txPkts512to1023Octets { config "false"; type uint64; description "TX Packets with 512 to 1023 Octets"; } leaf rxPkts1024to1518Octets { config "false"; type uint64; description "RX Packets with 1024 to 1518 Octets"; } leaf txPkts1024to1518Octets { config "false"; type uint64; description "TX Packets with 1024 to 1518 Octets"; } leaf rxPkts1519to1548Octets { config "false"; type uint64; description "RX Packets with 1519 to 1548 Octets"; } leaf txPkts1519to1548Octets { config "false"; type uint64; description "TX Packets with 1519 to 1548 Octets"; } leaf rxPkts1519to2500Octets { config "false"; type uint64; description "RX Packets with 1519 to 2500 Octets"; } leaf txPkts1519to2500Octets { config "false"; type uint64; description "TX Packets with 1519 to 2500 Octets"; } leaf oversizePkts { config "false"; type uint64; description "Over Size Packets"; } leaf jabbers { config "false"; type uint64; description "Jabber Frames"; } leaf octets { config "false"; type uint64; description "Octets"; } leaf pkts { config "false"; type uint64; description "Packets"; } leaf collisions { config "false"; type uint64; description "Collisions"; } leaf cRCAlignErrors { config "false"; type uint64; description "CRC Align Errors"; } leaf stompedCRCAlignErrors { config "false"; type uint64; description "Stomped CRC Align Errors"; } leaf tXNoErrors { config "false"; type uint64; description "TX no Errors"; } leaf rXNoErrors { config "false"; type uint64; description "RX no Errors"; } leaf rxOversizePkts { config "false"; type uint64; description "RX Over Size Packets"; } leaf txOversizePkts { config "false"; type uint64; description "TX Over Size Packets"; } leaf overrun { config "false"; type uint64; description "Overrun Packets"; } leaf underrun { config "false"; type uint64; description "Underrun Packets"; } leaf ignored { config "false"; type uint64; description "Ignored Packets"; } leaf watchdog { config "false"; type uint64; description "Watchdog"; } leaf ifdowndrop { config "false"; type uint64; description "If Down Drop"; } } grouping rmon_Dot3Stats-group { description "Dot3 Statistics Counters"; leaf alignmentErrors { config "false"; type uint64; description "Alignment Errors"; } leaf fCSErrors { config "false"; type uint64; description "FCS Errors"; } leaf singleCollisionFrames { config "false"; type uint64; description "Single Collision Frames"; } leaf multipleCollisionFrames { config "false"; type uint64; description "Multiple Collision Frames"; } leaf sQETTestErrors { config "false"; type uint64; description "SQET Test Errors"; } leaf deferredTransmissions { config "false"; type uint64; description "Deferred Transmissions"; } leaf lateCollisions { config "false"; type uint64; description "Late Collisions"; } leaf excessiveCollisions { config "false"; type uint64; description "Excessive Collisions"; } leaf internalMacTransmitErrors { config "false"; type uint64; description "Internal Mac Transmit Errors"; } leaf carrierSenseErrors { config "false"; type uint64; description "Carrier Sense Errors"; } leaf frameTooLongs { config "false"; type uint64; description "Frame too Longs"; } leaf internalMacReceiveErrors { config "false"; type uint64; description "Internal Mac Receive Errors"; } leaf symbolErrors { config "false"; type uint64; description "Symbol Errors"; } leaf controlInUnknownOpcodes { config "false"; type uint64; description "Control Input Unknown Opcodes"; } leaf inPauseFrames { config "false"; type uint64; description "Input Pause Frames"; } leaf outPauseFrames { config "false"; type uint64; description "Output Pause Frames"; } leaf lostCarrierErrors { config "false"; type uint64; description "Lost Carrier Errors"; } leaf noCarrierErrors { config "false"; type uint64; description "No Carrier Errors"; } leaf inputdribble { config "false"; type uint64; description "Input Dribble"; } leaf babble { config "false"; type uint64; description "babble count"; } leaf runts { config "false"; type uint64; description "runts count"; } } grouping rmon_IfHCIn-group { description "Interface HC Input Counters"; leaf octets { config "false"; type uint64; description "Octets"; } leaf ucastPkts { config "false"; type uint64; description "Unicast Packets"; } leaf multicastPkts { config "false"; type uint64; description "Multicast Packets"; } leaf broadcastPkts { config "false"; type uint64; description "Broadcast Packets"; } } grouping rmon_IfHCOut-group { description "Interface HC Output Counters"; leaf octets { config "false"; type uint64; description "Octets"; } leaf ucastPkts { config "false"; type uint64; description "Unicast Packets"; } leaf multicastPkts { config "false"; type uint64; description "Multicast Packets"; } leaf broadcastPckts { config "false"; type uint64; description "Broadcast Packets"; } leaf broadcastPkts { config "false"; type uint64; description "Broadcast Packets"; } } grouping rmon_Ipv6IfStats-group { description "Ipv6 Interface Statistics Counters"; leaf inReceives { config "false"; type uint64; description "Input Receives"; } leaf inHdrErrors { config "false"; type uint64; description "Input Header Errors"; } leaf inAddrErrors { config "false"; type uint64; description "Input Address Errors"; } leaf inDiscards { config "false"; type uint64; description "Input Discards"; } leaf outForwDatagrams { config "false"; type uint64; description "Output Forward Datagrams"; } leaf outDiscards { config "false"; type uint64; description "Output Discards"; } leaf inMcastPkts { config "false"; type uint64; description "Input Multicast Packets"; } leaf outMcastPkts { config "false"; type uint64; description "Output Multicast Packets"; } } grouping rmon_IfStorm-group { description "Interface Storm Drop Counters"; leaf dropBytes { config "false"; type uint64; description "Storm Ctrl Drop Bytes"; } } grouping rmon_MacsecStats-group { description "Macsec Statistic Counters"; leaf inputRateUncontrolledBps { config "false"; type uint64; description "Input Uncontrolled Octet Rate"; } leaf inputRateUncontrolledPps { config "false"; type uint64; description "Input Uncontrolled Packet Rate"; } leaf inputRateControlledBps { config "false"; type uint64; description "Input Controlled Octet Rate"; } leaf inputRateControlledPps { config "false"; type uint64; description "Input Controlled Packet Rate"; } leaf outputRateUncontrolledBps { config "false"; type uint64; description "Output Uncontrolled Octet Rate"; } leaf outputRateUncontrolledPps { config "false"; type uint64; description "Output Uncontrolled Packet Rate"; } leaf outputRateControlledBps { config "false"; type uint64; description "Output Controlled Octet Rate"; } leaf outputRateControlledPps { config "false"; type uint64; description "Output Controlled Packet Rate"; } } grouping tunnel_IngrTep-group { description "Ingress TEP Counters"; leaf fwdPkts { config "false"; type uint64; description "Forwarded Packets"; } leaf fwdBytes { config "false"; type uint64; description "Forwarded Bytes"; } leaf dropPkts { config "false"; type uint64; description "Drop Packets"; } leaf dropBytes { config "false"; type uint64; description "Drop Bytes"; } } grouping tunnel_EgrTep-group { description "Egress TEP Counters"; leaf fwdPkts { config "false"; type uint64; description "Forwarded Packets"; } leaf fwdBytes { config "false"; type uint64; description "Forwarded Bytes"; } leaf dropPkts { config "false"; type uint64; description "Drop Packets"; } leaf dropBytes { config "false"; type uint64; description "Drop Bytes"; } } container System { description "General information about this system"; uses System-group; } // // Copyright 2015-2021 Cisco Systems Inc. // All rights reserved. // //----------------------------------------- // RPC Defintions for Cisco-NX-OS //----------------------------------------- identity inactive { description "Inactive"; } typedef uri_t { type string; description "A Uniform Resource Identifier type"; } typedef pkgname_t { type string; description "A package name type"; } typedef addtgt_t { type union { type pkgname_t; type uri_t; } description "The add target { | }"; } typedef remtgt_t { type union { type pkgname_t; type identityref { base "inactive"; } } description "The remove target { | inactive }"; } typedef filesystem_t { type string; description "A filesystem"; } typedef intf_t { type string; description "An interface"; } typedef vrfname_t { type string; description "A VRF name"; } typedef climode_t { type enumeration { enum EXEC { description "EXEC CLI Commands"; } enum CONFIG { description "CONFIG CLI Commands"; } } description "A CLI mode"; } typedef commandline_t { type string; description "A CLI Command Line"; } typedef outmessage_t { type string; description "Text-formatted CLI response information"; } typedef datastore_t { type enumeration { enum running { description "Running datastore"; } enum candidate { description "Candidate datastore"; } } description "Type of datastore"; } typedef difftype_t { type enumeration { enum xml-text { description "Straight textual diff on XML outputs"; } enum xml { description "XML with augmented status attributes"; } } description "Type of diff report generated"; } //----------------------------------------- rpc cli { description "Execute a CLI command"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html"; input { leaf mode { type climode_t; description "Specifies the mode: EXEC, CONFIG "; } leaf cmdline { type commandline_t; description "Specifies the CLI command line to execute"; } } // end input output { leaf message { type outmessage_t; description "Contains textual CLI response information"; } anyxml data { description "Contains the CLI response in XML format"; } } // end output } //----------------------------------------- rpc install_all_nxos { description "Upgrade the system software"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf nxos { type uri_t; description "NXOS boot-variable name, image URI"; } choice A { description "Choice A"; leaf no-reload { type empty; description "Exit right before reload during install"; } leaf noswitchover { type empty; description "Exit right before reload during install"; } } // end choice A choice B { description "Choice B"; leaf bios { type empty; description "BIOS Only"; } leaf no-save { type empty; description "Exit right before reload during install"; } } // end choice B leaf bios-force { type empty; description "Forcefully upgrade bios"; } leaf non-interruptive { type empty; description "Non-Interruptive install."; } } // end input } //----------------------------------------- rpc install_force_all_nxos { description "Force upgrade of the system software"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf nxos { type uri_t; description "NXOS boot-variable name, image URI"; } choice B { description "Choice B"; leaf no-reload { type empty; description "Exit right before reload during install"; } leaf noswitchover { type empty; description "Exit right before reload during install"; } } // end choice B choice C { description "Choice C"; leaf bios { type empty; description "BIOS Only"; } leaf no-save { type empty; description "Exit right before reload during install"; } } // end choice C leaf bios-force { type empty; description "Forcefully upgrade bios"; } leaf non-interruptive { type empty; description "Non-Interruptive install."; } } // end input } //----------------------------------------- rpc install_add { description "Add package"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf add { type addtgt_t; description "Add package via name or URI"; } leaf vrf { type vrfname_t; description "Display per-VRF information of known VRF name"; } choice A { description "Choice A"; leaf upgrade { type empty; description "Upgrade package"; } leaf downgrade { type empty; description "Downgrade package"; } leaf initial { type empty; description "Initial install"; } default initial; } // end choice A leaf forced { type empty; description "non-interactive"; } } // end input } //----------------------------------------- rpc install_activate { description "Activate package"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf activate { type pkgname_t; description "Package name"; } leaf forced { type empty; description "non-interactive"; } } // end input } //----------------------------------------- rpc install_deactivate { description "Deactivate package"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf deactivate { type pkgname_t; description "Package name"; } leaf forced { type empty; description "non-interactive"; } } // end input } //----------------------------------------- rpc install_commit { description "Commit software patch"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf commit { type pkgname_t; description "Package name"; } } // end input } //----------------------------------------- rpc install_remove { description "Remove package"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { choice remtgt { description "Remove target"; leaf remove { type remtgt_t; description "Package name or inactive (All inactive except non-committed packages)"; } leaf inactive { type empty; description "All inactive except non-committed packages"; } } leaf forced { type empty; description "Remove package"; } } // end input } //----------------------------------------- rpc copy { description "Copy startup configuration to destination"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf source { type filesystem_t; description "Select source filesystem"; } leaf destination { type filesystem_t; description "Select destination filesystem"; } leaf recursive { type empty; description "Recursively copy files and folders"; } leaf vrf { type vrfname_t; description "Display per-VRF information of known VRF name"; } } // end input } //----------------------------------------- rpc copy_src_local { description "Copy from one file to another"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf src_local { type filesystem_t; description "Select source filesystem"; } choice dest { description "Destination"; case dest_remote { leaf dest_remote { type filesystem_t; description "Select destination filesystem"; } choice A { description "Choice A"; leaf source-interface { type intf_t; description "Select source interface"; } leaf vrf { type vrfname_t; description "Display per-VRF information of known VRF name"; } } // end choice A } // end case dest_remote case dest_local { choice B { description "Choice B"; case dest_local { leaf dest_local { type filesystem_t; description "Select destination filesystem"; } } case running-config { leaf running-config { type empty; description "Copy from source to running configuration"; } leaf echo-commands { type empty; description "Echo the commands before applying them (to correlate errors)"; } leaf stop-at-first-failure { type empty; description "Stop at first error"; } } case startup-config { leaf startup-config { type empty; description "Select source interface"; } } case scheduled-config { leaf scheduled-config { type empty; description "Select source interface"; } } } // end choice B } // end case dest_local } // end choice dest } // end input } //----------------------------------------- rpc copy_src_remote { description "Copy from one file to another"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf src_remote { type filesystem_t; description "Select source filesystem"; } leaf source-interface { type intf_t; description "Select source interface"; } leaf vrf { type vrfname_t; description "Display per-VRF information of known VRF name"; } choice dest { description "Destination"; case dest-local-a { leaf dest_local { type filesystem_t; description "Select destination filesystem"; } } // end case dest-local-a case dest-local-b { leaf running-config { type empty; description "Copy from source to running configuration"; } leaf echo-commands { type empty; description "Echo the commands before applying them (to correlate errors)"; } leaf stop-at-first-failure { type empty; description "Stop at first error"; } } // end case dest-local-b case dest-local-c { leaf startup-config { type empty; description "Copy startup configuration to destination"; } } // end case dest-local-c } // end dest choice } // end input } //----------------------------------------- rpc copy_src_core { description "Copy from one file to another"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf src_core { type filesystem_t; description "Select source filesystem"; } choice dest { description "Destination"; case dest_remote { leaf dest_remote { type filesystem_t; description "Select destination filesystem"; } choice dest-a { description "Destination remote"; leaf source-interface { type intf_t; description "Select source interface"; } leaf vrf { type vrfname_t; description "Display per-VRF information of known VRF name"; } } // end chioce dest-a } // end case dest_remote case dest_local_core { leaf dest_local_core { type filesystem_t; description "Select destination filesystem"; } } // end case dest_local_core } // end choice dest } // end input } //----------------------------------------- rpc copy_running_config_src { description "Copy running configuration to destination"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf vdc-all { type empty; description "Perform copy for all vdcs"; } choice dest { description "Destination"; case dest_remote { leaf dest_remote { type filesystem_t; description "Select destination filesystem"; } choice dest-r { description "Destination remote"; leaf source-interface { type intf_t; description "Select source interface"; } leaf vrf { type vrfname_t; description "Display per-VRF information of known VRF name"; } } // end choice dest_remote } // end case dest-r case startup-config { leaf startup-config { type empty; description "Copy startup configuration to destination"; } leaf fabric { type empty; description "Copy from source to fabric startup configuration"; } } // end case startup-config case dest_local_config { leaf dest_local_config { type empty; description "Select destination filesystem"; } } } // end dest choice } // end input } //----------------------------------------- rpc copy_startup_config_src { description "Copy startup configuration to destination"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { choice dest { description "Destination"; case dest_remote { leaf dest_remote { type filesystem_t; description "Select destination filesystem"; } choice dest-r { description "Destination remote"; leaf source-interface { type intf_t; description "Select source interface"; } leaf vrf { type vrfname_t; description "Display per-VRF information of known VRF name"; } } // end choice dest-r } // end case dest_remote case running-config { leaf running-config { type empty; description "Copy from source to running configuration"; } leaf echo-commands { type empty; description "Echo the commands before applying them (to correlate errors)"; } leaf stop-at-first-failure { type empty; description "Stop at first error"; } } // end case running-config case dest_local_config { leaf dest_local_config { type empty; description "Select destination filesystem"; } } // end case dest_local_config } // end dest choice } // end input } //----------------------------------------- rpc copy_licenses { description "Copy license files"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf licenses { type uri_t; description "Specify URL (with .tar extension) for backing up license files"; } } } //----------------------------------------- rpc delete { description "Deletes a specified target file or directory"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf target { type uri_t; description "file or directory to delete"; } } // end input } //----------------------------------------- rpc delete_ca_certificate { description "Deletes the ca certificates"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; } //----------------------------------------- rpc delete_crl { description "Deletes the certificates"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; } //----------------------------------------- rpc boot_nxos { description "Boots the device"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf image { type uri_t; description "NXOS Image to boot"; } } // end input } //----------------------------------------- rpc reload { description "Reloads the device"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf module { type int32; description "Module number if reloading a specific module"; } } } //----------------------------------------- rpc dir { description "Returns directory or file information in the system, expansion flash or log flash"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/7-x/command_references/configuration_commands/b_Using_N9K_Config_Commands/b_N9K_Bookmap_chapter_010101.html#wp8018159290"; input { leaf filemask { type uri_t; description "Directory, filename or filemask"; } } // end input output { anyxml data { description "XML-formatted directory or file information"; } } } //----------------------------------------- rpc get_diff { description "Get difference between datastores"; reference "No correspopnding CLI"; input { leaf source { type datastore_t; description "Select source datastore"; } leaf target { type datastore_t; description "Select target datastore"; } leaf type { type difftype_t; description "Diff report type"; } anyxml filter { description "Subtree or XPath filter to use."; } } output { anyxml data { description "XML-formatted diff between datastores"; } } } //----------------------------------------- rpc checkpoint { description "Creates or deletes configuration rollback checkpoint"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/93x/command/reference/config/b_N9K_Config_Commands_93x/b_N9K_Config_Commands_93x_chapter_011.html#wp9669581900"; input { leaf action { type enumeration { enum create; enum delete; } default create; description "Create or delete checkpoint"; } choice location { mandatory true; description "Checkpoint export location"; case database { description "Save to checkpoint database."; leaf name { type string; mandatory true; description "Checkpoint name"; } leaf description { type string; description "Description of the checkpoint"; } } case file { description "Save checkpoint to file. Delete action not applicable."; leaf file { type filesystem_t; mandatory true; description "Checkpoint file path"; } } } } } //----------------------------------------- rpc rollback { description "Rollback running configuration"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/93x/command/reference/config/b_N9K_Config_Commands_93x/b_N9K_Config_Commands_93x_chapter_010010.html#wp4019084536"; input { choice location { mandatory true; description "Checkpoint location"; case database { leaf name { type string; description "Checkpoint name in database"; } } case file { leaf file { type filesystem_t; description "Checkpoint file path"; } } } leaf option { type enumeration { enum atomic; enum best-effort; enum stop-at-first-failure; } default atomic; description "Rollback option"; } } } //----------------------------------------- rpc import_ca_certificate { description "Import CA certificate"; reference "https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/93x/command/reference/config/b_N9K_Config_Commands_93x/b_N9K_Config_Commands_93x_chapter_011.html#wp4079532613"; input { leaf trustpoint { type string; mandatory true; description "Associated trustpoint"; } leaf pkcs12 { type filesystem_t; mandatory true; description "PKCS #12 file path"; } leaf passphrase { type string; mandatory true; description "Passphrase to decrypt the private key"; } } } }