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 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. A simple solution to this problem would be an additional, more tolerant Group Mod command (e.g. ADD_OR_MODIFY) that writes a group into the group table no matter if it already existed in the switch or not. A similar proposal was submitted to ONF a while ago but never implemented in the OpenFlow standard (https://rs.opennetworking.org/bugs/browse/EXT-41). Would the OVS community be open to implement this additional Group Mod command for OpenFlow protocol 1.3 and later? BR, Jan _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev