aboutsummaryrefslogtreecommitdiff
path: root/net-mgmt/tcpreplay
diff options
context:
space:
mode:
authorScott Mace <smace@FreeBSD.org>2002-10-10 00:24:03 +0000
committerScott Mace <smace@FreeBSD.org>2002-10-10 00:24:03 +0000
commit85da262ec1d5782902a395faca0ded665ffc1b16 (patch)
treeb14738ae2af0256cd5b6123d4c5fa128236830e0 /net-mgmt/tcpreplay
parentdec7da56d30d81cc31718fde6395ce03c17b03d4 (diff)
downloadports-85da262ec1d5782902a395faca0ded665ffc1b16.tar.gz
ports-85da262ec1d5782902a395faca0ded665ffc1b16.zip
Upgrade to tcpreplay-1.3-beta2
Notes
Notes: svn path=/head/; revision=67723
Diffstat (limited to 'net-mgmt/tcpreplay')
-rw-r--r--net-mgmt/tcpreplay/Makefile17
-rw-r--r--net-mgmt/tcpreplay/distinfo3
-rw-r--r--net-mgmt/tcpreplay/files/patch-Makefile.in80
-rw-r--r--net-mgmt/tcpreplay/files/patch-configure.in51
-rw-r--r--net-mgmt/tcpreplay/files/patch-list.c10
-rw-r--r--net-mgmt/tcpreplay/files/patch-tcpreplay.883
-rw-r--r--net-mgmt/tcpreplay/files/patch-tcpreplay.c268
-rw-r--r--net-mgmt/tcpreplay/pkg-comment2
-rw-r--r--net-mgmt/tcpreplay/pkg-descr10
-rw-r--r--net-mgmt/tcpreplay/pkg-message3
-rw-r--r--net-mgmt/tcpreplay/pkg-plist3
11 files changed, 99 insertions, 431 deletions
diff --git a/net-mgmt/tcpreplay/Makefile b/net-mgmt/tcpreplay/Makefile
index 2c6a51c72af5..d360b124503e 100644
--- a/net-mgmt/tcpreplay/Makefile
+++ b/net-mgmt/tcpreplay/Makefile
@@ -6,18 +6,14 @@
#
PORTNAME= tcpreplay
-PORTVERSION= 1.0.1
-PORTREVISION= 2
+PORTVERSION= 1.3-beta2
CATEGORIES= net
-MASTER_SITES= http://synfin.net/aturner/tcpreplay/
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= ${PORTNAME}
-PATCH_SITES= http://synfin.net/aturner/tcpreplay/
-PATCHFILES= tcpreplay-adt9.patch.gz
-PATCH_DIST_STRIP= -p1
+MAINTAINER= smace@FreeBSD.org
-MAINTAINER= ports@FreeBSD.org
-
-LIB_DEPENDS= redblack:${PORTSDIR}/devel/libredblack
+LIB_DEPENDS= redblack:${PORTSDIR}/devel/libredblack
BUILD_DEPENDS= ${LOCALBASE}/lib/libnet.a:${PORTSDIR}/net/libnet
GNU_CONFIGURE= yes
@@ -25,6 +21,7 @@ CONFIGURE_ARGS+= --with-libnet=${PREFIX} --with-libredblack=${PREFIX}
USE_AUTOCONF= yes
-MAN8= tcpreplay.8 tcpprep.8
+MAN1= capinfo.1 tcpprep.1
+MAN8= tcpreplay.8
.include <bsd.port.mk>
diff --git a/net-mgmt/tcpreplay/distinfo b/net-mgmt/tcpreplay/distinfo
index 5288fbc89957..968e4129fc59 100644
--- a/net-mgmt/tcpreplay/distinfo
+++ b/net-mgmt/tcpreplay/distinfo
@@ -1,2 +1 @@
-MD5 (tcpreplay-1.0.1.tar.gz) = 4b9335761e9202abfc175c06b169e991
-MD5 (tcpreplay-adt9.patch.gz) = 22bb5970284ca27a6e89222399721e0c
+MD5 (tcpreplay-1.3-beta2.tar.gz) = 219ee380a1bf837d3b0e16d128980a1d
diff --git a/net-mgmt/tcpreplay/files/patch-Makefile.in b/net-mgmt/tcpreplay/files/patch-Makefile.in
index ef32a8a017bc..be7e61e24724 100644
--- a/net-mgmt/tcpreplay/files/patch-Makefile.in
+++ b/net-mgmt/tcpreplay/files/patch-Makefile.in
@@ -1,52 +1,50 @@
---- Makefile.in.orig Sat May 11 12:07:44 2002
-+++ Makefile.in Sat May 11 13:11:51 2002
-@@ -10,15 +10,16 @@
+--- Makefile.in.orig Tue Oct 8 13:11:49 2002
++++ Makefile.in Wed Oct 9 18:33:21 2002
+@@ -10,8 +10,10 @@
CFLAGS = @CFLAGS@
- #CFLAGS = -ggdb -pipe -Wall
LDFLAGS = @LDFLAGS@
--DEFS = @DEFS@
-+DEFS = @DEFS@ `libnet-config --defines`
- LIBS = @LIBS@ @LNETLIB@ @REDBLACKLIB@ @PCAPLIB@
+ DEFS = @DEFS@
+-INCS = @LNETINC@ -I. -Ilibredblack
+-LIBS = @LIBS@ @LNETLIB@
++INCS = @LNETINC@ @REDBLACKINC@
++TLIBS = @LIBS@ @LNETLIB@
++CLIBS = @LIBS@
++PLIBS = @LIBS@ @LNETLIB@ @REDBLACKLIB@
+
INSTALL = @INSTALL@
- INSTALL_PROGRAM = @INSTALL_PROGRAM@
-+INSTALL_DATA = @INSTALL_DATA@
- INCS = @LNETINC@ @REDBLACKINC@ @PCAPINC@
- LIBRARIES = tree cache cidr
- # tcpreplay objects
--ROBJ = cache.o
-+ROBJ = cache.o cidr.o
+@@ -29,30 +31,23 @@
+ .c.o:
+ $(CC) $(CFLAGS) $(INCS) -c $*.c
+
+-all: libredblack $(BINARIES)
++all: $(BINARIES)
- # tcpprep objects
- POBJ = cache.o tree.o cidr.o
-@@ -40,11 +41,11 @@
+ tcpprep: $(POBJS)
+- $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ $(POBJS) $(LDFLAGS) $(LIBS) libredblack/.libs/libredblack.a
++ $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ $(POBJS) $(LDFLAGS) $(PLIBS)
- tcpreplay: $(PCAPDEP) $(LNETDEP) tcpreplay.c
- rm -f tcpreplay
-- $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ tcpreplay.c $(LDFLAGS) $(LIBS) $(ROBJ)
-+ $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ tcpreplay.c $(ROBJ) $(LDFLAGS) $(LIBS)
+ tcpreplay: $(TOBJS)
+- $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ $(TOBJS) $(LDFLAGS) $(LIBS)
++ $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ $(TOBJS) $(LDFLAGS) $(TLIBS)
- tcpprep: $(PCAPDEP) tcpprep.c
- rm -f tcpprep
-- $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ tcpprep.c $(LDFLAGS) $(LIBS) $(POBJ)
-+ $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ tcpprep.c $(POBJ) $(LDFLAGS) $(LIBS)
+ capinfo: $(COBJS)
+- $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ $(COBJS) $(LDFLAGS) $(LIBS)
+-
+-libredblack: libredblack/.libs/libredblack.a
+-
+-libredblack/.libs/libredblack.a:
+- cd libredblack && ./configure && make
++ $(CC) $(CFLAGS) $(DEFS) $(INCS) -o $@ $(COBJS) $(LDFLAGS) $(CLIBS)
clean:
- rm -f *~ *.o *core $(PROGRAMS)
-@@ -53,12 +54,10 @@
- rm -f Makefile config.h config.status config.cache config.log
+ rm -f *.o *core $(BINARIES)
+- cd libredblack && make clean
+
+ distclean: clean
+ rm -f Makefile config.h config.status config.cache config.log *~
+ rm -rf autom4te-2.53.cache
+- cd libredblack && make distclean
install:
-- $(INSTALL_PROGRAM) -m 755 -d $(SBINDIR)
-- $(INSTALL_PROGRAM) -m 755 -d $(MANDIR)
-- $(INSTALL_PROGRAM) -m 755 tcpreplay $(SBINDIR)
-- $(INSTALL_PROGRAM) -m 755 tcpprep $(SBINDIR)
-- $(INSTALL_PROGRAM) -m 644 tcpreplay.8 $(MANDIR)
-- $(INSTALL_PROGRAM) -m 644 tcpprep.8 $(MANDIR)
-+ $(INSTALL_PROGRAM) tcpreplay $(SBINDIR)
-+ $(INSTALL_PROGRAM) tcpprep $(SBINDIR)
-+ $(INSTALL_DATA) tcpreplay.8 $(MANDIR)
-+ $(INSTALL_DATA) tcpprep.8 $(MANDIR)
-
- uninstall:
- rm -f $(SBINDIR)/tcpreplay
+ test -d $(SBINDIR) || $(INSTALL) -d $(SBINDIR)
diff --git a/net-mgmt/tcpreplay/files/patch-configure.in b/net-mgmt/tcpreplay/files/patch-configure.in
index c4b923a297ed..3dd69d2f721c 100644
--- a/net-mgmt/tcpreplay/files/patch-configure.in
+++ b/net-mgmt/tcpreplay/files/patch-configure.in
@@ -1,15 +1,40 @@
---- configure.in.orig Mon Apr 15 14:20:18 2002
-+++ configure.in Mon Apr 15 14:20:52 2002
-@@ -20,12 +20,6 @@
- [ --with-debug Enable debugging code and support for the -d option],
- AC_DEFINE(DEBUG) AC_MSG_RESULT(yes), AC_MSG_RESULT(no))
+--- configure.in.orig Wed Oct 9 17:55:34 2002
++++ configure.in Wed Oct 9 18:27:27 2002
+@@ -91,6 +91,37 @@
+ fi
+ AC_SUBST(EXTRAS)
--dnl Use these compiler flags if we have gcc.
--if test $ac_cv_prog_gcc = yes; then
-- CCOPTS='-O2 -pipe -Wall'
-- CFLAGS="$CCOPTS"
--fi
--
- dnl Checks for libnet
++dnl Checks for libredblack
++AC_ARG_WITH(libredblack,
++[ --with-libredblack=DIR use libredblack from DIR/lib],
++[ case "$withval" in
++ yes|no)
++ AC_MSG_ERROR(no)
++ ;;
++ *)
++ AC_MSG_CHECKING(for libredblack)
++ AC_MSG_RESULT($withval)
++ if test -f $withval/lib/libredblack.a -a -f $withval/include/redblack.h; then
++ owd=`pwd`
++ if cd $withval; then withval=`pwd`; cd $owd; fi
++ REDBLACKINC="-I$withval/include"
++ REDBLACKLIB="-lredblack"
++ LDFLAGS="$LDFLAGS -L$withval/lib"
++ AC_SUBST(REDBLACKINC)
++ AC_SUBST(REDBLACKLIB)
++ else
++ AC_ERROR(unable to find $withval/lib/libredback or $withval/include/redblack.h
++Please download: http://libredblack.sourceforge.net/
++)
++ fi
++ ;;
++ esac ],
++AC_CHECK_LIB(redblack, rbwalk, , AC_MSG_ERROR(redblack >= 1.1.0 not found.
++
++Please download: http://libredblack.sourceforge.net/
++))
++)
++
+ dnl Checks for libnet (shamelessly horked from dsniff)
+ AC_MSG_CHECKING(for libnet)
AC_ARG_WITH(libnet,
- [ --with-libnet=DIR use libnet in DIR/lib],
diff --git a/net-mgmt/tcpreplay/files/patch-list.c b/net-mgmt/tcpreplay/files/patch-list.c
new file mode 100644
index 000000000000..1cdaff534ee1
--- /dev/null
+++ b/net-mgmt/tcpreplay/files/patch-list.c
@@ -0,0 +1,10 @@
+--- list.c.orig Wed Oct 9 17:39:36 2002
++++ list.c Wed Oct 9 17:39:44 2002
+@@ -8,6 +8,7 @@
+
+ #include <stdlib.h>
+ #include <string.h>
++#include <sys/types.h>
+ #include <regex.h>
+ #include <errno.h>
+
diff --git a/net-mgmt/tcpreplay/files/patch-tcpreplay.8 b/net-mgmt/tcpreplay/files/patch-tcpreplay.8
deleted file mode 100644
index 79af4476e296..000000000000
--- a/net-mgmt/tcpreplay/files/patch-tcpreplay.8
+++ /dev/null
@@ -1,83 +0,0 @@
---- tcpreplay.8.orig Fri May 17 17:55:47 2002
-+++ tcpreplay.8 Fri May 31 11:49:46 2002
-@@ -1,5 +1,5 @@
- .\" yo there.
--.TH TCPREPLAY 8 "2 December 20001"
-+.TH TCPREPLAY 8 "2 December 2001"
- .SH NAME
- tcpreplay \- replay traffic from a saved tcpdump file
- .SH SYNOPSIS
-@@ -30,6 +30,9 @@
- .B \-l
- .I loop count
- ] [
-+.B \-n
-+.I nomartian
-+] [
- .B \-m
- .I multiplier
- |
-@@ -39,6 +42,9 @@
- .B \-R
- .I regex
- ]
-+.B \-C
-+.I cidr1[,cidr2,cidr3]
-+]
- .I file
- .br
- .ad
-@@ -67,11 +73,14 @@
- .LP
- This version of
- .I tcpreplay
--supports sending packets out two interfaces. Packets matching the \fIregex\fP
--are sent out the \fIprimary interface\fP and all other packets are sent out the
--\fIsecondary interface\fP. For improved performance, a tcpprep \fIcache file\fP
--can be used instead. Also supported is rewriting of the destination \fIMAC
--addresses\fP to allow routers to forward packets between interfaces. Additionally, a slice of packets matching a \fIbegin\fP and \fIend\fP range can be sent from the tcpdump file.
-+supports sending packets out two interfaces. Packets are matched by using either
-+a \fIregex\fP, \fICIDR list\fP, or by using the tcpprep pre-processor and associated
-+\fIcache file\fP. Matching packets are sent out the \fIprimary interface\fP and all
-+other packets are sent out the \fIsecondary interface\fP. For improved performance,
-+use either \fICIDR list\fP matching or a tcpprep \fIcache file\fP. Also supported
-+is rewriting of the destination \fIMAC addresses\fP to allow routers to forward packets
-+between interfaces. Additionally, a slice of packets matching a \fIbegin\fP and \fIend\fP
-+range can be sent from the tcpdump file.
- .SH OPTIONS
- .LP
- .TP
-@@ -103,6 +112,9 @@
- Resend the packets at a \fImultiple\fR of the speed at which they were
- recorded.
- .TP
-+.B \-n
-+Drop packets with \fImartian\fR destination addresses.
-+.TP
- .B \-r
- Resend the packets at the \fIrate\fR specified (in Mbps).
- .TP
-@@ -111,6 +123,10 @@
- that match this regex are sent via the primary interface. Packets that do not
- match this regex are sent via the secondary interface.
- .TP
-+.B \-C
-+Specify a comma serpated list of net/masklen to match against the source IP of packets.
-+Works similar to regex, but is significantly faster.
-+.TP
- .SH "SEE ALSO"
- tcpdump(8) tcpprep(8)
- .SH AUTHOR
-@@ -125,8 +141,10 @@
- .I tcpreplay
- can only send packets as fast as your machine's interface,
- processor, and disk will allow. Use of the -R flag will \fIsignificantly\fP
--slow it down. Those worrying about peformance should use \fItcpprep\fP with the
---c flag instead.
-+slow it down. Use of the -C flag will work for most systems with a fast
-+processor. Those worrying about peformance should use \fItcpprep\fP with the
-+-c flag instead, however, processesing time may be extremely slow for large
-+capture files.
- .LP
- ``\fIN\fR write attempts failed from full buffers and were repeated''
- does not indicate that these packets were not sent, but that the send
diff --git a/net-mgmt/tcpreplay/files/patch-tcpreplay.c b/net-mgmt/tcpreplay/files/patch-tcpreplay.c
deleted file mode 100644
index 421f62f7ff50..000000000000
--- a/net-mgmt/tcpreplay/files/patch-tcpreplay.c
+++ /dev/null
@@ -1,268 +0,0 @@
---- tcpreplay.c.orig Fri May 17 17:55:47 2002
-+++ tcpreplay.c Fri May 31 11:42:37 2002
-@@ -65,6 +65,7 @@
- #include <regex.h>
- #include <math.h>
- #include "cache.h"
-+#include "cidr.h"
-
- #define TCPREPLAY_VERSION "1.0.1-adt9"
-
-@@ -85,6 +86,10 @@
- u_int start = 0;
- u_int stop = 0;
- int mode;
-+int regex_mode;
-+int cidr_mode;
-+int cache_mode;
-+int nomartians = 0;
- int rate;
- int debug;
- float multiplier;
-@@ -101,6 +106,9 @@
- CACHE * cachedata = NULL;
- int cache_bit = 0;
- int cache_byte = 0;
-+struct libnet_link_int * write_if; // Primary interface -i
-+struct libnet_link_int * write_if2; // Secondary interface -j
-+CIDR * cidrdata = NULL;
-
- void usage(){
- fprintf(stderr, "Version: " TCPREPLAY_VERSION "\nUsage: tcpreplay "
-@@ -244,6 +252,7 @@
- struct libnet_ethernet_hdr * eth_hdr;
- #ifdef DEBUG
- int regex_match = -1;
-+ int cache_match = -1;
- int cidr_match = -1;
- #endif
- size_t nmatch = 0;
-@@ -257,7 +266,7 @@
- make sure we're inside that slice, or increment the cache
- pointers, and return without further processing
- */
-- if (start != 0) {
-+ if ((start != 0) && cache_mode) {
- if (!((start <= packet_num) && (packet_num <= stop))) {
- if (cache_bit == 7) {
- cache_bit = 0;
-@@ -359,14 +368,22 @@
- if (interface2 == NULL) {
- /* we're not using a second NIC so just write the packet all normal like */
-
-- write_status = libnet_write_link_layer((struct libnet_link_int *)user,
-+ write_status = libnet_write_link_layer((struct libnet_link_int *)write_if,
- interface, data, pcap_hdr->caplen);
- }
-
- else { /* we're in multi-nic mode, and have to figure things out */
-- if (mode == REGEX_MODE) {
-+ if (regex_mode == 1) {
- /* put the source ip of the packet into src_ip in x.x.x.x format */
- ip_hdr = (struct libnet_ip_hdr *) (data + LIBNET_ETH_H);
-+ /* drop martians */
-+ if (nomartians == 1) {
-+ switch ((ntohl(ip_hdr->ip_dst.s_addr) & 0xff000000) >> 24) {
-+ case 0: case 127: case 255:
-+ write_status=1;
-+ continue;
-+ }
-+ }
- memset (src_ip, '\0', 16);
- strncat (src_ip, libnet_host_lookup(ip_hdr->ip_src.s_addr, RESOLVE), 15);
-
-@@ -384,7 +401,7 @@
- if (primary_mac != NULL)
- memcpy(eth_hdr->ether_dhost, primary_mac, ETHER_ADDR_LEN);
-
-- write_status = libnet_write_link_layer((struct libnet_link_int *)user,
-+ write_status = libnet_write_link_layer((struct libnet_link_int *)write_if,
- interface, data, pcap_hdr->caplen);
- }
-
-@@ -396,11 +413,53 @@
- if (secondary_mac != NULL)
- memcpy(eth_hdr->ether_dhost, secondary_mac, ETHER_ADDR_LEN);
-
-- write_status = libnet_write_link_layer((struct libnet_link_int *)user,
-+ write_status = libnet_write_link_layer((struct libnet_link_int *)write_if2,
- interface2, data, pcap_hdr->caplen);
- }
- }
--
-+
-+ else if (cidr_mode == 1) {
-+ /* put the source ip of the packet into src_ip in x.x.x.x format */
-+ ip_hdr = (struct libnet_ip_hdr *) (data + LIBNET_ETH_H);
-+ /* drop martians */
-+ if (nomartians == 1) {
-+ switch ((ntohl(ip_hdr->ip_dst.s_addr) & 0xff000000) >> 24) {
-+ case 0: case 127: case 255:
-+ write_status=1;
-+ continue;
-+ }
-+ }
-+ /* we are using a cidr match */
-+ if (check_ip_CIDR(ip_hdr->ip_src.s_addr)) {
-+#ifdef DEBUG
-+ /* in debug mode we need to set this flag */
-+ cidr_match = 1;
-+#endif
-+ /*
-+ To support routing packets through a device on either side
-+ of the interfaces, we need to rewrite the dst MAC address
-+ so that the router will pick them off the wire.
-+ */
-+ if (primary_mac != NULL)
-+ memcpy(eth_hdr->ether_dhost, primary_mac, ETHER_ADDR_LEN);
-+
-+ write_status = libnet_write_link_layer((struct libnet_link_int *)write_if,
-+ interface, data, pcap_hdr->caplen);
-+ }
-+
-+ else {
-+#ifdef DEBUG
-+ cidr_match = 0;
-+#endif
-+ /* do the mac rewrite thingy */
-+ if (secondary_mac != NULL)
-+ memcpy(eth_hdr->ether_dhost, secondary_mac, ETHER_ADDR_LEN);
-+
-+ write_status = libnet_write_link_layer((struct libnet_link_int *)write_if2,
-+ interface2, data, pcap_hdr->caplen);
-+ }
-+ }
-+
- else { /* looks like we're using a cache file */
- /*
- test to see if we have a match by applying a mask to the current byte
-@@ -408,7 +467,7 @@
- */
- if (cachedata->data[cache_byte] & (char)pow((long)2, (long)cache_bit) ) {
- #ifdef DEBUG
-- cidr_match = 1;
-+ cache_match = 1;
- #endif
- /* do the mac rewrite thingy */
- if (primary_mac != NULL)
-@@ -420,7 +479,7 @@
-
- else {
- #ifdef DEBUG
-- cidr_match = 0;
-+ cache_match = 0;
- #endif
- /* do the mac rewrite thingy */
- if (secondary_mac != NULL)
-@@ -456,20 +515,30 @@
-
- if (regex_match == 0) {
- fprintf(stderr, "Regex: No Match (%s)\n", regex);
-- fprintf(stderr, "Interface: %s\n", interface);
-+ fprintf(stderr, "Interface: %s\n", interface2);
- } else if (regex_match == 1) {
- fprintf(stderr, "Regex: Match (%s)\n", regex);
-- fprintf(stderr, "Interface: %s\n", interface2);
-- } else if (cidr_match == 1) {
-- fprintf(stderr, "CIDR: Match\n");
-+ fprintf(stderr, "Interface: %s\n", interface);
-+ } else if (cache_match == 1) {
-+ fprintf(stderr, "Cache: Match\n");
- fprintf(stderr, "Byte/Bit: %d/%d -> primary\n", cache_byte, cache_bit);
-- } else if (cidr_match == 0) {
-- fprintf(stderr, "CIDR: No Match\n");
-+ } else if (cache_match == 0) {
-+ fprintf(stderr, "Cache: No Match\n");
- fprintf(stderr, "Byte/Bit: %d/%d -> secondary\n", cache_byte, cache_bit);
-- } else {
-+ } else if (cidr_match == 0) {
-+ fprintf(stderr, "CIDR: No Match\n");
-+ fprintf(stderr, "Interface: %s\n", interface2);
-+ } else if (cidr_match == 1) {
-+ fprintf(stderr, "CIDR: Match\n");
-+ fprintf(stderr, "Interface: %s\n", interface);
-+ } else {
- fprintf(stderr, "No CIDR/Regex Match Attempted\n");
- }
--
-+
-+ if (cidr_mode == 1) {
-+ memset (src_ip, '\0', 16);
-+ strncat (src_ip, libnet_host_lookup(ip_hdr->ip_src.s_addr, RESOLVE), 15);
-+ }
- fprintf(stderr, "Source IP: %s\n", src_ip);
- memcpy(mac, eth_hdr->ether_dhost, MAC_SIZE-1);
- fprintf(stderr, "Dest MAC: %.2X:%.2X:%.2X:%.2X:%.2X:%.2X\n", mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
-@@ -506,8 +575,6 @@
- {
- pcap_t * in_file;
- char * cache_file = NULL;
-- struct libnet_link_int * write_if; // Primary interface -i
-- struct libnet_link_int * write_if2; // Secondary interface -j
- float Mrate = 0; //
- double starttime_local, startusec;
- char ebuf[EBUF_SIZE]; // Error buffer
-@@ -539,15 +606,16 @@
- }
-
- #ifdef DEBUG
-- while ((ch = getopt(argc, argv, "b:e:d:i:j:l:r:c:m:hR:I:J:")) != -1)
-+ while ((ch = getopt(argc, argv, "nb:e:d:i:j:l:r:c:m:h:R:I:J:C:")) != -1)
- #else
-- while ((ch = getopt(argc, argv, "b:e:i:j:l:r:c:m:hR:I:J:")) != -1)
-+ while ((ch = getopt(argc, argv, "nb:e:i:j:l:r:c:m:h:R:I:J:C:")) != -1)
- #endif
- switch(ch) {
- case 'b':
- start = atoi(optarg);
- break;
- case 'c':
-+ cache_mode = 1;
- cache_file = optarg;
- cache_packets = read_cache(cache_file);
- break;
-@@ -578,7 +646,11 @@
- case 'h':
- usage();
- break;
-+ case 'n':
-+ nomartians = 1;
-+ break;
- case 'R':
-+ regex_mode = 1;
- regex = optarg;
- if ((regex_error = regcomp(preg, regex, regex_flags))) {
- if (regerror(regex_error, preg, ebuf, EBUF_SIZE) != -1) {
-@@ -595,6 +667,12 @@
- case 'J':
- secondary_mac = mac2hex(optarg, "Secondary MAC");
- break;
-+ case 'C':
-+ cidr_mode = 1;
-+ if (! parse_cidr(optarg)) {
-+ usage();
-+ }
-+ break;
- default:
- usage();
- }
-@@ -616,8 +694,8 @@
- exit (1);
- }
-
-- if (((regex == NULL) && (cache_file == NULL)) && (interface2 != NULL)) {
-- fprintf(stderr, "Needs regex/cache with secondary interface\n");
-+ if (((regex == NULL) && (cache_file == NULL) && (cidrdata == NULL)) && (interface2 != NULL)) {
-+ fprintf(stderr, "Needs regex/cache/cidr with secondary interface\n");
- exit (1);
- }
-
-@@ -712,7 +790,7 @@
- exit (1);
- }
- if (pcap_dispatch(in_file, 0,(void *)&write_packet,
-- (u_char *) write_if) == -1) {
-+ NULL) == -1) {
- pcap_perror(in_file, argv[1]);
- }
- pcap_close(in_file);
diff --git a/net-mgmt/tcpreplay/pkg-comment b/net-mgmt/tcpreplay/pkg-comment
index db5ed6432b4a..a7b977ea87e2 100644
--- a/net-mgmt/tcpreplay/pkg-comment
+++ b/net-mgmt/tcpreplay/pkg-comment
@@ -1 +1 @@
-A tool to replay saved tcpdump files
+A tool to replay saved packet capture files
diff --git a/net-mgmt/tcpreplay/pkg-descr b/net-mgmt/tcpreplay/pkg-descr
index 4740f222ec7b..82b682d06456 100644
--- a/net-mgmt/tcpreplay/pkg-descr
+++ b/net-mgmt/tcpreplay/pkg-descr
@@ -11,12 +11,4 @@ reproduce the real-world anomalies that appear on production networks
etc.), tcpreplay allows for exact replication of real traffic seen on real
networks.
-Tcpprep is tcpreplay with patches can send traffic out two network cards,
-however it requires the calculations be done in real-time. These calculations
-can be expensive and can significantly reduce the throughput of tcpreplay.
-
-tcpprep is a libpcap pre-processor for tcpreplay which enables this
-feature in tcpreplay, and significantly increases throughput through
-the use of a cache file.
-
-WWW: http://synfin.net/aturner/tcpreplay/
+WWW: http://www.sf.net/projects/tcpreplay
diff --git a/net-mgmt/tcpreplay/pkg-message b/net-mgmt/tcpreplay/pkg-message
deleted file mode 100644
index 0f8a16597ace..000000000000
--- a/net-mgmt/tcpreplay/pkg-message
+++ /dev/null
@@ -1,3 +0,0 @@
-This is a patched version of tcpreplay that seems to work well enough
-for some applications. A new development effort for tcpreplay has been
-started, see http://www.sf.net/projects/tcpreplay.
diff --git a/net-mgmt/tcpreplay/pkg-plist b/net-mgmt/tcpreplay/pkg-plist
index bc8e8a336ae8..fbb2a065abdd 100644
--- a/net-mgmt/tcpreplay/pkg-plist
+++ b/net-mgmt/tcpreplay/pkg-plist
@@ -1,2 +1,3 @@
sbin/tcpreplay
-sbin/tcpprep
+bin/capinfo
+bin/tcpprep