Merge branch 'master' into net-next
This commit is contained in:
commit
6831acc8ef
|
|
@ -10,6 +10,7 @@ Config
|
|||
# cscope
|
||||
cscope.*
|
||||
ncscope.*
|
||||
tags
|
||||
TAGS
|
||||
|
||||
# git files that we don't want to ignore even it they are dot-files
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@ static void usage(void)
|
|||
{
|
||||
fprintf(stderr, "Usage: ip tuntap { add | del | show | list | lst | help } [ dev PHYS_DEV ]\n");
|
||||
fprintf(stderr, " [ mode { tun | tap } ] [ user USER ] [ group GROUP ]\n");
|
||||
fprintf(stderr, " [ one_queue ] [ pi ] [ vnet_hdr ] [ multi_queue ]\n");
|
||||
fprintf(stderr, " [ one_queue ] [ pi ] [ vnet_hdr ] [ multi_queue ] [ name NAME ]\n");
|
||||
fprintf(stderr, "\n");
|
||||
fprintf(stderr, "Where: USER := { STRING | NUMBER }\n");
|
||||
fprintf(stderr, " GROUP := { STRING | NUMBER }\n");
|
||||
|
|
|
|||
|
|
@ -93,7 +93,7 @@ Each policy routing rule consists of a
|
|||
.B selector
|
||||
and an
|
||||
.B action predicate.
|
||||
The RPDB is scanned in order of increasing priority. The selector
|
||||
The RPDB is scanned in order of decreasing priority. The selector
|
||||
of each rule is applied to {source address, destination address, incoming
|
||||
interface, tos, fwmark} and, if the selector matches the packet,
|
||||
the action is performed. The action predicate may return with success.
|
||||
|
|
@ -221,8 +221,10 @@ value to match.
|
|||
|
||||
.TP
|
||||
.BI priority " PREFERENCE"
|
||||
the priority of this rule. Each rule should have an explicitly
|
||||
set
|
||||
the priority of this rule.
|
||||
.I PREFERENCE
|
||||
is an unsigned integer value, higher number means lower priority. Each rule
|
||||
should have an explicitly set
|
||||
.I unique
|
||||
priority value.
|
||||
The options preference and order are synonyms with priority.
|
||||
|
|
|
|||
18
misc/nstat.c
18
misc/nstat.c
|
|
@ -76,6 +76,11 @@ static int net_snmp6_open(void)
|
|||
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;
|
||||
|
|
@ -247,6 +252,16 @@ static void load_ugly_table(FILE *fp)
|
|||
}
|
||||
}
|
||||
|
||||
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");
|
||||
|
|
@ -391,6 +406,7 @@ static void update_db(int interval)
|
|||
load_netstat();
|
||||
load_snmp6();
|
||||
load_snmp();
|
||||
load_sctp_snmp();
|
||||
|
||||
h = kern_db;
|
||||
kern_db = n;
|
||||
|
|
@ -450,6 +466,7 @@ static void server_loop(int fd)
|
|||
load_netstat();
|
||||
load_snmp6();
|
||||
load_snmp();
|
||||
load_sctp_snmp();
|
||||
|
||||
for (;;) {
|
||||
int status;
|
||||
|
|
@ -706,6 +723,7 @@ int main(int argc, char *argv[])
|
|||
load_netstat();
|
||||
load_snmp6();
|
||||
load_snmp();
|
||||
load_sctp_snmp();
|
||||
if (info_source[0] == 0)
|
||||
strcpy(info_source, "kernel");
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue