diff --git a/Makefile b/Makefile index 4e23369e..fd758b92 100644 --- a/Makefile +++ b/Makefile @@ -1,11 +1,10 @@ -# Path to parent kernel include files directory DESTDIR= SBINDIR=/usr/sbin CONFDIR=/etc/iproute2 DOCDIR=/usr/doc/iproute2 -KERNEL_INCLUDE=/usr/include -LIBC_INCLUDE=/usr/include +# Path to parent kernel include files directory +KERNEL_INCLUDE:=/usr/include DEFINES= -DRESOLVE_HOSTNAMES @@ -13,10 +12,6 @@ DEFINES= -DRESOLVE_HOSTNAMES LDLIBS=-lresolv ADDLIB= -#options if you compile with libc5, and without a bind>=4.9.4 libresolv -#LDLIBS= -#ADDLIB=inet_ntop.o inet_pton.o - #options for decnet ADDLIB+=dnet_ntop.o dnet_pton.o @@ -25,7 +20,7 @@ ADDLIB+=ipx_ntop.o ipx_pton.o CC = gcc CCOPTS = -D_GNU_SOURCE -O2 -Wstrict-prototypes -Wall -g -CFLAGS = $(CCOPTS) -I$(KERNEL_INCLUDE) -I../include -I/usr/include/db41 $(DEFINES) +CFLAGS = $(CCOPTS) -I$(KERNEL_INCLUDE) -I../include $(DEFINES) LDLIBS += -L../lib -lnetlink -lutil @@ -33,25 +28,32 @@ SUBDIRS=lib ip tc misc LIBNETLINK=../lib/libnetlink.a ../lib/libutil.a -all: - for i in $(SUBDIRS); \ - do $(MAKE) -C $$i; done +all: Config + @for i in $(SUBDIRS); \ + do $(MAKE) $(MFLAGS) -C $$i; done + +Config: + ./configure $(KERNEL_INCLUDE) install: all install -m 0755 -d $(DESTDIR)$(SBINDIR) - install -m 0755 -d $(DESTDIR)$(CONFDIR) + install -m 0755 -d $(CONFDIR) install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples install -m 0755 -d $(DESTDIR)$(DOCDIR)/examples/diffserv install -m 0644 README.iproute2+tc $(shell find examples -type f -maxdepth 1) $(DESTDIR)$(DOCDIR)/examples install -m 0644 $(shell echo examples/diffserv/*) $(DESTDIR)$(DOCDIR)/examples/diffserv @for i in $(SUBDIRS) doc; do $(MAKE) -C $$i install; done @cd etc/iproute2; for i in *; do \ - if [ ! -e $(DESTDIR)$(CONFDIR)/$$i ]; then \ - echo install -m 0644 $$i $(DESTDIR)$(CONFDIR); \ - install -m 0644 $$i $(DESTDIR)$(CONFDIR); fi; done + if [ ! -e $(CONFDIR)/$$i ]; then \ + echo install -m 0644 $$i $(CONFDIR); \ + install -m 0644 $$i $(CONFDIR); fi; done clean: - for i in $(SUBDIRS) doc; \ - do $(MAKE) -C $$i clean; done + @for i in $(SUBDIRS) doc; \ + do $(MAKE) $(MFLAGS) -C $$i clean; done + +clobber: clean + rm -f Config + .EXPORT_ALL_VARIABLES: diff --git a/misc/Makefile b/misc/Makefile index 4e49497e..38fc792f 100644 --- a/misc/Makefile +++ b/misc/Makefile @@ -8,6 +8,17 @@ RTSTATOBJ=rtstat.o ALLOBJ=$(SSOBJ) $(NSTATOBJ) $(IFSTATOBJ) $(RTACCTOBJ) $(ARPDOBJ) $(RTSTATOBJ) TARGETS=ss nstat ifstat rtacct arpd rtstat +include ../Config + +ifeq ($(SS_CONFIG_VEGAS),y) + DEFINES += -DHAVE_TCP_VEGAS +endif +ifeq ($(SS_CONFIG_DRS),y) + DEFINES += -DHAVE_TCP_DRS +endif + + + all: $(TARGETS) ss: $(SSOBJ) $(LIBUTIL) @@ -22,7 +33,7 @@ rtacct: $(RTACCTOBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o rtacct $(RTACCTOBJ) $(LIBNETLINK) -lm arpd: $(ARPDOBJ) - $(CC) $(CFLAGS) $(LDFLAGS) -o arpd $(ARPDOBJ) $(LIBNETLINK) -ldb-4.1 + $(CC) $(CFLAGS) -I$(DBM_INCLUDE) $(LDFLAGS) -o arpd $(ARPDOBJ) $(LIBNETLINK) -ldb rtstat: $(RTSTATOBJ) $(CC) $(CFLAGS) $(LDFLAGS) -o rtstat $(RTSTATOBJ) diff --git a/misc/ss.c b/misc/ss.c index 31ada1f4..c03a5104 100644 --- a/misc/ss.c +++ b/misc/ss.c @@ -1339,12 +1339,14 @@ void tcp_show_info(struct nlmsghdr *nlh, struct tcpdiagmsg *r) if (info->tcpi_snd_ssthresh < 0xFFFF) printf(" ssthresh:%d", info->tcpi_snd_ssthresh); -#if LINUX_VERSION_CODE >= 0x20607 +#ifdef HAVE_TCP_DRS if (info->tcpi_rcv_rtt) printf(" rcv_rtt:%g", (double) info->tcpi_rcv_rtt/1000); if (info->tcpi_rcv_space) printf(" rcv_space:%d", info->tcpi_rcv_space); +#endif +#ifdef HAVE_TCP_VEGAS if (tb[TCPDIAG_VEGASINFO]) { const struct tcpvegas_info *vinfo = RTA_DATA(tb[TCPDIAG_VEGASINFO]); diff --git a/tc/Makefile b/tc/Makefile index 8454843c..a73fb302 100644 --- a/tc/Makefile +++ b/tc/Makefile @@ -1,5 +1,7 @@ TCOBJ=tc.o tc_qdisc.o tc_class.o tc_filter.o tc_util.o m_police.o m_estimator.o +include ../Config + TCMODULES := TCMODULES += q_fifo.o TCMODULES += q_sfq.o @@ -15,11 +17,13 @@ TCMODULES += q_dsmark.o TCMODULES += q_gred.o TCMODULES += f_tcindex.o TCMODULES += q_ingress.o -TCMODULES += q_atm.o -LDLIBS += -latm -TCMODULES += q_delay.o +ifeq ($(TC_CONFIG_ATM),y) + TCMODULES += q_atm.o + LDLIBS += -latm +endif +TCMODULES += q_netsim.o TCMODULES += q_csz.o TCMODULES += q_htb.o TCMODULES += q_hpfq.o