Hi, I'm using manual rules in my code, to match it packets from tcp ports... I'm forwarding non tcp packets as conventional of.OFPP_NORMAL. When a packet is tcp, I'm filtering and after that using the following steps:
match = of.ofp_match() match.tp_src = packet_tcp.srcport match.tp_dst = packet_tcp.dstport match.nw_src = packet_next.srcip match.nw_dst = packet_next.dstip ... and set rule into a looping topology with two possible paths: [1 2 5] [1 3 5] I'm using in Action, the switches dpid without specific port numbering. These are the following rules: msg = of.ofp_flow_mod() msg.match = match msg.actions.append(of.ofp_action_output(port = of.OFPP_LOCAL)) core.openflow.sendToDPID(1,msg) msg = of.ofp_flow_mod() msg.match = match msg.actions.append(of.ofp_action_output(port = of.OFPP_LOCAL)) core.openflow.sendToDPID(3,msg) msg = of.ofp_flow_mod() msg.match = match msg.actions.append(of.ofp_action_output(port = of.OFPP_LOCAL)) core.openflow.sendToDPID(5,msg) Unfortunately, POX displays a message:* (libopenflow_01)* match: 59850 5001 10.0.0.1 10.0.0.2 *[libopenflow_01] Fields ignored due to unspecified prerequisites: nw_dst tp_src nw_src tp_dst* What Am I doing wrong?