History

net: track success and failure of TCP PMTU probing

Track success and failure of TCP PMTU probing.

Rick Jones committed 11 years ago

Commit b56ea291 parent 0b2c2a93 files · +6 −0Browse files

Unified · Split

3 files
  1. include/uapi/linux/snmp.h +2 −0
  2. net/ipv4/proc.c +2 −0
  3. net/ipv4/tcp_input.c +2 −0
include/uapi/linux/snmp.h+2−0
@@ -278,6 +278,8 @@ enum · 277 unmodified lines
278 LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */278 LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */
279 LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */279 LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */
280 LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */280 LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */
281 LINUX_MIB_TCPMTUPFAIL, /* TCPMTUPFail */
282 LINUX_MIB_TCPMTUPSUCCESS, /* TCPMTUPSuccess */
281 __LINUX_MIB_MAX283 __LINUX_MIB_MAX
282};284};
283 285
net/ipv4/proc.c+2−0
@@ -300,6 +300,8 @@ static const struct snmp_mib snmp4_net_list[] = { · 299 unmodified lines
300 SNMP_MIB_ITEM("TCPACKSkippedChallenge", LINUX_MIB_TCPACKSKIPPEDCHALLENGE),300 SNMP_MIB_ITEM("TCPACKSkippedChallenge", LINUX_MIB_TCPACKSKIPPEDCHALLENGE),
301 SNMP_MIB_ITEM("TCPWinProbe", LINUX_MIB_TCPWINPROBE),301 SNMP_MIB_ITEM("TCPWinProbe", LINUX_MIB_TCPWINPROBE),
302 SNMP_MIB_ITEM("TCPKeepAlive", LINUX_MIB_TCPKEEPALIVE),302 SNMP_MIB_ITEM("TCPKeepAlive", LINUX_MIB_TCPKEEPALIVE),
303 SNMP_MIB_ITEM("TCPMTUPFail", LINUX_MIB_TCPMTUPFAIL),
304 SNMP_MIB_ITEM("TCPMTUPSuccess", LINUX_MIB_TCPMTUPSUCCESS),
303 SNMP_MIB_SENTINEL305 SNMP_MIB_SENTINEL
304};306};
305 307
net/ipv4/tcp_input.c+2−0
@@ -2593,6 +2593,7 @@ static void tcp_mtup_probe_failed(struct sock *sk) · 2592 unmodified lines
2593 2593
2594 icsk->icsk_mtup.search_high = icsk->icsk_mtup.probe_size - 1;2594 icsk->icsk_mtup.search_high = icsk->icsk_mtup.probe_size - 1;
2595 icsk->icsk_mtup.probe_size = 0;2595 icsk->icsk_mtup.probe_size = 0;
2596 NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPMTUPFAIL);
2596}2597}
2597 2598
2598static void tcp_mtup_probe_success(struct sock *sk)2599static void tcp_mtup_probe_success(struct sock *sk)
@@ -2612,6 +2613,7 @@ static void tcp_mtup_probe_success(struct sock *sk) · 13 unmodified lines
2612 icsk->icsk_mtup.search_low = icsk->icsk_mtup.probe_size;2613 icsk->icsk_mtup.search_low = icsk->icsk_mtup.probe_size;
2613 icsk->icsk_mtup.probe_size = 0;2614 icsk->icsk_mtup.probe_size = 0;
2614 tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);2615 tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);
2616 NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPMTUPSUCCESS);
2615}2617}
2616 2618
2617/* Do a simple retransmit without using the backoff mechanisms in2619/* Do a simple retransmit without using the backoff mechanisms in

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t