On Thu, Mar 19, 2020 at 06:47:07PM +0200, Paul Blakey wrote: > > On 19/03/2020 17:57, Edward Cree wrote: [...] > > <snip> > >> +static int nf_flow_rule_match(struct nf_flow_match *match, > >> + const struct flow_offload_tuple *tuple) > >> +{ > >> + struct nf_flow_key *mask = &match->mask; > >> + struct nf_flow_key *key = &match->key; > >> + > >> + NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_CONTROL, control); > >> + NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_BASIC, basic); > >> + NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_IPV4_ADDRS, ipv4); > >> + NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_TCP, tcp); > >> + NF_FLOW_DISSECTOR(match, FLOW_DISSECTOR_KEY_PORTS, tp); > >> + > >> + switch (tuple->l3proto) { > >> + case AF_INET: > >> + key->control.addr_type = FLOW_DISSECTOR_KEY_IPV4_ADDRS; > >> > > Is it intentional that mask->control.addr_type never gets set? > > It should be set. I'd be glad to take a patch for this into nf.git Thanks.