forked from openvswitch/ovs
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Fix treatment of OpenFlow 1.1+ bucket weights.
Until now, OVS has parsed all OF1.1+ group buckets that lack a weight as having weight 1. Unfortunately, OpenFlow says that only "select" groups may have a nonzero weight, and requires reporting an error for other kinds of groups that have a nonzero weight. This commit fixes the problem by parsing only select groups with a default weight of 1 and other groups with a default weight of 0. It also adds the OpenFlow-required check for nonzero weights for other kinds of groups. This complies with OpenFlow 1.1 and later. OF1.1 says in section 5.8: If a specified group type is invalid (ie: includes fields such as weight that are undefined for the specified group type) then the switch must refuse to add the group entry and must send an ofp_error_msg with OFPET_GROUP_MOD_FAILED type and OFPGMFC_INVALID_GROUP code. Found by OFTest. Signed-off-by: Ben Pfaff <[email protected]> Acked-by: Flavio Leitner <[email protected]>
- Loading branch information
Showing
3 changed files
with
49 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters