I solved the problem. It was due to the 64 bit DPID of Procurve switch.
You can find fix of discovery.py at the link below. http://noxrepo.org/pipermail/nox-dev/2010-November/006705.html Thank you very much, Aaron. - Namgon I'm curious if it could be this same issue: http://openvswitch.org/pipermail/discuss/2011-September/005583.html If it's able to discover the link it one direction everything should be fine still since is_switch_only_port, checks both directions. def is_switch_only_port(self, dpid, port): """ Returns True if (dpid, port) designates a port that has any neighbor switches""" for dp1, port1, dp2, port2 in self.adjacency_list: if dp1 == dpid and port1 == port: return True if dp2 == dpid and port2 == port: return True P.S: I think you should be using vswitch over openflowd ( That's what I've heard). Aaron From: [email protected] [mailto:[email protected]] On Behalf Of Namgon Kim Sent: Thursday, September 08, 2011 10:55 AM To: Aaron Rosen Cc: [email protected] Subject: Re: [openflow-discuss] Cannot discover links with HP Procurve switch Thank you, Aaron. Unfortunately, it didn't make any difference. self.send_openflow_packet(dp, packets[dp][port].tostring(), port, OFPP_LOCAL) (I also tested this. self.send_openflow_packet(dp, packets[dp][port].tostring(), [[openflow.OFPAT_OUTPUT, [0,port]]], OFPP_LOCAL) ) I think that it sends LLDP successfully, but the LLDP packet is not correctly acknowledged by other switches. - Namgon Hi Namgon, If you change discovery.py +330 (or around there): from: self.send_openflow_packet(dp, packets[dp][port].tostring(), port) to self.send_openflow_packet(dp, packets[dp][port].tostring(), port, openflow.OFPP_LOCAL ) Does it discover all the links? Aaron P.S: you may have to add import nox.lib.openflow as openflow at the top. From: Namgon Kim Sent: Wednesday, September 07, 2011 10:06 PM To: [email protected] Cc: Namgon Kim Subject: Cannot discover links with HP Procurve switch Dear all, I have a problem in discovering links with HP procurve switch. When I run discovery module, it cannot discover links to procurve switch. Below is the screen output when I run NOX with pyswitch and discovery. $ ./nox_core -i ptcp:6633 pyswitch discovery NOX 0.9.0(zaku)~full~beta (nox_core), compiled Sep 7 2011 21:42:33 Compiled with OpenFlow 0x01 00001|discovery|WARN:[0x12101L:2]new link detected (00:00:00:00:00:01:21:01 p:2 -> 00:00:00:00:00:01:22:01 p:2) 00002|discovery|WARN:[0xa90c0913435ef00L:26]new link detected (0a:90:c0:91:34:35:ef:00 p:26 -> 00:00:00:00:00:01:21:01 p:1) 00003|discovery|WARN:[0x12201L:2]new link detected (00:00:00:00:00:01:22:01 p:2 -> 00:00:00:00:00:01:21:01 p:2) NOX discovers only uni-directional link from Procurve (0xa90c0913435ef00L) to OpenvSwitch (0x12101L). I followed instructions in http://www.openflow.org/wk/index.php/Configuring_HP_Procurve and disable LLDP. But it doesn't make any difference. The firmware version of procurve switch is K.14.68o. # show version Image stamp: /sw/code/build/btm(jeant_openflow) Aug 17 2010 17:47:11 K.14.68o 66 And for other OpenFlow-enabled switches, I use OpenvSwitch. # ovs-openflowd -V ovs-openflowd (Open vSwitch) 1.1.0pre2 Compiled Jul 14 2011 21:30:55 OpenFlow versions 0x1:0x1 I would appreciate any comments. Regards, - Namgon
_______________________________________________ openflow-discuss mailing list [email protected] https://mailman.stanford.edu/mailman/listinfo/openflow-discuss
