SCTP module was not load by default. But this should be OK since we will not
load table if fdopen() failed, also opening the proc file won't load SCTP
kernel module.
Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
return generic_proc_open("PROC_NET_SNMP6", "net/snmp6");
}
+static int net_sctp_snmp_open(void)
+{
+ return generic_proc_open("PROC_NET_SCTP_SNMP", "net/sctp/snmp");
+}
+
struct nstat_ent {
struct nstat_ent *next;
char *id;
}
}
+static void load_sctp_snmp(void)
+{
+ FILE *fp = fdopen(net_sctp_snmp_open(), "r");
+
+ if (fp) {
+ load_good_table(fp);
+ fclose(fp);
+ }
+}
+
static void load_snmp(void)
{
FILE *fp = fdopen(net_snmp_open(), "r");
load_netstat();
load_snmp6();
load_snmp();
+ load_sctp_snmp();
h = kern_db;
kern_db = n;
load_netstat();
load_snmp6();
load_snmp();
+ load_sctp_snmp();
for (;;) {
int status;
load_netstat();
load_snmp6();
load_snmp();
+ load_sctp_snmp();
if (info_source[0] == 0)
strcpy(info_source, "kernel");
}