在Procurve Switch

时间:2017-04-14 08:32:03

标签: linux networking snmp net-snmp

如果在Procurve交换机上标记或未标记端口所属的VLAN,我如何通过SNMP获取?

我发现这个OID:.1.3.6.1.2.1.17.7.1.4.3.1.4它返回一系列十六进制代码,告诉我哪个端口属于vlan(这是vlan 1和100的提取):

snmpwalk -v2c -c public 192.168.0.1 .1.3.6.1.2.1.17.7.1.4.3.1.4

SNMPv2-SMI::mib-2.17.7.1.4.3.1.4.1 = Hex-STRING: 00 00 00 00 00 00 FF FF FF FF FF FF FF FF FF 00 00 03 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 80 00 00 00

SNMPv2-SMI::mib-2.17.7.1.4.3.1.4.100 = Hex-STRING: FF FF FF FF E0 00 00 00 00 00 00 00 00 00 00 00 03 F0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

我的问题是:

  1. 如何从此HEX代码中获取ifindex?

  2. 我如何理解端口是标记的还是未标记的? 感谢。

1 个答案:

答案 0 :(得分:0)

1.3.6.1.2.1.17.7.1.4.3.1.4是dot1qVlanStaticUntaggedPorts,是Q-BRIDGE-MIB中定义的dot1qVlanStaticTable的一部分。如果此对象列出了一个端口,则该端口未标记。如果dot1qVlanStaticEgressPorts中列出了一个端口,也是dot1qVlanStaticTable的一部分,但是dot1qVlanStaticUntaggedPorts中列出了,那么它就会被标记。

dot1qVlanStaticEgressPorts和dot1qVlanStaticUntaggedPorts都是PortList类型,也在Q-BRIDGE-MIB中定义。每个八位字节的每个位对应一个ifIndex,第一个八位字节的最高有效位为ifIndex = 1,下一个位为ifIndex = 2,依此类推。如果该位为1,则它是成员;如果它是0那么它就不是。

奇怪的是,代理会返回如此长的值(=很多,很多,很多端口)。