mptcp: add more offered MIBs counter
Track the exceptional handling of MPTCP-level offered window with a few more counters for observability. Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
f3589be0c4
commit
38acb6260f
|
@ -57,6 +57,9 @@ static const struct snmp_mib mptcp_snmp_list[] = {
|
|||
SNMP_MIB_ITEM("SubflowStale", MPTCP_MIB_SUBFLOWSTALE),
|
||||
SNMP_MIB_ITEM("SubflowRecover", MPTCP_MIB_SUBFLOWRECOVER),
|
||||
SNMP_MIB_ITEM("SndWndShared", MPTCP_MIB_SNDWNDSHARED),
|
||||
SNMP_MIB_ITEM("RcvWndShared", MPTCP_MIB_RCVWNDSHARED),
|
||||
SNMP_MIB_ITEM("RcvWndConflictUpdate", MPTCP_MIB_RCVWNDCONFLICTUPDATE),
|
||||
SNMP_MIB_ITEM("RcvWndConflict", MPTCP_MIB_RCVWNDCONFLICT),
|
||||
SNMP_MIB_SENTINEL
|
||||
};
|
||||
|
||||
|
|
|
@ -50,6 +50,11 @@ enum linux_mptcp_mib_field {
|
|||
MPTCP_MIB_SUBFLOWSTALE, /* Subflows entered 'stale' status */
|
||||
MPTCP_MIB_SUBFLOWRECOVER, /* Subflows returned to active status after being stale */
|
||||
MPTCP_MIB_SNDWNDSHARED, /* Subflow snd wnd is overridden by msk's one */
|
||||
MPTCP_MIB_RCVWNDSHARED, /* Subflow rcv wnd is overridden by msk's one */
|
||||
MPTCP_MIB_RCVWNDCONFLICTUPDATE, /* subflow rcv wnd is overridden by msk's one due to
|
||||
* conflict with another subflow while updating msk rcv wnd
|
||||
*/
|
||||
MPTCP_MIB_RCVWNDCONFLICT, /* Conflict with while updating msk rcv wnd */
|
||||
__MPTCP_MIB_MAX
|
||||
};
|
||||
|
||||
|
|
|
@ -1248,8 +1248,11 @@ static void mptcp_set_rwin(struct tcp_sock *tp, struct tcphdr *th)
|
|||
|
||||
if (rcv_wnd == rcv_wnd_old)
|
||||
break;
|
||||
if (before64(rcv_wnd_new, rcv_wnd))
|
||||
if (before64(rcv_wnd_new, rcv_wnd)) {
|
||||
MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_RCVWNDCONFLICTUPDATE);
|
||||
goto raise_win;
|
||||
}
|
||||
MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_RCVWNDCONFLICT);
|
||||
rcv_wnd_old = rcv_wnd;
|
||||
}
|
||||
return;
|
||||
|
@ -1275,6 +1278,7 @@ raise_win:
|
|||
/* RFC1323 scaling applied */
|
||||
new_win >>= tp->rx_opt.rcv_wscale;
|
||||
th->window = htons(new_win);
|
||||
MPTCP_INC_STATS(sock_net(ssk), MPTCP_MIB_RCVWNDSHARED);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue