Make the ct_mark netlink serialization more consistent with the way that ct_label is serialized.
Signed-off-by: Joe Stringer <j...@ovn.org> --- ofproto/ofproto-dpif-xlate.c | 21 ++++++++++----------- 1 file changed, 10 insertions(+), 11 deletions(-) diff --git a/ofproto/ofproto-dpif-xlate.c b/ofproto/ofproto-dpif-xlate.c index 2d0d76912cc3..7a201bde1fd2 100644 --- a/ofproto/ofproto-dpif-xlate.c +++ b/ofproto/ofproto-dpif-xlate.c @@ -4285,17 +4285,16 @@ static void put_ct_mark(const struct flow *flow, struct ofpbuf *odp_actions, struct flow_wildcards *wc) { - struct { - uint32_t key; - uint32_t mask; - } odp_attr; - - odp_attr.key = flow->ct_mark & wc->masks.ct_mark; - odp_attr.mask = wc->masks.ct_mark; - - if (odp_attr.mask) { - nl_msg_put_unspec(odp_actions, OVS_CT_ATTR_MARK, &odp_attr, - sizeof(odp_attr)); + if (wc->masks.ct_mark) { + struct { + uint32_t key; + uint32_t mask; + } *odp_ct_mark; + + odp_ct_mark = nl_msg_put_unspec_uninit(odp_actions, OVS_CT_ATTR_MARK, + sizeof(*odp_ct_mark)); + odp_ct_mark->key = flow->ct_mark & wc->masks.ct_mark; + odp_ct_mark->mask = wc->masks.ct_mark; } } -- 2.1.4 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev