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

Reply via email to