Files
snmp-info/lib/SNMP/Info/Layer3
Christoph Handel 2773594274 CH: patch H3C broken node-vlan mapping (#416)
* CH: patch H3C broken node-vlan mapping

see https://github.com/netdisco/snmp-info/issues/218

--+ qb_fw_vlan

qb_fw_vlan is called to figure out in which vlan a mac is located.

fetch qb_fw_port. This is a hash

  fdb_id.mac => fdb_port

for each key split of fdb_id

try to look it up in qb_fdb_ids to translate it to vlan
otherwise use it directly as vlan.

--+ qb_fw_port

qb_fw_port fetchs snmp dot1qTpFdbPort, oid 1.3.6.1.2.1.17.7.1.2.2.1.2

This snmp table returns

  fdb_id.mac => fdb_port

as an example data fetched from a HP switch (Layer2::HP)

  SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.3.52.20.95.80.231.59 = INTEGER: 9

fdb_id: 3
mac: 34:14:5f:50:e7:3b
fdb_port: 9
and an expample for a H3C (Layer3::H3C)

  SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.1.0.17.17.117.83.217 = INTEGER: 891

fdb_id: 1
mac: 0:11:11:75:53:d9
fdb_port: 891

snmp looks got. Verified with netdisco

/opt/netdisco/bin/netdisco-do show -d <SWITCH> -e Layer3::H3C::qb_fw_port
/opt/netdisco/bin/netdisco-do show -d <SWITCH> -e Layer2::HP::qb_fw_port

result looks good.

--+ qb_fdb_index

qb_fdb_index fetches snmp dot1qVlanFdbId which is oid 1.3.6.1.2.1.17.7.1.4.2.1.3

This snmp table returns

  timestamp.vlan => fdb_id

netdisco will strip the timestamp and build a hash

  fdb_id => vlan

for a HP switch i get snmp data

  SNMPv2-SMI::mib-2.17.7.1.4.2.1.3.0.64 = Gauge32: 6

vlan: 64
fdb_id: 6
for a H3C i get

  SNMPv2-SMI::mib-2.17.7.1.4.2.1.3.3330.64 = Gauge32: 1

vlan: 64
fdb_id: 1

and there are the issues.

not all vlans are listed
every line has fdb_id 1
as in all H3C switches i checked, the fdb_id is equal to the vlan i patched out
qb_fdb_index to return an empty hash.

* CH: H3C fix pod caverage test

Co-authored-by: Christoph Handel <c.handel@gsi.de>
2021-08-23 22:27:42 +01:00
..
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-07-06 21:49:50 +02:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-07-06 21:49:50 +02:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-06-28 15:13:17 +01:00
2021-08-23 16:22:45 +01:00