2
0
mirror of https://github.com/openvswitch/ovs synced 2025-08-31 22:35:15 +00:00

lib: Keep track of usable protocols while parsing.

Keep track of usable protocols while parsing actions and matches,
rather than checking for them afterwards.  This fixes silently discarded
meter and goto table instructions when not explicitly specifying the
protocol to use.

Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Signed-off-by: Ben Pfaff <blp@nicira.com>
This commit is contained in:
Jarno Rajahalme
2013-08-20 18:41:45 -07:00
committed by Ben Pfaff
parent 89454bf477
commit db0b6c2913
12 changed files with 341 additions and 315 deletions

View File

@@ -30,32 +30,40 @@ struct ofputil_flow_mod;
struct ofputil_flow_monitor_request;
struct ofputil_flow_stats_request;
struct ofputil_meter_mod;
enum ofputil_protocol;
char *parse_ofp_str(struct ofputil_flow_mod *, int command, const char *str_)
char *parse_ofp_str(struct ofputil_flow_mod *, int command, const char *str_,
enum ofputil_protocol *usable_protocols)
WARN_UNUSED_RESULT;
char *parse_ofp_flow_mod_str(struct ofputil_flow_mod *, const char *string,
uint16_t command)
uint16_t command,
enum ofputil_protocol *usable_protocols)
WARN_UNUSED_RESULT;
char *parse_ofp_flow_mod_file(const char *file_name, uint16_t command,
struct ofputil_flow_mod **fms, size_t *n_fms)
struct ofputil_flow_mod **fms, size_t *n_fms,
enum ofputil_protocol *usable_protocols)
WARN_UNUSED_RESULT;
char *parse_ofp_flow_stats_request_str(struct ofputil_flow_stats_request *,
bool aggregate, const char *string)
bool aggregate, const char *string,
enum ofputil_protocol *usable_protocols)
WARN_UNUSED_RESULT;
char *parse_ofpacts(const char *, struct ofpbuf *ofpacts)
char *parse_ofpacts(const char *, struct ofpbuf *ofpacts,
enum ofputil_protocol *usable_protocols)
WARN_UNUSED_RESULT;
char *parse_ofp_exact_flow(struct flow *, const char *);
char *parse_ofp_meter_mod_str(struct ofputil_meter_mod *, const char *string,
int command)
int command,
enum ofputil_protocol *usable_protocols)
WARN_UNUSED_RESULT;
char *parse_flow_monitor_request(struct ofputil_flow_monitor_request *,
const char *)
const char *,
enum ofputil_protocol *usable_protocols)
WARN_UNUSED_RESULT;
#endif /* ofp-parse.h */