X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-ofctl.c;h=2d6872ba73bd9e3eb45c90b973e43b0b269b91e0;hb=e3b5693319c461a5909507b9ede57db326c07df2;hp=b2470e61e33b586ca45c4c12e50ca5cd121ed310;hpb=340c7bb2b9565b07de7c105d7fae298be908d138;p=sliver-openvswitch.git diff --git a/utilities/ovs-ofctl.c b/utilities/ovs-ofctl.c index b2470e61e..2d6872ba7 100644 --- a/utilities/ovs-ofctl.c +++ b/utilities/ovs-ofctl.c @@ -2637,9 +2637,15 @@ ofctl_parse_ofp11_instructions(int argc OVS_UNUSED, char *argv[] OVS_UNUSED) /* Convert to ofpacts. */ ofpbuf_init(&ofpacts, 0); size = of11_in.size; - error = ofpacts_pull_openflow11_instructions( - &of11_in, of11_in.size, table_id ? atoi(table_id) : 0, - &ofpacts); + error = ofpacts_pull_openflow11_instructions(&of11_in, of11_in.size, + &ofpacts); + if (!error) { + /* Verify actions. */ + struct flow flow; + memset(&flow, 0, sizeof flow); + error = ofpacts_check(ofpacts.data, ofpacts.size, &flow, OFPP_MAX, + table_id ? atoi(table_id) : 0); + } if (error) { printf("bad OF1.1 instructions: %s\n\n", ofperr_get_name(error)); ofpbuf_uninit(&ofpacts);