Makefile.am 40 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893
  1. # $Id$
  2. MAKEFLAGS=-s -k
  3. PRINTF = @PRINTF@
  4. HOST = @host@
  5. TARGET = @target@
  6. BUILD = @build@
  7. nic1 = @nic1@
  8. nic2 = @nic2@
  9. hexdump = @test_hexdump@
  10. ENABLE_DEBUG = @debug_run_time_flag@
  11. TCPPREP=../src/tcpprep --no-arg-comment
  12. TCPREPLAY=../src/tcpreplay
  13. TCPREWRITE=../src/tcprewrite
  14. TCPBRIDGE=../src/tcpbridge
  15. TEST_PCAP=$(srcdir)/test.pcap
  16. EXTRA_DIST = test.pcap test.auto_bridge test.auto_client test.auto_router \
  17. test.auto_server test.auto_first test.cidr test.comment test.port test.mac \
  18. test.cidr_reverse test.mac_reverse test.regex_reverse \
  19. test.include_packets test.exclude_packets test.include_source \
  20. test.include_dest test.prep_config \
  21. test.primary test.regex test.secondary \
  22. test.rewrite_seed test.rewrite_portmap test.rewrite_endpoint \
  23. test.rewrite_pnat test.rewrite_pad test.rewrite_trunc \
  24. test.rewrite_mac test.rewrite_layer2 test.rewrite_config \
  25. test.rewrite_skip test.rewrite_dltuser test.rewrite_dlthdlc \
  26. test.rewrite_vlan802.1ad test.rewrite_vlandel test.rewrite_efcs \
  27. test.rewrite_1ttl test.rewrite_2ttl test.rewrite_3ttl \
  28. test.rewrite_1ttl-hdrfix test.rewrite_2ttl-hdrfix test.rewrite_3ttl-hdrfix \
  29. test.rewrite_enet_subsmac \
  30. test.rewrite_mtutrunc test.rewrite_mac_seed test.rewrite_range_portmap \
  31. test.rewrite_mac_seed_keep test.rewrite_l7fuzzing test.rewrite_sequence test.rewrite_fixcsum \
  32. test.rewrite_fixlen_pad test.rewrite_fixlen_trunc test.rewrite_fixlen_del \
  33. test.replay_unique_ip test.replay_include test.replay_exclude \
  34. test2.rewrite_seed test2.rewrite_portmap test2.rewrite_endpoint \
  35. test2.rewrite_pnat test2.rewrite_pad test2.rewrite_trunc \
  36. test2.rewrite_mac test2.rewrite_layer2 test2.rewrite_config \
  37. test2.rewrite_skip test2.rewrite_dltuser test2.rewrite_dlthdlc \
  38. test2.rewrite_vlan802.1ad test2.rewrite_vlandel test2.rewrite_efcs \
  39. test2.rewrite_1ttl test2.rewrite_2ttl test2.rewrite_3ttl \
  40. test2.rewrite_1ttl-hdrfix test2.rewrite_2ttl-hdrfix test2.rewrite_3ttl-hdrfix \
  41. test2.rewrite_mtutrunc test2.rewrite_enet_subsmac \
  42. test.rewrite_tos test2.rewrite_tos \
  43. test2.rewrite_enet_subsmac test2.rewrite_mac_seed \
  44. test2.rewrite_range_portmap test2.rewrite_mac_seed_keep \
  45. test2.rewrite_l7fuzzing test2.rewrite_sequence test2.rewrite_fixcsum \
  46. test2.rewrite_fixlen_pad test2.rewrite_fixlen_trunc test2.rewrite_fixlen_del \
  47. test2.replay_unique_ip test2.replay_include test2.replay_exclude
  48. test: all
  49. all: clearlog check tcpprep tcpreplay tcprewrite
  50. clearlog:
  51. -rm test.log
  52. check:
  53. $(PRINTF) "%s\n" "NOTICE: Tests must be run as root"
  54. $(PRINTF) "%s\n" "Sending traffic on '$(nic1)' and '$(nic2)'"
  55. if WORDS_BIGENDIAN
  56. STANDARD_REWRITE = standard_bigendian
  57. REWRITE_WARN = "big"
  58. VARIANT=
  59. else
  60. STANDARD_REWRITE = standard_littleendian
  61. REWRITE_WARN = "little"
  62. VARIANT="2"
  63. endif
  64. standard: standard_prep $(STANDARD_REWRITE)
  65. $(PRINTF) "Warning: only creating %s endian standard test files\n" $(REWRITE_WARN)
  66. standard_prep:
  67. $(TCPPREP) -i $(TEST_PCAP) -o test.auto_router -a router
  68. $(TCPPREP) -i $(TEST_PCAP) -o test.auto_bridge -a bridge
  69. $(TCPPREP) -i $(TEST_PCAP) -o test.auto_client -a client
  70. $(TCPPREP) -i $(TEST_PCAP) -o test.auto_server -a server
  71. $(TCPPREP) -i $(TEST_PCAP) -o test.auto_first -a first
  72. $(TCPPREP) --load-opts config -o test.prep_config
  73. $(TCPPREP) -i $(TEST_PCAP) -o test.port -p
  74. $(TCPPREP) -i $(TEST_PCAP) -o test.mac -e 00:1f:f3:3c:e1:13
  75. $(TCPPREP) -i $(TEST_PCAP) -o test.cidr -c '96.17.211.0/24'
  76. $(TCPPREP) -i $(TEST_PCAP) -o test.regex -r '96.17.211.*'
  77. $(TCPPREP) -i $(TEST_PCAP) -o test.comment -C "This is a comment" -p
  78. $(TCPPREP) -i $(TEST_PCAP) -o test.mac_reverse -e 00:1f:f3:3c:e1:13 --reverse
  79. $(TCPPREP) -i $(TEST_PCAP) -o test.cidr_reverse -c '96.17.211.0/24' --reverse
  80. $(TCPPREP) -i $(TEST_PCAP) -o test.regex_reverse -r '96.17.211.*' --reverse
  81. $(TCPPREP) -i $(TEST_PCAP) -o test.exclude_packets -c '96.17.211.0/24' --exclude 'P:61-65,88-91'
  82. $(TCPPREP) -i $(TEST_PCAP) -o test.include_packets -c '96.17.211.0/24' --include 'P:61-65,88-91'
  83. $(TCPPREP) -i $(TEST_PCAP) -o test.include_source -c '96.17.211.0/24' --include 'S:96.0.0.0/8'
  84. $(TCPPREP) -i $(TEST_PCAP) -o test.include_dest -c '96.17.211.0/24' --include 'D:96.0.0.0/8'
  85. standard_bigendian:
  86. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_seed -s 55
  87. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_tos --tos=50
  88. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_portmap -r 80:8080
  89. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_range_portmap -r 1-100:49148
  90. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_sequence --tcp-sequence 42
  91. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_endpoint \
  92. -e 10.10.0.1:10.10.0.2 -c test.auto_router
  93. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_pnat \
  94. -N 96.17.211.0/24:172.16.0.0/24
  95. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_pad -F pad
  96. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_trunc -F trunc
  97. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_mac \
  98. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  99. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c $(srcdir)/test.auto_router
  100. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_enet_subsmac \
  101. --enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
  102. --enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22
  103. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_mac_seed --enet-mac-seed=42
  104. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_mac_seed_keep --enet-mac-seed=42 \
  105. --enet-mac-seed-keep-bytes=3
  106. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_layer2 \
  107. --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0
  108. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_config --enet-vlan=add --enet-vlan-tag=45 \
  109. --enet-vlan-cfi=1 --enet-vlan-pri=5
  110. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_skip \
  111. --skipbroadcast --skipl2broadcast --skip-soft-errors --seed 55 \
  112. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  113. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c $(srcdir)/test.auto_router
  114. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_dltuser --dlt=user \
  115. --user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104
  116. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_dlthdlc --dlt=hdlc \
  117. --hdlc-control=0 --hdlc-address=0x0F
  118. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_vlan802.1ad \
  119. --enet-vlan=add --enet-vlan-tag=42 --enet-vlan-cfi=1 \
  120. --enet-vlan-pri=2 --enet-vlan-proto=802.1ad
  121. $(TCPREWRITE) -i $(srcdir)/test.rewrite_config -o test.rewrite_vlandel \
  122. --enet-vlan=del
  123. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_efcs --efcs
  124. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_1ttl --ttl=58
  125. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_2ttl --ttl=+58
  126. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_3ttl --ttl=-58
  127. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_1ttl-hdrfix --ttl=59 --fixhdrlen
  128. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_2ttl-hdrfix --ttl=+59 --fixhdrlen
  129. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_3ttl-hdrfix --ttl=-59 --fixhdrlen
  130. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_mtutrunc --mtu-trunc --mtu=300
  131. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_l7fuzzing \
  132. --fuzz-seed=42 --fuzz-factor=2
  133. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixcsum --fixcsum
  134. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixlen_pad --fixlen=pad
  135. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixlen_trunc --fixlen=trunc
  136. $(TCPREWRITE) -i $(TEST_PCAP) -o test.rewrite_fixlen_del --fixlen=del
  137. $(TCPREPLAY) -w test.replay_include -t --include=7,11,20-23,174- $(TEST_PCAP)
  138. $(TCPREPLAY) -w test.replay_exclude -t --exclude=23-,11-20,2,3 $(TEST_PCAP)
  139. $(TCPREPLAY) -w test.replay_unique_ip -t --unique-ip --loop=2 $(TEST_PCAP)
  140. standard_littleendian:
  141. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_seed -s 55
  142. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_tos --tos=50
  143. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_portmap -r 80:8080
  144. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_range_portmap -r 1-100:49148
  145. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_sequence --tcp-sequence 42
  146. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_endpoint \
  147. -e 10.10.0.1:10.10.0.2 -c test.auto_router
  148. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_pnat \
  149. -N 96.17.211.0/24:172.16.0.0/24
  150. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_pad -F pad
  151. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_trunc -F trunc
  152. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_mac \
  153. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  154. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c $(srcdir)/test.auto_router
  155. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_enet_subsmac \
  156. --enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
  157. --enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22
  158. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_mac_seed --enet-mac-seed=42
  159. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_mac_seed_keep --enet-mac-seed=42 \
  160. --enet-mac-seed-keep-bytes=3
  161. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_layer2 \
  162. --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0
  163. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_config --enet-vlan=add --enet-vlan-tag=45 \
  164. --enet-vlan-cfi=1 --enet-vlan-pri=5
  165. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_skip \
  166. --skipbroadcast --skipl2broadcast --skip-soft-errors --seed 55 \
  167. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  168. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c $(srcdir)/test.auto_router
  169. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_dltuser --dlt=user \
  170. --user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104
  171. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_dlthdlc --dlt=hdlc \
  172. --hdlc-control=0 --hdlc-address=0x0F
  173. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_vlan802.1ad \
  174. --enet-vlan=add --enet-vlan-tag=42 --enet-vlan-cfi=1 \
  175. --enet-vlan-pri=2 --enet-vlan-proto=802.1ad
  176. $(TCPREWRITE) -i $(srcdir)/test.rewrite_config -o test2.rewrite_vlandel \
  177. --enet-vlan=del
  178. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_efcs --efcs
  179. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_1ttl --ttl=58
  180. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_2ttl --ttl=+58
  181. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_3ttl --ttl=-58
  182. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_1ttl-hdrfix --ttl=59 --fixhdrlen
  183. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_2ttl-hdrfix --ttl=+59 --fixhdrlen
  184. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_3ttl-hdrfix --ttl=-59 --fixhdrlen
  185. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_mtutrunc --mtu-trunc --mtu=300
  186. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_l7fuzzing \
  187. --fuzz-seed=42 --fuzz-factor=2
  188. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixcsum --fixcsum
  189. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixlen_pad --fixlen=pad
  190. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixlen_trunc --fixlen=trunc
  191. $(TCPREWRITE) -i $(TEST_PCAP) -o test2.rewrite_fixlen_del --fixlen=del
  192. $(TCPREPLAY) -w test2.replay_include -t --include=7,11,20-23,174- $(TEST_PCAP)
  193. $(TCPREPLAY) -w test2.replay_exclude -t --exclude=23-,11-20,2,3 $(TEST_PCAP)
  194. $(TCPREPLAY) -w test2.replay_unique_ip -t --unique-ip --loop=2 $(TEST_PCAP)
  195. tcpprep: auto_router auto_bridge auto_client auto_server auto_first cidr regex \
  196. port mac comment print_info print_comment prep_config \
  197. mac_reverse cidr_reverse regex_reverse exclude_packets \
  198. include_packets include_source include_dest
  199. tcprewrite: rewrite_portmap rewrite_range_portmap rewrite_endpoint \
  200. rewrite_pnat rewrite_trunc rewrite_pad rewrite_seed rewrite_mac \
  201. rewrite_layer2 rewrite_config rewrite_skip rewrite_dltuser rewrite_dlthdlc \
  202. rewrite_vlan802.1ad rewrite_vlandel rewrite_efcs \
  203. rewrite_1ttl rewrite_2ttl rewrite_3ttl rewrite_1ttl-hdrfix rewrite_2ttl-hdrfix rewrite_3ttl-hdrfix \
  204. rewrite_tos rewrite_mtutrunc rewrite_enet_subsmac rewrite_mac_seed \
  205. rewrite_mac_seed_keep rewrite_l7fuzzing rewrite_sequence rewrite_fixcsum \
  206. rewrite_fixlen_pad rewrite_fixlen_trunc rewrite_fixlen_del
  207. tcpreplay: replay_basic replay_nano_timer replay_cache replay_pps replay_rate replay_top \
  208. replay_config replay_multi replay_pps_multi replay_precache \
  209. replay_stats replay_dualfile replay_maxsleep replay_include replay_exclude replay_unique_ip
  210. prep_config:
  211. $(PRINTF) "%s" "[tcpprep] Config mode test: "
  212. $(PRINTF) "%s\n" "*** [tcpprep] Config mode test: " >> test.log
  213. $(TCPPREP) $(ENABLE_DEBUG) --load-opts=config -o test.$@1 >> test.log 2>&1
  214. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  215. $(PRINTF) "\t\t\t%s\n" "OK"; \
  216. else \
  217. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  218. fi
  219. auto_router:
  220. $(PRINTF) "%s" "[tcpprep] Auto/Router mode test: "
  221. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Router mode test: " >> test.log
  222. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -a router >> test.log 2>&1
  223. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  224. $(PRINTF) "\t\t%s\n" "OK"; \
  225. else \
  226. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  227. fi
  228. auto_bridge:
  229. $(PRINTF) "%s" "[tcpprep] Auto/Bridge mode test: "
  230. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Bridge mode test: " >> test.log
  231. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -a bridge >> test.log 2>&1
  232. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  233. $(PRINTF) "\t\t%s\n" "OK"; \
  234. else \
  235. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  236. fi
  237. auto_client:
  238. $(PRINTF) "%s" "[tcpprep] Auto/Client mode test: "
  239. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Client mode test: " >> test.log
  240. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -a client >> test.log 2>&1
  241. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  242. $(PRINTF) "\t\t%s\n" "OK"; \
  243. else \
  244. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  245. fi
  246. auto_server:
  247. $(PRINTF) "%s" "[tcpprep] Auto/Server mode test: "
  248. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Server mode test: " >> test.log
  249. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -a server >> test.log 2>&1
  250. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  251. $(PRINTF) "\t\t%s\n" "OK"; \
  252. else \
  253. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  254. fi
  255. auto_first:
  256. $(PRINTF) "%s" "[tcpprep] Auto/First mode test: "
  257. $(PRINTF) "%s\n" "*** [tcpprep] Auto/First mode test: " >> test.log
  258. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -a first >> test.log 2>&1
  259. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  260. $(PRINTF) "\t\t%s\n" "OK"; \
  261. else \
  262. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  263. fi
  264. regex:
  265. $(PRINTF) "%s" "[tcpprep] Regex mode test: "
  266. $(PRINTF) "%s\n" "*** [tcpprep] Regex mode test: " >> test.log
  267. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -r '96.17.211.*' >> test.log 2>&1
  268. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  269. $(PRINTF) "\t\t\t%s\n" "OK"; \
  270. else \
  271. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  272. fi
  273. cidr:
  274. $(PRINTF) "%s" "[tcpprep] CIDR mode test: "
  275. $(PRINTF) "%s\n" "*** [tcpprep] CIDR mode test: " >> test.log
  276. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -c '96.17.211.0/24' >> test.log 2>&1
  277. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  278. $(PRINTF) "\t\t\t%s\n" "OK"; \
  279. else \
  280. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  281. fi
  282. port:
  283. $(PRINTF) "%s" "[tcpprep] Port mode test: "
  284. $(PRINTF) "%s\n" "*** [tcpprep] Port mode test: " >> test.log
  285. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -p >> test.log 2>&1
  286. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  287. $(PRINTF) "\t\t\t%s\n" "OK"; \
  288. else \
  289. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  290. fi
  291. mac:
  292. $(PRINTF) "%s" "[tcpprep] MAC mode test: "
  293. $(PRINTF) "%s\n" "*** [tcpprep] MAC mode test: " >> test.log
  294. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -e 00:1f:f3:3c:e1:13 >> test.log 2>&1
  295. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  296. $(PRINTF) "\t\t\t%s\n" "OK"; \
  297. else \
  298. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  299. fi
  300. comment:
  301. $(PRINTF) "%s" "[tcpprep] Comment mode test: "
  302. $(PRINTF) "%s\n" "*** [tcpprep] Comment mode test: " >> test.log
  303. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -C "This is a comment" -p >> test.log 2>&1
  304. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  305. $(PRINTF) "\t\t\t%s\n" "OK"; \
  306. else \
  307. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  308. fi
  309. print_comment:
  310. $(PRINTF) "%s" "[tcpprep] Print comment mode test: "
  311. $(PRINTF) "%s\n" "*** [tcpprep] Print comment mode test: " >> test.log
  312. $(TCPPREP) $(ENABLE_DEBUG) -P $(srcdir)/test.comment >$(srcdir)/test.$@1 >> test.log 2>&1
  313. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  314. print_info:
  315. $(PRINTF) "%s" "[tcpprep] Print info mode test: "
  316. $(PRINTF) "%s\n" "*** [tcpprep] Print info mode test: " >> test.log
  317. $(TCPPREP) $(ENABLE_DEBUG) -I $(srcdir)/test.comment >$(srcdir)/test.$@1 >> test.log 2>&1
  318. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  319. regex_reverse:
  320. $(PRINTF) "%s" "[tcpprep] Regex reverse mode test: "
  321. $(PRINTF) "%s\n" "*** [tcpprep] Regex reverse mode test: " >> test.log
  322. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -r '96.17.211.*' --reverse >> test.log 2>&1
  323. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  324. $(PRINTF) "\t\t%s\n" "OK"; \
  325. else \
  326. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  327. fi
  328. cidr_reverse:
  329. $(PRINTF) "%s" "[tcpprep] CIDR reverse mode test: "
  330. $(PRINTF) "%s\n" "*** [tcpprep] CIDR reverse mode test: " >> test.log
  331. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -c '96.17.211.0/24' --reverse >> test.log 2>&1
  332. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  333. $(PRINTF) "\t\t%s\n" "OK"; \
  334. else \
  335. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  336. fi
  337. mac_reverse:
  338. $(PRINTF) "%s" "[tcpprep] MAC reverse mode test: "
  339. $(PRINTF) "%s\n" "*** [tcpprep] MAC reverse mode test: " >> test.log
  340. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -e 00:1f:f3:3c:e1:13 --reverse >> test.log 2>&1
  341. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  342. $(PRINTF) "\t\t%s\n" "OK"; \
  343. else \
  344. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  345. fi
  346. exclude_packets:
  347. $(PRINTF) "%s" "[tcpprep] exclude packets test: "
  348. $(PRINTF) "%s\n" "*** [tcpprep] exclude packets test: " >> test.log
  349. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -c '96.17.211.0/24' --exclude 'P:61-65,88-91' >> test.log 2>&1
  350. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  351. $(PRINTF) "\t\t%s\n" "OK"; \
  352. else \
  353. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  354. fi
  355. include_packets:
  356. $(PRINTF) "%s" "[tcpprep] include packets test: "
  357. $(PRINTF) "%s\n" "*** [tcpprep] include packets test: " >> test.log
  358. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -c '96.17.211.0/24' --include 'P:61-65,88-91' >> test.log 2>&1
  359. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  360. $(PRINTF) "\t\t%s\n" "OK"; \
  361. else \
  362. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  363. fi
  364. include_source:
  365. $(PRINTF) "%s" "[tcpprep] include source test: "
  366. $(PRINTF) "%s\n" "*** [tcpprep] include source test: " >> test.log
  367. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -c '96.17.211.0/24' --include 'S:96.0.0.0/8' >> test.log 2>&1
  368. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  369. $(PRINTF) "\t\t\t%s\n" "OK"; \
  370. else \
  371. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  372. fi
  373. include_dest:
  374. $(PRINTF) "%s" "[tcpprep] include destination test: "
  375. $(PRINTF) "%s\n" "*** [tcpprep] include destination test: " >> test.log
  376. $(TCPPREP) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -c '96.17.211.0/24' --include 'D:96.0.0.0/8' >> test.log 2>&1
  377. if diff $(srcdir)/test.$@ test.$@1 >> test.log 2>&1; then \
  378. $(PRINTF) "\t\t%s\n" "OK"; \
  379. else \
  380. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  381. fi
  382. replay_basic:
  383. $(PRINTF) "%s" "[tcpreplay] Basic test: "
  384. $(PRINTF) "%s\n" "*** [tcpreplay] Basic test: " >> test.log
  385. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t $(TEST_PCAP) >> test.log 2>&1
  386. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  387. replay_nano_timer:
  388. $(PRINTF) "%s" "[tcpreplay] Nano timer test: "
  389. $(PRINTF) "%s\n" "*** [tcpreplay] Nano timer test: " >> test.log
  390. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --loop=2 --loopdelay-ns=125000000 -t $(TEST_PCAP) >> test.log 2>&1
  391. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  392. replay_cache:
  393. $(PRINTF) "%s" "[tcpreplay] Cache test: "
  394. $(PRINTF) "%s\n" "*** [tcpreplay] Cache test: " >> test.log
  395. $(TCPREPLAY) $(ENABLE_DEBUG) -c $(srcdir)/test.cidr -i $(nic1) -I $(nic2) -t $(TEST_PCAP) >> test.log 2>&1
  396. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  397. replay_accurate:
  398. $(PRINTF) "%s" "[tcpreplay] Accurate test: "
  399. $(PRINTF) "%s\n" "*** [tcpreplay] Accurate test: " >> test.log
  400. $(TCPREPLAY) $(ENABLE_DEBUG) -a -i $(nic1) $(TEST_PCAP) >> test.log 2>&1
  401. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  402. replay_stats:
  403. $(PRINTF) "%s" "[tcpreplay] Statistics test: "
  404. $(PRINTF) "%s\n" "*** [tcpreplay] Statistics test: " >> test.log
  405. $(TCPREPLAY) $(ENABLE_DEBUG) --stats=1 -i $(nic1) $(TEST_PCAP) >> test.log 2>&1
  406. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  407. rewrite_portmap:
  408. $(PRINTF) "%s" "[tcprewrite] Portmap test: "
  409. $(PRINTF) "%s\n" "*** [tcprewrite] Portmap test: " >> test.log
  410. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -r 80:8080 >> test.log 2>&1
  411. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  412. $(PRINTF) "\t\t\t%s\n" "OK"; \
  413. else \
  414. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  415. fi
  416. rewrite_range_portmap:
  417. $(PRINTF) "%s" "[tcprewrite] Portmap range test: "
  418. $(PRINTF) "%s\n" "*** [tcprewrite] Portmap range test: " >> test.log
  419. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -r 1-100:49148 >> test.log 2>&1
  420. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  421. $(PRINTF) "\t\t%s\n" "OK"; \
  422. else \
  423. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  424. fi
  425. rewrite_sequence:
  426. $(PRINTF) "%s" "[tcprewrite] TCP sequence test: "
  427. $(PRINTF) "%s\n" "*** [tcprewrite] TCP sequence test: " >> test.log
  428. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --tcp-sequence 42 >> test.log 2>&1
  429. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  430. $(PRINTF) "\t\t%s\n" "OK"; \
  431. else \
  432. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  433. fi
  434. rewrite_endpoint:
  435. $(PRINTF) "%s" "[tcprewrite] Endpoint test: "
  436. $(PRINTF) "%s\n" "*** [tcprewrite] Endpoint test: " >> test.log
  437. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -e 10.10.0.1:10.10.0.2 \
  438. -c $(srcdir)/test.auto_router >> test.log 2>&1
  439. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  440. $(PRINTF) "\t\t\t%s\n" "OK"; \
  441. else \
  442. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  443. fi
  444. rewrite_pnat:
  445. $(PRINTF) "%s" "[tcprewrite] Pseudo NAT test: "
  446. $(PRINTF) "%s\n" "*** [tcprewrite] Pseudo NAT test: " >> test.log
  447. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 \
  448. -N 96.17.211.0/24:172.16.0.0/24 >> test.log 2>&1
  449. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  450. $(PRINTF) "\t\t\t%s\n" "OK"; \
  451. else \
  452. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  453. fi
  454. rewrite_mac:
  455. $(PRINTF) "%s" "[tcprewrite] Src/Dst MAC test: "
  456. $(PRINTF) "%s\n" "*** [tcprewrite] Src/Dst MAC test: " >> test.log
  457. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 \
  458. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  459. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c $(srcdir)/test.auto_router >> test.log 2>&1
  460. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  461. $(PRINTF) "\t\t\t%s\n" "OK"; \
  462. else \
  463. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  464. fi
  465. rewrite_enet_subsmac:
  466. $(PRINTF) "%s" "[tcprewrite] Substitute Src/Dst MAC test: "
  467. $(PRINTF) "%s\n" "*** [tcprewrite] Substitute Src/Dst MAC test: " >> test.log
  468. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 \
  469. --enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
  470. --enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22 >> test.log 2>&1
  471. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  472. $(PRINTF) "\t%s\n" "OK"; \
  473. else \
  474. $(PRINTF) "\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  475. fi
  476. rewrite_mac_seed:
  477. $(PRINTF) "%s" "[tcprewrite] Seeded MAC test: "
  478. $(PRINTF) "%s\n" "*** [tcprewrite] Seeded MAC test: " >> test.log
  479. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 \
  480. --enet-mac-seed=42 >> test.log 2>&1
  481. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  482. $(PRINTF) "\t\t\t%s\n" "OK"; \
  483. else \
  484. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  485. fi
  486. rewrite_mac_seed_keep:
  487. $(PRINTF) "%s" "[tcprewrite] Seeded Keep MAC test: "
  488. $(PRINTF) "%s\n" "*** [tcprewrite] Seeded Keep MAC test: " >> test.log
  489. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 \
  490. --enet-mac-seed=42 --enet-mac-seed-keep-bytes=3 >> test.log 2>&1
  491. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  492. $(PRINTF) "\t\t%s\n" "OK"; \
  493. else \
  494. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  495. fi
  496. rewrite_trunc:
  497. $(PRINTF) "%s" "[tcprewrite] Truncate test: "
  498. $(PRINTF) "%s\n" "*** [tcprewrite] Truncate test: " >> test.log
  499. $(TCPREWRITE) $(ENABLE_DEBUG) -F trunc -i $(TEST_PCAP) -o test.$@1 >> test.log 2>&1
  500. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  501. $(PRINTF) "\t\t\t%s\n" "OK"; \
  502. else \
  503. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  504. fi
  505. rewrite_pad:
  506. $(PRINTF) "%s" "[tcprewrite] Pad test: "
  507. $(PRINTF) "%s\n" "*** [tcprewrite] Pad test: " >> test.log
  508. $(TCPREWRITE) $(ENABLE_DEBUG) -F pad -i $(TEST_PCAP) -o test.$@1 >> test.log 2>&1
  509. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  510. $(PRINTF) "\t\t\t\t%s\n" "OK"; \
  511. else \
  512. $(PRINTF) "\t\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  513. fi
  514. rewrite_seed:
  515. $(PRINTF) "%s" "[tcprewrite] Seed IP test: "
  516. $(PRINTF) "%s\n" "*** [tcprewrite] Seed IP test: " >> test.log
  517. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 -s 55 >> test.log 2>&1
  518. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  519. $(PRINTF) "\t\t\t%s\n" "OK"; \
  520. else \
  521. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  522. fi
  523. rewrite_layer2:
  524. $(PRINTF) "%s" "[tcprewrite] Layer2 test: "
  525. $(PRINTF) "%s\n" "*** [tcprewrite] Layer2 test: " >> test.log
  526. $(TCPREWRITE) $(ENABLE_DEBUG) --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0 \
  527. -i $(TEST_PCAP) -o test.$@1 >> test.log 2>&1
  528. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  529. $(PRINTF) "\t\t\t%s\n" "OK"; \
  530. else \
  531. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  532. fi
  533. rewrite_config:
  534. $(PRINTF) "%s" "[tcprewrite] Config/VLAN Add test: "
  535. $(PRINTF) "%s\n" "*** [tcprewrite] Config/VLAN Add test: " >> test.log
  536. $(TCPREWRITE) $(ENABLE_DEBUG) --load-opts config >> test.log 2>&1
  537. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  538. $(PRINTF) "\t\t%s\n" "OK"; \
  539. else \
  540. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  541. fi
  542. rewrite_skip:
  543. $(PRINTF) "%s" "[tcprewrite] Skip bcast test: "
  544. $(PRINTF) "%s\n" "*** [tcprewrite] Skip bcast test: " >> test.log
  545. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 \
  546. --skipbroadcast --skipl2broadcast --skip-soft-errors --seed 55 \
  547. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  548. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c $(srcdir)/test.auto_router >> test.log 2>&1
  549. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  550. $(PRINTF) "\t\t\t%s\n" "OK"; \
  551. else \
  552. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  553. fi
  554. rewrite_dltuser:
  555. $(PRINTF) "%s" "[tcprewrite] DLT User test: "
  556. $(PRINTF) "%s\n" "*** [tcprewrite] DLT User test: " >> test.log
  557. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --dlt=user \
  558. --user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104 >> test.log 2>&1
  559. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  560. $(PRINTF) "\t\t\t%s\n" "OK"; \
  561. else \
  562. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  563. fi
  564. rewrite_dlthdlc:
  565. $(PRINTF) "%s" "[tcprewrite] DLT Cisco HDLC test: "
  566. $(PRINTF) "%s\n" "*** [tcprewrite] DLT Cisco HDLC test: " >> test.log
  567. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --dlt=hdlc \
  568. --hdlc-control=0 --hdlc-address=0x0F >> test.log 2>&1
  569. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  570. $(PRINTF) "\t\t%s\n" "OK"; \
  571. else \
  572. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  573. fi
  574. rewrite_vlan802.1ad:
  575. $(PRINTF) "%s" "[tcprewrite] VLAN 802.1ad test: "
  576. $(PRINTF) "%s\n" "*** [tcprewrite] VLAN 802.1ad test: " >> test.log
  577. $(TCPREWRITE) -i $(TEST_PCAP) -o test.$@1 \
  578. --enet-vlan=add --enet-vlan-tag=42 --enet-vlan-cfi=1 \
  579. --enet-vlan-pri=2 --enet-vlan-proto=802.1ad
  580. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  581. $(PRINTF) "\t\t%s\n" "OK"; \
  582. else \
  583. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  584. fi
  585. rewrite_vlandel:
  586. $(PRINTF) "%s" "[tcprewrite] VLAN Delete test: "
  587. $(PRINTF) "%s\n" "*** [tcprewrite] VLAN Delete test: " >> test.log
  588. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(srcdir)/test.rewrite_config -o test.$@1 \
  589. --enet-vlan=del >> test.log 2>&1
  590. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  591. $(PRINTF) "\t\t\t%s\n" "OK"; \
  592. else \
  593. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  594. fi
  595. rewrite_efcs:
  596. $(PRINTF) "%s" "[tcprewrite] Remove EFCS: "
  597. $(PRINTF) "%s\n" "*** [tcprewrite] Remove EFCS: " >> test.log
  598. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --efcs >> test.log 2>&1
  599. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  600. $(PRINTF) "\t\t\t%s\n" "OK"; \
  601. else \
  602. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  603. fi
  604. rewrite_1ttl:
  605. $(PRINTF) "%s" "[tcprewrite] Force TTL: "
  606. $(PRINTF) "%s\n" "*** [tcprewrite] Force TTL: " >> test.log
  607. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=58 >> test.log 2>&1
  608. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  609. $(PRINTF) "\t\t\t%s\n" "OK"; \
  610. else \
  611. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  612. fi
  613. rewrite_2ttl:
  614. $(PRINTF) "%s" "[tcprewrite] Increase TTL: "
  615. $(PRINTF) "%s\n" "*** [tcprewrite] Increase TTL: " >> test.log
  616. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=+58 >> test.log 2>&1
  617. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  618. $(PRINTF) "\t\t\t%s\n" "OK"; \
  619. else \
  620. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  621. fi
  622. rewrite_3ttl:
  623. $(PRINTF) "%s" "[tcprewrite] Reduce TTL: "
  624. $(PRINTF) "%s\n" "*** [tcprewrite] Reduce TTL: " >> test.log
  625. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=-58 >> test.log 2>&1
  626. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  627. $(PRINTF) "\t\t\t%s\n" "OK"; \
  628. else \
  629. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  630. fi
  631. rewrite_1ttl-hdrfix:
  632. $(PRINTF) "%s" "[tcprewrite] Force TTL with header fix: "
  633. $(PRINTF) "%s\n" "*** [tcprewrite] Force TTL header fix: " >> test.log
  634. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=59 --fixhdrlen >> test.log 2>&1
  635. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  636. $(PRINTF) "\t%s\n" "OK"; \
  637. else \
  638. $(PRINTF) "\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  639. fi
  640. rewrite_2ttl-hdrfix:
  641. $(PRINTF) "%s" "[tcprewrite] Increase TTL with header fix:"
  642. $(PRINTF) "%s\n" "*** [tcprewrite] Increase TTL with header fix: " >> test.log
  643. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=+59 --fixhdrlen >> test.log 2>&1
  644. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  645. $(PRINTF) "\t%s\n" "OK"; \
  646. else \
  647. $(PRINTF) "\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  648. fi
  649. rewrite_3ttl-hdrfix:
  650. $(PRINTF) "%s" "[tcprewrite] Reduce TTL with header fix: "
  651. $(PRINTF) "%s\n" "*** [tcprewrite] Reduce TTL with header fix: " >> test.log
  652. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --ttl=-59 --fixhdrlen >> test.log 2>&1
  653. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  654. $(PRINTF) "\t%s\n" "OK"; \
  655. else \
  656. $(PRINTF) "\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  657. fi
  658. rewrite_tos:
  659. $(PRINTF) "%s" "[tcprewrite] TOS test: "
  660. $(PRINTF) "%s\n" "*** [tcprewrite] TOS test: " >> test.log
  661. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --tos=50 >> test.log 2>&1
  662. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  663. $(PRINTF) "\t\t\t\t%s\n" "OK"; \
  664. else \
  665. $(PRINTF) "\t\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  666. fi
  667. rewrite_mtutrunc:
  668. $(PRINTF) "%s" "[tcprewrite] MTU Truncate test: "
  669. $(PRINTF) "%s\n" "*** [tcprewrite] MTU Truncate test: " >> test.log
  670. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --mtu-trunc --mtu=300 >> test.log 2>&1
  671. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  672. $(PRINTF) "\t\t%s\n" "OK"; \
  673. else \
  674. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  675. fi
  676. rewrite_l7fuzzing:
  677. $(PRINTF) "%s" "[tcprewrite] L7 fuzzing test: "
  678. $(PRINTF) "%s\n" "*** [tcprewrite] L7 fuzzing test: " >> test.log
  679. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fuzz-seed=42 --fuzz-factor=2 >> test.log 2>&1
  680. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  681. $(PRINTF) "\t\t\t%s\n" "OK"; \
  682. else \
  683. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  684. fi
  685. rewrite_fixcsum:
  686. $(PRINTF) "%s" "[tcprewrite] Fix checksum test: "
  687. $(PRINTF) "%s\n" "*** [tcprewrite] Fix checksum test: " >> test.log
  688. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixcsum >> test.log 2>&1
  689. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  690. $(PRINTF) "\t\t%s\n" "OK"; \
  691. else \
  692. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  693. fi
  694. rewrite_fixlen_pad:
  695. $(PRINTF) "%s" "[tcprewrite] Fix length and pad test: "
  696. $(PRINTF) "%s\n" "*** [tcprewrite] Fix length and pad test: " >> test.log
  697. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixlen=pad >> test.log 2>&1
  698. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  699. $(PRINTF) "\t\t%s\n" "OK"; \
  700. else \
  701. $(PRINTF) "\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  702. fi
  703. rewrite_fixlen_trunc:
  704. $(PRINTF) "%s" "[tcprewrite] Fix length and truncate test: "
  705. $(PRINTF) "%s\n" "*** [tcprewrite] Fix length and truncate test: " >> test.log
  706. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixlen=trunc >> test.log 2>&1
  707. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  708. $(PRINTF) "\t%s\n" "OK"; \
  709. else \
  710. $(PRINTF) "\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  711. fi
  712. rewrite_fixlen_del:
  713. $(PRINTF) "%s" "[tcprewrite] Fix length and delete test: "
  714. $(PRINTF) "%s\n" "*** [tcprewrite] Fix length and delete test: " >> test.log
  715. $(TCPREWRITE) $(ENABLE_DEBUG) -i $(TEST_PCAP) -o test.$@1 --fixlen=del >> test.log 2>&1
  716. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  717. $(PRINTF) "\t%s\n" "OK"; \
  718. else \
  719. $(PRINTF) "\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  720. fi
  721. replay_pps:
  722. $(PRINTF) "%s" "[tcpreplay] Packets/sec test: "
  723. $(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec test: " >> test.log
  724. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 25 $(TEST_PCAP) >> test.log 2>&1
  725. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  726. replay_rate:
  727. $(PRINTF) "%s" "[tcpreplay] Mbps test: "
  728. $(PRINTF) "%s\n" "*** [tcpreplay] Mbps test: " >> test.log
  729. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -M 25.0 $(TEST_PCAP) >> test.log 2>&1
  730. if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi
  731. replay_multi:
  732. $(PRINTF) "%s" "[tcpreplay] Multiplier test: "
  733. $(PRINTF) "%s\n" "*** [tcpreplay] Multiplier test: " >> test.log
  734. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -x 25.0 $(TEST_PCAP) >> test.log 2>&1
  735. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  736. replay_pps_multi:
  737. $(PRINTF) "%s" "[tcpreplay] Packets/sec Multiplier test: "
  738. $(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec Multiplier test: " >> test.log
  739. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 100 --pps-multi=5 $(TEST_PCAP) >> test.log 2>&1
  740. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  741. replay_top:
  742. $(PRINTF) "%s" "[tcpreplay] Topspeed test: "
  743. $(PRINTF) "%s\n" "*** [tcpreplay] Topspeed test: " >> test.log
  744. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t $(TEST_PCAP) >> test.log 2>&1
  745. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  746. replay_precache:
  747. $(PRINTF) "%s" "[tcpreplay] Precache test: "
  748. $(PRINTF) "%s\n" "*** [tcpreplay] Precache test: " >> test.log
  749. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --preload-pcap $(TEST_PCAP) >> test.log 2>&1
  750. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  751. datadump_mode:
  752. $(PRINTF) "%s" "[tcpreplay] Data dump test: "
  753. $(PRINTF) "%s\n" "*** [tcpreplay] Data dump mode test: " >> test.log
  754. $(TCPREPLAY) $(ENABLE_DEBUG) -D -i $(nic1) -I $(nic2) -w primary.data -W secondary.data -c $(srcdir)/test.cidr -R $(TEST_PCAP) >> test.log 2>&1
  755. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  756. replay_config:
  757. $(PRINTF) "%s" "[tcpreplay] Config file/VLAN add test: "
  758. $(PRINTF) "%s\n" "*** [tcpreplay] Config file/VLAN add test: " >> test.log
  759. $(TCPREPLAY) $(ENABLE_DEBUG) --load-opts=config $(TEST_PCAP) >> test.log 2>&1
  760. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  761. replay_dualfile:
  762. $(PRINTF) "%s" "[tcpreplay] Dual file test: "
  763. $(PRINTF) "%s\n" "*** [tcpreplay] Dual file test: " >> test.log
  764. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -I $(nic2) --dualfile $(TEST_PCAP) $(TEST_PCAP) >> test.log 2>&1
  765. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  766. replay_maxsleep:
  767. $(PRINTF) "%s" "[tcpreplay] Maximum sleep test: "
  768. $(PRINTF) "%s\n" "*** [tcpreplay] Maximum sleep test: " >> test.log
  769. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --maxsleep=20 $(TEST_PCAP) $(TEST_PCAP) >> test.log 2>&1
  770. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  771. # the following write to a file
  772. replay_include:
  773. $(PRINTF) "%s" "[tcpreplay] Include rule test: "
  774. $(PRINTF) "%s\n" "*** [tcpreplay] Include rule test: " >> test.log
  775. $(TCPREPLAY) $(ENABLE_DEBUG) -w test.$@1 -t --include=7,11,20-23,174- $(TEST_PCAP) >> test.log 2>&1
  776. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  777. $(PRINTF) "\t\t\t%s\n" "OK"; \
  778. else \
  779. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  780. fi
  781. replay_exclude:
  782. $(PRINTF) "%s" "[tcpreplay] Exclude rule test: "
  783. $(PRINTF) "%s\n" "*** [tcpreplay] Exclude rule test: " >> test.log
  784. $(TCPREPLAY) $(ENABLE_DEBUG) -w test.$@1 -t --exclude=23-,11-20,2,3 $(TEST_PCAP) >> test.log 2>&1
  785. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  786. $(PRINTF) "\t\t\t%s\n" "OK"; \
  787. else \
  788. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  789. fi
  790. replay_unique_ip:
  791. $(PRINTF) "%s" "[tcpreplay] Unique IP test: "
  792. $(PRINTF) "%s\n" "*** [tcpreplay] Unique IP test: " >> test.log
  793. $(TCPREPLAY) $(ENABLE_DEBUG) -w test.$@1 -t --unique-ip --loop=2 $(TEST_PCAP) >> test.log 2>&1
  794. if diff $(srcdir)/test$(VARIANT).$@ test.$@1 >> test.log 2>&1; then \
  795. $(PRINTF) "\t\t\t%s\n" "OK"; \
  796. else \
  797. $(PRINTF) "\t\t\t%s\n" "FAILED"; od -Ax -tx1 -v test.$@1 >> test.log; false; \
  798. fi
  799. clean:
  800. rm -f *1 test.log core* *~ primary.data secondary.data
  801. distclean: clean
  802. rm -f Makefile Makefile.in config
  803. maintainer-clean: distclean