mbox series

[RFC,00/28] : Accurate ECN for TCP

Message ID 1584524612-24470-1-git-send-email-ilpo.jarvinen@helsinki.fi
Headers show
Series : Accurate ECN for TCP | expand

Message

Ilpo Järvinen March 18, 2020, 9:43 a.m. UTC
Hi all,

Here's the full Accurate ECN implementation mostly based on
  https://tools.ietf.org/html/draft-ietf-tcpm-accurate-ecn-11

Comments would be highly appreciated. The GSO/TSO maze of bits
in particular is something I'm somewhat unsure if I got it
right (for a feature that has a software fallback).

There is an extensive set of packetdrill unit tests for most of
the functionality (I'll send separately to packetdrill).

Please note that this submission is not yet intented to be
included to net-next because some small changes seem still
possible to the spec.

 Documentation/networking/ip-sysctl.txt |  12 +-
 drivers/net/tun.c                      |   3 +-
 include/linux/netdev_features.h        |   3 +
 include/linux/skbuff.h                 |   2 +
 include/linux/tcp.h                    |  19 ++
 include/net/tcp.h                      | 221 ++++++++++---
 include/uapi/linux/tcp.h               |   9 +-
 net/ethtool/common.c                   |   1 +
 net/ipv4/bpf_tcp_ca.c                  |   2 +-
 net/ipv4/syncookies.c                  |  12 +
 net/ipv4/tcp.c                         |  10 +-
 net/ipv4/tcp_dctcp.c                   |   2 +-
 net/ipv4/tcp_dctcp.h                   |   2 +-
 net/ipv4/tcp_input.c                   | 558 ++++++++++++++++++++++++++++-----
 net/ipv4/tcp_ipv4.c                    |   8 +-
 net/ipv4/tcp_minisocks.c               |  84 ++++-
 net/ipv4/tcp_offload.c                 |  11 +-
 net/ipv4/tcp_output.c                  | 298 +++++++++++++++---
 net/ipv4/tcp_timer.c                   |   4 +-
 net/ipv6/syncookies.c                  |   1 +
 net/ipv6/tcp_ipv6.c                    |   4 +-
 net/netfilter/nf_log_common.c          |   4 +-

--
 i.   

ps. My apologies if you got a duplicate copy of them. It seems that
answering "no" to git send-email asking "Send this email?" might
still have sent something out.

Comments

David Miller March 18, 2020, 11:29 p.m. UTC | #1
From: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
Date: Wed, 18 Mar 2020 11:43:04 +0200

> Comments would be highly appreciated.

Two coding style comments which you should audit your entire submission
for:

1) Please order local variables in reverse christmas tree ordering (longest
   to shortest long)

2) Please do not use the inline keyword in foo.c files, let the compiler
   decide.

Thank you.
=?ISO-8859-15?Q?Ilpo_J=E4rvinen?= March 19, 2020, 8:25 p.m. UTC | #2
On Wed, 18 Mar 2020, David Miller wrote:

> From: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
> Date: Wed, 18 Mar 2020 11:43:04 +0200
> 
> > Comments would be highly appreciated.
> 
> Two coding style comments which you should audit your entire submission
> for:
> 
> 1) Please order local variables in reverse christmas tree ordering (longest
>    to shortest long)

Does this apply also to the usual struct tcp_sock *tp = tcp_sk(sk); line
or can it be put first if there are some dependencies on it?

> 2) Please do not use the inline keyword in foo.c files, let the compiler
>    decide.

Thanks. I'll do those (I certainly removed some other bits I moved from
header to .c but missed a few it seems).
David Miller March 20, 2020, 4:38 a.m. UTC | #3
From: "Ilpo Järvinen" <ilpo.jarvinen@cs.helsinki.fi>
Date: Thu, 19 Mar 2020 22:25:23 +0200 (EET)

> On Wed, 18 Mar 2020, David Miller wrote:
> 
>> From: Ilpo Järvinen <ilpo.jarvinen@helsinki.fi>
>> Date: Wed, 18 Mar 2020 11:43:04 +0200
>> 
>> > Comments would be highly appreciated.
>> 
>> Two coding style comments which you should audit your entire submission
>> for:
>> 
>> 1) Please order local variables in reverse christmas tree ordering (longest
>>    to shortest long)
> 
> Does this apply also to the usual struct tcp_sock *tp = tcp_sk(sk); line
> or can it be put first if there are some dependencies on it?

Yes, please.  Put the assignment into the code lines if necessary.