SAVI-MIB DEFINITIONS ::=BEGIN IMPORTS MODULE-COMPLIANCE,OBJECT-GROUP FROM SNMPv2-CONF --RFC2580 MODULE-IDENTITY,OBJECT-TYPE,Unsigned32,Counter64 FROM SNMPv2-SMI --RFC2578 MacAddress,TimeInterval,RowStatus,DateAndTime FROM SNMPv2-TC --RFC2579 InterfaceIndex FROM IF-MIB --RFC2863 InetVersion,InetAddressType,InetAddress FROM INET-ADDRESS-MIB --RFC4001 ip FROM IP-MIB --RFC4293 ; saviMIB MODULE-IDENTITY LAST-UPDATED "202007240000Z" ORGANIZATION "IETF SAVI Working Group" CONTACT-INFO "WG charter: http://datatracker.ietf.org/wg/savi/charter/ Editor: Changqing An CERNET Postal: Network Research Center, Tsinghua University Beijing 100084 China Email: acq@cernet.edu.cn Jiahai Yang CERNET Postal: Network Research Center, Tsinghua University Beijing 100084 China Email: yang@cernet.edu.cn " DESCRIPTION "This MIB Module is designed to support configuration and monitoring of SAVI protocol. " REVISION "202007240000Z" DESCRIPTION "Added support for spoofing log. Added support for filtering entry log. Added support for binding table statistics. Added support for filter table statistics." REVISION "201506150000Z" DESCRIPTION "Initial version" ::= {ip 40} saviObjects OBJECT IDENTIFIER ::= { saviMIB 1 } -- System parameters for SAVI protocol saviObjectsSystemTable OBJECT-TYPE SYNTAX SEQUENCE OF SaviObjectsSystemEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing savi system-wide parameters." ::= { saviObjects 1 } saviObjectsSystemEntry OBJECT-TYPE SYNTAX SaviObjectsSystemEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing savi system-wide parameters for a particular IP version. " INDEX { saviObjectsSystemIPVersion } ::= { saviObjectsSystemTable 1 } SaviObjectsSystemEntry ::= SEQUENCE { saviObjectsSystemIPVersion InetVersion, saviObjectsSystemMode INTEGER, saviObjectsSystemMaxDhcpResponseTime TimeInterval, saviObjectsSystemDataSnoopingInterval TimeInterval, saviObjectsSystemMaxLeaseQueryDelay TimeInterval, saviObjectsSystemOffLinkDelay TimeInterval, saviObjectsSystemDetectionTimeout TimeInterval, saviObjectsSystemTentLT TimeInterval, saviObjectsSystemDefaultLT TimeInterval, saviObjectsSystemTWAIT TimeInterval, saviObjectsSystemNotifySpoofing INTEGER, saviObjectsSystemNotifyFilter INTEGER, saviObjectsSystemNotifySpoofingInterval Unsigned32, saviObjectsSystemNotifySpoofingNumber Unsigned32, saviObjectsSystemBindingCount Unsigned32, saviObjectsSystemFilteringCount Unsigned32 } saviObjectsSystemIPVersion OBJECT-TYPE SYNTAX InetVersion MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP version " ::= { saviObjectsSystemEntry 1 } saviObjectsSystemMode OBJECT-TYPE SYNTAX INTEGER { savi-disable(1), savi-default(2), savi-dhcp-only(3), savi-slaac-only(4), savi-dhcp-slaac-mix(5), savi-send(6) } MAX-ACCESS read-write STATUS current DESCRIPTION "IP Address Assignment Methods. " ::= { saviObjectsSystemEntry 2 } saviObjectsSystemMaxDhcpResponseTime OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 3 } saviObjectsSystemDataSnoopingInterval OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 4 } saviObjectsSystemMaxLeaseQueryDelay OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 5 } saviObjectsSystemOffLinkDelay OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 6 } saviObjectsSystemDetectionTimeout OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 7 } saviObjectsSystemTentLT OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 8 } saviObjectsSystemDefaultLT OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 9 } saviObjectsSystemTWAIT OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-write STATUS current DESCRIPTION "A constant. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). " ::= { saviObjectsSystemEntry 10 } saviObjectsSystemNotifySpoofing OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Spoofing log status. enable indicates that spoofing log is enabled. disable indicates that spoofing log is disabled. " ::= { saviObjectsSystemEntry 11 } saviObjectsSystemNotifyFilter OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "Filtering entry log status. enable indicates that filtering log is enabled. disable indicates that filtering log is disabled. " ::= { saviObjectsSystemEntry 12 } saviObjectsSystemNotifySpoofingInterval OBJECT-TYPE SYNTAX Unsigned32 (0|5..3600) MAX-ACCESS read-write STATUS current DESCRIPTION "Interval for spoofing log. 0, 5 to 3600s. " ::= { saviObjectsSystemEntry 13 } saviObjectsSystemNotifySpoofingNumber OBJECT-TYPE SYNTAX Unsigned32 (1..128) MAX-ACCESS read-write STATUS current DESCRIPTION "Number of spoofing log entries. 1 to 128. " ::= { saviObjectsSystemEntry 14 } saviObjectsSystemBindingCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Current binding entry count. " ::= { saviObjectsSystemEntry 15 } saviObjectsSystemFilteringCount OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Current filtering entry count. " ::= { saviObjectsSystemEntry 16 } -- Port parameters for SAVI protocol saviObjectsPortTable OBJECT-TYPE SYNTAX SEQUENCE OF SaviObjectsPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing SAVI parameters of each anchor." ::= { saviObjects 2 } saviObjectsPortEntry OBJECT-TYPE SYNTAX SaviObjectsPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing SAVI running parameters of an anchor." INDEX { saviObjectsPortIPVersion, saviObjectsPortIfIndex } ::= { saviObjectsPortTable 1 } SaviObjectsPortEntry ::= SEQUENCE { saviObjectsPortIPVersion InetVersion, saviObjectsPortIfIndex InterfaceIndex, saviObjectsPortValidatingAttr INTEGER, saviObjectsPortDhcpTrustAttr INTEGER, saviObjectsPortTrustAttr INTEGER, saviObjectsPortDhcpSnoopingAttr INTEGER, saviObjectsPortDataSnoopingAttr INTEGER, saviObjectsPortFilteringNum Unsigned32 } saviObjectsPortIPVersion OBJECT-TYPE SYNTAX InetVersion MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP version " ::= { saviObjectsPortEntry 1 } saviObjectsPortIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index value that uniquely identifies the interface to which this entry is applicable. The interface identified by a particular value of this index is the same interface as identified by the same value of the IF-MIB's ifIndex. " ::= { saviObjectsPortEntry 2 } saviObjectsPortValidatingAttr OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "An attribute defined in SAVI protocol. enable(1), the attribute is set. disable(2), the attribute is not set. " ::= { saviObjectsPortEntry 3 } saviObjectsPortDhcpTrustAttr OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "An attribute defined in SAVI protocol. enable(1), the attribute is set. disable(2), the attribute is not set. " ::= { saviObjectsPortEntry 4 } saviObjectsPortTrustAttr OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "An attribute defined in SAVI protocol. enable(1), the attribute is set. disable(2), the attribute is not set. " ::= { saviObjectsPortEntry 5 } saviObjectsPortDhcpSnoopingAttr OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "An attribute defined in SAVI protocol. enable(1), the attribute is set. disable(2), the attribute is not set. " ::= { saviObjectsPortEntry 6 } saviObjectsPortDataSnoopingAttr OBJECT-TYPE SYNTAX INTEGER { enable(1), disable(2) } MAX-ACCESS read-write STATUS current DESCRIPTION "An attribute defined in SAVI protocol. enable(1), the attribute is set. disable(2), the attribute is not set. " ::= { saviObjectsPortEntry 7 } saviObjectsPortFilteringNum OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-write STATUS current DESCRIPTION "The max filtering number of the Port." ::= { saviObjectsPortEntry 8 } -- Binding Status Table for SAVI protocol saviObjectsBindingTable OBJECT-TYPE SYNTAX SEQUENCE OF SaviObjectsBindingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing the state of binding between source address and anchor. " ::= { saviObjects 3 } saviObjectsBindingEntry OBJECT-TYPE SYNTAX SaviObjectsBindingEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing the state of binding between source address and anchor. Entries are keyed on the source IP address type, binding type, anchor, and source IP address. " INDEX { saviObjectsBindingIpAddressType, saviObjectsBindingType, saviObjectsBindingIfIndex, saviObjectsBindingIpAddress } ::= { saviObjectsBindingTable 1 } SaviObjectsBindingEntry ::= SEQUENCE { saviObjectsBindingIpAddressType InetAddressType, saviObjectsBindingType INTEGER, saviObjectsBindingIfIndex InterfaceIndex, saviObjectsBindingIpAddress InetAddress, saviObjectsBindingMacAddr MacAddress, saviObjectsBindingState INTEGER, saviObjectsBindingLifetime TimeInterval, saviObjectsBindingCreationtime DateAndTime, saviObjectsBindingTID INTEGER, saviObjectsBindingRowStatus RowStatus } saviObjectsBindingIpAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "IP address type of the binding source IP." ::= { saviObjectsBindingEntry 1 } saviObjectsBindingType OBJECT-TYPE SYNTAX INTEGER { manual(1), slaac(2), dhcp(3), send(4) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "IP address assignment methods." ::= { saviObjectsBindingEntry 2 } saviObjectsBindingIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index value that uniquely identifies the interface to which this entry is applicable. The interface identified by a particular value of this index is the same interface as identified by the same value of the IF-MIB's ifIndex. " ::= { saviObjectsBindingEntry 3 } saviObjectsBindingIpAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The binding source IP address" ::= { saviObjectsBindingEntry 4 } saviObjectsBindingMacAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-create STATUS current DESCRIPTION "The binding source mac address." ::= { saviObjectsBindingEntry 5 } saviObjectsBindingState OBJECT-TYPE SYNTAX INTEGER { nO-BIND(1), iNIT-BIND(2), bOUND(3), dETECTION(4), rECOVERY(5), vERIFY(6), tENTATIVE(7), vALID(8), tESTING-TP-LT(9), tESTING-VP(10), tESTING-VPP(11), tENTATIVE-NUD(12), tENTATIVE-DAD(13) } MAX-ACCESS read-create STATUS current DESCRIPTION "The state of the binding entry. " ::= { saviObjectsBindingEntry 6 } saviObjectsBindingLifetime OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-create STATUS current DESCRIPTION "The remaining lifetime of the entry. TimeInterval is defined in RFC 2579, it's a period of time, measured in units of 0.01 seconds, and the value is (0..2147483647). If saviObjectsBindingType=manual, a value of 2147483647 represents infinity. " ::= { saviObjectsBindingEntry 7 } saviObjectsBindingCreationtime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-create STATUS current DESCRIPTION "The value of the local clock when the entry was firstly created. " ::= { saviObjectsBindingEntry 8 } saviObjectsBindingTID OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-create STATUS current DESCRIPTION "The Transaction ID (TID) (refer to RFC2131 and RFC3315) of the corresponding DHCP transaction. " ::= { saviObjectsBindingEntry 9 } saviObjectsBindingRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The status of this row, by which new entries may be created, or old entries deleted from this table. An Entry can be created or deleted only when saviObjectsBindingType=manual. " ::= { saviObjectsBindingEntry 10 } -- Filtering Table for SAVI protocol saviObjectsFilteringTable OBJECT-TYPE SYNTAX SEQUENCE OF SaviObjectsFilteringEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing the filtering entries." ::= { saviObjects 4 } saviObjectsFilteringEntry OBJECT-TYPE SYNTAX SaviObjectsFilteringEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing the filtering parameters. Entries are keyed on the source IP address type, anchor, and source IP address. " INDEX { saviObjectsFilteringIpAddressType, saviObjectsFilteringIfIndex, saviObjectsFilteringIpAddress } ::= { saviObjectsFilteringTable 1 } SaviObjectsFilteringEntry ::= SEQUENCE { saviObjectsFilteringIpAddressType InetAddressType, saviObjectsFilteringIfIndex InterfaceIndex, saviObjectsFilteringIpAddress InetAddress, saviObjectsFilteringMacAddr MacAddress } saviObjectsFilteringIpAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "IP address type of the filtering source IP" ::= { saviObjectsFilteringEntry 1 } saviObjectsFilteringIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index value that uniquely identifies the interface to which this entry is applicable. The interface identified by a particular value of this index is the same interface as identified by the same value of the IF-MIB's ifIndex. " ::= { saviObjectsFilteringEntry 2 } saviObjectsFilteringIpAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "The filtering source IP address." ::= { saviObjectsFilteringEntry 3 } saviObjectsFilteringMacAddr OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "The filtering source mac address." ::= { saviObjectsFilteringEntry 4 } -- Count of packets dropped because of validation failure for each interface. saviObjectsCountTable OBJECT-TYPE SYNTAX SEQUENCE OF SaviObjectsCountEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table containing count of packets dropped because of validation failure." ::= { saviObjects 5 } saviObjectsCountEntry OBJECT-TYPE SYNTAX SaviObjectsCountEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry containing count of packets dropped because of validation failure for each interface." INDEX { saviObjectsCountIPVersion, saviObjectsCountIfIndex } ::= { saviObjectsCountTable 1 } SaviObjectsCountEntry ::= SEQUENCE { saviObjectsCountIPVersion InetVersion, saviObjectsCountIfIndex InterfaceIndex, saviObjectsCountFilterPkts Counter64, saviObjectsCountFilterOctets Counter64 } saviObjectsCountIPVersion OBJECT-TYPE SYNTAX InetVersion MAX-ACCESS not-accessible STATUS current DESCRIPTION "The IP version " ::= { saviObjectsCountEntry 1 } saviObjectsCountIfIndex OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The Interface." ::= { saviObjectsCountEntry 2 } saviObjectsCountFilterPkts OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Dropped packet count." ::= { saviObjectsCountEntry 3 } saviObjectsCountFilterOctets OBJECT-TYPE SYNTAX Counter64 MAX-ACCESS read-only STATUS current DESCRIPTION "Dropped octet count." ::= { saviObjectsCountEntry 4 } -- Conformance information saviConformance OBJECT IDENTIFIER ::= { saviMIB 2 } saviCompliances OBJECT IDENTIFIER ::= { saviConformance 1 } -- Compliance statements saviCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement SAVI protocol. " MODULE MANDATORY-GROUPS { systemGroup, portGroup, bindingGroup, filteringGroup } ::= { saviCompliances 1} saviGroups OBJECT IDENTIFIER ::= { saviConformance 2 } -- Units of conformance systemGroup OBJECT-GROUP OBJECTS { saviObjectsSystemMode, saviObjectsSystemMaxDhcpResponseTime, saviObjectsSystemDataSnoopingInterval, saviObjectsSystemMaxLeaseQueryDelay, saviObjectsSystemOffLinkDelay, saviObjectsSystemDetectionTimeout, saviObjectsSystemTentLT, saviObjectsSystemDefaultLT, saviObjectsSystemTWAIT, saviObjectsSystemNotifySpoofing, saviObjectsSystemNotifyFilter, saviObjectsSystemNotifySpoofingInterval, saviObjectsSystemNotifySpoofingNumber, saviObjectsSystemBindingCount, saviObjectsSystemFilteringCount } STATUS current DESCRIPTION "The system group contains objects corrsponding to savi system parameters. " ::= {saviGroups 1} portGroup OBJECT-GROUP OBJECTS { saviObjectsPortValidatingAttr, saviObjectsPortDhcpTrustAttr, saviObjectsPortTrustAttr, saviObjectsPortDhcpSnoopingAttr, saviObjectsPortDataSnoopingAttr, saviObjectsPortFilteringNum } STATUS current DESCRIPTION "The if group contains objects corresponding to the savi running parameters of each anchor. " ::= {saviGroups 2} bindingGroup OBJECT-GROUP OBJECTS { saviObjectsBindingMacAddr, saviObjectsBindingState, saviObjectsBindingLifetime, saviObjectsBindingCreationtime, saviObjectsBindingTID, saviObjectsBindingRowStatus } STATUS current DESCRIPTION "The binding group contains the binding information of anchor and soure ip address. " ::= {saviGroups 3} filteringGroup OBJECT-GROUP OBJECTS { saviObjectsFilteringMacAddr } STATUS current DESCRIPTION "The filtering group contains the filtering information of anchor and soure ip address. " ::= {saviGroups 4} END