diff options
author | Jeroen Roovers <jer@gentoo.org> | 2016-11-19 10:20:28 +0100 |
---|---|---|
committer | Jeroen Roovers <jer@gentoo.org> | 2016-11-19 10:20:28 +0100 |
commit | 7335969291b9d994b6dfc031b713c71b16c20e58 (patch) | |
tree | 6009102be0138362a90ef5c0889ce4690af021c4 /net-analyzer/tcpreplay | |
parent | 15b0f78b54eba02a7fa265909ca52828c0fdc1b7 (diff) | |
download | gentoo-7335969291b9d994b6dfc031b713c71b16c20e58.tar.gz gentoo-7335969291b9d994b6dfc031b713c71b16c20e58.tar.xz |
net-analyzer/tcpreplay: Add MAXPACKET patch (bug #588302).
Package-Manager: portage-2.3.2
Diffstat (limited to 'net-analyzer/tcpreplay')
-rw-r--r-- | net-analyzer/tcpreplay/files/tcpreplay-4.1.1-MAXPACKET.patch | 22 | ||||
-rw-r--r-- | net-analyzer/tcpreplay/tcpreplay-4.1.1-r1.ebuild | 78 |
2 files changed, 100 insertions, 0 deletions
diff --git a/net-analyzer/tcpreplay/files/tcpreplay-4.1.1-MAXPACKET.patch b/net-analyzer/tcpreplay/files/tcpreplay-4.1.1-MAXPACKET.patch new file mode 100644 index 00000000000..ccb2dca5bb9 --- /dev/null +++ b/net-analyzer/tcpreplay/files/tcpreplay-4.1.1-MAXPACKET.patch @@ -0,0 +1,22 @@ +--- a/src/defines.h.in ++++ b/src/defines.h.in +@@ -145,7 +145,7 @@ + #define DEFAULT_MTU 1500 /* Max Transmission Unit of standard ethernet + * don't forget *frames* are MTU + L2 header! */ + +-#define MAXPACKET 65535 /* was 16436 linux loopback, but maybe something is bigger then ++#define MAXPACKET 65549 /* was 16436 linux loopback, but maybe something is bigger then + linux loopback */ + + #define MAX_SNAPLEN 65535 /* tell libpcap to capture the entire packet */ +--- a/src/tcprewrite.c ++++ b/src/tcprewrite.c +@@ -253,6 +253,8 @@ rewrite_packets(tcpedit_t *tcpedit, pcap_t *pin, pcap_dumper_t *pout) + packetnum++; + dbgx(2, "packet " COUNTER_SPEC " caplen %d", packetnum, pkthdr.caplen); + ++ if (pkthdr.caplen > MAXPACKET) ++ errx(-1, "Frame too big, caplen %d exceeds %d", pkthdr.caplen, MAXPACKET); + /* + * copy over the packet so we can pad it out if necessary and + * because pcap_next() returns a const ptr diff --git a/net-analyzer/tcpreplay/tcpreplay-4.1.1-r1.ebuild b/net-analyzer/tcpreplay/tcpreplay-4.1.1-r1.ebuild new file mode 100644 index 00000000000..93eb6336595 --- /dev/null +++ b/net-analyzer/tcpreplay/tcpreplay-4.1.1-r1.ebuild @@ -0,0 +1,78 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 +inherit autotools flag-o-matic + +DESCRIPTION="utilities for editing and replaying previously captured network traffic" +HOMEPAGE="http://tcpreplay.appneta.com/ https://github.com/appneta/tcpreplay" +LICENSE="BSD GPL-3" +SRC_URI="https://github.com/appneta/${PN}/releases/download/v${PV}/${P}.tar.gz" + +SLOT="0" +KEYWORDS="~amd64 ~sparc ~x86" +IUSE="debug pcapnav +tcpdump" + +DEPEND=" + >=sys-devel/autogen-5.18.4[libopts] + dev-libs/libdnet + >=net-libs/libpcap-0.9 + tcpdump? ( net-analyzer/tcpdump ) + pcapnav? ( net-libs/libpcapnav ) +" +RDEPEND="${DEPEND}" + +DOCS=( + docs/{CHANGELOG,CREDIT,HACKING,TODO} +) +PATCHES=( + "${FILESDIR}"/${PN}-4.1.0-enable-pcap_findalldevs.patch + "${FILESDIR}"/${PN}-4.1.1-MAXPACKET.patch +) + +src_prepare() { + default + + sed -i \ + -e 's|-O3||g' \ + -e 's|AM_CONFIG_HEADER|AC_CONFIG_HEADERS|g' \ + configure.ac || die + sed -i \ + -e 's|#include <dnet.h>|#include <dnet/eth.h>|g' \ + src/common/sendpacket.c || die + sed -i \ + -e 's|@\([A-Z_]*\)@|$(\1)|g' \ + -e '/tcpliveplay_CFLAGS/s|$| $(LDNETINC)|g' \ + -e '/tcpliveplay_LDADD/s|$| $(LDNETLIB)|g' \ + src/Makefile.am || die + + eautoreconf +} + +src_configure() { + # By default it uses static linking. Avoid that, bug 252940 + econf \ + $(use_enable debug) \ + $(use_with pcapnav pcapnav-config /usr/bin/pcapnav-config) \ + $(use_with tcpdump tcpdump /usr/sbin/tcpdump) \ + --disable-local-libopts \ + --enable-dynamic-link \ + --enable-shared \ + --with-libdnet \ + --with-testnic2=lo \ + --with-testnic=lo +} + +src_test() { + if [[ ! ${EUID} -eq 0 ]]; then + ewarn "Some tests were disabled due to FEATURES=userpriv" + ewarn "To run all tests issue the following command as root:" + ewarn " # make -C ${S}/test" + emake -j1 -C test tcpprep || die "self test failed - see ${S}/test/test.log" + else + emake -j1 test || { + ewarn "Note, that some tests require eth0 iface to be UP." ; + die "self test failed - see ${S}/test/test.log" ; } + fi +} |