How was your requirement different from what is already provided? As of at least release 5.4 there is an SNMP subagent which provides some data using the bridge mib.
ref: http://www-03.ibm.com/systems/resources/snmp-whitepaper-legal.pdf in this example 192.168.70.26 is the management IP of a vswitch with three attached guests and one OSA: [r...@litnetm1 ~]# snmpwalk -t 10 -c TICLNET -v 1 192.168.70.26 1.3.6.1.2.1.17 BRIDGE-MIB::dot1dBaseBridgeAddress.0 = Hex-STRING: 02 09 00 00 00 03 BRIDGE-MIB::dot1dBaseNumPorts.0 = INTEGER: 24 BRIDGE-MIB::dot1dBaseType.0 = INTEGER: transparent-only(2) BRIDGE-MIB::dot1dBasePort.1 = INTEGER: 1 BRIDGE-MIB::dot1dBasePort.65 = INTEGER: 65 BRIDGE-MIB::dot1dBasePort.66 = INTEGER: 66 BRIDGE-MIB::dot1dBasePort.67 = INTEGER: 67 BRIDGE-MIB::dot1dBasePortIfIndex.1 = INTEGER: 1 BRIDGE-MIB::dot1dBasePortIfIndex.65 = INTEGER: 65 BRIDGE-MIB::dot1dBasePortIfIndex.66 = INTEGER: 66 BRIDGE-MIB::dot1dBasePortIfIndex.67 = INTEGER: 67 BRIDGE-MIB::dot1dBasePortCircuit.1 = OID: SNMPv2-SMI::zeroDotZero BRIDGE-MIB::dot1dBasePortCircuit.65 = OID: SNMPv2-SMI::zeroDotZero BRIDGE-MIB::dot1dBasePortCircuit.66 = OID: SNMPv2-SMI::zeroDotZero BRIDGE-MIB::dot1dBasePortCircuit.67 = OID: SNMPv2-SMI::zeroDotZero BRIDGE-MIB::dot1dBasePortDelayExceededDiscards.1 = Counter32: 0 BRIDGE-MIB::dot1dBasePortDelayExceededDiscards.65 = Counter32: 0 BRIDGE-MIB::dot1dBasePortDelayExceededDiscards.66 = Counter32: 0 BRIDGE-MIB::dot1dBasePortDelayExceededDiscards.67 = Counter32: 0 BRIDGE-MIB::dot1dBasePortMtuExceededDiscards.1 = Counter32: 0 BRIDGE-MIB::dot1dBasePortMtuExceededDiscards.65 = Counter32: 0 BRIDGE-MIB::dot1dBasePortMtuExceededDiscards.66 = Counter32: 0 BRIDGE-MIB::dot1dBasePortMtuExceededDiscards.67 = Counter32: 0 BRIDGE-MIB::dot1dTpLearnedEntryDiscards.0 = Counter32: 0 BRIDGE-MIB::dot1dTpAgingTime.0 = INTEGER: 1000000 BRIDGE-MIB::dot1dTpFdbAddress.'......' = Hex-STRING: 02 09 00 00 00 0D BRIDGE-MIB::dot1dTpFdbAddress.'......' = Hex-STRING: 02 09 00 00 00 0E BRIDGE-MIB::dot1dTpFdbAddress.'......' = Hex-STRING: 02 09 00 00 00 12 BRIDGE-MIB::dot1dTpFdbPort.'......' = INTEGER: 67 BRIDGE-MIB::dot1dTpFdbPort.'......' = INTEGER: 65 BRIDGE-MIB::dot1dTpFdbPort.'......' = INTEGER: 66 BRIDGE-MIB::dot1dTpFdbStatus.'......' = INTEGER: learned(3) BRIDGE-MIB::dot1dTpFdbStatus.'......' = INTEGER: learned(3) BRIDGE-MIB::dot1dTpFdbStatus.'......' = INTEGER: learned(3) BRIDGE-MIB::dot1dTpPort.1 = INTEGER: 1 BRIDGE-MIB::dot1dTpPort.65 = INTEGER: 65 BRIDGE-MIB::dot1dTpPort.66 = INTEGER: 66 BRIDGE-MIB::dot1dTpPort.67 = INTEGER: 67 BRIDGE-MIB::dot1dTpPortMaxInfo.1 = INTEGER: 9152 BRIDGE-MIB::dot1dTpPortMaxInfo.65 = INTEGER: 65472 BRIDGE-MIB::dot1dTpPortMaxInfo.66 = INTEGER: 65472 BRIDGE-MIB::dot1dTpPortMaxInfo.67 = INTEGER: 65472 BRIDGE-MIB::dot1dTpPortInFrames.1 = Counter32: 180755120 BRIDGE-MIB::dot1dTpPortInFrames.65 = Counter32: 17395512 BRIDGE-MIB::dot1dTpPortInFrames.66 = Counter32: 17238306 BRIDGE-MIB::dot1dTpPortInFrames.67 = Counter32: 22867486 BRIDGE-MIB::dot1dTpPortOutFrames.1 = Counter32: 228351243 BRIDGE-MIB::dot1dTpPortOutFrames.65 = Counter32: 6487738 BRIDGE-MIB::dot1dTpPortOutFrames.66 = Counter32: 2554372 BRIDGE-MIB::dot1dTpPortOutFrames.67 = Counter32: 13075687 BRIDGE-MIB::dot1dTpPortInDiscards.1 = Counter32: 7 BRIDGE-MIB::dot1dTpPortInDiscards.65 = Counter32: 0 BRIDGE-MIB::dot1dTpPortInDiscards.66 = Counter32: 0 BRIDGE-MIB::dot1dTpPortInDiscards.67 = Counter32: 0 -- Jay Brenneman