diff options
author | Jarno Rajahalme <jrajahalme@nicira.com> | 2015-11-19 18:20:39 -0800 |
---|---|---|
committer | Jarno Rajahalme <jarno@ovn.org> | 2015-11-19 18:20:39 -0800 |
commit | 89108874d59364313f9e5e192ba8ca00a2771d93 (patch) | |
tree | a8b77a6c91ceabfef1a0950165f0c59bc2e6cb53 /ofproto/ofproto-dpif.c | |
parent | 0a939c1f157f67168ff17e55add718d0b28ddb51 (diff) | |
download | openvswitch-89108874d59364313f9e5e192ba8ca00a2771d93.tar.gz |
ofproto: Check actions also for packet outs and traces.
Make the packet out and trace processing perform the same actions
checks as flow mod processing does.
This used to be the case before, but at some point these have diverged
to perform different combinations of checks.
Signed-off-by: Jarno Rajahalme <jrajahalme@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'ofproto/ofproto-dpif.c')
-rw-r--r-- | ofproto/ofproto-dpif.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/ofproto/ofproto-dpif.c b/ofproto/ofproto-dpif.c index 5cc64cbca..49001e896 100644 --- a/ofproto/ofproto-dpif.c +++ b/ofproto/ofproto-dpif.c @@ -4946,13 +4946,18 @@ ofproto_unixctl_trace_actions(struct unixctl_conn *conn, int argc, goto exit; } if (enforce_consistency) { - retval = ofpacts_check_consistency(ofpacts.data, ofpacts.size, - &flow, u16_to_ofp(ofproto->up.max_ports), - 0, 0, usable_protocols); + retval = ofpacts_check_consistency(ofpacts.data, ofpacts.size, &flow, + u16_to_ofp(ofproto->up.max_ports), + 0, ofproto->up.n_tables, + usable_protocols); } else { retval = ofpacts_check(ofpacts.data, ofpacts.size, &flow, - u16_to_ofp(ofproto->up.max_ports), 0, 0, - &usable_protocols); + u16_to_ofp(ofproto->up.max_ports), 0, + ofproto->up.n_tables, &usable_protocols); + } + if (!retval) { + retval = ofproto_check_ofpacts(&ofproto->up, ofpacts.data, + ofpacts.size); } if (retval) { |