> This patch adds support for a new Group Mod command OFPGC_ADD_OR_MOD to OVS > for all OpenFlow versions that support groups (OF11 and higher). The new > ADD_OR_MOD creates a group that does not yet exist (like ADD) and modifies > an existing group (like MODIFY). > > Rational: In OpenFlow 1.x the Group Mod commands OFPGC_ADD and OFPGC_MODIFY > have strict semantics: ADD fails if the group exists, while MODIFY fails if > the group does not exist. This requires a controller to exactly know the > state of the switch when programming a group in order not run the risk of > getting an OFP Error message in response. This is hard to achieve and > maintain at all times in view of possible switch and controller restarts or > other connection losses between switch and controller. > > Due to the un-acknowledged nature of the Group Mod message programming groups > safely and efficiently at the same time is virtually impossible as the > controller has to either query the existence of the group prior to each Group > Mod message or to insert a Barrier Request/Reply after every group to be sure > that no Error can be received at a later stage and require a complicated > roll-back of any dependent actions taken between the failed Group Mod and the > Error. > > In the ovs-ofctl command line the ADD_OR_MOD command is made available through > the new option --may-create in the mod-group command: > > $ ovs-ofctl -Oopenflow13 del-groups br-int group_id=100 > > $ ovs-ofctl -Oopenflow13 mod-group br-int > group_id=100,type=indirect,bucket=actions=2 > OFPT_ERROR (OF1.3) (xid=0x2): OFPGMFC_UNKNOWN_GROUP > OFPT_GROUP_MOD (OF1.3) (xid=0x2): > MOD group_id=100,type=indirect,bucket=actions=output:2 > > $ ovs-ofctl -Oopenflow13 --may-create mod-group br-int > group_id=100,type=indirect,bucket=actions=2 > > $ ovs-ofctl -Oopenflow13 dump-groups br-int > OFPST_GROUP_DESC reply (OF1.3) (xid=0x2): > group_id=100,type=indirect,bucket=actions=output:2 > > $ ovs-ofctl -Oopenflow13 --may-create mod-group br-int > group_id=100,type=indirect,bucket=actions=3 > > $ ovs-ofctl -Oopenflow13 dump-groups br-int > OFPST_GROUP_DESC reply (OF1.3) (xid=0x2): > group_id=100,type=indirect,bucket=actions=output:3 > > > Patch v2: > - Replaced new ovs-ofctl write-group command with --may-create option for > mod-group > - Updated ovs-ofctl --help message > - Added a test for the new command option > - Updated documentation > > Signed-off-by: Jan Scheurich <jan.scheurich at web.de>
I'm having two problems with this patch: First, when I try to compile and run make check, I get the following error: /usr/bin/m4:tests/ofproto.at:404: ERROR: end of file in string Second, the NEWS piece of the patch doesn't apply cleanly. Can we get a rebase? Ryan Moats _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev