Hello All, I am trying to use POX web service to set a flow rule that matches based on the nw_src and nw_dst fields of the match object. I am using an OpenFlow Switch and a POX controller. I use the following command to execute POX in Ubuntu. ./pox.py --verbose web.webcore --address='192.168.1.1' --port=5566 openflow.webservice
I use curl to set the flow rule curl -i -X POST –d '{"method":"set_table","params":{"dpid":"00-00-00-00-00-01","flows":[{"actions":[{"type":"OFPAT_OUTPUT", "port":1}],"match":{"dl_type":"0x0800","nw_src":"192.168.1.2"}}]}}' http://192.168.1.11:5566/OF/ Then I get the following error message: ERROR:recoco:Exception calling <bound method OFSetTableRequest._do_init of <pox.openflow.webservice.OFSetTableRequest object at 0xa207c4c>> Traceback (most recent call last): File "/home/routeflow/pox/pox/lib/recoco/recoco.py", line 774, in run e[0](*e[1], **e[2]) File "/home/routeflow/pox/pox/openflow/webservice.py", line 73, in _do_init self._init(*args, **kw) File "/home/routeflow/pox/pox/openflow/webservice.py", line 164, in _init self._con.send(fm) File "/home/routeflow/pox/pox/openflow/of_01.py", line 692, in send data = data.pack() File "/home/routeflow/pox/pox/openflow/libopenflow_01.py", line 2316, in pack packed += self.match.pack(flow_mod=True) File "/home/routeflow/pox/pox/openflow/libopenflow_01.py", line 1205, in pack packed += struct.pack("!LLHH", check_ip_or_arp(fix(self.nw_src)), File "/home/routeflow/pox/pox/openflow/libopenflow_01.py", line 1203, in fix return addr.toUnsigned() AttributeError: 'tuple' object has no attribute 'toUnsigned' ERROR:web.jsonrpc:While handling set_table... Traceback (most recent call last): File "/home/routeflow/pox/pox/web/jsonrpc.py", line 161, in _handle r = method(*params,**kw) File "/home/routeflow/pox/pox/openflow/webservice.py", line 191, in _exec_set_table return OFSetTableRequest(con, flows).get_response() File "/home/routeflow/pox/pox/openflow/webservice.py", line 84, in get_response raise RuntimeError("Operation timed out") RuntimeError: Operation timed out DEBUG:web.webcore.server:/OF/:"POST /OF/ HTTP/1.1" 200 - How should I set a flow rule using the nw_src or nw_dst field? Thanks. Timothy