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
278278 LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */
279279 LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */
280280 LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */
281+ LINUX_MIB_TCPMTUPFAIL, /* TCPMTUPFail */
282+ LINUX_MIB_TCPMTUPSUCCESS, /* TCPMTUPSuccess */
281283 __LINUX_MIB_MAX
282284 };
283285
net/ipv4/proc.c+2−0
@@ -300,6 +300,8 @@ static const struct snmp_mib snmp4_net_list[] = { · 299 unmodified lines
300300 SNMP_MIB_ITEM("TCPACKSkippedChallenge", LINUX_MIB_TCPACKSKIPPEDCHALLENGE),
301301 SNMP_MIB_ITEM("TCPWinProbe", LINUX_MIB_TCPWINPROBE),
302302 SNMP_MIB_ITEM("TCPKeepAlive", LINUX_MIB_TCPKEEPALIVE),
303+ SNMP_MIB_ITEM("TCPMTUPFail", LINUX_MIB_TCPMTUPFAIL),
304+ SNMP_MIB_ITEM("TCPMTUPSuccess", LINUX_MIB_TCPMTUPSUCCESS),
303305 SNMP_MIB_SENTINEL
304306 };
305307
net/ipv4/tcp_input.c+2−0
@@ -2593,6 +2593,7 @@ static void tcp_mtup_probe_failed(struct sock *sk) · 2592 unmodified lines
25932593
25942594 icsk->icsk_mtup.search_high = icsk->icsk_mtup.probe_size - 1;
25952595 icsk->icsk_mtup.probe_size = 0;
2596+ NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPMTUPFAIL);
25962597 }
25972598
25982599 static void tcp_mtup_probe_success(struct sock *sk)
@@ -2612,6 +2613,7 @@ static void tcp_mtup_probe_success(struct sock *sk) · 13 unmodified lines
26122613 icsk->icsk_mtup.search_low = icsk->icsk_mtup.probe_size;
26132614 icsk->icsk_mtup.probe_size = 0;
26142615 tcp_sync_mss(sk, icsk->icsk_pmtu_cookie);
2616+ NET_INC_STATS_BH(sock_net(sk), LINUX_MIB_TCPMTUPSUCCESS);
26152617 }
26162618
26172619 /* 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