• Jason Xing's avatar
    net: introduce rstreason to detect why the RST is sent · 5cb2cb3c
    Jason Xing authored
    Add a new standalone file for the easy future extension to support
    both active reset and passive reset in the TCP/DCCP/MPTCP protocols.
    
    This patch only does the preparations for reset reason mechanism,
    nothing else changes.
    
    The reset reasons are divided into three parts:
    1) reuse drop reasons for passive reset in TCP
    2) our own independent reasons which aren't relying on other reasons at all
    3) reuse MP_TCPRST option for MPTCP
    
    The benefits of a standalone reset reason are listed here:
    1) it can cover more than one case, such as reset reasons in MPTCP,
    active reset reasons.
    2) people can easily/fastly understand and maintain this mechanism.
    3) we get unified format of output with prefix stripped.
    4) more new reset reasons are on the way
    ...
    
    I will implement the basic codes of active/passive reset reason in
    those three protocols, which are not complete for this moment. For
    passive reset part in TCP, I only introduce the NO_SOCKET common case
    which could be set as an example.
    
    After this series applied, it will have the ability to open a new
    gate to let other people contribute more reasons into it :)
    Signed-off-by: default avatarJason Xing <kernelxing@tencent.com>
    Acked-by: default avatarMatthieu Baerts (NGI0) <matttbe@kernel.org>
    Reviewed-by: default avatarEric Dumazet <edumazet@google.com>
    Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
    5cb2cb3c
rstreason.h 3.55 KB