summaryrefslogtreecommitdiff
path: root/ofproto
diff options
context:
space:
mode:
authorBen Pfaff <blp@ovn.org>2019-10-14 15:34:21 -0700
committerBen Pfaff <blp@ovn.org>2019-12-02 12:41:07 -0800
commit7b950521f5fc4d318fd841d67f43eb7f84972cbe (patch)
tree5b756f67ad9b95d22caa6eec2a8f7c30bee47fff /ofproto
parent9e9b4f5bb68294e7f24bc6ae94d47ebea2798e80 (diff)
downloadopenvswitch-7b950521f5fc4d318fd841d67f43eb7f84972cbe.tar.gz
ofproto-dpif-xlate: Restore table ID on error in xlate_table_action().
Found by inspection. Acked-by: Yi-Hung Wei <yihung.wei@gmail.com> Signed-off-by: Ben Pfaff <blp@ovn.org>
Diffstat (limited to 'ofproto')
-rw-r--r--ofproto/ofproto-dpif-xlate.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c
index cebae7a5b..7e55575b1 100644
--- a/ofproto/ofproto-dpif-xlate.c
+++ b/ofproto/ofproto-dpif-xlate.c
@@ -4369,6 +4369,7 @@ xlate_table_action(struct xlate_ctx *ctx, ofp_port_t in_port, uint8_t table_id,
!is_ip_any(&ctx->xin->flow)) {
xlate_report_error(ctx,
"resubmit(ct) with non-tracked or non-IP packet!");
+ ctx->table_id = old_table_id;
return;
}
tuple_swap(&ctx->xin->flow, ctx->wc);