这里只是一个黑暗的镜头,但我想我会问,如果有人有一些想法:
我有一个testing场景,其中一些(无GUI /embedded式)IPv6设备将被临时插入到pipe理型以太网交换机的端口中,并且一个控制程序(在单独的Linux PC上运行,也连接到交换机)将会检测到这些设备中的一个出现在LAN上,并自动运行testing以确保设备正常工作。
通常会有十几个这样的设备同时连接(所以我们可以并行运行testing),并且设备将被不必要地了解networking的人定期连接和断开; 他们只知道如何插入以太网电缆,然后(几个小时后)看电脑的屏幕,看看testing是否通过。
当前的问题是如何向testing人员指出特定设备何时未通过testing。 一种方法是在错误日志/消息中join设备的MAC地址(从本地链路本地IPv6地址中获得),这可能足以满足要求,但如果testing程序也可以说类似“连接到端口#5的设备不能正常工作,请看那个端口”。 这样,testing人员就可以按照以太网电缆来查找故障设备,而不必找出每个设备的MAC地址,直到find匹配的设备。
我不认为 Linux计算机可能知道某个设备连接到哪个交换机端口(如果我错了,请告诉我)。 但是假设情况是这样,接下来最好的情况是,如果我可以编程交换机来进行MAC地址转换,例如,使得插入端口#n的任何设备总是出现(对于Linux计算机),就好像它具有MAC地址foo:bar:baz:n,因此显示为IPv6地址fe80 :: 2foo:bar:baz:n。 如果交换机这样做了MAC地址转换,那么控制软件可以通过查看伪MAC地址的最后部分来确定设备连接到哪个端口。
所以我的问题是,这是什么pipe理以太网交换机支持的行为? 如果是这样,这个function叫什么(所以我可以find一个开关做到这一点)? 如果没有,那么我应该看看这个问题有更好的方法吗?
我从来没有听说过可以转换MAC地址的交换机。 然而,最好的托pipe交换机可以让你做什么,通过SNMP查询桥接表:标准桥接器MIB中的dot1dBridge.dot1dTpFdbTable看起来就像是要走的路。 您需要将MAC地址转换为十进制数,然后将其附加到MIB前缀,然后将其吐出。 如果你需要处理VLAN,还有一些额外的技巧。
http://wiki.xdroop.com/space/snmp/Switching+Tables有一个例子。