mbox series

[net-next,0/4] net: tcp: make txhash use consistent for IPv4

Message ID 20230427134527.18127-1-atenart@kernel.org (mailing list archive)
Headers show
Series net: tcp: make txhash use consistent for IPv4 | expand

Message

Antoine Tenart April 27, 2023, 1:45 p.m. UTC
Hello,

Series is divided in two parts. First two commits make the txhash (used
for the skb hash in TCP) to be consistent for all IPv4/TCP packets (IPv6
doesn't have the same issue). Last two commits improve doc/comment
hash-related parts.

One example is when using OvS with dp_hash, which uses skb->hash, to
select a path. We'd like packets from the same flow to be consistent, as
well as the hash being stable over time when using net.core.txrehash=0.
Same applies for kernel ECMP which also can use skb->hash.

IMHO the series makes sense in net-next, but we could argue (some)
commits be seen as fixes and I can resend if necessary.

Thanks!
Antoine

Antoine Tenart (4):
  net: tcp: make the txhash available in TIME_WAIT sockets for IPv4 too
  net: ipv4: use consistent txhash in TIME_WAIT and SYN_RECV
  Documentation: net: net.core.txrehash is not specific to listening
    sockets
  net: skbuff: fix l4_hash comment

 Documentation/admin-guide/sysctl/net.rst |  4 ++--
 include/linux/skbuff.h                   |  4 ++--
 include/net/ip.h                         |  2 +-
 net/ipv4/ip_output.c                     |  4 +++-
 net/ipv4/tcp_ipv4.c                      | 14 +++++++++-----
 net/ipv4/tcp_minisocks.c                 |  2 +-
 6 files changed, 18 insertions(+), 12 deletions(-)

Comments

Eric Dumazet April 27, 2023, 3:15 p.m. UTC | #1
On Thu, Apr 27, 2023 at 3:45 PM Antoine Tenart <atenart@kernel.org> wrote:
>
> Hello,
>
> Series is divided in two parts. First two commits make the txhash (used
> for the skb hash in TCP) to be consistent for all IPv4/TCP packets (IPv6
> doesn't have the same issue). Last two commits improve doc/comment
> hash-related parts.
>
> One example is when using OvS with dp_hash, which uses skb->hash, to
> select a path. We'd like packets from the same flow to be consistent, as
> well as the hash being stable over time when using net.core.txrehash=0.
> Same applies for kernel ECMP which also can use skb->hash.

How do you plan to test these patches ?

>
> IMHO the series makes sense in net-next, but we could argue (some)
> commits be seen as fixes and I can resend if necessary.

net-next is closed...
Antoine Tenart April 27, 2023, 3:44 p.m. UTC | #2
Quoting Eric Dumazet (2023-04-27 17:15:27)
> On Thu, Apr 27, 2023 at 3:45 PM Antoine Tenart <atenart@kernel.org> wrote:
> >
> > Series is divided in two parts. First two commits make the txhash (used
> > for the skb hash in TCP) to be consistent for all IPv4/TCP packets (IPv6
> > doesn't have the same issue). Last two commits improve doc/comment
> > hash-related parts.
> >
> > One example is when using OvS with dp_hash, which uses skb->hash, to
> > select a path. We'd like packets from the same flow to be consistent, as
> > well as the hash being stable over time when using net.core.txrehash=0.
> > Same applies for kernel ECMP which also can use skb->hash.
> 
> How do you plan to test these patches ?

I did perform manual checks (with net.core.txrehash=0 to make sure the
hash was consistent) using a setup with OvS and dp_hash (~ECMP like) and
looking which path packets took. Not sure if there is a simpler test
that could be automated, we can't use autoflowlabel to make simple
scripts like for IPv6. Anything you'd like to see specifically?

> > IMHO the series makes sense in net-next, but we could argue (some)
> > commits be seen as fixes and I can resend if necessary.
> 
> net-next is closed...

I was convinced to have checked, but well, completely missed it. Sorry
about that... Will resend when appropriate.

Thanks,
Antoine