Hi Murphy, After applying the patch I'm getting the following messages from nox:
00396|discovery|ERR:lldp chassis ID subtype is not 'local', ignoring 00397|discovery|ERR:lldp chassis ID subtype is not 'local', ignoring 00398|discovery|ERR:lldp chassis ID subtype is not 'local', ignoring Thanks, Aaron On Wed, Jun 22, 2011 at 5:54 PM, Aaron Rosen <aro...@clemson.edu> wrote: > Hi Murphy you are right, I was mistaken on the dpid. > > I've applied this patch and still seeing the same results. (I am > using zaku perhaps i should switch to destiny and try?). > > > checking 492581376499901568 inport 41 > False > > > Any ideas? > > Thanks, > > Aaron > > > On Wed, Jun 22, 2011 at 5:42 PM, Murphy McCauley <jam...@nau.edu> wrote: >> 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 >> > > > > -- > Aaron O. Rosen > Masters Student - Network Communication > 306B Fluor Daniel > -- 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