|
@@ -52,26 +52,11 @@ struct snmp_mib {
|
|
* count on the 20Gb/s + networks people expect in a few years time!
|
|
* count on the 20Gb/s + networks people expect in a few years time!
|
|
*/
|
|
*/
|
|
|
|
|
|
-/*
|
|
|
|
- * The rule for padding:
|
|
|
|
- * Best is power of two because then the right structure can be found by a
|
|
|
|
- * simple shift. The structure should be always cache line aligned.
|
|
|
|
- * gcc needs n=alignto(cachelinesize, popcnt(sizeof(bla_mib))) shift/add
|
|
|
|
- * instructions to emulate multiply in case it is not power-of-two.
|
|
|
|
- * Currently n is always <=3 for all sizes so simple cache line alignment
|
|
|
|
- * is enough.
|
|
|
|
- *
|
|
|
|
- * The best solution would be a global CPU local area , especially on 64
|
|
|
|
- * and 128byte cacheline machine it makes a *lot* of sense -AK
|
|
|
|
- */
|
|
|
|
-
|
|
|
|
-#define __SNMP_MIB_ALIGN__ ____cacheline_aligned
|
|
|
|
-
|
|
|
|
/* IPstats */
|
|
/* IPstats */
|
|
#define IPSTATS_MIB_MAX __IPSTATS_MIB_MAX
|
|
#define IPSTATS_MIB_MAX __IPSTATS_MIB_MAX
|
|
struct ipstats_mib {
|
|
struct ipstats_mib {
|
|
unsigned long mibs[IPSTATS_MIB_MAX];
|
|
unsigned long mibs[IPSTATS_MIB_MAX];
|
|
-} __SNMP_MIB_ALIGN__;
|
|
|
|
|
|
+};
|
|
|
|
|
|
/* ICMP */
|
|
/* ICMP */
|
|
#define ICMP_MIB_DUMMY __ICMP_MIB_MAX
|
|
#define ICMP_MIB_DUMMY __ICMP_MIB_MAX
|
|
@@ -79,36 +64,36 @@ struct ipstats_mib {
|
|
|
|
|
|
struct icmp_mib {
|
|
struct icmp_mib {
|
|
unsigned long mibs[ICMP_MIB_MAX];
|
|
unsigned long mibs[ICMP_MIB_MAX];
|
|
-} __SNMP_MIB_ALIGN__;
|
|
|
|
|
|
+};
|
|
|
|
|
|
#define ICMPMSG_MIB_MAX __ICMPMSG_MIB_MAX
|
|
#define ICMPMSG_MIB_MAX __ICMPMSG_MIB_MAX
|
|
struct icmpmsg_mib {
|
|
struct icmpmsg_mib {
|
|
unsigned long mibs[ICMPMSG_MIB_MAX];
|
|
unsigned long mibs[ICMPMSG_MIB_MAX];
|
|
-} __SNMP_MIB_ALIGN__;
|
|
|
|
|
|
+};
|
|
|
|
|
|
/* ICMP6 (IPv6-ICMP) */
|
|
/* ICMP6 (IPv6-ICMP) */
|
|
#define ICMP6_MIB_MAX __ICMP6_MIB_MAX
|
|
#define ICMP6_MIB_MAX __ICMP6_MIB_MAX
|
|
struct icmpv6_mib {
|
|
struct icmpv6_mib {
|
|
unsigned long mibs[ICMP6_MIB_MAX];
|
|
unsigned long mibs[ICMP6_MIB_MAX];
|
|
-} __SNMP_MIB_ALIGN__;
|
|
|
|
|
|
+};
|
|
|
|
|
|
#define ICMP6MSG_MIB_MAX __ICMP6MSG_MIB_MAX
|
|
#define ICMP6MSG_MIB_MAX __ICMP6MSG_MIB_MAX
|
|
struct icmpv6msg_mib {
|
|
struct icmpv6msg_mib {
|
|
unsigned long mibs[ICMP6MSG_MIB_MAX];
|
|
unsigned long mibs[ICMP6MSG_MIB_MAX];
|
|
-} __SNMP_MIB_ALIGN__;
|
|
|
|
|
|
+};
|
|
|
|
|
|
|
|
|
|
/* TCP */
|
|
/* TCP */
|
|
#define TCP_MIB_MAX __TCP_MIB_MAX
|
|
#define TCP_MIB_MAX __TCP_MIB_MAX
|
|
struct tcp_mib {
|
|
struct tcp_mib {
|
|
unsigned long mibs[TCP_MIB_MAX];
|
|
unsigned long mibs[TCP_MIB_MAX];
|
|
-} __SNMP_MIB_ALIGN__;
|
|
|
|
|
|
+};
|
|
|
|
|
|
/* UDP */
|
|
/* UDP */
|
|
#define UDP_MIB_MAX __UDP_MIB_MAX
|
|
#define UDP_MIB_MAX __UDP_MIB_MAX
|
|
struct udp_mib {
|
|
struct udp_mib {
|
|
unsigned long mibs[UDP_MIB_MAX];
|
|
unsigned long mibs[UDP_MIB_MAX];
|
|
-} __SNMP_MIB_ALIGN__;
|
|
|
|
|
|
+};
|
|
|
|
|
|
/* Linux */
|
|
/* Linux */
|
|
#define LINUX_MIB_MAX __LINUX_MIB_MAX
|
|
#define LINUX_MIB_MAX __LINUX_MIB_MAX
|