Re: [nox-dev] discovery

2010-09-07 Thread Srini Seetharaman
Hi Ali
The following three lines in the code ensure that the HP isn't
dropping the LLDP packets. So, it is not that issue.

# To insure that the LLDP src mac address is not a multicast
# address, since we have no control on choice of dpid
eth.src = '\x00' + struct.pack('!Q',dpid)[3:8]

 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.

 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.

___
nox-dev mailing list
nox-dev@noxrepo.org
http://noxrepo.org/mailman/listinfo/nox-dev_noxrepo.org


Re: [nox-dev] discovery

2010-09-07 Thread Ali Al-Shabibi



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