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

Reply via email to