Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2
This commit is contained in:
commit
afd5dad9f3
10
Makefile
10
Makefile
|
|
@ -1,13 +1,13 @@
|
||||||
DESTDIR=
|
DESTDIR=/usr/
|
||||||
SBINDIR=/usr/sbin
|
SBINDIR=/sbin
|
||||||
CONFDIR=/etc/iproute2
|
CONFDIR=/etc/iproute2
|
||||||
DOCDIR=/usr/share/doc/iproute2
|
DOCDIR=/share/doc/iproute2
|
||||||
MANDIR=/usr/share/man
|
MANDIR=/share/man
|
||||||
|
|
||||||
# Path to db_185.h include
|
# Path to db_185.h include
|
||||||
DBM_INCLUDE:=/usr/include
|
DBM_INCLUDE:=/usr/include
|
||||||
|
|
||||||
DEFINES= -DRESOLVE_HOSTNAMES
|
DEFINES= -DRESOLVE_HOSTNAMES -DDESTDIR=\"$(DESTDIR)\"
|
||||||
|
|
||||||
#options if you have a bind>=4.9.4 libresolv (or, maybe, glibc)
|
#options if you have a bind>=4.9.4 libresolv (or, maybe, glibc)
|
||||||
LDLIBS=-lresolv
|
LDLIBS=-lresolv
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
static const char SNAPSHOT[] = "080417";
|
static const char SNAPSHOT[] = "080725";
|
||||||
|
|
|
||||||
|
|
@ -15,6 +15,7 @@
|
||||||
#ifndef _IPTABLES_H
|
#ifndef _IPTABLES_H
|
||||||
#define _IPTABLES_H
|
#define _IPTABLES_H
|
||||||
|
|
||||||
|
#include <linux/types.h>
|
||||||
#include <linux/netfilter_ipv4.h>
|
#include <linux/netfilter_ipv4.h>
|
||||||
|
|
||||||
#include <linux/netfilter/x_tables.h>
|
#include <linux/netfilter/x_tables.h>
|
||||||
|
|
|
||||||
|
|
@ -339,6 +339,7 @@ struct xfrm_usersa_info {
|
||||||
#define XFRM_STATE_NOPMTUDISC 4
|
#define XFRM_STATE_NOPMTUDISC 4
|
||||||
#define XFRM_STATE_WILDRECV 8
|
#define XFRM_STATE_WILDRECV 8
|
||||||
#define XFRM_STATE_ICMP 16
|
#define XFRM_STATE_ICMP 16
|
||||||
|
#define XFRM_STATE_AF_UNSPEC 32
|
||||||
};
|
};
|
||||||
|
|
||||||
struct xfrm_usersa_id {
|
struct xfrm_usersa_id {
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,8 @@ static int ipaddrlabel_modify(int cmd, int argc, char **argv)
|
||||||
|
|
||||||
inet_prefix prefix;
|
inet_prefix prefix;
|
||||||
uint32_t label = 0xffffffffUL;
|
uint32_t label = 0xffffffffUL;
|
||||||
|
char *p = NULL;
|
||||||
|
char *l = NULL;
|
||||||
|
|
||||||
memset(&req, 0, sizeof(req));
|
memset(&req, 0, sizeof(req));
|
||||||
memset(&prefix, 0, sizeof(prefix));
|
memset(&prefix, 0, sizeof(prefix));
|
||||||
|
|
@ -157,6 +159,7 @@ static int ipaddrlabel_modify(int cmd, int argc, char **argv)
|
||||||
while (argc > 0) {
|
while (argc > 0) {
|
||||||
if (strcmp(*argv, "prefix") == 0) {
|
if (strcmp(*argv, "prefix") == 0) {
|
||||||
NEXT_ARG();
|
NEXT_ARG();
|
||||||
|
p = *argv;
|
||||||
get_prefix(&prefix, *argv, preferred_family);
|
get_prefix(&prefix, *argv, preferred_family);
|
||||||
} else if (strcmp(*argv, "dev") == 0) {
|
} else if (strcmp(*argv, "dev") == 0) {
|
||||||
NEXT_ARG();
|
NEXT_ARG();
|
||||||
|
|
@ -164,13 +167,21 @@ static int ipaddrlabel_modify(int cmd, int argc, char **argv)
|
||||||
invarg("dev is invalid\n", *argv);
|
invarg("dev is invalid\n", *argv);
|
||||||
} else if (strcmp(*argv, "label") == 0) {
|
} else if (strcmp(*argv, "label") == 0) {
|
||||||
NEXT_ARG();
|
NEXT_ARG();
|
||||||
|
l = *argv;
|
||||||
if (get_u32(&label, *argv, 0) || label == 0xffffffffUL)
|
if (get_u32(&label, *argv, 0) || label == 0xffffffffUL)
|
||||||
invarg("label is invalid\n", *argv);
|
invarg("label is invalid\n", *argv);
|
||||||
}
|
}
|
||||||
argc--;
|
argc--;
|
||||||
argv++;
|
argv++;
|
||||||
}
|
}
|
||||||
|
if (p == NULL) {
|
||||||
|
fprintf(stderr, "Not enough information: \"prefix\" argument is required.\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if (l == NULL) {
|
||||||
|
fprintf(stderr, "Not enough information: \"label\" argument is required.\n");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
addattr32(&req.n, sizeof(req), IFAL_LABEL, label);
|
addattr32(&req.n, sizeof(req), IFAL_LABEL, label);
|
||||||
addattr_l(&req.n, sizeof(req), IFAL_ADDRESS, &prefix.data, prefix.bytelen);
|
addattr_l(&req.n, sizeof(req), IFAL_ADDRESS, &prefix.data, prefix.bytelen);
|
||||||
req.ifal.ifal_prefixlen = prefix.bitlen;
|
req.ifal.ifal_prefixlen = prefix.bitlen;
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,9 @@
|
||||||
#include "ip_common.h"
|
#include "ip_common.h"
|
||||||
|
|
||||||
#define IPLINK_IOCTL_COMPAT 1
|
#define IPLINK_IOCTL_COMPAT 1
|
||||||
|
#ifndef DESTDIR
|
||||||
|
#define DESTDIR "/usr/"
|
||||||
|
#endif
|
||||||
|
|
||||||
static void usage(void) __attribute__((noreturn));
|
static void usage(void) __attribute__((noreturn));
|
||||||
|
|
||||||
|
|
@ -78,7 +81,7 @@ struct link_util *get_link_kind(const char *id)
|
||||||
if (strcmp(l->id, id) == 0)
|
if (strcmp(l->id, id) == 0)
|
||||||
return l;
|
return l;
|
||||||
|
|
||||||
snprintf(buf, sizeof(buf), "/usr/lib/ip/link_%s.so", id);
|
snprintf(buf, sizeof(buf), DESTDIR "/lib/ip/link_%s.so", id);
|
||||||
dlh = dlopen(buf, RTLD_LAZY);
|
dlh = dlopen(buf, RTLD_LAZY);
|
||||||
if (dlh == NULL) {
|
if (dlh == NULL) {
|
||||||
/* look in current binary, only open once */
|
/* look in current binary, only open once */
|
||||||
|
|
|
||||||
|
|
@ -20,9 +20,9 @@ stats: stats.c
|
||||||
$(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
|
$(HOSTCC) $(CCOPTS) -I../include -o $@ $@.c -lm
|
||||||
|
|
||||||
install: all
|
install: all
|
||||||
mkdir -p $(DESTDIR)/usr/lib/tc
|
mkdir -p $(DESTDIR)/lib/tc
|
||||||
for i in $(DISTDATA); \
|
for i in $(DISTDATA); \
|
||||||
do install -m 755 $$i $(DESTDIR)/usr/lib/tc; \
|
do install -m 755 $$i $(DESTDIR)/lib/tc; \
|
||||||
done
|
done
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
||||||
|
|
@ -72,10 +72,10 @@ libtc.a: $(TCLIB)
|
||||||
$(AR) rcs $@ $(TCLIB)
|
$(AR) rcs $@ $(TCLIB)
|
||||||
|
|
||||||
install: all
|
install: all
|
||||||
mkdir -p $(DESTDIR)/usr/lib/tc
|
mkdir -p $(DESTDIR)/lib/tc
|
||||||
install -m 0755 tc $(DESTDIR)$(SBINDIR)
|
install -m 0755 tc $(DESTDIR)$(SBINDIR)
|
||||||
for i in $(TCSO); \
|
for i in $(TCSO); \
|
||||||
do install -m 755 $$i $(DESTDIR)/usr/lib/tc; \
|
do install -m 755 $$i $(DESTDIR)/lib/tc; \
|
||||||
done
|
done
|
||||||
|
|
||||||
clean:
|
clean:
|
||||||
|
|
|
||||||
|
|
@ -24,13 +24,17 @@
|
||||||
#include "utils.h"
|
#include "utils.h"
|
||||||
#include "tc_util.h"
|
#include "tc_util.h"
|
||||||
|
|
||||||
|
#ifndef DESTDIR
|
||||||
|
#define DESTDIR "/usr/"
|
||||||
|
#endif
|
||||||
|
|
||||||
const char *get_tc_lib(void)
|
const char *get_tc_lib(void)
|
||||||
{
|
{
|
||||||
const char *lib_dir;
|
const char *lib_dir;
|
||||||
|
|
||||||
lib_dir = getenv("TC_LIB_DIR");
|
lib_dir = getenv("TC_LIB_DIR");
|
||||||
if (!lib_dir)
|
if (!lib_dir)
|
||||||
lib_dir = "/usr/lib/tc";
|
lib_dir = DESTDIR "/lib/tc";
|
||||||
|
|
||||||
return lib_dir;
|
return lib_dir;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue