mptcp: add the mibs for MP_RST
authorGeliang Tang <geliang.tang@suse.com>
Fri, 4 Mar 2022 19:36:29 +0000 (11:36 -0800)
committerJakub Kicinski <kuba@kernel.org>
Sat, 5 Mar 2022 05:54:30 +0000 (21:54 -0800)
This patch added two more mibs for MP_RST, MPTCP_MIB_MPRSTTX for
the MP_RST sending and MPTCP_MIB_MPRSTRX for the MP_RST receiving.

Signed-off-by: Geliang Tang <geliang.tang@suse.com>
Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/mptcp/mib.c
net/mptcp/mib.h
net/mptcp/options.c

index 975d17118bfef7e07a241b2f347603364f9b3bd0..e55d3dfbee0c3ba0305d191a80510854bcb8c454 100644 (file)
@@ -50,6 +50,8 @@ static const struct snmp_mib mptcp_snmp_list[] = {
        SNMP_MIB_ITEM("MPFailRx", MPTCP_MIB_MPFAILRX),
        SNMP_MIB_ITEM("MPFastcloseTx", MPTCP_MIB_MPFASTCLOSETX),
        SNMP_MIB_ITEM("MPFastcloseRx", MPTCP_MIB_MPFASTCLOSERX),
+       SNMP_MIB_ITEM("MPRstTx", MPTCP_MIB_MPRSTTX),
+       SNMP_MIB_ITEM("MPRstRx", MPTCP_MIB_MPRSTRX),
        SNMP_MIB_ITEM("RcvPruned", MPTCP_MIB_RCVPRUNED),
        SNMP_MIB_ITEM("SubflowStale", MPTCP_MIB_SUBFLOWSTALE),
        SNMP_MIB_ITEM("SubflowRecover", MPTCP_MIB_SUBFLOWRECOVER),
index 8206c65297e0b51ae987281a923a7a6faec93137..00576179a619f76c0d2a476e094a153895ea65da 100644 (file)
@@ -43,6 +43,8 @@ enum linux_mptcp_mib_field {
        MPTCP_MIB_MPFAILRX,             /* Received a MP_FAIL */
        MPTCP_MIB_MPFASTCLOSETX,        /* Transmit a MP_FASTCLOSE */
        MPTCP_MIB_MPFASTCLOSERX,        /* Received a MP_FASTCLOSE */
+       MPTCP_MIB_MPRSTTX,              /* Transmit a MP_RST */
+       MPTCP_MIB_MPRSTRX,              /* Received a MP_RST */
        MPTCP_MIB_RCVPRUNED,            /* Incoming packet dropped due to memory limit */
        MPTCP_MIB_SUBFLOWSTALE,         /* Subflows entered 'stale' status */
        MPTCP_MIB_SUBFLOWRECOVER,       /* Subflows returned to active status after being stale */
index c3697f06faf9c63159972cbb70b400ad486346ff..325383646f5c0061f049603aa4a965ac40651f7d 100644 (file)
@@ -839,6 +839,7 @@ bool mptcp_established_options(struct sock *sk, struct sk_buff *skb,
                if (mptcp_established_options_rst(sk, skb, &opt_size, remaining, opts)) {
                        *size += opt_size;
                        remaining -= opt_size;
+                       MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPRSTTX);
                }
                return true;
        }
@@ -1161,6 +1162,7 @@ bool mptcp_incoming_options(struct sock *sk, struct sk_buff *skb)
                        subflow->reset_seen = 1;
                        subflow->reset_reason = mp_opt.reset_reason;
                        subflow->reset_transient = mp_opt.reset_transient;
+                       MPTCP_INC_STATS(sock_net(sk), MPTCP_MIB_MPRSTRX);
                }
 
                if (!(mp_opt.suboptions & OPTION_MPTCP_DSS))