# Makefile.in generated by automake 1.15.1 from Makefile.am.
# @configure_input@

# Copyright (C) 1994-2017 Free Software Foundation, Inc.

# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.

# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.

@SET_MAKE@
VPATH = @srcdir@
am__is_gnu_make = { \
  if test -z '$(MAKELEVEL)'; then \
    false; \
  elif test -n '$(MAKE_HOST)'; then \
    true; \
  elif test -n '$(MAKE_VERSION)' && test -n '$(CURDIR)'; then \
    true; \
  else \
    false; \
  fi; \
}
am__make_running_with_option = \
  case $${target_option-} in \
      ?) ;; \
      *) echo "am__make_running_with_option: internal error: invalid" \
              "target option '$${target_option-}' specified" >&2; \
         exit 1;; \
  esac; \
  has_opt=no; \
  sane_makeflags=$$MAKEFLAGS; \
  if $(am__is_gnu_make); then \
    sane_makeflags=$$MFLAGS; \
  else \
    case $$MAKEFLAGS in \
      *\\[\ \	]*) \
        bs=\\; \
        sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
          | sed "s/$$bs$$bs[$$bs $$bs	]*//g"`;; \
    esac; \
  fi; \
  skip_next=no; \
  strip_trailopt () \
  { \
    flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
  }; \
  for flg in $$sane_makeflags; do \
    test $$skip_next = yes && { skip_next=no; continue; }; \
    case $$flg in \
      *=*|--*) continue;; \
        -*I) strip_trailopt 'I'; skip_next=yes;; \
      -*I?*) strip_trailopt 'I';; \
        -*O) strip_trailopt 'O'; skip_next=yes;; \
      -*O?*) strip_trailopt 'O';; \
        -*l) strip_trailopt 'l'; skip_next=yes;; \
      -*l?*) strip_trailopt 'l';; \
      -[dEDm]) skip_next=yes;; \
      -[JT]) skip_next=yes;; \
    esac; \
    case $$flg in \
      *$$target_option*) has_opt=yes; break;; \
    esac; \
  done; \
  test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkglibexecdir = $(libexecdir)/@PACKAGE@
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
subdir = test
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/libopts/m4/libopts.m4 \
	$(top_srcdir)/libopts/m4/stdnoreturn.m4 \
	$(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
	$(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
	$(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/acinclude.m4 \
	$(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
	$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(am__DIST_COMMON)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES = config
CONFIG_CLEAN_VPATH_FILES =
AM_V_P = $(am__v_P_@AM_V@)
am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
am__v_P_0 = false
am__v_P_1 = :
AM_V_GEN = $(am__v_GEN_@AM_V@)
am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
am__v_GEN_0 = @echo "  GEN     " $@;
am__v_GEN_1 = 
AM_V_at = $(am__v_at_@AM_V@)
am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
am__v_at_0 = @
am__v_at_1 = 
SOURCES =
DIST_SOURCES =
am__can_run_installinfo = \
  case $$AM_UPDATE_INFO_DIR in \
    n|no|NO) false;; \
    *) (install-info --version) >/dev/null 2>&1;; \
  esac
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/config.in
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOGEN = @AUTOGEN@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AWK = @AWK@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CROSS_ARCH = @CROSS_ARCH@
CROSS_LD = @CROSS_LD@
CUT = @CUT@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DMALLOC_LIB = @DMALLOC_LIB@
DSYMUTIL = @DSYMUTIL@
DUMPBIN = @DUMPBIN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
GREP = @GREP@
GROFF = @GROFF@
INSTALL = @INSTALL@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LD = @LD@
LDFLAGS = @LDFLAGS@
LDNETINC = @LDNETINC@
LDNETLIB = @LDNETLIB@
LIBOBJS = @LIBOBJS@
LIBOPTS_CFLAGS = @LIBOPTS_CFLAGS@
LIBOPTS_DIR = @LIBOPTS_DIR@
LIBOPTS_LDADD = @LIBOPTS_LDADD@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LIPO = @LIPO@
LNAVLIB = @LNAVLIB@
LNAV_CFLAGS = @LNAV_CFLAGS@
LN_S = @LN_S@
LPCAPINC = @LPCAPINC@
LPCAPLIB = @LPCAPLIB@
LTLIBOBJS = @LTLIBOBJS@
MACOSX_SDK_PATH = @MACOSX_SDK_PATH@
MAINT = @MAINT@
MAKEINFO = @MAKEINFO@
MANIFEST_TOOL = @MANIFEST_TOOL@
MKDIR_P = @MKDIR_P@
NETMAPFLAGS = @NETMAPFLAGS@
NETMAPINC = @NETMAPINC@
NETMAPINCDIR = @NETMAPINCDIR@
NETMAPUSERINC = @NETMAPUSERINC@
NM = @NM@
NMEDIT = @NMEDIT@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
OTOOL64 = @OTOOL64@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PCAP_BPF_H_FILE = @PCAP_BPF_H_FILE@
PCAP_CONFIG = @PCAP_CONFIG@
POSIX_SHELL = @POSIX_SHELL@
PRINTF = @PRINTF@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STDNORETURN_H = @STDNORETURN_H@
STRIP = @STRIP@
TCPREPLAY_RELEASE = @TCPREPLAY_RELEASE@
TCPREPLAY_VERSION = @TCPREPLAY_VERSION@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
abs_srcdir = @abs_srcdir@
abs_top_builddir = @abs_top_builddir@
abs_top_srcdir = @abs_top_srcdir@
ac_ct_AR = @ac_ct_AR@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
builddir = @builddir@
datadir = @datadir@
datarootdir = @datarootdir@
debug_flag = @debug_flag@
debug_run_time_flag = @debug_run_time_flag@
depmod = @depmod@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
extra_debug_flag = @extra_debug_flag@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
insmod = @insmod@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
nic1 = @nic1@
nic2 = @nic2@
oldincludedir = @oldincludedir@
pcncfg = @pcncfg@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
rmmod = @rmmod@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
srcdir = @srcdir@
sysconfdir = @sysconfdir@
target = @target@
target_alias = @target_alias@
target_cpu = @target_cpu@
target_os = @target_os@
target_vendor = @target_vendor@
tcpdump_path = @tcpdump_path@
timestamp_trace_flag = @timestamp_trace_flag@
top_build_prefix = @top_build_prefix@
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@

# $Id$
MAKEFLAGS = -s -k
HOST = @host@
TARGET = @target@
BUILD = @build@
ENABLE_DEBUG = @debug_run_time_flag@
TCPPREP = ../src/tcpprep --no-arg-comment
TCPREPLAY = ../src/tcpreplay
TCPREWRITE = ../src/tcprewrite
TCPBRIDGE = ../src/tcpbridge
EXTRA_DIST = test.pcap test.auto_bridge test.auto_client test.auto_router \
		test.auto_server test.auto_first test.cidr test.comment test.port test.mac \
		test.cidr_reverse test.mac_reverse test.regex_reverse \
		test.prep_config test.primary test.regex test.secondary \
		test.rewrite_seed test.rewrite_portmap test.rewrite_endpoint \
		test.rewrite_pnat test.rewrite_pad test.rewrite_trunc \
		test.rewrite_mac test.rewrite_layer2 test.rewrite_config \
		test.rewrite_skip test.rewrite_dltuser test.rewrite_dlthdlc \
		test.rewrite_vlandel test.rewrite_efcs test.rewrite_1ttl \
		test.rewrite_2ttl test.rewrite_3ttl test.rewrite_enet_subsmac \
		test.rewrite_mtutrunc test.rewrite_mac_seed \
		test.rewrite_mac_seed_keep test.rewrite_l7fuzzing\
		test2.rewrite_seed test2.rewrite_portmap test2.rewrite_endpoint \
		test2.rewrite_pnat test2.rewrite_pad test2.rewrite_trunc \
		test2.rewrite_mac test2.rewrite_layer2 test2.rewrite_config \
		test2.rewrite_skip test2.rewrite_dltuser test2.rewrite_dlthdlc \
		test2.rewrite_vlandel test2.rewrite_efcs test2.rewrite_1ttl \
		test2.rewrite_mtutrunc test2.rewrite_enet_subsmac \
		test2.rewrite_2ttl test2.rewrite_3ttl test.rewrite_tos test2.rewrite_tos \
		test2.rewrite_enet_subsmac test2.rewrite_mac_seed \
		test2.rewrite_mac_seed_keep test2.rewrite_l7fuzzing

@WORDS_BIGENDIAN_FALSE@STANDARD_REWRITE = standard_littleendian
@WORDS_BIGENDIAN_TRUE@STANDARD_REWRITE = standard_bigendian
@WORDS_BIGENDIAN_FALSE@REWRITE_WARN = "little"
@WORDS_BIGENDIAN_TRUE@REWRITE_WARN = "big"
all: all-am

.SUFFIXES:
$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.am  $(am__configure_deps)
	@for dep in $?; do \
	  case '$(am__configure_deps)' in \
	    *$$dep*) \
	      ( cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh ) \
	        && { if test -f $@; then exit 0; else break; fi; }; \
	      exit 1;; \
	  esac; \
	done; \
	echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign test/Makefile'; \
	$(am__cd) $(top_srcdir) && \
	  $(AUTOMAKE) --foreign test/Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
	@case '$?' in \
	  *config.status*) \
	    cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
	  *) \
	    echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
	    cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
	esac;

$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh

$(top_srcdir)/configure: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): @MAINTAINER_MODE_TRUE@ $(am__aclocal_m4_deps)
	cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(am__aclocal_m4_deps):
config: $(top_builddir)/config.status $(srcdir)/config.in
	cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@

mostlyclean-libtool:
	-rm -f *.lo

clean-libtool:
	-rm -rf .libs _libs
tags TAGS:

ctags CTAGS:

cscope cscopelist:


distdir: $(DISTFILES)
	@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
	list='$(DISTFILES)'; \
	  dist_files=`for file in $$list; do echo $$file; done | \
	  sed -e "s|^$$srcdirstrip/||;t" \
	      -e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
	case $$dist_files in \
	  */*) $(MKDIR_P) `echo "$$dist_files" | \
			   sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
			   sort -u` ;; \
	esac; \
	for file in $$dist_files; do \
	  if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
	  if test -d $$d/$$file; then \
	    dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
	    if test -d "$(distdir)/$$file"; then \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
	      cp -fpR $(srcdir)/$$file "$(distdir)$$dir" || exit 1; \
	      find "$(distdir)/$$file" -type d ! -perm -700 -exec chmod u+rwx {} \;; \
	    fi; \
	    cp -fpR $$d/$$file "$(distdir)$$dir" || exit 1; \
	  else \
	    test -f "$(distdir)/$$file" \
	    || cp -p $$d/$$file "$(distdir)/$$file" \
	    || exit 1; \
	  fi; \
	done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am

install-am: all-am
	@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am

installcheck: installcheck-am
install-strip:
	if test -z '$(STRIP)'; then \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	      install; \
	else \
	  $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
	    install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
	    "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
	fi
mostlyclean-generic:

clean-generic:

distclean-generic:
	-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
	-test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)

maintainer-clean-generic:
	@echo "This command is intended for maintainers to use"
	@echo "it deletes files that may require special tools to rebuild."
clean-am: clean-generic clean-libtool mostlyclean-am

distclean-am: clean-am distclean-generic

dvi: dvi-am

dvi-am:

html: html-am

html-am:

info: info-am

info-am:

install-data-am:

install-dvi: install-dvi-am

install-dvi-am:

install-exec-am:

install-html: install-html-am

install-html-am:

install-info: install-info-am

install-info-am:

install-man:

install-pdf: install-pdf-am

install-pdf-am:

install-ps: install-ps-am

install-ps-am:

installcheck-am:

maintainer-clean-am: distclean-am maintainer-clean-generic

mostlyclean: mostlyclean-am

mostlyclean-am: mostlyclean-generic mostlyclean-libtool

pdf: pdf-am

pdf-am:

ps: ps-am

ps-am:

uninstall-am:

.MAKE: install-am install-strip

.PHONY: all all-am check check-am clean clean-generic clean-libtool \
	cscopelist-am ctags-am distclean distclean-generic \
	distclean-libtool distdir dvi dvi-am html html-am info info-am \
	install install-am install-data install-data-am install-dvi \
	install-dvi-am install-exec install-exec-am install-html \
	install-html-am install-info install-info-am install-man \
	install-pdf install-pdf-am install-ps install-ps-am \
	install-strip installcheck installcheck-am installdirs \
	maintainer-clean maintainer-clean-generic mostlyclean \
	mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
	tags-am uninstall uninstall-am

.PRECIOUS: Makefile


test: all
all: clearlog check tcpprep tcpreplay tcprewrite

clearlog:
	-rm test.log

check:
	$(PRINTF) "%s\n" "NOTICE: Tests must be run as root"
	$(PRINTF) "%s\n" "Sending traffic on '$(nic1)' and '$(nic2)'"

standard: standard_prep $(STANDARD_REWRITE)
	$(PRINTF) "Warning: only creating %s endian standard test files\n" $(REWRITE_WARN)

standard_prep:
	$(TCPPREP) -i test.pcap -o test.auto_router -a router
	$(TCPPREP) -i test.pcap -o test.auto_bridge -a bridge
	$(TCPPREP) -i test.pcap -o test.auto_client -a client
	$(TCPPREP) -i test.pcap -o test.auto_server -a server
	$(TCPPREP) -i test.pcap -o test.auto_first -a first
	$(TCPPREP) --load-opts config -o test.prep_config
	$(TCPPREP) -i test.pcap -o test.port -p
	$(TCPPREP) -i test.pcap -o test.mac -e 00:02:3b:00:3d:ce
	$(TCPPREP) -i test.pcap -o test.cidr -c '216.27.178.0/24'
	$(TCPPREP) -i test.pcap -o test.regex -r '216.27.178.*'
	$(TCPPREP) -i test.pcap -o test.comment -C "This is a comment" -p
	$(TCPPREP) -i test.pcap -o test.mac_reverse -e 00:02:3b:00:3d:ce --reverse
	$(TCPPREP) -i test.pcap -o test.cidr_reverse -c '216.27.178.0/24' --reverse
	$(TCPPREP) -i test.pcap -o test.regex_reverse -r '216.27.178.*' --reverse

standard_bigendian:
	$(TCPREWRITE) -i test.pcap -o test.rewrite_seed -s 55
	$(TCPREWRITE) -i test.pcap -o test.rewrite_tos --tos=50
	$(TCPREWRITE) -i test.pcap -o test.rewrite_portmap -r 80:8080
	$(TCPREWRITE) -i test.pcap -o test.rewrite_endpoint \
		-e 10.10.0.1:10.10.0.2 -c test.auto_router
	$(TCPREWRITE) -i test.pcap -o test.rewrite_pnat \
		-N 216.27.178.0/24:172.16.0.0/24
	$(TCPREWRITE) -i test.pcap -o test.rewrite_pad -F pad
	$(TCPREWRITE) -i test.pcap -o test.rewrite_trunc -F trunc
	$(TCPREWRITE) -i test.pcap -o test.rewrite_mac \
		--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
		--enet-smac=00:22:33:44:55:66,00:12:13:14:15:16  -c test.auto_router
	 $(TCPREWRITE) -i test.pcap -o test.rewrite_enet_subsmac \
		--enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
		--enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22
	$(TCPREWRITE) -i test.pcap -o test.rewrite_mac_seed --enet-mac-seed=42
	$(TCPREWRITE) -i test.pcap -o test.rewrite_mac_seed_keep --enet-mac-seed=42 \
		--enet-mac-seed-keep-bytes=3
	$(TCPREWRITE) -i test.pcap -o test.rewrite_layer2 \
		 --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0
	$(TCPREWRITE) -i test.pcap -o test.rewrite_config --enet-vlan=add --enet-vlan-tag=45 \
		--enet-vlan-cfi=1 --enet-vlan-pri=5
	$(TCPREWRITE) -i test.pcap -o test.rewrite_skip -b -s 55 \
		--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
		--enet-smac=00:22:33:44:55:66,00:12:13:14:15:16  -c test.auto_router
	$(TCPREWRITE) -i test.pcap -o test.rewrite_dltuser --dlt=user \
		--user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104
	$(TCPREWRITE) -i test.pcap -o test.rewrite_dlthdlc --dlt=hdlc \
		--hdlc-control=0 --hdlc-address=0x0F
	$(TCPREWRITE) -i test.rewrite_config -o test.rewrite_vlandel \
		--enet-vlan=del
	$(TCPREWRITE) -i test.pcap -o test.rewrite_efcs --efcs
	$(TCPREWRITE) -i test.pcap -o test.rewrite_1ttl --ttl=58
	$(TCPREWRITE) -i test.pcap -o test.rewrite_2ttl --ttl=+58
	$(TCPREWRITE) -i test.pcap -o test.rewrite_3ttl --ttl=-58
	$(TCPREWRITE) -i test.pcap -o test.rewrite_mtutrunc --mtu-trunc --mtu=300
	$(TCPREWRITE) -i test.pcap -o test.rewrite_l7fuzzing \
		--fuzz-seed=42 --fuzz-factor=2

standard_littleendian:
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_seed -s 55
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_tos --tos=50
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_portmap -r 80:8080
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_endpoint \
		-e 10.10.0.1:10.10.0.2 -c test.auto_router
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_pnat \
		-N 216.27.178.0/24:172.16.0.0/24
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_pad -F pad
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_trunc -F trunc
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_mac \
		--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
		--enet-smac=00:22:33:44:55:66,00:12:13:14:15:16  -c test.auto_router
	 $(TCPREWRITE) -i test.pcap -o test2.rewrite_enet_subsmac \
		--enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
		--enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_mac_seed --enet-mac-seed=42
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_mac_seed_keep --enet-mac-seed=42 \
		--enet-mac-seed-keep-bytes=3
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_layer2 \
		 --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_config --enet-vlan=add --enet-vlan-tag=45 \
		--enet-vlan-cfi=1 --enet-vlan-pri=5
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_skip -b -s 55 \
		--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
		--enet-smac=00:22:33:44:55:66,00:12:13:14:15:16  -c test.auto_router
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_dltuser --dlt=user \
		--user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_dlthdlc --dlt=hdlc \
		--hdlc-control=0 --hdlc-address=0x0F
	$(TCPREWRITE) -i test.rewrite_config -o test2.rewrite_vlandel \
		--enet-vlan=del
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_efcs --efcs
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_1ttl --ttl=58
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_2ttl --ttl=+58
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_3ttl --ttl=-58
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_mtutrunc --mtu-trunc --mtu=300
	$(TCPREWRITE) -i test.pcap -o test2.rewrite_l7fuzzing \
		--fuzz-seed=42 --fuzz-factor=2

tcpprep: auto_router auto_bridge auto_client auto_server auto_first cidr regex \
	port mac comment print_info print_comment prep_config \
	mac_reverse cidr_reverse regex_reverse

tcprewrite: rewrite_portmap rewrite_endpoint rewrite_pnat rewrite_trunc \
	rewrite_pad rewrite_seed rewrite_mac rewrite_layer2 rewrite_config \
	rewrite_skip rewrite_dltuser rewrite_dlthdlc rewrite_vlandel rewrite_efcs \
	rewrite_1ttl rewrite_2ttl rewrite_3ttl rewrite_tos rewrite_mtutrunc \
	rewrite_enet_subsmac rewrite_mac_seed rewrite_mac_seed_keep rewrite_l7fuzzing

tcpreplay: replay_basic replay_cache replay_pps replay_rate replay_top \
	replay_config replay_multi replay_pps_multi replay_precache \
	replay_stats replay_dualfile replay_maxsleep

prep_config:
	$(PRINTF) "%s" "[tcpprep] Config mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Config mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) --load-opts=config -o test.$@1  >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

auto_router:
	$(PRINTF) "%s" "[tcpprep] Auto/Router mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Auto/Router mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a router  >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

auto_bridge:
	$(PRINTF) "%s" "[tcpprep] Auto/Bridge mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Auto/Bridge mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a bridge  >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

auto_client:
	$(PRINTF) "%s" "[tcpprep] Auto/Client mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Auto/Client mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a client  >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

auto_server:
	$(PRINTF) "%s" "[tcpprep] Auto/Server mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Auto/Server mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a server >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

auto_first:
	$(PRINTF) "%s" "[tcpprep] Auto/First mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Auto/First mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a first >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

regex:
	$(PRINTF) "%s" "[tcpprep] Regex mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Regex mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -r '216.27.178.*' >>test.log 2>&1
	diff  test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

cidr:
	$(PRINTF) "%s" "[tcpprep] CIDR mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] CIDR mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -c '216.27.178.0/24' >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

port:
	$(PRINTF) "%s" "[tcpprep] Port mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Port mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -p >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

mac:
	$(PRINTF) "%s" "[tcpprep] MAC mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] MAC mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -e 00:02:3b:00:3d:ce >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

comment:
	$(PRINTF) "%s" "[tcpprep] Comment mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Comment mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -C "This is a comment" -p >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

print_comment:
	$(PRINTF) "%s" "[tcpprep] Print comment mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Print comment mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -P test.comment >test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

print_info:
	$(PRINTF) "%s" "[tcpprep] Print info mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Print info mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -I test.comment >test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

regex_reverse:
	$(PRINTF) "%s" "[tcpprep] Regex reverse mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] Regex reverse mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -r '216.27.178.*' --reverse >>test.log 2>&1
	diff  test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

cidr_reverse:
	$(PRINTF) "%s" "[tcpprep] CIDR reverse mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] CIDR reverse mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -c '216.27.178.0/24' --reverse >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

mac_reverse:
	$(PRINTF) "%s" "[tcpprep] MAC reverse mode test: "
	$(PRINTF) "%s\n" "*** [tcpprep] MAC reverse mode test: " >>test.log
	$(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -e 00:02:3b:00:3d:ce --reverse >>test.log 2>&1
	diff test.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

replay_basic:
	$(PRINTF) "%s" "[tcpreplay] Basic test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Basic test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_cache:
	$(PRINTF) "%s" "[tcpreplay] Cache test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Cache test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -c test.cidr -i $(nic1) -I $(nic2) -t test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_accurate:
	$(PRINTF) "%s" "[tcpreplay] Accurate test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Accurate test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -a -i $(nic1) test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_stats:
	$(PRINTF) "%s" "[tcpreplay] Statistics test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Statistics test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) --stats=1 -i $(nic1) test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_portmap:
	$(PRINTF) "%s" "[tcprewrite] Portmap test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Portmap test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -r 80:8080 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_endpoint:
	$(PRINTF) "%s" "[tcprewrite] Endpoint test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Endpoint test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -e 10.10.0.1:10.10.0.2 \
	    -c test.auto_router  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_pnat:
	$(PRINTF) "%s" "[tcprewrite] Pseudo NAT test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Pseudo NAT test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
	    -N 216.27.178.0/24:172.16.0.0/24  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_mac:
	$(PRINTF) "%s" "[tcprewrite] Src/Dst MAC test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Src/Dst MAC test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
		--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
		--enet-smac=00:22:33:44:55:66,00:12:13:14:15:16  -c test.auto_router  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_enet_subsmac:
	$(PRINTF) "%s" "[tcprewrite] Substitute Src/Dst MAC test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Substitute Src/Dst MAC test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
		--enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
		--enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi

rewrite_mac_seed:
	$(PRINTF) "%s" "[tcprewrite] Seeded MAC test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Seeded MAC test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
		--enet-mac-seed=42 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_mac_seed_keep:
	$(PRINTF) "%s" "[tcprewrite] Seeded Keep MAC test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Seeded Keep MAC test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
		--enet-mac-seed=42 --enet-mac-seed-keep-bytes=3 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

rewrite_trunc:
	$(PRINTF) "%s" "[tcprewrite] Truncate test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Truncate test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -F trunc -i test.pcap -o test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_pad:
	$(PRINTF) "%s" "[tcprewrite] Pad test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Pad test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -F pad -i test.pcap -o test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi

rewrite_seed:
	$(PRINTF) "%s" "[tcprewrite] Seed IP test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Seed IP test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -s 55 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_layer2:
	$(PRINTF) "%s" "[tcprewrite] Layer2 test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Layer2 test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0 \
		-i test.pcap -o test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_config:
	$(PRINTF) "%s" "[tcprewrite] Config/VLAN Add test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Config/VLAN Add test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) --load-opts config  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

rewrite_skip:
	$(PRINTF) "%s" "[tcprewrite] Skip bcast test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Skip bcast test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -b -s 55 \
		--enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
		--enet-smac=00:22:33:44:55:66,00:12:13:14:15:16  -c test.auto_router  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_dltuser:
	$(PRINTF) "%s" "[tcprewrite] DLT User test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] DLT User test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --dlt=user \
		--user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_dlthdlc:
	$(PRINTF) "%s" "[tcprewrite] DLT Cisco HDLC test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] DLT Cisco HDLC test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --dlt=hdlc \
		--hdlc-control=0 --hdlc-address=0x0F  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

rewrite_vlandel:
	$(PRINTF) "%s" "[tcprewrite] VLAN Delete test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] VLAN Delete test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.rewrite_config -o test.$@1 \
		--enet-vlan=del  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_efcs:
	$(PRINTF) "%s" "[tcprewrite] Remove EFCS: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Remove EFCS: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --efcs >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_1ttl:
	$(PRINTF) "%s" "[tcprewrite] Force TTL: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Force TTL: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --ttl=58  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_2ttl:
	$(PRINTF) "%s" "[tcprewrite] Increase TTL: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Increase TTL: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --ttl=+58  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_3ttl:
	$(PRINTF) "%s" "[tcprewrite] Reduce TTL: "
	$(PRINTF) "%s\n" "*** [tcprewrite] Reduce TTL: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --ttl=-58  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_tos:
	$(PRINTF) "%s" "[tcprewrite] TOS test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] TOS test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --tos=50  >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi

rewrite_mtutrunc:
	$(PRINTF) "%s" "[tcprewrite] MTU Truncate test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] MTU Truncate test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1  --mtu-trunc --mtu=300 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

rewrite_l7fuzzing:
	$(PRINTF) "%s" "[tcprewrite] L7 fuzzing test: "
	$(PRINTF) "%s\n" "*** [tcprewrite] L7 fuzzing test: " >>test.log
	$(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --fuzz-seed=42 >>test.log 2>&1
@WORDS_BIGENDIAN_TRUE@	diff test.$@ test.$@1 >>test.log 2>&1
@WORDS_BIGENDIAN_FALSE@	diff test2.$@ test.$@1 >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_pps:
	$(PRINTF) "%s" "[tcpreplay] Packets/sec test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 25 test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_rate:
	$(PRINTF) "%s" "[tcpreplay] Mbps test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Mbps test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -M 25.0 test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi

replay_multi:
	$(PRINTF) "%s" "[tcpreplay] Multiplier test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Multiplier test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -x 25.0 test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_pps_multi:
	$(PRINTF) "%s" "[tcpreplay] Packets/sec Multiplier test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec Multiplier test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 100 --pps-multi=5 test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi

replay_top:
	$(PRINTF) "%s" "[tcpreplay] Topspeed test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Topspeed test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_precache:
	$(PRINTF) "%s" "[tcpreplay] Precache test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Precache test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --preload-pcap test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

datadump_mode:
	$(PRINTF) "%s" "[tcpreplay] Data dump test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Data dump mode test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -D -i $(nic1) -I $(nic2) -w primary.data -W secondary.data -c test.cidr -R test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_config:
	$(PRINTF) "%s" "[tcpreplay] Config file/VLAN add test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Config file/VLAN add test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) --load-opts=config test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

replay_dualfile:
	$(PRINTF) "%s" "[tcpreplay] Dual file test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Dual file test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -I $(nic2) --dualfile test.pcap test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

replay_maxsleep:
	$(PRINTF) "%s" "[tcpreplay] Maximum sleep test: "
	$(PRINTF) "%s\n" "*** [tcpreplay] Maximum sleep test: " >>test.log
	$(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --maxsleep=20 test.pcap test.pcap >>test.log 2>&1
	if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

clean:
	rm -f *1 test.log core* *~ primary.data secondary.data

distclean: clean
	rm -f Makefile config

maintainer-clean: distclean

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:
