error = xasprintf("invalid watch_group id %"PRIu32,
bucket->watch_group);
}
+ } else if (!strcasecmp(key, "bucket_id")) {
+ error = str_to_u32(value, &bucket->bucket_id);
+ if (!error && bucket->bucket_id > OFPG15_BUCKET_MAX) {
+ error = xasprintf("invalid bucket_id id %"PRIu32,
+ bucket->bucket_id);
+ }
+ *usable_protocols &= OFPUTIL_P_OF15_UP;
} else if (!strcasecmp(key, "action") || !strcasecmp(key, "actions")) {
ds_put_format(&actions, "%s,", value);
} else {
*usable_protocols = OFPUTIL_P_OF11_UP;
if (fields & F_BUCKETS) {
- char *bkt_str = strstr(string, "bucket");
+ char *bkt_str = strstr(string, "bucket=");
if (bkt_str) {
*bkt_str = '\0';
}
bkt_str++;
- next_bkt_str = strstr(bkt_str, "bucket");
+ next_bkt_str = strstr(bkt_str, "bucket=");
if (next_bkt_str) {
*next_bkt_str = '\0';
}
The fields for \fIbucket_parameters\fR are:
.
.RS
+.IP \fBbucket_id=\fIid\fR
+The 32-bit integer group id of the bucket. Values greater than
+0xffffff00 are reserved.
+.
+This field was added in Open vSwitch 2.4 to conform with the OpenFlow
+1.5 (draft) specification. It is not supported when earlier versions
+of OpenFlow are used. Open vSwitch will automatically allocate bucket
+ids when they are not specified.
.IP \fBactions=\fR[\fIaction\fR][\fB,\fIaction\fR...]\fR
The syntax of actions are identical to the \fBactions=\fR field described in
\fBFlow Syntax\fR above. Specyfing \fBactions=\fR is optional, any unknown