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

Reply via email to