Код:
Для DES-3526:
FF FF BF 00 соответствует маске 11111111111111111011111100000000 (untagged)
FF FF FF C0 соответствует маске 11111111111111111111111111000000 (egress)
Там, где оба бита выставлены в 1 - это клиентский порт.
Там, где untagged 0, а egress 1 - это tagged порт.
Поэтому, да, чтобы понять, тэгированный ли порт, нужно снять оба OID'a и делать XOR. Ну или упрощённо:
Код:
if($vlan['egress']{$port-1} == 1 && $vlan['untagged']{$port-1} == 0) {
return true;
}
// где $vlan является массивом и содержит 2 элемента с соответстветствующими бинарными масками.