[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <25e3a7a9-a74e-5392-742a-38bd224343f6@cumulusnetworks.com>
Date: Fri, 14 Oct 2016 06:21:19 -0600
From: David Ahern <dsa@...ulusnetworks.com>
To: Eric Dumazet <eric.dumazet@...il.com>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH v2] net: Require exact match for TCP socket lookups if dif
is l3mdev
On 10/14/16 12:33 AM, Eric Dumazet wrote:
> There is a catch here.
> TCP moves IP6CB() in a different location.
>
> Reference :
>
> 971f10eca186 ("tcp: better TCP_SKB_CB layout to reduce cache line misses")
thanks for the reference.
> Problem is that the lookup can happen from IP early demux, before TCP
> moved IP{6}CB around.
For TCP we only need the exact_dif match for listen sockets, so early demux does not apply.
>
> So you might need to let the caller pass IP6CB(skb)->flags (or
> TCP_SKB_CB(skb)->header.h6.flags ) instead of skb since
> inet6_exact_dif_match() does not know where to fetch the flags.
>
> Same issue for IPv4.
I'll update the match functions to pull from TCP_SKB_CB instead of IP6CB and make a note of the above.
Thanks for the review
Powered by blists - more mailing lists