Lorenzo Bianconi <[email protected]> wrote: > This is a preliminary patch to introduce IP6IP6 flowtable acceleration.
Would you mind extending this a little bit? AFAICS this prepares for IP6IP6 by removing the 'its ipv4' assumptions resp. adding needed 'its ipv4' checks: no ipv6 support is added here. > Signed-off-by: Lorenzo Bianconi <[email protected]> > --- > net/netfilter/nf_flow_table_ip.c | 80 > ++++++++++++++++++++++------------------ > 1 file changed, 44 insertions(+), 36 deletions(-) > > diff --git a/net/netfilter/nf_flow_table_ip.c > b/net/netfilter/nf_flow_table_ip.c > index > e128b0fe9a7bf50b458df9940d629ea08c521871..14c01b59f76569170057d2465ee5953efb557bcc > 100644 > --- a/net/netfilter/nf_flow_table_ip.c > +++ b/net/netfilter/nf_flow_table_ip.c > @@ -142,7 +142,18 @@ static bool ip_has_options(unsigned int thoff) > return thoff != sizeof(struct iphdr); > } > > -static void nf_flow_tuple_encap(struct sk_buff *skb, > +struct nf_flowtable_ctx { > + const struct net_device *in; > + u32 offset; > + u32 hdrsize; > + struct { > + u32 offset; > + u8 proto; > + } tun; > +}; Could you add comments for the members here? In particular, we now have @offset and @tun.offset. I can guess that the offset is the start of the inner ip header and tun.offset is the start of the header following the inner ip header. This patch would perhaps be easier to review if the pure move of the ctx structure and passing the extra 'ctx' arg would be in a separate patch.
