На 3026 делал так:
$MacTableSrc = snmp2_real_walk($ip, $snmp_community, "1.3.6.1.2.1.17.7.1.2.2.1.2", $snmp_timeout, $snmp_retries);
$str_to_rpl = "SNMPv2-SMI::mib-2.17.7.1.2.2.1.2.";
foreach ($MacTableSrc as $i => $value)
{
$dmac = str_replace($str_to_rpl, "", $i);
$vlan = strtok($dmac, ".");
$dmac = strstr($dmac, ".");
$dmac = str_replace(".", " ", $dmac);
$dmac = ltrim($dmac);
$dmac = str_replace(" ", ".", $dmac);
$port = substr($MacTableSrc[$i],9);
$str_exp = explode(".", $dmac);
$part_mac = '';
foreach($str_exp as $in => $val)
{
$part_m = dechex($val);
if (strlen($part_m) == 1)
{
$part_m = "0". $part_m;
}
$part_mac .= $part_m;
}
$MacTable[$port] = $part_mac;
}
Код кривой, собственно как и сами длинки, но работает:)