Do not include zeroed metadata fields in NXM/OXM packet-in messages.
[sliver-openvswitch.git] / lib / flow.c
index 59158ac..f4446c9 100644 (file)
@@ -497,14 +497,8 @@ flow_get_metadata(const struct flow *flow, struct flow_metadata *fmd)
     BUILD_ASSERT_DECL(FLOW_WC_SEQ == 14);
 
     fmd->tun_id = flow->tun_id;
-    fmd->tun_id_mask = htonll(UINT64_MAX);
-
     fmd->metadata = flow->metadata;
-    fmd->metadata_mask = htonll(UINT64_MAX);
-
     memcpy(fmd->regs, flow->regs, sizeof fmd->regs);
-    memset(fmd->reg_masks, 0xff, sizeof fmd->reg_masks);
-
     fmd->in_port = flow->in_port;
 }
 
@@ -1066,6 +1060,7 @@ flow_compose(struct ofpbuf *b, const struct flow *flow)
                 b->l4 = icmp = ofpbuf_put_zeros(b, sizeof *icmp);
                 icmp->icmp_type = ntohs(flow->tp_src);
                 icmp->icmp_code = ntohs(flow->tp_dst);
+                icmp->icmp_csum = csum(icmp, ICMP_HEADER_LEN);
             }
         }