You say your DPID is actually 00:26:f1:3f:e4:80, but... I am guessing (and 
hoping) that you're wrong.  I am guessing it's actually 
06:d6:00:26:f1:3f:e4:80 (which is 492581376499901568, BTW).

So I think you're hitting a longstanding bug in discovery where it doesn't 
work right with DPIDs over 48 bits.  This following message contains a patch 
addressing that, and I think it is a prerequisite for you getting this 
working:
http://noxrepo.org/pipermail/nox-dev/2010-November/006705.html

-- Murphy

On Wednesday, June 22, 2011 02:18:17 PM Aaron Rosen wrote:
> Hi Murphy,
> 
> I managed to get it running but I can't seem to get it working correctly:
> In discovery.py I've uncommented line 334 to print the following:
> 
> print 'Sending packet out of ',longlong_to_octstr(dp), ' port ',str(port)
> 
> From that I see:
> 
> Sending packet out of  06:d6:00:26:f1:3f:e4:80  port  41
> Sending packet out of  06:d6:00:26:f1:3f:e4:80  port  36
> Sending packet out of  06:d6:00:26:f1:3f:e4:80  port  39
> 
> Port 41 is the port that connects to another OF switch
> Also the DPID of my switch is really (00:26:F1:3F:E4:80), I'm guessing
> the it's padding with 06:d6?
> 
> Though if I print the dpid value in create_discovery_packet() it's
> 06:d6:00:26:f1:3f:e4:80.
> 
> Anyways: port 41 connects into an OF switch that has a dpid of:
> 0e:83:00:24:a8:d2:b8:40    So I expect to see packet in events here
> with my LLDP packet from port 41.
> 
> 
> Using a modified packet print I print out the packets and the DPID
> they came in on. From that i see the following packet from dpid:
> 0e:83:00:24:a8:d2:b8:40
> 
> [00:26:f1:3f:e4:80>01:23:20:00:00:01:LLDP]<chassis
> ID:00:26:f1:3f:e4:80><port ID:00:29><ttl:120><tlv end>
> 
> This seems like everything is working perfectly here because this
> switch is the one that connects:
> 
> 00:26:f1:3f:e4:80  <-->  0e:83:00:24:a8:d2:b8:40  and port id = 41
> which is correct.
> 
> Though when I the following code in my controller gets run it returns
> false, but It should return true since port 41 connects to another
> switch. (and this switch returned an LLDP that I sent as a packet in
> event)
> 
> TRUNK_PORT = inst.discovery.is_switch_only_port(dpid, inport)
> if str(dpid) == "492581376499901568": # this is 00:26:f1:3f:e4:80
>         print "checking " + str(dpid) + " inport " + str(inport)
> 
> 
> checking 492581376499901568 inport 41
> False
> 
> 
> Any ideas whats going wrong here?
> 
> Thanks,
> 
> Aaron
> 
> On Wed, Jun 22, 2011 at 1:44 PM, Murphy McCauley <jam...@nau.edu> wrote:
> > Try putting discovery before mymodule on the commandline (or, better,
> > making mymodule depend on discovery in its meta.json).
> > 
> > -- Murphy
> > 
> > On Tuesday, June 21, 2011 01:52:18 PM Aaron Rosen wrote:
> >> Or maybe doing
> >> 
> >> from nox.netapps.discovery import discovery
> >> if(self.resolve(discovery).is_switch_only_port(self, dpid, port) ?
> >> 
> >> Though if I import discovery in this manner I end up with the
> >> following error after nox starts:
> >> 
> >>       Current state: ERROR
> >>       Required state: INSTALLED
> >>       Dependencies: 'python' OK, 'python' OK
> >>       Error:
> >>               cannot import a Python module 'nox.coreapps.examples.sos':
> >>               Traceback (most recent call last):
> >>                 File "./nox/coreapps/examples/sos.py", line 8, in
> >> <module> from nox.netapps.discovery import discovery
> >>                 File "./nox/netapps/discovery/discovery.py", line 24, in
> >> <module> from nox.netapps.discovery.pylinkevent   import Link_event
> >> File "./nox/netapps/discovery/pylinkevent.py", line 25, in <module>
> >> _pylinkevent = swig_import_helper()
> >>                 File "./nox/netapps/discovery/pylinkevent.py", line 21,
> >> in swig_import_helper
> >>                   _mod = imp.load_module('_pylinkevent', fp, pathname,
> >> description) ImportError: ./nox/netapps/discovery/_pylinkevent.so:
> >> undefined symbol: vigil::Link_event::Link_event(vigil::datapathid,
> >> vigil::datapathid, unsigned short, unsigned short,
> >> vigil::Link_event::Action)
> >> 
> >> On Tue, Jun 21, 2011 at 4:22 PM, Aaron Rosen <aro...@clemson.edu> wrote:
> >> > Hello,
> >> > 
> >> > I would like to use: ./nox/netapps/discovery/discovery.py  to find
> >> > interconnected links.
> >> > 
> >> > I'm running nox in the following way  ./nox_core -v -i ptcp:6644
> >> > mymodule discovery
> >> > 
> >> > When doing this I see discovery messages getting printed out. Now In
> >> > mymodule I believe I should be calling:
> >> > is_switch_only_port(self, dpid, port)? How can I call this from
> >> > mymodule?
> >> > 
> >> > Thanks,
> >> > 
> >> > Aaron
> >> > 
> >> > 
> >> > 
> >> > --
> >> > Aaron O. Rosen
> >> > Masters Student - Network Communication
> >> > 306B Fluor Daniel
_______________________________________________
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev

Reply via email to