1. Creates a lldp packet with the 6 least significant bytes of the dpid as a
tlv (see line 65 and 66 of discovery.py).
2. The received lldp packet's tlv field is then used to compute a chassis id
(line 276), this chassis id is only 6 bytes long
You are right. The problem is that you are unable to associate
multiple Openflow instances on the same HP switch with the same
controller because the TLV contains only the least significant 48
bits. I thought this was solved with NOX-destiny branch which has
support for 64 bit dpid. I'll let the NOX team put in the patch.
I actually believe it doesn't work even if the connections are on the
distinct HP switches. Because the keys in self.dps are 8 bytes long and
the chassisid is 6 bytes long (and ignores the first 2 bytes of the
dpid). So unless the first 2 bytes of the dpid is all zero, this will
never work. Moreover, the first 2 bytes cannot be zero as they represent
the openflow instance vlan id which cannot be 0 (at least on HP
switches). Please correct me, if I am wrong.
Also, I noticed that the switchstats.py in the switchstats component has the
following call:
self.ctxt.send_port_stats_request(dp)
Shouldn't this call be:
self.ctxt.send_port_stats_request(dp, openflow.OFPP_NONE)
I believe the default value of OFPP_NONE for the second argument is
set elsewhere.
When I run the switchstats module, I get this error:
12:30:48 a...@pcepatr39[src]$ ./nox_core -i ptcp:2525 switchstats
NOX 0.8.0~full~beta (nox_core), compiled Sep 2 2010 16:32:28
Compiled with OpenFlow 0x01
1|reactor|ERR:Unhandled Error
Traceback (most recent call last):
--- exception caught here ---
File ./nox/coreapps/pyrt/pyoxidereactor.py, line 86, in __call__
self.func(*self.args, **self.kw);
File ./nox/netapps/switchstats/switchstats.py, line 123, in
lambda
lambda : self.port_timer(dp))
File ./nox/netapps/switchstats/switchstats.py, line 88, in
port_timer
self.ctxt.send_port_stats_request(dp)
File ./nox/coreapps/pyrt/pycomponent.py, line 476, in
send_port_stats_request
def send_port_stats_request(*args): return
_pycomponent.PyContext_send_port_stats_request(*args)
exceptions.TypeError: PyContext_send_port_stats_request() takes
exactly 3 arguments (2 given)
It is fixed by adding the OFPP_NONE
Thanks!
--
Ali Al-Shabibi
Doctoral Student
PH-ATD
CERN - European Organization for Nuclear Research
Office: 513 R-018
ali.al-shab...@cern.ch
Tel : +41 22 767 86 46
Mob : +41 78 609 04 84
___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org