Skip to contentSkip to conversation

net: snmp: fix the wrong ICMP_MIB_MAX value

PATCH Applied Shan Wei 3 participants 6 messages Dec 2, 2010

Subsystems (2)
lore
Share & tools
lore

Shan Wei

author
#0 lore raw

PATCH v2 1/4 net: snmp: fix the wrong ICMP_MIB_MAX value

__ICMP_MIB_MAX is equal to the total number of icmp mib, So no need to add 1. This wastes 4/8 bytes memory.

Change it to be same as ICMP6_MIB_MAX, TCP_MIB_MAX, UDP_MIB_MAX.

---
 include/net/snmp.h |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
include/net/snmp.h +1 -2
index a0e6180..aebb553 100644
@@ -61,8 +61,7 @@ struct ipstats_mib {
 
 /* ICMP */
 #define ICMP_MIB_DUMMY	__ICMP_MIB_MAX
-#define ICMP_MIB_MAX	(__ICMP_MIB_MAX + 1)
-
+#define ICMP_MIB_MAX	__ICMP_MIB_MAX
 struct icmp_mib {
 	unsigned long	mibs[ICMP_MIB_MAX];
 };
Signature · 1 line
1.6.3.3
#1 lore raw
Quoted 16 lines · Shan Wei

__ICMP_MIB_MAX is equal to the total number of icmp mib, So no need to add 1. This wastes 4/8 bytes memory.

Change it to be same as ICMP6_MIB_MAX, TCP_MIB_MAX, UDP_MIB_MAX.

---
 include/net/snmp.h |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)
include/net/snmp.h +0 -0
index a0e6180..aebb553 100644

include/net/snmp.h struct ipstats_mib { · line 64

Quoted 6 lines
include/net/snmp.h +1 -2
@@ -61,8 +61,7 @@ struct ipstats_mib {
 
 /* ICMP */
 #define ICMP_MIB_DUMMY	__ICMP_MIB_MAX
-#define ICMP_MIB_MAX	(__ICMP_MIB_MAX + 1)
-
+#define ICMP_MIB_MAX	__ICMP_MIB_MAX

Looks like the +1 is there to account for ICMP_MIB_DUMMY. It is unused though but you have to remove it as well if you want to kill that extra +1.

author
#2 lore raw

Thomas Graf wrote, at 12/02/2010 05:57 PM:

Quoted 9 lines

include/net/snmp.h struct ipstats_mib { · line 64

Quoted 5 lines

/* ICMP */
#define ICMP_MIB_DUMMY __ICMP_MIB_MAX

include/net/snmp.h +1 -2
-#define ICMP_MIB_MAX	(__ICMP_MIB_MAX + 1)
-
+#define ICMP_MIB_MAX	__ICMP_MIB_MAX

Looks like the +1 is there to account for ICMP_MIB_DUMMY. It is unused though but you have to remove it as well if you want to kill that extra +1.

I don't know the history about ICMP_MIB_DUMMY before v2.6.12-rc2. But after that, it is abandoned.

ICMP_MIB_DUMMY is killed in patch:
[PATCH v2 4/4] net: kill unused macros from head file

Signature · 3 lines
Best Regards
-----
Shan Wei
#3 lore raw
Quoted 11 lines · Shan Wei

Thomas Graf wrote, at 12/02/2010 05:57 PM:

Quoted 9 lines

include/net/snmp.h struct ipstats_mib { · line 64

Quoted 5 lines

/* ICMP */
#define ICMP_MIB_DUMMY __ICMP_MIB_MAX

include/net/snmp.h +1 -2
-#define ICMP_MIB_MAX	(__ICMP_MIB_MAX + 1)
-
+#define ICMP_MIB_MAX	__ICMP_MIB_MAX

Looks like the +1 is there to account for ICMP_MIB_DUMMY. It is unused though but you have to remove it as well if you want to kill that extra +1.

Quoted 5 lines

I don't know the history about ICMP_MIB_DUMMY before v2.6.12-rc2. But after that, it is abandoned.

ICMP_MIB_DUMMY is killed in patch:
[PATCH v2 4/4] net: kill unused macros from head file

OK, fair enough. Wasn't obvious while reviewing this patch.

maintainer
#4 lore raw
In reply to Thomas Graf

From: Thomas Graf <[email protected]>
Date: Thu, 2 Dec 2010 04:57:53 -0500

Quoted 3 lines

Looks like the +1 is there to account for ICMP_MIB_DUMMY. It is unused though but you have to remove it as well if you want to kill that extra +1.

He does in patch #4

ICMP_MIB_DUMMY was used in pre-GIT times, as a throw away ICMP counter that gets bumped when we have no specific counter that should be bumped for an ICMP code type. There was a table, per ICMP code, that listed the counter to bump amongst other things, and this dummy value was used in that table.