static bool
is_gratuitous_arp(const struct flow *flow, struct flow_wildcards *wc)
{
- memset(&wc->masks.dl_type, 0xff, sizeof wc->masks.dl_type);
if (flow->dl_type != htons(ETH_TYPE_ARP)) {
return false;
}
ctx->xout->has_normal = true;
+ /* Check the dl_type, since we may check for gratuituous ARP. */
+ memset(&ctx->xout->wc.masks.dl_type, 0xff,
+ sizeof ctx->xout->wc.masks.dl_type);
+
memset(&ctx->xout->wc.masks.dl_src, 0xff,
sizeof ctx->xout->wc.masks.dl_src);
memset(&ctx->xout->wc.masks.dl_dst, 0xff,