Looks like I missed this until now.
I think your problem is due to a bug in NOX that Kyriakos fixed in April of
2010 (commit a243e3bfa).
You didn't mention where you got your NOX from, but I suspect that it's truly
ancient!
-- Murphy
On Sep 28, 2012, at 4:13 AM, Hong Wayne wrote:
> Dear all:
>
> I use NOX to do my OpenFlow Conroller, but I had some problems when I
> modified the code for pyswitch.py
>
> In forward_12_packet, i modified the actions variable below:
>
> actions = [ [openflow.OFPAT_OUTPUT, [0, prt[0]]], [openflow.OFPAT_SET_DL_DST,
> "54:04:a6:c4:72:78"], [openflow.OFPAT_SET_NW_DST, "192.168.17.181"] ]
>
> But I got some error:
>
> 02171|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/coreapps/examples/pyswitch.py", line 318, in packet_in_callback
> forward_l2_packet(dpid, inport, packet, packet.arr, bufid)
> File "./nox/coreapps/examples/pyswitch.py", line 249, in forward_l2_packet
> inport, buf)
> File "./nox/lib/core.py", line 377, in install_datapath_flow
> (idle_timeout, actions, buffer_id), hard_timeout)
> File "./nox/lib/core.py", line 256, in send_flow_command
> oactions = self.make_action_array(actions)
> File "./nox/lib/core.py", line 169, in make_action_array
> a = struct.pack("HHI", htons(action[0]), htons(8), iaddr.addr)
> AttributeError: 'int' object has no attribute 'addr'
>
>
> I think it's the problem about the ambiguous type, but it confused me.
>
> Can someone explain the error for me?
>
> Thanks a lot.
>