$chassis) { if ($chassis['jnxVirtualChassisMemberRole'] === 'master') { // Skip master chassis (which already polled by IF-MIB) print_debug("Skip JUNIPER-VIRTUALCHASSIS-MIB::jnxVirtualChassisPortTable for master"); continue; } $jnxVirtualChassisPort = snmpwalk_cache_twopart_oid($device, 'jnxVirtualChassisPortOperStatus.'.$member, [], 'JUNIPER-VIRTUALCHASSIS-MIB', NULL, OBS_SNMP_ALL_MULTILINE); print_debug_vars($jnxVirtualChassisPort); foreach ($jnxVirtualChassisPort[$member] as $jnxVirtualChassisPortName => $port) { $ifDescr = $jnxVirtualChassisPortName . ":vc$member"; // Generate numeric ifIndex based on port name $ifIndex = string_to_id($ifDescr); // Append member options $port = array_merge($port, $chassis); $port_stats[$ifIndex]['ifDescr'] = $ifDescr; $port_stats[$ifIndex]['ifName'] = $ifDescr; $port_stats[$ifIndex]['ifOperStatus'] = $port['jnxVirtualChassisPortOperStatus']; $port_stats[$ifIndex]['ifType'] = str_contains($ifDescr, '.') ? 'propVirtual' : 'other'; } } // EOF