X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fofp-util.h;fp=lib%2Fofp-util.h;h=c87b04b745a42f8531ae3223549471ad9ac1605c;hb=007948177581f3b3dad188221593d0e4bdca6ba0;hp=6e69bae05e25baaa0b642f89543345e63c67ff50;hpb=2db65bf72c008cf7ee658d0b44744b39495ead14;p=sliver-openvswitch.git diff --git a/lib/ofp-util.h b/lib/ofp-util.h index 6e69bae05..c87b04b74 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, @@ -116,10 +117,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; @@ -130,9 +135,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 { @@ -246,8 +253,6 @@ struct ofpbuf *make_unbuffered_packet_out(const struct ofpbuf *packet, uint16_t in_port, uint16_t out_port); struct ofpbuf *make_echo_request(void); struct ofpbuf *make_echo_reply(const struct ofp_header *rq); - -void hton_ofp_phy_port(struct ofp_phy_port *); /* Actions. */ @@ -263,7 +268,7 @@ const union ofp_action *actions_next(struct actions_iterator *); int validate_actions(const union ofp_action *, size_t n_actions, const struct flow *, int max_ports); -bool action_outputs_to_port(const union ofp_action *, uint16_t port); +bool action_outputs_to_port(const union ofp_action *, ovs_be16 port); int ofputil_pull_actions(struct ofpbuf *, unsigned int actions_len, union ofp_action **, size_t *);