X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fofp-util.c;h=0f3fdb214756d158cfec97d1b625143a29eaddf6;hb=a7349929fb86d41f2e2ef77395e33b21f9457d48;hp=f9f4249047413e6181ac247a33b838b4523f51c7;hpb=7c1a76a4673be09de56743400dfb1d1c8d8d0799;p=sliver-openvswitch.git diff --git a/lib/ofp-util.c b/lib/ofp-util.c index f9f424904..0f3fdb214 100644 --- a/lib/ofp-util.c +++ b/lib/ofp-util.c @@ -404,6 +404,10 @@ ofputil_decode_vendor(const struct ofp_header *oh, size_t length, { OFPUTIL_NXT_SET_ASYNC_CONFIG, OFP10_VERSION, NXT_SET_ASYNC_CONFIG, "NXT_SET_ASYNC_CONFIG", sizeof(struct nx_async_config), 0 }, + + { OFPUTIL_NXT_SET_CONTROLLER_ID, OFP10_VERSION, + NXT_SET_CONTROLLER_ID, "NXT_SET_CONTROLLER_ID", + sizeof(struct nx_controller_id), 0 }, }; static const struct ofputil_msg_category nxt_category = { @@ -2527,6 +2531,12 @@ validate_actions(const union ofp_action *actions, size_t n_actions, error = learn_check((const struct nx_action_learn *) a, flow); break; + case OFPUTIL_NXAST_CONTROLLER: + if (((const struct nx_action_controller *) a)->zero) { + error = OFPERR_NXBAC_MUST_BE_ZERO; + } + break; + case OFPUTIL_OFPAT_STRIP_VLAN: case OFPUTIL_OFPAT_SET_NW_SRC: case OFPUTIL_OFPAT_SET_NW_DST: