This is to fix an off by one error.
The ERS reports VLAN membership using a bitmask, but the MSB is always 0.
So using the `q_bridge_bits2indices` function results in the reported ports membership being +1 wrong.
The best fix for this would be to create a new function exactly the same as `q_bridge_bits2indices` which subtracts the 1 before returning the array.
I tried this, but it broke my install :)
Not sure how to add to the `functions.inc.php` file without breaking it.
Avaya do not use the Q-Bridge MIB for Vlans.
They also store untagged vlan info in 2 seperate ways:
rcVlanPortDefaultVlanId stores the actual native VLAN or PVID per switch port.
rcVlanPortPerformTagging tells us the ports tagging mode, this can be true (all tagged or trunk), false (no tagging or access), 3 (only tag the PVID) or 4 (untag the PVID and tag everything else).
Due to how these bits of information are presented, for each VLAN ID we then need to loop through all the ports checking if their PVID matches the VLAN ID and if the tagging mode is false or 4. If both are true we add that port to the list of untagged ports for that VLAN.
ieee8021QBridgeVlanVersionNumber OBJECT-TYPE
SYNTAX INTEGER {
version1(1),
version2(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The version number of IEEE 802.1Q that this device
supports. Reported as 1 by VLAN Bridges that support
only SST operation, and reported as 2 by VLAN Bridges
that support MST operation."
REFERENCE "12.10.1.1"
::= { ieee8021QBridgeEntry 2 }