-- ***************************************************************** -- DLINKES-IPV6-SRC-GUARD-MIB: IPv6 Source Guard MIB -- -- Copyright (c) 2017 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKES-IPV6-SRC-GUARD-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, Unsigned32, OBJECT-TYPE FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF TruthValue, RowStatus, MacAddress, DisplayString FROM SNMPv2-TC InetAddressType, InetAddress FROM INET-ADDRESS-MIB ifIndex, InterfaceIndex FROM IF-MIB VlanId FROM Q-BRIDGE-MIB dlinkCommon FROM DLINK-ID-REC-MIB; dlinkEsIpv6SourceGuardMIB MODULE-IDENTITY LAST-UPDATED "201708070000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for IPv6 Source Guard." REVISION "201708070000Z" DESCRIPTION "This is the first version of the MIB file. " ::= { dlinkCommon 145 } -- -- Textual Conventions -- -- ----------------------------------------------------------------------------- esIpv6sgNotifications OBJECT IDENTIFIER ::= { dlinkEsIpv6SourceGuardMIB 0 } esIpv6sgObjects OBJECT IDENTIFIER ::= { dlinkEsIpv6SourceGuardMIB 1 } esIpv6sgConformance OBJECT IDENTIFIER ::= { dlinkEsIpv6SourceGuardMIB 2 } esIpv6sgPolicy OBJECT IDENTIFIER ::= { esIpv6sgObjects 1 } esIpv6sgInterface OBJECT IDENTIFIER ::= { esIpv6sgObjects 2 } esIpv6sgBindings OBJECT IDENTIFIER ::= { esIpv6sgObjects 3 } -- ----------------------------------------------------------------------------- esIpv6sgPolicyNumber OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "Indicates the number of entries present in IPv6 source-guard policy table." ::= { esIpv6sgPolicy 1 } esIpv6sgPolicyTable OBJECT-TYPE SYNTAX SEQUENCE OF EsIpv6sgPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table contains information about IPv6 source-guard policies." ::= { esIpv6sgPolicy 2 } esIpv6sgPolicyEntry OBJECT-TYPE SYNTAX EsIpv6sgPolicyEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry defined in esIpv6sgPolicyTable. An entry is created/removed when an IPv6 source-guard policy is created/deleted." INDEX { esIpv6sgPolicyName } ::= { esIpv6sgPolicyTable 1 } EsIpv6sgPolicyEntry ::= SEQUENCE { esIpv6sgPolicyName DisplayString, esIpv6sgPolicyDenyAutoConfig TruthValue, esIpv6sgPolicyPermitLinkLocal TruthValue, esIpv6sgPolicyValidate BITS, esIpv6sgPolicyRowStatus RowStatus } esIpv6sgPolicyName OBJECT-TYPE SYNTAX DisplayString (SIZE (1..32)) MAX-ACCESS not-accessible STATUS current DESCRIPTION "The name of the IPv6 source-guard policy." ::= { esIpv6sgPolicyEntry 1 } esIpv6sgPolicyDenyAutoConfig OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates whether deny data traffic from auto-configured global address. It is useful when all global addresses on a link are assigned by DHCP and the administrator wants to block hosts with self-configured addresses sending traffic. " DEFVAL { false } ::= { esIpv6sgPolicyEntry 2 } esIpv6sgPolicyPermitLinkLocal OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-create STATUS current DESCRIPTION "Indicates whether allow hardware permit data traffic sent by link-local address. " DEFVAL { false } ::= { esIpv6sgPolicyEntry 3 } esIpv6sgPolicyValidate OBJECT-TYPE SYNTAX BITS { address(0), prefix(1) } MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the IPv6 Source Guard validate feature. " DEFVAL { {address} } ::= { esIpv6sgPolicyEntry 4 } esIpv6sgPolicyRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object allows the dynamic creation and deletion of a policy." ::= { esIpv6sgPolicyEntry 99 } -- ----------------------------------------------------------------------------- esIpv6sgIfConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF EsIpv6sgIfConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table provides the mechanism to configure the IPv6 source-guard state at every interface capable of this feature. " ::= { esIpv6sgInterface 1 } esIpv6sgIfConfigEntry OBJECT-TYPE SYNTAX EsIpv6sgIfConfigEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row instance contains the configuration to enable or disable IPv6 source-guard on an interface. " INDEX { ifIndex } ::= { esIpv6sgIfConfigTable 1 } EsIpv6sgIfConfigEntry ::= SEQUENCE { esIpv6sgIfEnabled TruthValue } esIpv6sgIfEnabled OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This object enables IPv6 source-guard on the interface, if set this object to 'true'. Setting this object to 'false' disables the IPv6 source-guard on the interface. " ::= { esIpv6sgIfConfigEntry 1 } -- ----------------------------------------------------------------------------- esIpv6sgIfAttachTable OBJECT-TYPE SYNTAX SEQUENCE OF EsIpv6sgIfAttachEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table provides the mechanism to attach an IPv6 source-guard policy at each interface capable of this feature. " ::= { esIpv6sgInterface 2 } esIpv6sgIfAttachEntry OBJECT-TYPE SYNTAX EsIpv6sgIfAttachEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A row instance contains the configuration of attaching IPv6 source-guard policy on the interface. " INDEX { ifIndex } ::= { esIpv6sgIfAttachTable 1 } EsIpv6sgIfAttachEntry ::= SEQUENCE { esIpv6sgIfAttachPolicy DisplayString, esIpv6sgIfAttachRowStatus RowStatus } esIpv6sgIfAttachPolicy OBJECT-TYPE SYNTAX DisplayString (SIZE (1..32)) MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the name of the attached IPv6 source-guard policy. " ::= { esIpv6sgIfAttachEntry 1 } esIpv6sgIfAttachRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "The row status variable, used according to installation and removal conventions for conceptual rows." ::= { esIpv6sgIfAttachEntry 99 } -- ----------------------------------------------------------------------------- esIpv6sgStaticBindingsTable OBJECT-TYPE SYNTAX SEQUENCE OF EsIpv6sgStaticBindingsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table provides the manual bindings information. e.g. VLAN MAC Address IP Address Interface ---- ----------------- ---------- --------- 2000 00.01.02.03.04.05 2000::1 8 3000 00.05.06.07.08.09 3000::2 3 4094 00.10.20.30.40.55 2134::7 5 4094 00.10.20.30.40.55 2134::8 6 4094 00.10.20.30.40.55 2134::9 8 " ::= { esIpv6sgBindings 1 } esIpv6sgStaticBindingsEntry OBJECT-TYPE SYNTAX EsIpv6sgStaticBindingsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry defines a manual binding. " INDEX { esIpv6sgStaticBindingsIpType, esIpv6sgStaticBindingsIpAddress, esIpv6sgStaticBindingsMacAddress, esIpv6sgStaticBindingsVlan, esIpv6sgStaticBindingsInterface } ::= { esIpv6sgStaticBindingsTable 1 } EsIpv6sgStaticBindingsEntry ::= SEQUENCE { esIpv6sgStaticBindingsIpType InetAddressType, esIpv6sgStaticBindingsIpAddress InetAddress, esIpv6sgStaticBindingsMacAddress MacAddress, esIpv6sgStaticBindingsVlan VlanId, esIpv6sgStaticBindingsInterface InterfaceIndex, esIpv6sgStaticBindingsRowStatus RowStatus } esIpv6sgStaticBindingsIpType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address type of esIpv6sgStaticBindingsIpAddress." ::= { esIpv6sgStaticBindingsEntry 1 } esIpv6sgStaticBindingsIpAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the allocated IPv6 address of the entry." ::= { esIpv6sgStaticBindingsEntry 2 } esIpv6sgStaticBindingsMacAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the MAC address of the entry." ::= { esIpv6sgStaticBindingsEntry 3 } esIpv6sgStaticBindingsVlan OBJECT-TYPE SYNTAX VlanId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the VLAN to which a host belongs." ::= { esIpv6sgStaticBindingsEntry 4 } esIpv6sgStaticBindingsInterface OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the ifIndex value of the interface where the host connects to." ::= { esIpv6sgStaticBindingsEntry 5 } esIpv6sgStaticBindingsRowStatus OBJECT-TYPE SYNTAX RowStatus MAX-ACCESS read-create STATUS current DESCRIPTION "This object is used to manage the creation and deletion of rows in this table. " ::= { esIpv6sgStaticBindingsEntry 99 } -- ----------------------------------------------------------------------------- esIpv6sgBindingsTable OBJECT-TYPE SYNTAX SEQUENCE OF EsIpv6sgBindingsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table provides the bindings information regarding IPv6 Snooping. e.g. Onwer IPv6 Address MAC Address Interface VLAN TimeLeft ----- ------------------------- ---------------- --------- ---- -------- NDP FE80::A8BB:CCFF:FE01:F500 AABB.CC01.F500 1 100 8850 Static FE80::21D:71FF:FE99:4900 001D.7199.4900 2 100 0 NDP 2001:600::1 AABB.CC01.F500 1 100 3181 DHCP 2001:300::1 AABB.CC01.F500 1 100 9559 DHCP 2001:100::2 AABB.CC01.F600 1 200 9196 DHCP 2001:400::1 001D.7199.4900 2 100 1568 Static 2001:500::1 000A.000B.000C 13 300 0 " ::= { esIpv6sgBindings 2 } esIpv6sgBindingsEntry OBJECT-TYPE SYNTAX EsIpv6sgBindingsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry contains information of a binding instance. " INDEX { esIpv6sgBindingsOwner, esIpv6sgBindingsIpType, esIpv6sgBindingsIpAddress, esIpv6sgBindingsMacAddress, esIpv6sgBindingsVlan, esIpv6sgBindingsInterface } ::= { esIpv6sgBindingsTable 1 } EsIpv6sgBindingsEntry ::= SEQUENCE { esIpv6sgBindingsOwner INTEGER, esIpv6sgBindingsIpType InetAddressType, esIpv6sgBindingsIpAddress InetAddress, esIpv6sgBindingsMacAddress MacAddress, esIpv6sgBindingsVlan VlanId, esIpv6sgBindingsInterface InterfaceIndex, esIpv6sgBindingsTimeleft Unsigned32 } esIpv6sgBindingsOwner OBJECT-TYPE SYNTAX INTEGER { static(1), ndp(2), dhcp(3), dhcppd(4) } MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the IPv6 snooping owner." ::= { esIpv6sgBindingsEntry 1 } esIpv6sgBindingsIpType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS not-accessible STATUS current DESCRIPTION "The address type of esIpv6sgBindingsIpAddress." ::= { esIpv6sgBindingsEntry 2 } esIpv6sgBindingsIpAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the IPv6 address of the entry." ::= { esIpv6sgBindingsEntry 3 } esIpv6sgBindingsMacAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the MAC address of the entry." ::= { esIpv6sgBindingsEntry 4 } esIpv6sgBindingsVlan OBJECT-TYPE SYNTAX VlanId MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the VLAN to which the host belongs." ::= { esIpv6sgBindingsEntry 5 } esIpv6sgBindingsInterface OBJECT-TYPE SYNTAX InterfaceIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the ifIndex value of the interface where a host connects to." ::= { esIpv6sgBindingsEntry 6 } esIpv6sgBindingsTimeleft OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the time left for the dynamic hosts. It is meaningless when esIpv6sgBindingsOwner is 'static', it is always be zero." ::= { esIpv6sgBindingsEntry 7 } -- Conformance esIpv6sgMIBCompliances OBJECT IDENTIFIER ::= { esIpv6sgConformance 1 } esIpv6sgMIBGroups OBJECT IDENTIFIER ::= { esIpv6sgConformance 2 } esIpv6sgMIBCompliance MODULE-COMPLIANCE STATUS deprecated DESCRIPTION "The compliance statement for DLINKES-IPV6-SRC-GUARD-MIB" MODULE MANDATORY-GROUPS { esIpv6sgIfConfigGroup } GROUP esIpv6sgPolicyGroup DESCRIPTION "This group is mandatory only for the platform which provides the configuration of IPv6 source-guard policy." GROUP esIpv6sgIfAttachGroup DESCRIPTION "This group is mandatory only for the platform which supports interface-specific configuration of attaching IPv6 source-guard policy." GROUP esIpv6sgStaticBindingsGroup DESCRIPTION "This group is mandatory only for platforms which support configuring the static bindings." ::= { esIpv6sgMIBCompliances 1 } esIpv6sgMIBCompliance1 MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for DLINKES-IPV6-SRC-GUARD-MIB" MODULE MANDATORY-GROUPS { esIpv6sgIfConfigGroup } GROUP esIpv6sgBindingsGroup DESCRIPTION "A collection of objects which are used to show information regarding the IPv6 Snooping binding data." GROUP esIpv6sgPolicyGroup1 DESCRIPTION "This group is mandatory only for the platform which provides the configuration of IPv6 source-guard policy." GROUP esIpv6sgIfAttachGroup DESCRIPTION "This group is mandatory only for the platform which supports interface-specific configuration of attaching IPv6 source-guard policy." GROUP esIpv6sgStaticBindingsGroup DESCRIPTION "This group is mandatory only for platforms which support configuring the static bindings." ::= { esIpv6sgMIBCompliances 2 } -- Units of Conformance -- IPv6 Source Guard Group esIpv6sgIfConfigGroup OBJECT-GROUP OBJECTS { esIpv6sgIfEnabled } STATUS current DESCRIPTION "A collection of objects which are used to configure as well as show information regarding the IPv6 Source Guard feature per interface." ::= { esIpv6sgMIBGroups 1 } esIpv6sgBindingsGroup OBJECT-GROUP OBJECTS { esIpv6sgBindingsTimeleft } STATUS current DESCRIPTION "A collection of objects which are used to show information regarding the IPv6 Snooping binding data." ::= { esIpv6sgMIBGroups 2 } esIpv6sgPolicyGroup OBJECT-GROUP OBJECTS { esIpv6sgPolicyNumber, esIpv6sgPolicyDenyAutoConfig, esIpv6sgPolicyPermitLinkLocal, esIpv6sgPolicyRowStatus } STATUS deprecated DESCRIPTION "A collection of object which are used to configure as well as show information regarding the IPv6 source-guard policy." ::= { esIpv6sgMIBGroups 3 } esIpv6sgIfAttachGroup OBJECT-GROUP OBJECTS { esIpv6sgIfAttachPolicy, esIpv6sgIfAttachRowStatus } STATUS current DESCRIPTION "A collection of object which are used to configure as well as show information regarding the attaching policy per interface." ::= { esIpv6sgMIBGroups 4 } esIpv6sgStaticBindingsGroup OBJECT-GROUP OBJECTS { esIpv6sgStaticBindingsRowStatus } STATUS current DESCRIPTION "A collection of objects which are used to configure as well as show information regarding the static binding data for IPv6 Source Guard." ::= { esIpv6sgMIBGroups 5 } esIpv6sgPolicyGroup1 OBJECT-GROUP OBJECTS { esIpv6sgPolicyNumber, esIpv6sgPolicyDenyAutoConfig, esIpv6sgPolicyPermitLinkLocal, esIpv6sgPolicyValidate, esIpv6sgPolicyRowStatus } STATUS current DESCRIPTION "A collection of object which are used to configure as well as show information regarding the IPv6 source-guard policy." ::= { esIpv6sgMIBGroups 6 } END