Index: includes/definitions/mibs/d-link/dgs-l3mgmt-mib.php
===================================================================
--- includes/definitions/mibs/d-link/dgs-l3mgmt-mib.php	(nonexistent)
+++ includes/definitions/mibs/d-link/dgs-l3mgmt-mib.php	(working copy)
@@ -0,0 +1,230 @@
+<?php
+
+// DO NOT SET oid_num here, use translated numeric oids.
+// This file used in DGS-3120-24SC-L3MGMT-MIB, DGS3627G-SWL3MGMT-MIB, DGS-3420-26SC-L3MGMT-MIB, DGS-3420-28SC-L3MGMT-MIB
+// Maybe more, but need to check it
+
+/*
+swL3IpCtrlTable
+DES1228B1ME-L3MGMT-MIB::swL3IpCtrlInterfaceName."System" = STRING: "System"
+DES1228B1ME-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAddress."System" = Hex-STRING: FE 80 00 00 00 00 00 00 16 D6 4D FF FE 57 2C 20 
+DES1228B1ME-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalPrefixLen."System" = INTEGER: 128
+DES1228B1ME-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAutoState."System" = INTEGER: enabled(2)
+DES1228B1ME-L3MGMT-MIB::swL3IpCtrlIpDhcpOption12State."System" = INTEGER: enabled(1)
+DES1228B1ME-L3MGMT-MIB::swL3IpCtrlIpDhcpOption12HostName."System" = ""
+
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlInterfaceName."System" = STRING: System
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIfIndex."System" = INTEGER: 5121
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpAddr."System" = IpAddress: 10.99.0.2
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpSubnetMask."System" = IpAddress: 255.255.255.0
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlVlanName."System" = STRING: vlan98
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlProxyArp."System" = INTEGER: disabled(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlSecondary."System" = INTEGER: false(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlMode."System" = INTEGER: other(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlAdminState."System" = INTEGER: enabled(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpv4AdminState."System" = INTEGER: enabled(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpv6AdminState."System" = INTEGER: enabled(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAddress."System" = STRING: fe80:0:0:0:dafe:e3ff:feed:dc40
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalPrefixLen."System" = INTEGER: 128
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlState."System" = INTEGER: active(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAutoState."System" = INTEGER: enabled(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlLocalProxyArp."System" = INTEGER: disabled(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientState."System" = INTEGER: disabled(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpDirectedBroadcastState."System" = INTEGER: disabled(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3IpCtrlIpDhcpOption12State."System" = INTEGER: disabled(2)
+
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlInterfaceName."System" = STRING: System
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIfIndex."System" = INTEGER: 5121
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpAddr."System" = IpAddress: 10.99.0.3
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpSubnetMask."System" = IpAddress: 255.255.255.0
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlVlanName."System" = STRING: vlan98
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlProxyArp."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlSecondary."System" = INTEGER: false(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlMode."System" = INTEGER: other(1)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlAdminState."System" = INTEGER: enabled(1)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAddress."System" = STRING: fe80:0:0:0:21c:f0ff:fe1f:9400
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpv6LinkLocalPrefixLen."System" = INTEGER: 128
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlState."System" = INTEGER: active(1)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAutoState."System" = INTEGER: enabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlLocalProxyArp."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpMtu."System" = INTEGER: 1500 bytes
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlDhcpv6ClientState."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpDirectedBroadcastState."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlIpDhcpOption12State."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDState."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefixName."System" = STRING: 
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefix."System" = STRING: 0:0:0:0:0:0:0:0
+DGS3627G-SWL3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefixLen."System" = INTEGER: 0
+
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlInterfaceName."System" = STRING: "System"
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlInterfaceName."prosivka" = STRING: "prosivka"
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIfIndex."System" = INTEGER: 5121
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIfIndex."prosivka" = INTEGER: 5122
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpAddr."System" = IpAddress: 10.242.142.2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpAddr."prosivka" = IpAddress: 10.90.90.25
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpSubnetMask."System" = IpAddress: 255.255.255.0
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpSubnetMask."prosivka" = IpAddress: 255.255.255.0
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlVlanName."System" = STRING: "qnqmng"
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlVlanName."prosivka" = STRING: "qnqmng"
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlProxyArp."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlProxyArp."prosivka" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlSecondary."System" = INTEGER: false(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlSecondary."prosivka" = INTEGER: true(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlMode."System" = INTEGER: other(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlMode."prosivka" = INTEGER: other(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlAdminState."System" = INTEGER: enabled(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlAdminState."prosivka" = INTEGER: enabled(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv4AdminState."System" = INTEGER: enabled(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv4AdminState."prosivka" = INTEGER: enabled(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6AdminState."System" = INTEGER: enabled(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6AdminState."prosivka" = INTEGER: enabled(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAddress."System" = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAddress."prosivka" = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalPrefixLen."System" = INTEGER: 0
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalPrefixLen."prosivka" = INTEGER: 0
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlState."System" = INTEGER: active(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlState."prosivka" = INTEGER: active(1)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAutoState."System" = INTEGER: disabled(3)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpv6LinkLocalAutoState."prosivka" = INTEGER: disabled(3)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlLocalProxyArp."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlLocalProxyArp."prosivka" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpMtu."System" = INTEGER: 1500 bytes
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpMtu."prosivka" = INTEGER: 1500 bytes
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientState."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientState."prosivka" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpDirectedBroadcastState."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpDirectedBroadcastState."prosivka" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpDhcpOption12State."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpDhcpOption12State."prosivka" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpDhcpOption12HostName."System" = ""
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlIpDhcpOption12HostName."prosivka" = ""
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDState."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDState."prosivka" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefixName."System" = ""
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefixName."prosivka" = ""
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefix."System" = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefix."prosivka" = Hex-STRING: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefixLen."System" = INTEGER: 0
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlDhcpv6ClientPDPrefixLen."prosivka" = INTEGER: 0
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.28.6.83.121.115.116.101.109 = INTEGER: 2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.28.8.112.114.111.115.105.118.107.97 = INTEGER: 2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.29.6.83.121.115.116.101.109 = INTEGER: 2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.29.8.112.114.111.115.105.118.107.97 = INTEGER: 2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.30.6.83.121.115.116.101.109 = INTEGER: 2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.30.8.112.114.111.115.105.118.107.97 = INTEGER: 2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.31.6.83.121.115.116.101.109 = INTEGER: 2
+DGS-3420-26SC-L3MGMT-MIB::swL3IpCtrlEntry.31.8.112.114.111.115.105.118.107.97 = INTEGER: 2
+*/
+
+//Already discovered via IP-MIB
+$config['mibs'][$mib]['ip-address'][] = [
+//  'entity_match'  => [ 'entity_type' => 'port', 'field' => 'ifDescr', 'match' => '%index0%' ],
+  'oid_ifIndex'       => 'swL3IpCtrlIfIndex',
+  'version'       => 'ipv4',
+  'oid_mask'      => 'swL3IpCtrlIpSubnetMask',
+  'oid_address'   => 'swL3IpCtrlIpAddr',
+  'snmp_flags'    => OBS_SNMP_TABLE // just for exclude OBS_QUOTES_STRIP & OBS_SNMP_NUMERIC_INDEX
+];
+
+// NOT discovered via IPV6-MIB on DGS-3120 and DGS-3627
+$config['mibs'][$mib]['ip-address'][] = [
+// entity_match also works on testd models
+//  'entity_match'  => [ 'entity_type' => 'port', 'field' => 'ifDescr', 'match' => '%index0%' ],
+  'oid_ifIndex'       => 'swL3IpCtrlIfIndex',
+  'version'       => 'ipv6',
+  'oid_prefix'    => 'swL3IpCtrlIpv6LinkLocalPrefixLen',
+  'oid_address'   => 'swL3IpCtrlIpv6LinkLocalAddress',
+  'snmp_flags'    => OBS_SNMP_TABLE // just for exclude OBS_QUOTES_STRIP & OBS_SNMP_NUMERIC_INDEX
+];
+
+/*
+swL3Ipv6CtrlTable
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6CtrlInterfaceName."System" = STRING: "System"
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6CtrlMaxReassmblySize."System" = INTEGER: 65535
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6CtrlNsRetransTimer."System" = Gauge32: 0
+
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlInterfaceName."System" = STRING: System
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlMaxReassmblySize."System" = INTEGER: 65535
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlNsRetransTimer."System" = Gauge32: 0
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlEntry.".Sys".116.101.109 = INTEGER: 1
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaState."System" = INTEGER: disabled(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaMinRtrAdvInterval."System" = INTEGER: 198
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaMaxRtrAdvInterval."System" = INTEGER: 600
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaLifeTime."System" = INTEGER: 1800
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaReachableTime."System" = INTEGER: 1200000
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaRetransTime."System" = Gauge32: 0
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaHopLimit."System" = INTEGER: 64
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaManagedFlag."System" = INTEGER: disabled(2)
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6CtrlRaOtherConfigFlag."System" = INTEGER: disabled(2)
+
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlInterfaceName."System" = STRING: System
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlMaxReassmblySize."System" = INTEGER: 65535
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlNsRetransTimer."System" = Wrong Type (should be Gauge32 or Unsigned32): INTEGER: 0
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaState."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaMinRtrAdvInterval."System" = INTEGER: 198
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaMaxRtrAdvInterval."System" = INTEGER: 600
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaLifeTime."System" = INTEGER: 1800
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaReachableTime."System" = INTEGER: 1200000
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaRetransTime."System" = Gauge32: 0
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaHopLimit."System" = INTEGER: 64
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaManagedFlag."System" = INTEGER: disabled(2)
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6CtrlRaOtherConfigFlag."System" = INTEGER: disabled(2)
+
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlInterfaceName."System" = STRING: "System"
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlMaxReassmblySize."System" = INTEGER: 65535
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlNsRetransTimer."System" = Gauge32: 0
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaState."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaMinRtrAdvInterval."System" = INTEGER: 198
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaMaxRtrAdvInterval."System" = INTEGER: 600
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaLifeTime."System" = INTEGER: 1800
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaReachableTime."System" = INTEGER: 1200000
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaRetransTime."System" = Gauge32: 0
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaHopLimit."System" = INTEGER: 64
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaManagedFlag."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlRaOtherConfigFlag."System" = INTEGER: disabled(2)
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlEntry.14.6.83.121.115.116.101.109 = INTEGER: 1
+DGS-3420-26SC-L3MGMT-MIB::swL3Ipv6CtrlTable.2.0 = INTEGER: 2
+*/
+
+/*
+swL3Ipv6AddressCtrlTable
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6AddressCtrlInterfaceName."System".' ...............'.64 = STRING: "System"
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6AddressCtrlInterfaceName."System".'*.........M..W, '.64 = STRING: "System"
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6AddressCtrlInterfaceName."System".'..........M..W, '.128 = STRING: "System"
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6Address."System".' ...............'.64 = Hex-STRING: 20 01 0D B8 0A AC 00 00 00 00 00 00 00 00 00 11 
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6Address."System".'..........M..W, '.128 = Hex-STRING: FE 80 00 00 00 00 00 00 16 D6 4D FF FE 57 2C 20 
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6AddressCtrlPrefixLen."System".' ...............'.64 = INTEGER: 64
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6AddressCtrlPrefixLen."System".'..........M..W, '.128 = INTEGER: 128
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6AddressCtrlState."System".' ...............'.64 = INTEGER: active(1)
+DES1228B1ME-L3MGMT-MIB::swL3Ipv6AddressCtrlState."System".'..........M..W, '.128 = INTEGER: active(1)
+
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlInterfaceName."System".'*..............1'.64 = STRING: System
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6Address."System".'*..............1'.64 = STRING: 2001:db8:0:98:0:0:0:31
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlPrefixLen."System".'*..............1'.64 = INTEGER: 64
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlPreferredLifeTime."System".'*..............1'.64 = Gauge32: 604800
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlValidLifeTime."System".'*..............1'.64 = Gauge32: 2592000
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlOnLinkFlag."System".'*..............1'.64 = INTEGER: enabled(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlAutonomousFlag."System".'*..............1'.64 = INTEGER: enabled(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlState."System".'*..............1'.64 = INTEGER: active(1)
+DGS-3120-24SC-L3MGMT-MIB::swL3Ipv6AddressCtrlAddressType."System".'*..............1'.64 = INTEGER: manual(1)
+
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlInterfaceName."System".'*..............6'.64 = STRING: System
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6Address."System".'*..............6'.64 = STRING: 2001:db8:0:98:0:0:0:36
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlPrefixLen."System".'*..............6'.64 = INTEGER: 64
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlPreferredLifeTime."System".'*..............6'.64 = Gauge32: 604800
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlValidLifeTime."System".'*..............6'.64 = Gauge32: 2592000
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlOnLinkFlag."System".'*..............6'.64 = INTEGER: enabled(1)
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlAutonomousFlag."System".'*..............6'.64 = INTEGER: enabled(1)
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlState."System".'*..............6'.64 = INTEGER: active(1)
+DGS3627G-SWL3MGMT-MIB::swL3Ipv6AddressCtrlAddressType."System".'*..............6'.64 = INTEGER: manual(1)
+*/
+
+$config['mibs'][$mib]['ip-address'][] = [
+  'entity_match'  => [ 'entity_type' => 'port', 'field' => 'ifDescr', 'match' => '%index0%' ],
+  'version'       => 'ipv6',
+  'oid_prefix'    => 'swL3Ipv6AddressCtrlPrefixLen',
+  'oid_address'   => 'swL3Ipv6Address',
+  'snmp_flags'    => OBS_SNMP_TABLE // just for exclude OBS_QUOTES_STRIP & OBS_SNMP_NUMERIC_INDEX
+];
+
+// EOF
Index: includes/definitions/mibs/d-link.inc.php
===================================================================
--- includes/definitions/mibs/d-link.inc.php	(revision 11422)
+++ includes/definitions/mibs/d-link.inc.php	(working copy)
@@ -34,7 +34,7 @@
 AGENT-GENERAL-MIB::agentFLASHutilization.0 = INTEGER: 52
 
 Command: show utilization flash
-FLASH Memory Utilization : 
+FLASH Memory Utilization :
 Total FLASH	: 16,384    KB
 Used FLASH	: 8,553     KB
 Utilization	: 52 %
@@ -181,7 +181,6 @@
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 $config['mibs'][$mib]['descr'] = '';
 
-
 $mib = 'DES3018-L2MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.63.2.2';
@@ -198,6 +197,14 @@
 
 include __DIR__ . '/d-link/des30xx-l2mgmt-mib.php';
 
+$mib = 'DES1228B1ME-L3MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.116.2.3';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'D-Link DES-1228/ME B1 L3MGMT MIB';
+
+include __DIR__ . '/d-link/dgs-l3mgmt-mib.php';
+
 $mib = 'DGS3120-24SC-L2MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.117.4.1.2';
@@ -238,6 +245,14 @@
   'oid_num'  => '.1.3.6.1.4.1.171.11.117.4.1.2.1.2.18'
 ];
 
+$mib = 'DGS-3120-24SC-L3MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.117.4.1.3';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'D-Link DGS3120 L3MGMT MIB';
+
+include __DIR__ . '/d-link/dgs-l3mgmt-mib.php';
+
 $mib = 'DGS3627G-L2MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.70.8.2';
@@ -244,6 +259,14 @@
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 $config['mibs'][$mib]['descr'] = 'D-Link DGS3627G L2MGMT MIB';
 
+$mib = 'DGS3627G-SWL3MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.70.8.3';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = 'D-Link DGS3627G L3MGMT MIB';
+
+include __DIR__ . '/d-link/dgs-l3mgmt-mib.php';
+
 $mib = 'DGS-3620-28SC-L2MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.118.2.2';
@@ -256,6 +279,14 @@
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 $config['mibs'][$mib]['descr'] = '';
 
+$mib = 'DGS-3420-28SC-L3MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.119.2.3';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = '';
+
+include __DIR__ . '/d-link/dgs-l3mgmt-mib.php';
+
 $mib = 'DGS-3420-26SC-L2MGMT-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.119.6.2';
@@ -262,6 +293,14 @@
 $config['mibs'][$mib]['mib_dir'] = 'd-link';
 $config['mibs'][$mib]['descr'] = '';
 
+$mib = 'DGS-3420-26SC-L3MGMT-MIB';
+$config['mibs'][$mib]['enable'] = 1;
+$config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.11.119.6.3';
+$config['mibs'][$mib]['mib_dir'] = 'd-link';
+$config['mibs'][$mib]['descr'] = '';
+
+include __DIR__ . '/d-link/dgs-l3mgmt-mib.php';
+
 $mib = 'DES-1228-MIB';
 $config['mibs'][$mib]['enable'] = 1;
 $config['mibs'][$mib]['identity_num'] = '.1.3.6.1.4.1.171.10.75.2';
Index: includes/definitions/os/d-link.inc.php
===================================================================
--- includes/definitions/os/d-link.inc.php	(revision 11422)
+++ includes/definitions/os/d-link.inc.php	(working copy)
@@ -162,7 +162,7 @@
   '.1.3.6.1.4.1.171.10.63.2'    => array('name' => 'DES-3018',       'mibs' => array('DES3018-L2MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.63.3'    => array('name' => 'DES-3026',       'mibs' => array('DES3026-L2MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.63.4'    => array('name' => 'DES-3010FL'),
-  '.1.3.6.1.4.1.171.10.63.6'    => array('name' => 'DES-3028'),
+  '.1.3.6.1.4.1.171.10.63.6'    => array('name' => 'DES-3028',       'mibs' => array('DDM-MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.63.7'    => array('name' => 'DES-3028P'),
   '.1.3.6.1.4.1.171.10.63.8'    => array('name' => 'DES-3052'),
   '.1.3.6.1.4.1.171.10.63.9'    => array('name' => 'DES-3052P'),
@@ -240,7 +240,7 @@
   '.1.3.6.1.4.1.171.10.113.9.1' => array('name' => 'DES-3200-52'),
   '.1.3.6.1.4.1.171.10.114.1.1' => array('name' => 'DES-3810-28'),
   '.1.3.6.1.4.1.171.10.116.1'   => array('name' => 'DES-1228/ME'),
-  '.1.3.6.1.4.1.171.10.116.2'   => array('name' => 'DES-1228/ME v.2'),
+  '.1.3.6.1.4.1.171.10.116.2'   => array('name' => 'DES-1228/ME B1',      'mibs' => array('DES1228B1ME-L3MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.117.1.1' => array('name' => 'DGS-3120-24TC'),
   '.1.3.6.1.4.1.171.10.117.1.2' => array('name' => 'DGS-3120-24PC'),
   '.1.3.6.1.4.1.171.10.117.1.3' => array('name' => 'DGS-3120-24SC',       'mibs' => array('DGS3120-24SC-L2MGMT-MIB')),
@@ -256,8 +256,8 @@
   '.1.3.6.1.4.1.171.10.118.1'   => array('name' => 'DGS-3620-28TC'),
   '.1.3.6.1.4.1.171.10.118.2'   => array('name' => 'DGS-3620-28SC',       'mibs' => array('DGS-3620-28SC-L2MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.119.1'   => array('name' => 'DGS-3420-28TC'),
-  '.1.3.6.1.4.1.171.10.119.2'   => array('name' => 'DGS-3420-28SC',       'mibs' => array('DGS-3420-28SC-L2MGMT-MIB')),
-  '.1.3.6.1.4.1.171.10.119.6'   => array('name' => 'DGS-3420-26SC',       'mibs' => array('DGS-3420-26SC-L2MGMT-MIB')),
+  '.1.3.6.1.4.1.171.10.119.2'   => array('name' => 'DGS-3420-28SC',       'mibs' => array('DGS-3420-28SC-L2MGMT-MIB', 'DGS-3420-28SC-L3MGMT-MIB')),
+  '.1.3.6.1.4.1.171.10.119.6'   => array('name' => 'DGS-3420-26SC',       'mibs' => array('DGS-3420-26SC-L2MGMT-MIB', 'DGS-3420-26SC-L3MGMT-MIB')),
   '.1.3.6.1.4.1.171.10.126.1'   => array('name' => 'DGS-1500-20'),
   '.1.3.6.1.4.1.171.10.126.2.1' => array('name' => 'DGS-1500-28'),
   '.1.3.6.1.4.1.171.10.127.1'   => array('name' => 'DXS-3600-32S'),
Index: includes/discovery/inventory/des-1210-28me-b2.inc.php
===================================================================
--- includes/discovery/inventory/des-1210-28me-b2.inc.php	(nonexistent)
+++ includes/discovery/inventory/des-1210-28me-b2.inc.php	(working copy)
@@ -0,0 +1,134 @@
+<?php
+if (is_device_mib($device, 'DES-1210-28ME-B2')) {
+  $vendor_mib = 'DES-1210-28ME-B2';
+  $vendor_oids = snmpwalk_cache_oid($device, "sfpVendorInfoTable", $vendor_oids, $vendor_mib, NULL, $snmp_flags);
+  print_debug_vars($vendor_oids);
+
+  $copperports = 24;
+  $comboports = 2;
+  $fiberports = 2;
+} else {
+  return;
+}
+
+echo($vendor_mib);
+$revision                    = snmp_get_oid($device, 'probeHardwareRev.0',  'RMON2-MIB');
+
+$system_index = 1;
+$inventory[$system_index] = [
+    'entPhysicalDescr'        => $device['sysDescr'],
+    'entPhysicalClass'        => 'chassis',
+    'entPhysicalName'         => $device['hardware'],
+    'entPhysicalHardwareRev'  => $revision,
+    'entPhysicalSoftwareRev'  => $device['version'],
+    'entPhysicalIsFRU'        => 'true',
+    'entPhysicalModelName'    => $device['hardware'],
+    'entPhysicalSerialNum'    => $device['serial'],
+    'entPhysicalContainedIn'  => 0,
+    'entPhysicalParentRelPos' => 1,
+    'entPhysicalMfgName'      => 'D-Link',
+];
+discover_inventory($device, $system_index, $inventory[$system_index], $vendor_mib);
+
+/*
+DES-1210-28ME-B2::companySfpVendorInfo
+
+sfpPortIndex.27 = 27
+sfpPortIndex.28 = 28
+sfpConnectorType.27 = SFP - MT-RJ
+sfpConnectorType.28 = SFP - SC
+sfpTranceiverCode.27 = 
+sfpTranceiverCode.28 = Unallocated
+sfpBaudRate.27 = d
+sfpBaudRate.28 = d
+sfpVendorName.27 = 
+sfpVendorName.28 = 
+sfpVendorOui.27 =  0:90:65
+sfpVendorOui.28 =  0: 0: 0
+sfpVendorPn.27 = SFP-1.25G-1310  
+sfpVendorPn.28 = TBSF15d1012gSC3c
+sfpVendorRev.27 = A0  
+sfpVendorRev.28 = A   
+sfpWavelength.27 = 51e
+sfpWavelength.28 = 60e
+sfpVendorSn.27 = SC91750197      
+sfpVendorSn.28 = F201705111103   
+sfpDateCode.27 = 120904  
+sfpDateCode.28 = 170512  
+
+DES-1210-28ME-B2::sfpPortIndex.25 = INTEGER: 25
+DES-1210-28ME-B2::sfpPortIndex.26 = INTEGER: 26
+DES-1210-28ME-B2::sfpPortIndex.28 = INTEGER: 28
+DES-1210-28ME-B2::sfpConnectorType.25 = STRING: "SFP - SC"
+DES-1210-28ME-B2::sfpConnectorType.26 = STRING: "SFP - SC"
+DES-1210-28ME-B2::sfpConnectorType.28 = STRING: "SFP - SC"
+DES-1210-28ME-B2::sfpTranceiverCode.25 = STRING: "Unallocated"
+DES-1210-28ME-B2::sfpTranceiverCode.26 = STRING: "Single Mode"
+DES-1210-28ME-B2::sfpTranceiverCode.28 = STRING: "Single Mode"
+DES-1210-28ME-B2::sfpBaudRate.25 = STRING: "d"
+DES-1210-28ME-B2::sfpBaudRate.26 = STRING: "d"
+DES-1210-28ME-B2::sfpBaudRate.28 = STRING: "d"
+DES-1210-28ME-B2::sfpVendorName.25 = ""
+DES-1210-28ME-B2::sfpVendorName.26 = ""
+DES-1210-28ME-B2::sfpVendorName.28 = ""
+DES-1210-28ME-B2::sfpVendorOui.25 = STRING: " 0: 0: 0"
+DES-1210-28ME-B2::sfpVendorOui.26 = STRING: " 0: 0: 0"
+DES-1210-28ME-B2::sfpVendorOui.28 = STRING: " 0: 0: 0"
+DES-1210-28ME-B2::sfpVendorPn.25 = STRING: "TBSF13312gSC3cDD"
+DES-1210-28ME-B2::sfpVendorPn.26 = STRING: "SFP-BIDI        "
+DES-1210-28ME-B2::sfpVendorPn.28 = STRING: "AP-B53121-3CS3  "
+DES-1210-28ME-B2::sfpVendorRev.25 = STRING: "A   "
+DES-1210-28ME-B2::sfpVendorRev.26 = STRING: "1.0 "
+DES-1210-28ME-B2::sfpVendorRev.28 = STRING: "1.00"
+DES-1210-28ME-B2::sfpWavelength.25 = STRING: "51e"
+DES-1210-28ME-B2::sfpWavelength.26 = STRING: "60e"
+DES-1210-28ME-B2::sfpWavelength.28 = STRING: "60e"
+DES-1210-28ME-B2::sfpVendorSn.25 = STRING: "F201705113806   "
+DES-1210-28ME-B2::sfpVendorSn.26 = STRING: "G181687         "
+DES-1210-28ME-B2::sfpVendorSn.28 = STRING: "SG53E20800234   "
+DES-1210-28ME-B2::sfpDateCode.25 = STRING: "170517  "
+DES-1210-28ME-B2::sfpDateCode.26 = STRING: "180916  "
+DES-1210-28ME-B2::sfpDateCode.28 = STRING: "120224  "
+*/
+
+$totalports = $copperports + $comboports + $fiberports;
+for ($i = 1; $i <= $totalports; $i++) {
+  $system_index = 100 + $i;
+  if ($i <= $copperports) {
+    $inventory[$system_index] = [
+      'entPhysicalDescr'        => '100Base-T Copper Port',
+      'entPhysicalClass'        => 'port',
+      'entPhysicalName'         => 'Port '.$i,
+      'entPhysicalIsFRU'        => 'false',
+      'entPhysicalModelName'    => 'Copper Port',
+      'entPhysicalContainedIn'  => 1,
+      'entPhysicalParentRelPos' => $i,
+      'ifIndex'                 => $i,
+    ];
+  } else {
+    if ($i <= $copperports + $comboports) {
+      $portdescr = 'Combo Port';
+    } else {
+      $portdescr = 'SFP Port';
+    }
+    $inventory[$system_index] = [
+      'entPhysicalDescr'        => $portdescr,
+      'entPhysicalClass'        => 'port',
+      'entPhysicalName'         => 'Port '.$i,
+      'entPhysicalIsFRU'        => 'false',
+      'entPhysicalModelName'    => trim($vendor_oids[$i]['sfpTranceiverCode']),
+      'entPhysicalContainedIn'  => 1,
+      'entPhysicalParentRelPos' => $i,
+      'ifIndex'                 => $i,
+      'entPhysicalVendorType'   => trim($vendor_oids[$i]['sfpConnectorType']),
+      'entPhysicalSerialNum'    => trim($vendor_oids[$i]['sfpVendorSn']),
+      'entPhysicalHardwareRev'  => trim($vendor_oids[$i]['sfpVendorPn']),
+      'entPhysicalFirmwareRev'  => trim($vendor_oids[$i]['sfpVendorRev']),
+      'entPhysicalMfgName'      => trim($vendor_oids[$i]['sfpVendorName']),
+    ];
+  }
+  discover_inventory($device, $system_index, $inventory[$system_index], $vendor_mib);
+}
+print_debug_vars($inventory);
+
+// EOF
