On Mon, Apr 11, 2016 at 02:02:00PM +0000, Zoltán Balogh wrote: > Hi, > > In ovs 2.5.0 I observed the following. > I added a group and flows with these commands: > > ovs-ofctl -OOpenFlow13 add-group br1 > group_id=100,type=indirect,bucket=actions=output:CONTROLLER > ovs-ofctl -OOpenFlow13 add-flow br1 > table=0,priority=100,in_port=110,arp,arp_op=2,actions=write_metadata:111,goto_table:80 > ovs-ofctl -OOpenFlow13 add-flow br1 table=80,metadata=111,actions=group:100 > > In this case the PACKET_IN message sent to the controller indicates > table_id=80. > > If I use write_action (instead of default apply_action) in the last flow like > this: > > ovs-ofctl -OOpenFlow13 add-group br1 > group_id=100,type=indirect,bucket=actions=output:CONTROLLER > ovs-ofctl -OOpenFlow13 add-flow br1 > table=0,priority=100,in_port=110,arp,arp_op=2,actions=write_metadata:111,goto_table:80 > ovs-ofctl -OOpenFlow13 add-flow br1 > table=80,metadata=111,actions=write_actions\(group:100\) > > then the PACKET_IN indicates table_id=0. > > Does this behavior correspond with OpenFlow1.3? I found only this: "For the > Write-Actions instruction, the actions field is treated as a set and the > actions are merged into the current action set"
The effects of a write_actions instructions are pretty far removed from the table that wrote it. I think it's reasonable to report an arbitrary table_id there (probably 255 would be better than 0, but the spec doesn't say). I don't know of a citation in the specification for this. If you find one, let us know. If you use a later version of OpenFlow then you'll get a more specific "reason" of OFPR_GROUP or OFPR_ACTION_SET (not sure which), which might help. _______________________________________________ discuss mailing list discuss@openvswitch.org http://openvswitch.org/mailman/listinfo/discuss