+ flow_wildcards_init_catchall(&ctx.xout->wc);
+ memset(&ctx.xout->wc.masks.in_port, 0xff,
+ sizeof ctx.xout->wc.masks.in_port);
+
+ if (tnl_port_should_receive(&ctx.xin->flow)) {
+ memset(&ctx.xout->wc.masks.tunnel, 0xff,
+ sizeof ctx.xout->wc.masks.tunnel);
+ }
+
+ /* Disable most wildcarding for NetFlow. */
+ if (xin->ofproto->netflow) {
+ memset(&ctx.xout->wc.masks.dl_src, 0xff,
+ sizeof ctx.xout->wc.masks.dl_src);
+ memset(&ctx.xout->wc.masks.dl_dst, 0xff,
+ sizeof ctx.xout->wc.masks.dl_dst);
+ memset(&ctx.xout->wc.masks.dl_type, 0xff,
+ sizeof ctx.xout->wc.masks.dl_type);
+ memset(&ctx.xout->wc.masks.vlan_tci, 0xff,
+ sizeof ctx.xout->wc.masks.vlan_tci);
+ memset(&ctx.xout->wc.masks.nw_proto, 0xff,
+ sizeof ctx.xout->wc.masks.nw_proto);
+ memset(&ctx.xout->wc.masks.nw_src, 0xff,
+ sizeof ctx.xout->wc.masks.nw_src);
+ memset(&ctx.xout->wc.masks.nw_dst, 0xff,
+ sizeof ctx.xout->wc.masks.nw_dst);
+ memset(&ctx.xout->wc.masks.tp_src, 0xff,
+ sizeof ctx.xout->wc.masks.tp_src);
+ memset(&ctx.xout->wc.masks.tp_dst, 0xff,
+ sizeof ctx.xout->wc.masks.tp_dst);
+ }
+