Details
-
Bug
-
Status: Resolved
-
Resolution: Done
-
unspecified
-
None
-
None
-
Operating System: All
Platform: All
-
4526
Description
Three switches on which the sub type of PortID is Interface Name are used in my experiment, and the connection between them is as follows:
s1(GE1/0/1)-----(GE1/0/1)s2(GE1/0/2)-----(GE1/0/1)s3
GE1/0/1 is short of GigabitEthernet1/0/1, and GE1/0/2 is short of GigabitEthernet1/0/2.
Currently snmp4sdn can not support PortID sub type of Interface Name. Please see SNMP4SDN-10 to get more details about this.
Firstly, I fix the SNMP4SDN-10 to make snmp4sdn to support PortID sub type of Interface Name by modifing the java file of SNMPHandler.
Secondly, I use command snmp4sdn:readdb to read the device information of s1 and s2, but the device information of s3 is not read. So the device type of s3 in snmp4sdn is PR, not SNMP.
Thirdly, I use command snmp4sdn:topodiscoverswitches to discovery the two switches, and to discovery the topology at the same time.
Lastly, I use rpc get-node-list defined in yang file of topology to get the two switches, and the result is true. The information printed in karaf is as follows:
rpc get-node-list is called, node list:
SNMP|7555994878208
SNMP|7578479100416
7555994878208 is s1, and 7578479100416 is s2. Then I use rpc get-node-connector-list to get all ports and the result is also true. The information printed in karaf is as follows:
rpc get-node-connector-list is called, node connector list:
SNMP|2@SNMP|7555994878208
SNMP|3@SNMP|7555994878208
SNMP|3@SNMP|7578479100416
SNMP|4@SNMP|7578479100416
SNMP|2@SNMP|7578479100416
But When I use rpc get-edge-list to get all edges, the result is false. The information printed in karaf is as follows:
(SNMP|2@SNMP|7555994878208->SNMP|3@SNMP|7578479100416)
(SNMP|3@SNMP|7578479100416->SNMP|2@SNMP|7555994878208)
(SNMP|2@SNMP|7578479100416->SNMP|2@SNMP|7555994878208)
As we know from above, the device type of s3 is PR, not SNMP. So there are two edges from SNMP@SNMP to SNMP@SNMP, and there is still an edge from PR@PR to SNMP@SNMP. Therefore the result of rpc get-edge-list is false.