# $Id$ MAKEFLAGS=-s -k PRINTF = @PRINTF@ HOST = @host@ TARGET = @target@ BUILD = @build@ nic1 = @nic1@ nic2 = @nic2@ 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 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)'" if WORDS_BIGENDIAN STANDARD_REWRITE = standard_bigendian REWRITE_WARN = "big" else STANDARD_REWRITE = standard_littleendian REWRITE_WARN = "little" endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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 if WORDS_BIGENDIAN diff test.$@ test.$@1 >>test.log 2>&1 else diff test2.$@ test.$@1 >>test.log 2>&1 endif 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