Hi,

Recently, we use the discovery and lavi applications in NOX. The experiment
environment contains two different switches, one is PC w/ NetFPGA and the
other is Extreme OpenFlow enabled-Switch. After starting the discovery app,
we got the complaint messages on the console. The messages are showed below:
------------------------------------------------------------
00103|pyrt|ERR:unable to invoke a Python event handler:
Traceback (most recent call last):
  File "./nox/lib/util.py", line 116, in f
    event.total_len, buffer_id, packet)
  File "./nox/netapps/discovery/discovery.py", line 163, in <lambda>
    discovery.lldp_input_handler(self,dp,inport,reason,len,bid,packet),
  File "./nox/netapps/discovery/discovery.py", line 251, in
lldp_input_handler
    assert (packet.type == ethernet.LLDP_TYPE)
AssertionError
------------------------------------------------------------

After trying to debug these two days and check the ethernet frame, we print
received packet and find some hints from discovery.py
------------------------------------------------------------
 [(Extreme Networks):51:a9:85>01:23:20:00:00:01:VLAN](vlanid=10:
pcp=0)[LLDP]<chassis ID:00:04:96:51:a9:85><port ID:00:01><ttl:120><tlv end>
 [(Nicira Network):a3:71:e3>01:23:20:00:00:01:LLDP]<chassis
ID:00:23:20:a3:71:e3><port ID:00:02><ttl:120><tlv end>
------------------------------------------------------------

The Extreme Switch will pack the VLAN info into the OFP packet, so we modify
a little parts of ethernet.py. This code just skip the VLAN part (4 bytes)
of ethernet frame. The attachment is our modified code. Although it works,
we are not sure doing this is right or not. We are not the python expert and
maybe you guys could provide better way for this.

Thanks,

Jen-Wei

Attachment: ethernet.patch
Description: Binary data

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

Reply via email to