Re: [PATCH net-next v3 5/9] net: tcp: make tcp_rcv_state_process() return drop reason

From: Eric Dumazet
Date: Fri Jun 10 2022 - 04:56:45 EST


On Thu, Jun 9, 2022 at 8:45 PM <menglong8.dong@xxxxxxxxx> wrote:
>
> From: Menglong Dong <imagedong@xxxxxxxxxxx>
>
> For now, the return value of tcp_rcv_state_process() is treated as bool.
> Therefore, we can make it return the reasons of the skb drops.
>
> Meanwhile, the return value of tcp_child_process() comes from
> tcp_rcv_state_process(), make it drop reasons by the way.
>
> The new drop reason SKB_DROP_REASON_TCP_LINGER is added for skb dropping
> out of TCP linger.
>
> Reviewed-by: Jiang Biao <benbjiang@xxxxxxxxxxx>
> Reviewed-by: Hao Peng <flyingpeng@xxxxxxxxxxx>
> Signed-off-by: Menglong Dong <imagedong@xxxxxxxxxxx>
> v3:
> - instead SKB_DROP_REASON_TCP_ABORTONDATA with SKB_DROP_REASON_TCP_LINGER
> ---
> include/net/dropreason.h | 6 ++++++
> include/net/tcp.h | 8 +++++---
> net/ipv4/tcp_input.c | 36 ++++++++++++++++++++----------------
> net/ipv4/tcp_ipv4.c | 20 +++++++++++++-------
> net/ipv4/tcp_minisocks.c | 11 ++++++-----
> net/ipv6/tcp_ipv6.c | 19 ++++++++++++-------
> 6 files changed, 62 insertions(+), 38 deletions(-)
>

I am sorry, this patch is too invasive, and will make future bug fix
backports a real nightmare.