From 0501fa0f0bf3c9495c337dccf332b39f791ddbb1 Mon Sep 17 00:00:00 2001 From: Zongchun Yu Date: Tue, 26 Nov 2013 10:51:54 +0800 Subject: tcpreplay: add recipe tcpreplay - a suite of GPLv3 licensed tools for UNIX operating systems which gives you the ability to use previously captured traffic in libpcap format to test a variety of network devices. Signed-off-by: Zongchun Yu Signed-off-by: Joe MacDonald --- .../files/tcpreplay-3.4.4-cross-compile.patch | 92 ++++++++++++++++++++++ ...ay-3.4.4-fix-unable-to-link-libpcap-issue.patch | 17 ++++ .../files/tcpreplay-3.4.4-no-bfp-support.patch | 15 ++++ .../recipes-support/tcpreplay/tcpreplay_3.4.4.bb | 22 ++++++ 4 files changed, 146 insertions(+) create mode 100755 meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-cross-compile.patch create mode 100644 meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch create mode 100644 meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-no-bfp-support.patch create mode 100644 meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb (limited to 'meta-networking') diff --git a/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-cross-compile.patch b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-cross-compile.patch new file mode 100755 index 0000000000..a856b1809a --- /dev/null +++ b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-cross-compile.patch @@ -0,0 +1,92 @@ +Uptream-Status: Pending + +Signed-off-by: Zongchun Yu + +--- a/configure.ac ++++ b/configure.ac +@@ -402,7 +402,6 @@ + + dnl 0.9.6 (which is still thinks it is 0.9.5 due to a bug) introduces an important + dnl fix for OSX. See: http://tcpreplay.synfin.net/trac/ticket/167 +-libpcap_version_096=no + AC_RUN_IFELSE(AC_LANG_PROGRAM([[ + #include + #include +@@ -419,11 +418,12 @@ + exit(0); + + exit(1); +-]]), [ +- libpcap_version_096=yes +-]) ++]]), ++ [libpcap_version_096=yes], ++ [libpcap_version_096=no], ++ [libpcap_version_096=yes] ++) + +-libpcap_ver8=no + AC_RUN_IFELSE(AC_LANG_PROGRAM([[ + #include + #include +@@ -444,13 +444,12 @@ + exit(0); + + exit(1); +-]]), [ +- libpcap_ver8=yes +-], [ +- libpcap_ver8=no +-]) ++]]), ++ [libpcap_ver8=yes], ++ [libpcap_ver8=no], ++ [libpcap_ver8=yes] ++) + +-libpcap_ver7=no + AC_RUN_IFELSE(AC_LANG_PROGRAM([[ + #include + #include +@@ -469,11 +468,11 @@ + exit(0); + + exit(1); +-]]), [ +- libpcap_ver7=yes +-], [ +- libpcap_ver7=no +-]) ++]]), ++ [libpcap_ver7=yes], ++ [libpcap_ver7=no], ++ [libpcap_ver7=yes] ++) + + if test x$libpcap_ver8 = xyes ; then + AC_MSG_RESULT(>= 0.8.0) +@@ -761,8 +760,8 @@ + + have_bpf=no + dnl Check for BSD's BPF +-AC_MSG_CHECKING(for BPF device sending support) +-AC_TRY_RUN([ ++AC_CACHE_CHECK([for BPF device sending support], ac_cv_have_bpf, ++[AC_TRY_RUN([ + #include + #include + #include +@@ -796,8 +795,11 @@ + [Do we have BPF device support?]) + AC_MSG_RESULT(yes) + have_bpf=yes +-],[ +- AC_MSG_RESULT(no) ++], ++[AC_MSG_RESULT(no)], ++[AC_MSG_ERROR([cross-compiling, ++ presetting ac_cv_have_bpf=(yes|no) will help])] ++) + ]) + + diff --git a/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch new file mode 100644 index 0000000000..5f36c68c9b --- /dev/null +++ b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch @@ -0,0 +1,17 @@ +Uptream-Status: Pending + +Signed-off-by: Zongchun Yu + +Index: tcpreplay-3.4.4/configure.ac +=================================================================== +--- tcpreplay-3.4.4.orig/configure.ac ++++ tcpreplay-3.4.4/configure.ac +@@ -389,7 +389,7 @@ CFLAGS="$CFLAGS -I$LPCAPINCDIR" + AC_SEARCH_LIBS([pcap_close], [pcap], + LPCAPLIB="$LIBS", + AC_ERROR([Unable to link libpcap in ${foundpcap}]), +- -lnl) ++ -lnl-3) + + AC_SUBST(LPCAPINC) + AC_SUBST(LPCAPLIB) diff --git a/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-no-bfp-support.patch b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-no-bfp-support.patch new file mode 100644 index 0000000000..3c11c922bd --- /dev/null +++ b/meta-networking/recipes-support/tcpreplay/files/tcpreplay-3.4.4-no-bfp-support.patch @@ -0,0 +1,15 @@ +Uptream-Status: Pending + +Signed-off-by: Zongchun Yu + +--- a/configure.ac ++++ b/configure.ac +@@ -758,6 +758,8 @@ + AC_MSG_RESULT(no) + ]) + ++ac_cv_have_bpf=no ++ + have_bpf=no + dnl Check for BSD's BPF + AC_CACHE_CHECK([for BPF device sending support], ac_cv_have_bpf, diff --git a/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb b/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb new file mode 100644 index 0000000000..d211888826 --- /dev/null +++ b/meta-networking/recipes-support/tcpreplay/tcpreplay_3.4.4.bb @@ -0,0 +1,22 @@ +SUMMARY = "Use previously captured traffic to test network devices" + +HOMEPAGE = "http://tcpreplay.synfin.net/" +SECTION = "console/network" + +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://docs/LICENSE;md5=c33cccf72cc1603e8a72a84811ae3ac8" + +SRC_URI = "http://prdownloads.sourceforge.net/tcpreplay/${PV}/tcpreplay-${PV}.tar.gz \ + file://tcpreplay-3.4.4-cross-compile.patch \ + file://tcpreplay-3.4.4-no-bfp-support.patch \ + file://tcpreplay-3.4.4-fix-unable-to-link-libpcap-issue.patch \ + " +SRC_URI[md5sum] = "22725feb9b2590809f9350308ec65180" +SRC_URI[sha256sum] = "7a809c58ddec86407fd6e5597ac883d7874a19bea81d716bb2b1c6e3b0e7b58f" + +DEPENDS = "libpcap" + +EXTRA_OECONF += "--with-libpcap=${STAGING_DIR_HOST}/usr" + +inherit siteinfo autotools + -- cgit 1.2.3-korg