X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fofp-util.h;fp=lib%2Fofp-util.h;h=975d8d2f4aca33f88754f9f7a669d73c01a376df;hb=b2fda3effc787f265b5ad5dfa967ac00627bd075;hp=f4f71cb4802c9fe847a27203c8fa1e0579179462;hpb=827ab71c97f25b77c94a1158834cdad35df6806f;p=sliver-openvswitch.git diff --git a/lib/ofp-util.h b/lib/ofp-util.h index f4f71cb48..975d8d2f4 100644 --- a/lib/ofp-util.h +++ b/lib/ofp-util.h @@ -74,6 +74,7 @@ enum ofputil_msg_code { OFPUTIL_NXT_ROLE_REQUEST, OFPUTIL_NXT_ROLE_REPLY, OFPUTIL_NXT_SET_FLOW_FORMAT, + OFPUTIL_NXT_FLOW_MOD_TABLE_ID, OFPUTIL_NXT_FLOW_MOD, OFPUTIL_NXT_FLOW_REMOVED, @@ -114,10 +115,14 @@ enum nx_flow_format ofputil_min_flow_format(const struct cls_rule *); struct ofpbuf *ofputil_make_set_flow_format(enum nx_flow_format); +/* NXT_FLOW_MOD_TABLE_ID extension. */ +struct ofpbuf *ofputil_make_flow_mod_table_id(bool flow_mod_table_id); + /* Flow format independent flow_mod. */ struct flow_mod { struct cls_rule cr; ovs_be64 cookie; + uint8_t table_id; uint16_t command; uint16_t idle_timeout; uint16_t hard_timeout; @@ -128,9 +133,11 @@ struct flow_mod { size_t n_actions; }; -int ofputil_decode_flow_mod(struct flow_mod *, const struct ofp_header *); +int ofputil_decode_flow_mod(struct flow_mod *, const struct ofp_header *, + bool flow_mod_table_id); struct ofpbuf *ofputil_encode_flow_mod(const struct flow_mod *, - enum nx_flow_format); + enum nx_flow_format, + bool flow_mod_table_id); /* Flow stats or aggregate stats request, independent of flow format. */ struct flow_stats_request {