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.

Reply via email to