Skip to content

Commit

Permalink
Bug #677 add IGMP Q-in-Q MPLS checksum IPv6 tests
Browse files Browse the repository at this point in the history
  • Loading branch information
fklassen committed Dec 26, 2021
1 parent 2c76868 commit 4ba53da
Show file tree
Hide file tree
Showing 80 changed files with 85 additions and 10 deletions.
2 changes: 1 addition & 1 deletion configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ AC_PREREQ([2.69])
dnl Set version info here!
AC_INIT([tcpreplay],[4.4.0-beta1],[https://github.com/appneta/tcpreplay/issues],[tcpreplay],[http://tcpreplay.sourceforge.net/])
AC_CONFIG_SRCDIR([src/tcpreplay.c])
AC_CONFIG_HEADERS([src/config.h])
AM_CONFIG_HEADERS([src/config.h])
AC_CONFIG_AUX_DIR(config)
AM_MAINTAINER_MODE([enable])
AM_WITH_DMALLOC
Expand Down
2 changes: 1 addition & 1 deletion src/tcpedit/plugins/ethernet.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
/*
* Takes a ptr to an ethernet address and returns
* 1 if it is unicast or 0 if it is multicast or
* broadcast. As per RFC5342.
* broadcast. As per RFC7042.
*/
int
is_unicast_ethernet(tcpeditdlt_t *ctx, const u_char *ether)
Expand Down
91 changes: 83 additions & 8 deletions test/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -25,20 +25,22 @@ EXTRA_DIST = test.pcap test.auto_bridge test.auto_client test.auto_router \
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_vlan802.1ad 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_range_portmap \
test.rewrite_mac_seed_keep test.rewrite_l7fuzzing test.rewrite_sequence \
test.rewrite_mac_seed_keep test.rewrite_l7fuzzing test.rewrite_sequence test.rewrite_fixcsum \
test.rewrite_fixlen_pad test.rewrite_fixlen_trunc test.rewrite_fixlen_del \
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_vlan802.1ad 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_range_portmap test2.rewrite_mac_seed_keep \
test2.rewrite_l7fuzzing test2.rewrite_sequence
test2.rewrite_l7fuzzing test2.rewrite_sequence test2.rewrite_fixcsum \
test2.rewrite_fixlen_pad test2.rewrite_fixlen_trunc test2.rewrite_fixlen_del

test: all
all: clearlog check tcpprep tcpreplay tcprewrite
Expand Down Expand Up @@ -106,13 +108,17 @@ standard_bigendian:
--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 \
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_skip \
--skipbroadcast --skipl2broadcast --skip-soft-errors --seed 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 $(srcdir)/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 $(srcdir)/test.rewrite_config -o test.rewrite_vlan802.1ad \
--enet-vlan=add --enet-vlan-tag=42 --enet-vlan-cfi=1 \
--enet-vlan-pri=2 --enet-vlan-proto=802.1ad
$(TCPREWRITE) -i $(srcdir)/test.rewrite_config -o test.rewrite_vlandel \
--enet-vlan=del
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_efcs --efcs
Expand All @@ -122,6 +128,10 @@ standard_bigendian:
$(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
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixcsum --fixcsum
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixlen_pad --fixlen=pad
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixlen_trunc --fixlen=trunc
$(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixlen_del --fixlen=del

standard_littleendian:
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_seed -s 55
Expand Down Expand Up @@ -155,6 +165,9 @@ standard_littleendian:
--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 $(srcdir)/test.rewrite_config -o test2.rewrite_vlan802.1ad \
--enet-vlan=add --enet-vlan-tag=42 --enet-vlan-cfi=1 \
--enet-vlan-pri=2 --enet-vlan-proto=802.1ad
$(TCPREWRITE) -i $(srcdir)/test.rewrite_config -o test2.rewrite_vlandel \
--enet-vlan=del
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_efcs --efcs
Expand All @@ -164,6 +177,10 @@ standard_littleendian:
$(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
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixcsum --fixcsum
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixlen_pad --fixlen=pad
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixlen_trunc --fixlen=trunc
$(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixlen_del --fixlen=del

tcpprep: auto_router auto_bridge auto_client auto_server auto_first cidr regex \
port mac comment print_info print_comment prep_config \
Expand All @@ -173,9 +190,10 @@ tcpprep: auto_router auto_bridge auto_client auto_server auto_first cidr regex \
tcprewrite: rewrite_portmap rewrite_range_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_vlan802.1ad 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 rewrite_sequence
rewrite_mac_seed_keep rewrite_l7fuzzing rewrite_sequence rewrite_fixcsum \
rewrite_fixlen_pad rewrite_fixlen_trunc rewrite_fixlen_del

tcpreplay: replay_basic replay_cache replay_pps replay_rate replay_top \
replay_config replay_multi replay_pps_multi replay_precache \
Expand Down Expand Up @@ -543,6 +561,19 @@ else
endif
if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi

rewrite_vlan802.1ad:
$(PRINTF) "%s" "[tcprewrite] 802.1ad Q-in-Q add test: "
$(PRINTF) "%s\n" "*** [tcprewrite] 802.1ad Q-in-Q add test: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(srcdir)/test.rewrite_config -o test.$@1 \
--enet-vlan=add --enet-vlan-tag=42 --enet-vlan-cfi=1 \
--enet-vlan-pri=2 --enet-vlan-proto=802.1ad >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/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_vlandel:
$(PRINTF) "%s" "[tcprewrite] VLAN Delete test: "
$(PRINTF) "%s\n" "*** [tcprewrite] VLAN Delete test: " >> test.log
Expand Down Expand Up @@ -632,6 +663,50 @@ else
endif
if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi

rewrite_fixcsum:
$(PRINTF) "%s" "[tcprewrite] Fix checksum test: "
$(PRINTF) "%s\n" "*** [tcprewrite] Fix checksum test: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixcsum >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/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_fixlen_pad:
$(PRINTF) "%s" "[tcprewrite] Fix length and pad test: "
$(PRINTF) "%s\n" "*** [tcprewrite] Fix length and pad test: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixlen=pad >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/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_fixlen_trunc:
$(PRINTF) "%s" "[tcprewrite] Fix length and truncate test: "
$(PRINTF) "%s\n" "*** [tcprewrite] Fix length and truncate test: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixlen=trunc >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/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_fixlen_del:
$(PRINTF) "%s" "[tcprewrite] Fix length and delete test: "
$(PRINTF) "%s\n" "*** [tcprewrite] Fix length and delete test: " >> test.log
$(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixlen=del >> test.log 2>&1
if WORDS_BIGENDIAN
diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1
else
diff $(srcdir)/test2.$@ test.$@1 >> test.log 2>&1
endif
if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi

replay_pps:
$(PRINTF) "%s" "[tcpreplay] Packets/sec test: "
$(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec test: " >> test.log
Expand Down Expand Up @@ -696,6 +771,6 @@ clean:
rm -f *1 test.log core* *~ primary.data secondary.data

distclean: clean
rm -f Makefile config
rm -f Makefile Makefile.in config

maintainer-clean: distclean
Binary file modified test/test.auto_bridge
Binary file not shown.
Binary file modified test/test.auto_client
Binary file not shown.
Binary file modified test/test.auto_first
Binary file not shown.
Binary file modified test/test.auto_router
Binary file not shown.
Binary file modified test/test.auto_server
Binary file not shown.
Binary file modified test/test.cidr
Binary file not shown.
Binary file modified test/test.cidr_reverse
Binary file not shown.
Binary file modified test/test.comment
Binary file not shown.
Binary file modified test/test.exclude_packets
Binary file not shown.
Binary file modified test/test.include_dest
Binary file not shown.
Binary file modified test/test.include_packets
Binary file not shown.
Binary file modified test/test.include_source
Binary file not shown.
Binary file modified test/test.mac
Binary file not shown.
Binary file modified test/test.mac_reverse
Binary file not shown.
Binary file modified test/test.pcap
Binary file not shown.
Binary file modified test/test.port
Binary file not shown.
Binary file modified test/test.prep_config
Binary file not shown.
Binary file modified test/test.regex
Binary file not shown.
Binary file modified test/test.regex_reverse
Binary file not shown.
Binary file modified test/test.rewrite_1ttl
Binary file not shown.
Binary file modified test/test.rewrite_2ttl
Binary file not shown.
Binary file modified test/test.rewrite_3ttl
Binary file not shown.
Binary file modified test/test.rewrite_config
Binary file not shown.
Binary file modified test/test.rewrite_dlthdlc
Binary file not shown.
Binary file modified test/test.rewrite_dltuser
Binary file not shown.
Binary file modified test/test.rewrite_efcs
Binary file not shown.
Binary file modified test/test.rewrite_endpoint
Binary file not shown.
Binary file modified test/test.rewrite_enet_subsmac
Binary file not shown.
Binary file added test/test.rewrite_fixcsum
Binary file not shown.
Binary file added test/test.rewrite_fixlen_del
Binary file not shown.
Binary file added test/test.rewrite_fixlen_pad
Binary file not shown.
Binary file added test/test.rewrite_fixlen_trunc
Binary file not shown.
Binary file modified test/test.rewrite_l7fuzzing
Binary file not shown.
Binary file modified test/test.rewrite_layer2
Binary file not shown.
Binary file modified test/test.rewrite_mac
Binary file not shown.
Binary file modified test/test.rewrite_mac_seed
Binary file not shown.
Binary file modified test/test.rewrite_mac_seed_keep
Binary file not shown.
Binary file modified test/test.rewrite_mtutrunc
Binary file not shown.
Binary file modified test/test.rewrite_pad
Binary file not shown.
Binary file modified test/test.rewrite_pnat
Binary file not shown.
Binary file modified test/test.rewrite_portmap
Binary file not shown.
Binary file modified test/test.rewrite_range_portmap
Binary file not shown.
Binary file modified test/test.rewrite_seed
Binary file not shown.
Binary file modified test/test.rewrite_sequence
Binary file not shown.
Binary file modified test/test.rewrite_skip
Binary file not shown.
Binary file modified test/test.rewrite_tos
Binary file not shown.
Binary file modified test/test.rewrite_trunc
Binary file not shown.
Binary file modified test/test.rewrite_vlan802.1ad
Binary file not shown.
Binary file modified test/test.rewrite_vlandel
Binary file not shown.
Binary file modified test/test2.rewrite_1ttl
Binary file not shown.
Binary file modified test/test2.rewrite_2ttl
Binary file not shown.
Binary file modified test/test2.rewrite_3ttl
Binary file not shown.
Binary file modified test/test2.rewrite_config
Binary file not shown.
Binary file modified test/test2.rewrite_dlthdlc
Binary file not shown.
Binary file modified test/test2.rewrite_dltuser
Binary file not shown.
Binary file modified test/test2.rewrite_efcs
Binary file not shown.
Binary file modified test/test2.rewrite_endpoint
Binary file not shown.
Binary file modified test/test2.rewrite_enet_subsmac
Binary file not shown.
Binary file added test/test2.rewrite_fixcsum
Binary file not shown.
Binary file added test/test2.rewrite_fixlen_del
Binary file not shown.
Binary file added test/test2.rewrite_fixlen_pad
Binary file not shown.
Binary file added test/test2.rewrite_fixlen_trunc
Binary file not shown.
Binary file modified test/test2.rewrite_l7fuzzing
Binary file not shown.
Binary file modified test/test2.rewrite_layer2
Binary file not shown.
Binary file modified test/test2.rewrite_mac
Binary file not shown.
Binary file modified test/test2.rewrite_mac_seed
Binary file not shown.
Binary file modified test/test2.rewrite_mac_seed_keep
Binary file not shown.
Binary file modified test/test2.rewrite_mtutrunc
Binary file not shown.
Binary file modified test/test2.rewrite_pad
Binary file not shown.
Binary file modified test/test2.rewrite_pnat
Binary file not shown.
Binary file modified test/test2.rewrite_portmap
Binary file not shown.
Binary file modified test/test2.rewrite_range_portmap
Binary file not shown.
Binary file modified test/test2.rewrite_seed
Binary file not shown.
Binary file modified test/test2.rewrite_sequence
Binary file not shown.
Binary file modified test/test2.rewrite_skip
Binary file not shown.
Binary file modified test/test2.rewrite_tos
Binary file not shown.
Binary file modified test/test2.rewrite_trunc
Binary file not shown.

0 comments on commit 4ba53da

Please sign in to comment.