Hey all, I am using Ryu with OVS and I want to use the NXActionResubmitTable to re-submit a packet to table 0.
As I found no documentation about this specific Action, I used this example as a starting point: https://github.com/osrg/ryu/blob/master/ryu/app/gre_tunnel.py#L575 My code looks as follows: --- # If the MPLS label is assigned to the local device -> pop label and resubmit to table 0 match = parser.OFPMatch(eth_type=ether.ETH_TYPE_MPLS, mpls_label=123) actions = [ parser.OFPActionPopMpls(), parser.NXActionResubmitTable(in_port=ofproto.OFPP_IN_PORT, table_id=0) ] self.add_flow(datapath, 1000, match, actions) --- This however results in the following exception: --- hub: uncaught exception: Traceback (most recent call last): File "/usr/local/lib/python2.7/dist-packages/ryu/lib/hub.py", line 52, in _launch func(*args, **kwargs) File "/usr/local/lib/python2.7/dist-packages/ryu/base/app_manager.py", line 276, in _event_loop handler(ev) File "/root/SegmentRoutingController.py", line 67, in get_topology_data self._initialize(switches) File "/root/SegmentRoutingController.py", line 106, in _initialize self.add_flow(datapath, 1000, match, actions) File "/root/SegmentRoutingController.py", line 190, in add_flow datapath.send_msg(mod) File "/usr/local/lib/python2.7/dist-packages/ryu/controller/controller.py", line 235, in send_msg msg.serialize() File "/usr/local/lib/python2.7/dist-packages/ryu/ofproto/ofproto_parser.py", line 212, in serialize self._serialize_body() File "/usr/local/lib/python2.7/dist-packages/ryu/ofproto/ofproto_v1_3_parser.py", line 2616, in _serialize_body inst.serialize(self.buf, offset) File "/usr/local/lib/python2.7/dist-packages/ryu/ofproto/ofproto_v1_3_parser.py", line 2755, in serialize a.serialize(buf, action_offset) File "/usr/local/lib/python2.7/dist-packages/ryu/ofproto/nx_actions.py", line 409, in serialize self.table_id) File "/usr/local/lib/python2.7/dist-packages/ryu/lib/pack_utils.py", line 25, in msg_pack_into buf += struct.pack(fmt, *args) error: 'H' format requires 0 <= number <= 65535 --- The value of ofproto.OFPP_IN_PORT is 0xfffffff8 (4294967288) which for sure is >65535. What to use as in_port argument? I am not using the in_port in any match statement, so I basically don't care how in_port is set during resubmission. Thanks and best Daniel ------------------------------------------------------------------------------ _______________________________________________ Ryu-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/ryu-devel
