net: snmp: fix the wrong ICMP_MIB_MAX value
Subsystems (2)
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
@@ -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_MAXstruct icmp_mib {unsigned long mibs[ICMP_MIB_MAX ]; };
Signature · 1 line
1.6.3.3
Quoted 16 lines · Shan Wei
__ICMP_MIB_MAXis 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.Signed-off-by Shan Wei <[email protected]>--- include/net/snmp.h | 3 +-- 1 files changed, 1 insertions(+), 2 deletions(-)include/net/snmp.h +0
-0
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.
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 */
#defineICMP_MIB_DUMMY__ICMP_MIB_MAXinclude/net/snmp.h +1
-2-#define ICMP_MIB_MAX (__ICMP_MIB_MAX + 1) - +#define ICMP_MIB_MAX __ICMP_MIB_MAXLooks 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
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 */
#defineICMP_MIB_DUMMY__ICMP_MIB_MAXinclude/net/snmp.h +1
-2-#define ICMP_MIB_MAX (__ICMP_MIB_MAX + 1) - +#define ICMP_MIB_MAX __ICMP_MIB_MAXLooks 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_DUMMYbefore v2.6.12-rc2. But after that, it is abandoned.
ICMP_MIB_DUMMYis killed in patch:
[PATCH v2 4/4] net: kill unused macros from head file
OK, fair enough. Wasn't obvious while reviewing this patch.
David Miller
maintainerFrom: 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.
From: Shan Wei <[email protected]>
Date: Thu, 02 Dec 2010 12:04:43 +0800
Quoted 7 lines
__ICMP_MIB_MAXis 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.Signed-off-by Shan Wei <[email protected]>
Applied.