diff options
Diffstat (limited to 'net/ipv4/proc.c')
| -rw-r--r-- | net/ipv4/proc.c | 39 | 
1 files changed, 23 insertions, 16 deletions
diff --git a/net/ipv4/proc.c b/net/ipv4/proc.c index 4a0335854b8..ae0af9386f7 100644 --- a/net/ipv4/proc.c +++ b/net/ipv4/proc.c @@ -273,12 +273,19 @@ static const struct snmp_mib snmp4_net_list[] = {  	SNMP_MIB_ITEM("TCPChallengeACK", LINUX_MIB_TCPCHALLENGEACK),  	SNMP_MIB_ITEM("TCPSYNChallenge", LINUX_MIB_TCPSYNCHALLENGE),  	SNMP_MIB_ITEM("TCPFastOpenActive", LINUX_MIB_TCPFASTOPENACTIVE), +	SNMP_MIB_ITEM("TCPFastOpenActiveFail", LINUX_MIB_TCPFASTOPENACTIVEFAIL),  	SNMP_MIB_ITEM("TCPFastOpenPassive", LINUX_MIB_TCPFASTOPENPASSIVE),  	SNMP_MIB_ITEM("TCPFastOpenPassiveFail", LINUX_MIB_TCPFASTOPENPASSIVEFAIL),  	SNMP_MIB_ITEM("TCPFastOpenListenOverflow", LINUX_MIB_TCPFASTOPENLISTENOVERFLOW),  	SNMP_MIB_ITEM("TCPFastOpenCookieReqd", LINUX_MIB_TCPFASTOPENCOOKIEREQD),  	SNMP_MIB_ITEM("TCPSpuriousRtxHostQueues", LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES),  	SNMP_MIB_ITEM("BusyPollRxPackets", LINUX_MIB_BUSYPOLLRXPACKETS), +	SNMP_MIB_ITEM("TCPAutoCorking", LINUX_MIB_TCPAUTOCORKING), +	SNMP_MIB_ITEM("TCPFromZeroWindowAdv", LINUX_MIB_TCPFROMZEROWINDOWADV), +	SNMP_MIB_ITEM("TCPToZeroWindowAdv", LINUX_MIB_TCPTOZEROWINDOWADV), +	SNMP_MIB_ITEM("TCPWantZeroWindowAdv", LINUX_MIB_TCPWANTZEROWINDOWADV), +	SNMP_MIB_ITEM("TCPSynRetrans", LINUX_MIB_TCPSYNRETRANS), +	SNMP_MIB_ITEM("TCPOrigDataSent", LINUX_MIB_TCPORIGDATASENT),  	SNMP_MIB_SENTINEL  }; @@ -332,22 +339,22 @@ static void icmp_put(struct seq_file *seq)  	atomic_long_t *ptr = net->mib.icmpmsg_statistics->mibs;  	seq_puts(seq, "\nIcmp: InMsgs InErrors InCsumErrors"); -	for (i=0; icmpmibmap[i].name != NULL; i++) +	for (i = 0; icmpmibmap[i].name != NULL; i++)  		seq_printf(seq, " In%s", icmpmibmap[i].name);  	seq_printf(seq, " OutMsgs OutErrors"); -	for (i=0; icmpmibmap[i].name != NULL; i++) +	for (i = 0; icmpmibmap[i].name != NULL; i++)  		seq_printf(seq, " Out%s", icmpmibmap[i].name);  	seq_printf(seq, "\nIcmp: %lu %lu %lu", -		snmp_fold_field((void __percpu **) net->mib.icmp_statistics, ICMP_MIB_INMSGS), -		snmp_fold_field((void __percpu **) net->mib.icmp_statistics, ICMP_MIB_INERRORS), -		snmp_fold_field((void __percpu **) net->mib.icmp_statistics, ICMP_MIB_CSUMERRORS)); -	for (i=0; icmpmibmap[i].name != NULL; i++) +		snmp_fold_field(net->mib.icmp_statistics, ICMP_MIB_INMSGS), +		snmp_fold_field(net->mib.icmp_statistics, ICMP_MIB_INERRORS), +		snmp_fold_field(net->mib.icmp_statistics, ICMP_MIB_CSUMERRORS)); +	for (i = 0; icmpmibmap[i].name != NULL; i++)  		seq_printf(seq, " %lu",  			   atomic_long_read(ptr + icmpmibmap[i].index));  	seq_printf(seq, " %lu %lu", -		snmp_fold_field((void __percpu **) net->mib.icmp_statistics, ICMP_MIB_OUTMSGS), -		snmp_fold_field((void __percpu **) net->mib.icmp_statistics, ICMP_MIB_OUTERRORS)); -	for (i=0; icmpmibmap[i].name != NULL; i++) +		snmp_fold_field(net->mib.icmp_statistics, ICMP_MIB_OUTMSGS), +		snmp_fold_field(net->mib.icmp_statistics, ICMP_MIB_OUTERRORS)); +	for (i = 0; icmpmibmap[i].name != NULL; i++)  		seq_printf(seq, " %lu",  			   atomic_long_read(ptr + (icmpmibmap[i].index | 0x100)));  } @@ -372,7 +379,7 @@ static int snmp_seq_show(struct seq_file *seq, void *v)  	BUILD_BUG_ON(offsetof(struct ipstats_mib, mibs) != 0);  	for (i = 0; snmp4_ipstats_list[i].name != NULL; i++)  		seq_printf(seq, " %llu", -			   snmp_fold_field64((void __percpu **)net->mib.ip_statistics, +			   snmp_fold_field64(net->mib.ip_statistics,  					     snmp4_ipstats_list[i].entry,  					     offsetof(struct ipstats_mib, syncp))); @@ -388,11 +395,11 @@ static int snmp_seq_show(struct seq_file *seq, void *v)  		/* MaxConn field is signed, RFC 2012 */  		if (snmp4_tcp_list[i].entry == TCP_MIB_MAXCONN)  			seq_printf(seq, " %ld", -				   snmp_fold_field((void __percpu **)net->mib.tcp_statistics, +				   snmp_fold_field(net->mib.tcp_statistics,  						   snmp4_tcp_list[i].entry));  		else  			seq_printf(seq, " %lu", -				   snmp_fold_field((void __percpu **)net->mib.tcp_statistics, +				   snmp_fold_field(net->mib.tcp_statistics,  						   snmp4_tcp_list[i].entry));  	} @@ -403,7 +410,7 @@ static int snmp_seq_show(struct seq_file *seq, void *v)  	seq_puts(seq, "\nUdp:");  	for (i = 0; snmp4_udp_list[i].name != NULL; i++)  		seq_printf(seq, " %lu", -			   snmp_fold_field((void __percpu **)net->mib.udp_statistics, +			   snmp_fold_field(net->mib.udp_statistics,  					   snmp4_udp_list[i].entry));  	/* the UDP and UDP-Lite MIBs are the same */ @@ -414,7 +421,7 @@ static int snmp_seq_show(struct seq_file *seq, void *v)  	seq_puts(seq, "\nUdpLite:");  	for (i = 0; snmp4_udp_list[i].name != NULL; i++)  		seq_printf(seq, " %lu", -			   snmp_fold_field((void __percpu **)net->mib.udplite_statistics, +			   snmp_fold_field(net->mib.udplite_statistics,  					   snmp4_udp_list[i].entry));  	seq_putc(seq, '\n'); @@ -451,7 +458,7 @@ static int netstat_seq_show(struct seq_file *seq, void *v)  	seq_puts(seq, "\nTcpExt:");  	for (i = 0; snmp4_net_list[i].name != NULL; i++)  		seq_printf(seq, " %lu", -			   snmp_fold_field((void __percpu **)net->mib.net_statistics, +			   snmp_fold_field(net->mib.net_statistics,  					   snmp4_net_list[i].entry));  	seq_puts(seq, "\nIpExt:"); @@ -461,7 +468,7 @@ static int netstat_seq_show(struct seq_file *seq, void *v)  	seq_puts(seq, "\nIpExt:");  	for (i = 0; snmp4_ipextstats_list[i].name != NULL; i++)  		seq_printf(seq, " %llu", -			   snmp_fold_field64((void __percpu **)net->mib.ip_statistics, +			   snmp_fold_field64(net->mib.ip_statistics,  					     snmp4_ipextstats_list[i].entry,  					     offsetof(struct ipstats_mib, syncp)));  | 
