我正在使用 PHP 中的计费工具,它连接到 CISCO 交换机并在指定端口上插入 MAC 地址。我使用 Symfony 作为我的底层 php 框架。
如果我尝试插入多播 MAC 地址作为 FastEthernet 安全地址,CISCO 交换机会拒绝该地址。所以我尝试构建一个验证器来确定给定的 MAC 地址是否是多播地址。
有没有人可以帮助我提供片段或提示?
我正在使用 PHP 中的计费工具,它连接到 CISCO 交换机并在指定端口上插入 MAC 地址。我使用 Symfony 作为我的底层 php 框架。
如果我尝试插入多播 MAC 地址作为 FastEthernet 安全地址,CISCO 交换机会拒绝该地址。所以我尝试构建一个验证器来确定给定的 MAC 地址是否是多播地址。
有没有人可以帮助我提供片段或提示?
试试这个片段:
function isPhysicalAddress($address){
if (strlen($address) > 17) return 0;
if ($address == "") return 0;
if (!eregi("^[0-9A-Z]+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)+(\-[0-9A-Z]+)$", $address)) return 0;
$arr=explode("-",$address);
if (strlen($arr[0]) != 2) return 0;
if (strlen($arr[1]) != 2) return 0;
if (strlen($arr[2]) != 2) return 0;
if (strlen($arr[3]) != 2) return 0;
if (strlen($arr[4]) != 2) return 0;
if (strlen($arr[5]) != 2) return 0;
return 1;
}
在这里找到。