mirror of
https://github.com/openvswitch/ovs
synced 2025-09-03 15:55:19 +00:00
ofp-util: Make validate_actions() take a struct flow *.
The upcoming support for actions on registers will require the flow to validate actions, so this commit adds the parameter in advance. It is not yet used.
This commit is contained in:
@@ -612,7 +612,7 @@ check_action(const union ofp_action *a, unsigned int len, int max_ports)
|
||||
|
||||
int
|
||||
validate_actions(const union ofp_action *actions, size_t n_actions,
|
||||
int max_ports)
|
||||
const struct flow *flow OVS_UNUSED, int max_ports)
|
||||
{
|
||||
size_t i;
|
||||
|
||||
|
@@ -78,7 +78,7 @@ const union ofp_action *actions_first(struct actions_iterator *,
|
||||
size_t n_actions);
|
||||
const union ofp_action *actions_next(struct actions_iterator *);
|
||||
int validate_actions(const union ofp_action *, size_t n_actions,
|
||||
int max_ports);
|
||||
const struct flow *, int max_ports);
|
||||
bool action_outputs_to_port(const union ofp_action *, uint16_t port);
|
||||
|
||||
void normalize_match(struct ofp_match *);
|
||||
|
@@ -2930,7 +2930,7 @@ handle_packet_out(struct ofconn *ofconn, struct ofp_header *oh)
|
||||
/* Extract flow, check actions. */
|
||||
flow_extract(&payload, 0, ofp_port_to_odp_port(ntohs(opo->in_port)),
|
||||
&flow);
|
||||
error = validate_actions(ofp_actions, n_ofp_actions, p->max_ports);
|
||||
error = validate_actions(ofp_actions, n_ofp_actions, &flow, p->max_ports);
|
||||
if (error) {
|
||||
goto exit;
|
||||
}
|
||||
@@ -4022,7 +4022,8 @@ flow_mod_core(struct ofconn *ofconn, struct flow_mod *fm)
|
||||
return error;
|
||||
}
|
||||
|
||||
error = validate_actions(fm->actions, fm->n_actions, p->max_ports);
|
||||
error = validate_actions(fm->actions, fm->n_actions,
|
||||
&fm->cr.flow, p->max_ports);
|
||||
if (error) {
|
||||
return error;
|
||||
}
|
||||
|
Reference in New Issue
Block a user