Makefile.am 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636
  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. ENABLE_DEBUG = @debug_run_time_flag@
  10. TCPPREP=../src/tcpprep --no-arg-comment
  11. TCPREPLAY=../src/tcpreplay
  12. TCPREWRITE=../src/tcprewrite
  13. TCPBRIDGE=../src/tcpbridge
  14. EXTRA_DIST = test.pcap test.auto_bridge test.auto_client test.auto_router \
  15. test.auto_server test.auto_first test.cidr test.comment test.port test.mac \
  16. test.cidr_reverse test.mac_reverse test.regex_reverse \
  17. test.prep_config test.primary test.regex test.secondary \
  18. test.rewrite_seed test.rewrite_portmap test.rewrite_endpoint \
  19. test.rewrite_pnat test.rewrite_pad test.rewrite_trunc \
  20. test.rewrite_mac test.rewrite_layer2 test.rewrite_config \
  21. test.rewrite_skip test.rewrite_dltuser test.rewrite_dlthdlc \
  22. test.rewrite_vlandel test.rewrite_efcs test.rewrite_1ttl \
  23. test.rewrite_2ttl test.rewrite_3ttl test.rewrite_enet_subsmac \
  24. test.rewrite_mtutrunc test.rewrite_mac_seed \
  25. test.rewrite_mac_seed_keep test.rewrite_l7fuzzing\
  26. test2.rewrite_seed test2.rewrite_portmap test2.rewrite_endpoint \
  27. test2.rewrite_pnat test2.rewrite_pad test2.rewrite_trunc \
  28. test2.rewrite_mac test2.rewrite_layer2 test2.rewrite_config \
  29. test2.rewrite_skip test2.rewrite_dltuser test2.rewrite_dlthdlc \
  30. test2.rewrite_vlandel test2.rewrite_efcs test2.rewrite_1ttl \
  31. test2.rewrite_mtutrunc test2.rewrite_enet_subsmac \
  32. test2.rewrite_2ttl test2.rewrite_3ttl test.rewrite_tos test2.rewrite_tos \
  33. test2.rewrite_enet_subsmac test2.rewrite_mac_seed \
  34. test2.rewrite_mac_seed_keep test2.rewrite_l7fuzzing
  35. test: all
  36. all: clearlog check tcpprep tcpreplay tcprewrite
  37. clearlog:
  38. -rm test.log
  39. check:
  40. $(PRINTF) "%s\n" "NOTICE: Tests must be run as root"
  41. $(PRINTF) "%s\n" "Sending traffic on '$(nic1)' and '$(nic2)'"
  42. if WORDS_BIGENDIAN
  43. STANDARD_REWRITE = standard_bigendian
  44. REWRITE_WARN = "big"
  45. else
  46. STANDARD_REWRITE = standard_littleendian
  47. REWRITE_WARN = "little"
  48. endif
  49. standard: standard_prep $(STANDARD_REWRITE)
  50. $(PRINTF) "Warning: only creating %s endian standard test files\n" $(REWRITE_WARN)
  51. standard_prep:
  52. $(TCPPREP) -i test.pcap -o test.auto_router -a router
  53. $(TCPPREP) -i test.pcap -o test.auto_bridge -a bridge
  54. $(TCPPREP) -i test.pcap -o test.auto_client -a client
  55. $(TCPPREP) -i test.pcap -o test.auto_server -a server
  56. $(TCPPREP) -i test.pcap -o test.auto_first -a first
  57. $(TCPPREP) --load-opts config -o test.prep_config
  58. $(TCPPREP) -i test.pcap -o test.port -p
  59. $(TCPPREP) -i test.pcap -o test.mac -e 00:02:3b:00:3d:ce
  60. $(TCPPREP) -i test.pcap -o test.cidr -c '216.27.178.0/24'
  61. $(TCPPREP) -i test.pcap -o test.regex -r '216.27.178.*'
  62. $(TCPPREP) -i test.pcap -o test.comment -C "This is a comment" -p
  63. $(TCPPREP) -i test.pcap -o test.mac_reverse -e 00:02:3b:00:3d:ce --reverse
  64. $(TCPPREP) -i test.pcap -o test.cidr_reverse -c '216.27.178.0/24' --reverse
  65. $(TCPPREP) -i test.pcap -o test.regex_reverse -r '216.27.178.*' --reverse
  66. standard_bigendian:
  67. $(TCPREWRITE) -i test.pcap -o test.rewrite_seed -s 55
  68. $(TCPREWRITE) -i test.pcap -o test.rewrite_tos --tos=50
  69. $(TCPREWRITE) -i test.pcap -o test.rewrite_portmap -r 80:8080
  70. $(TCPREWRITE) -i test.pcap -o test.rewrite_endpoint \
  71. -e 10.10.0.1:10.10.0.2 -c test.auto_router
  72. $(TCPREWRITE) -i test.pcap -o test.rewrite_pnat \
  73. -N 216.27.178.0/24:172.16.0.0/24
  74. $(TCPREWRITE) -i test.pcap -o test.rewrite_pad -F pad
  75. $(TCPREWRITE) -i test.pcap -o test.rewrite_trunc -F trunc
  76. $(TCPREWRITE) -i test.pcap -o test.rewrite_mac \
  77. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  78. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router
  79. $(TCPREWRITE) -i test.pcap -o test.rewrite_enet_subsmac \
  80. --enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
  81. --enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22
  82. $(TCPREWRITE) -i test.pcap -o test.rewrite_mac_seed --enet-mac-seed=42
  83. $(TCPREWRITE) -i test.pcap -o test.rewrite_mac_seed_keep --enet-mac-seed=42 \
  84. --enet-mac-seed-keep-bytes=3
  85. $(TCPREWRITE) -i test.pcap -o test.rewrite_layer2 \
  86. --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0
  87. $(TCPREWRITE) -i test.pcap -o test.rewrite_config --enet-vlan=add --enet-vlan-tag=45 \
  88. --enet-vlan-cfi=1 --enet-vlan-pri=5
  89. $(TCPREWRITE) -i test.pcap -o test.rewrite_skip -b -s 55 \
  90. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  91. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router
  92. $(TCPREWRITE) -i test.pcap -o test.rewrite_dltuser --dlt=user \
  93. --user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104
  94. $(TCPREWRITE) -i test.pcap -o test.rewrite_dlthdlc --dlt=hdlc \
  95. --hdlc-control=0 --hdlc-address=0x0F
  96. $(TCPREWRITE) -i test.rewrite_config -o test.rewrite_vlandel \
  97. --enet-vlan=del
  98. $(TCPREWRITE) -i test.pcap -o test.rewrite_efcs --efcs
  99. $(TCPREWRITE) -i test.pcap -o test.rewrite_1ttl --ttl=58
  100. $(TCPREWRITE) -i test.pcap -o test.rewrite_2ttl --ttl=+58
  101. $(TCPREWRITE) -i test.pcap -o test.rewrite_3ttl --ttl=-58
  102. $(TCPREWRITE) -i test.pcap -o test.rewrite_mtutrunc --mtu-trunc --mtu=300
  103. $(TCPREWRITE) -i test.pcap -o test.rewrite_l7fuzzing \
  104. --fuzz-seed=42 --fuzz-factor=2
  105. standard_littleendian:
  106. $(TCPREWRITE) -i test.pcap -o test2.rewrite_seed -s 55
  107. $(TCPREWRITE) -i test.pcap -o test2.rewrite_tos --tos=50
  108. $(TCPREWRITE) -i test.pcap -o test2.rewrite_portmap -r 80:8080
  109. $(TCPREWRITE) -i test.pcap -o test2.rewrite_endpoint \
  110. -e 10.10.0.1:10.10.0.2 -c test.auto_router
  111. $(TCPREWRITE) -i test.pcap -o test2.rewrite_pnat \
  112. -N 216.27.178.0/24:172.16.0.0/24
  113. $(TCPREWRITE) -i test.pcap -o test2.rewrite_pad -F pad
  114. $(TCPREWRITE) -i test.pcap -o test2.rewrite_trunc -F trunc
  115. $(TCPREWRITE) -i test.pcap -o test2.rewrite_mac \
  116. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  117. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router
  118. $(TCPREWRITE) -i test.pcap -o test2.rewrite_enet_subsmac \
  119. --enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
  120. --enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22
  121. $(TCPREWRITE) -i test.pcap -o test2.rewrite_mac_seed --enet-mac-seed=42
  122. $(TCPREWRITE) -i test.pcap -o test2.rewrite_mac_seed_keep --enet-mac-seed=42 \
  123. --enet-mac-seed-keep-bytes=3
  124. $(TCPREWRITE) -i test.pcap -o test2.rewrite_layer2 \
  125. --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0
  126. $(TCPREWRITE) -i test.pcap -o test2.rewrite_config --enet-vlan=add --enet-vlan-tag=45 \
  127. --enet-vlan-cfi=1 --enet-vlan-pri=5
  128. $(TCPREWRITE) -i test.pcap -o test2.rewrite_skip -b -s 55 \
  129. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  130. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router
  131. $(TCPREWRITE) -i test.pcap -o test2.rewrite_dltuser --dlt=user \
  132. --user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104
  133. $(TCPREWRITE) -i test.pcap -o test2.rewrite_dlthdlc --dlt=hdlc \
  134. --hdlc-control=0 --hdlc-address=0x0F
  135. $(TCPREWRITE) -i test.rewrite_config -o test2.rewrite_vlandel \
  136. --enet-vlan=del
  137. $(TCPREWRITE) -i test.pcap -o test2.rewrite_efcs --efcs
  138. $(TCPREWRITE) -i test.pcap -o test2.rewrite_1ttl --ttl=58
  139. $(TCPREWRITE) -i test.pcap -o test2.rewrite_2ttl --ttl=+58
  140. $(TCPREWRITE) -i test.pcap -o test2.rewrite_3ttl --ttl=-58
  141. $(TCPREWRITE) -i test.pcap -o test2.rewrite_mtutrunc --mtu-trunc --mtu=300
  142. $(TCPREWRITE) -i test.pcap -o test2.rewrite_l7fuzzing \
  143. --fuzz-seed=42 --fuzz-factor=2
  144. tcpprep: auto_router auto_bridge auto_client auto_server auto_first cidr regex \
  145. port mac comment print_info print_comment prep_config \
  146. mac_reverse cidr_reverse regex_reverse
  147. tcprewrite: rewrite_portmap rewrite_endpoint rewrite_pnat rewrite_trunc \
  148. rewrite_pad rewrite_seed rewrite_mac rewrite_layer2 rewrite_config \
  149. rewrite_skip rewrite_dltuser rewrite_dlthdlc rewrite_vlandel rewrite_efcs \
  150. rewrite_1ttl rewrite_2ttl rewrite_3ttl rewrite_tos rewrite_mtutrunc \
  151. rewrite_enet_subsmac rewrite_mac_seed rewrite_mac_seed_keep rewrite_l7fuzzing
  152. tcpreplay: replay_basic replay_cache replay_pps replay_rate replay_top \
  153. replay_config replay_multi replay_pps_multi replay_precache \
  154. replay_stats replay_dualfile replay_maxsleep
  155. prep_config:
  156. $(PRINTF) "%s" "[tcpprep] Config mode test: "
  157. $(PRINTF) "%s\n" "*** [tcpprep] Config mode test: " >>test.log
  158. $(TCPPREP) $(ENABLE_DEBUG) --load-opts=config -o test.$@1 >>test.log 2>&1
  159. diff test.$@ test.$@1 >>test.log 2>&1
  160. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  161. auto_router:
  162. $(PRINTF) "%s" "[tcpprep] Auto/Router mode test: "
  163. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Router mode test: " >>test.log
  164. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a router >>test.log 2>&1
  165. diff test.$@ test.$@1 >>test.log 2>&1
  166. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  167. auto_bridge:
  168. $(PRINTF) "%s" "[tcpprep] Auto/Bridge mode test: "
  169. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Bridge mode test: " >>test.log
  170. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a bridge >>test.log 2>&1
  171. diff test.$@ test.$@1 >>test.log 2>&1
  172. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  173. auto_client:
  174. $(PRINTF) "%s" "[tcpprep] Auto/Client mode test: "
  175. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Client mode test: " >>test.log
  176. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a client >>test.log 2>&1
  177. diff test.$@ test.$@1 >>test.log 2>&1
  178. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  179. auto_server:
  180. $(PRINTF) "%s" "[tcpprep] Auto/Server mode test: "
  181. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Server mode test: " >>test.log
  182. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a server >>test.log 2>&1
  183. diff test.$@ test.$@1 >>test.log 2>&1
  184. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  185. auto_first:
  186. $(PRINTF) "%s" "[tcpprep] Auto/First mode test: "
  187. $(PRINTF) "%s\n" "*** [tcpprep] Auto/First mode test: " >>test.log
  188. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a first >>test.log 2>&1
  189. diff test.$@ test.$@1 >>test.log 2>&1
  190. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  191. regex:
  192. $(PRINTF) "%s" "[tcpprep] Regex mode test: "
  193. $(PRINTF) "%s\n" "*** [tcpprep] Regex mode test: " >>test.log
  194. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -r '216.27.178.*' >>test.log 2>&1
  195. diff test.$@ test.$@1 >>test.log 2>&1
  196. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  197. cidr:
  198. $(PRINTF) "%s" "[tcpprep] CIDR mode test: "
  199. $(PRINTF) "%s\n" "*** [tcpprep] CIDR mode test: " >>test.log
  200. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -c '216.27.178.0/24' >>test.log 2>&1
  201. diff test.$@ test.$@1 >>test.log 2>&1
  202. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  203. port:
  204. $(PRINTF) "%s" "[tcpprep] Port mode test: "
  205. $(PRINTF) "%s\n" "*** [tcpprep] Port mode test: " >>test.log
  206. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -p >>test.log 2>&1
  207. diff test.$@ test.$@1 >>test.log 2>&1
  208. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  209. mac:
  210. $(PRINTF) "%s" "[tcpprep] MAC mode test: "
  211. $(PRINTF) "%s\n" "*** [tcpprep] MAC mode test: " >>test.log
  212. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -e 00:02:3b:00:3d:ce >>test.log 2>&1
  213. diff test.$@ test.$@1 >>test.log 2>&1
  214. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  215. comment:
  216. $(PRINTF) "%s" "[tcpprep] Comment mode test: "
  217. $(PRINTF) "%s\n" "*** [tcpprep] Comment mode test: " >>test.log
  218. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -C "This is a comment" -p >>test.log 2>&1
  219. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  220. print_comment:
  221. $(PRINTF) "%s" "[tcpprep] Print comment mode test: "
  222. $(PRINTF) "%s\n" "*** [tcpprep] Print comment mode test: " >>test.log
  223. $(TCPPREP) $(ENABLE_DEBUG) -P test.comment >test.$@1 >>test.log 2>&1
  224. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  225. print_info:
  226. $(PRINTF) "%s" "[tcpprep] Print info mode test: "
  227. $(PRINTF) "%s\n" "*** [tcpprep] Print info mode test: " >>test.log
  228. $(TCPPREP) $(ENABLE_DEBUG) -I test.comment >test.$@1 >>test.log 2>&1
  229. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  230. regex_reverse:
  231. $(PRINTF) "%s" "[tcpprep] Regex reverse mode test: "
  232. $(PRINTF) "%s\n" "*** [tcpprep] Regex reverse mode test: " >>test.log
  233. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -r '216.27.178.*' --reverse >>test.log 2>&1
  234. diff test.$@ test.$@1 >>test.log 2>&1
  235. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  236. cidr_reverse:
  237. $(PRINTF) "%s" "[tcpprep] CIDR reverse mode test: "
  238. $(PRINTF) "%s\n" "*** [tcpprep] CIDR reverse mode test: " >>test.log
  239. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -c '216.27.178.0/24' --reverse >>test.log 2>&1
  240. diff test.$@ test.$@1 >>test.log 2>&1
  241. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  242. mac_reverse:
  243. $(PRINTF) "%s" "[tcpprep] MAC reverse mode test: "
  244. $(PRINTF) "%s\n" "*** [tcpprep] MAC reverse mode test: " >>test.log
  245. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -e 00:02:3b:00:3d:ce --reverse >>test.log 2>&1
  246. diff test.$@ test.$@1 >>test.log 2>&1
  247. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  248. replay_basic:
  249. $(PRINTF) "%s" "[tcpreplay] Basic test: "
  250. $(PRINTF) "%s\n" "*** [tcpreplay] Basic test: " >>test.log
  251. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t test.pcap >>test.log 2>&1
  252. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  253. replay_cache:
  254. $(PRINTF) "%s" "[tcpreplay] Cache test: "
  255. $(PRINTF) "%s\n" "*** [tcpreplay] Cache test: " >>test.log
  256. $(TCPREPLAY) $(ENABLE_DEBUG) -c test.cidr -i $(nic1) -I $(nic2) -t test.pcap >>test.log 2>&1
  257. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  258. replay_accurate:
  259. $(PRINTF) "%s" "[tcpreplay] Accurate test: "
  260. $(PRINTF) "%s\n" "*** [tcpreplay] Accurate test: " >>test.log
  261. $(TCPREPLAY) $(ENABLE_DEBUG) -a -i $(nic1) test.pcap >>test.log 2>&1
  262. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  263. replay_stats:
  264. $(PRINTF) "%s" "[tcpreplay] Statistics test: "
  265. $(PRINTF) "%s\n" "*** [tcpreplay] Statistics test: " >>test.log
  266. $(TCPREPLAY) $(ENABLE_DEBUG) --stats=1 -i $(nic1) test.pcap >>test.log 2>&1
  267. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  268. rewrite_portmap:
  269. $(PRINTF) "%s" "[tcprewrite] Portmap test: "
  270. $(PRINTF) "%s\n" "*** [tcprewrite] Portmap test: " >>test.log
  271. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -r 80:8080 >>test.log 2>&1
  272. if WORDS_BIGENDIAN
  273. diff test.$@ test.$@1 >>test.log 2>&1
  274. else
  275. diff test2.$@ test.$@1 >>test.log 2>&1
  276. endif
  277. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  278. rewrite_endpoint:
  279. $(PRINTF) "%s" "[tcprewrite] Endpoint test: "
  280. $(PRINTF) "%s\n" "*** [tcprewrite] Endpoint test: " >>test.log
  281. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -e 10.10.0.1:10.10.0.2 \
  282. -c test.auto_router >>test.log 2>&1
  283. if WORDS_BIGENDIAN
  284. diff test.$@ test.$@1 >>test.log 2>&1
  285. else
  286. diff test2.$@ test.$@1 >>test.log 2>&1
  287. endif
  288. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  289. rewrite_pnat:
  290. $(PRINTF) "%s" "[tcprewrite] Pseudo NAT test: "
  291. $(PRINTF) "%s\n" "*** [tcprewrite] Pseudo NAT test: " >>test.log
  292. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
  293. -N 216.27.178.0/24:172.16.0.0/24 >>test.log 2>&1
  294. if WORDS_BIGENDIAN
  295. diff test.$@ test.$@1 >>test.log 2>&1
  296. else
  297. diff test2.$@ test.$@1 >>test.log 2>&1
  298. endif
  299. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  300. rewrite_mac:
  301. $(PRINTF) "%s" "[tcprewrite] Src/Dst MAC test: "
  302. $(PRINTF) "%s\n" "*** [tcprewrite] Src/Dst MAC test: " >>test.log
  303. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
  304. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  305. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router >>test.log 2>&1
  306. if WORDS_BIGENDIAN
  307. diff test.$@ test.$@1 >>test.log 2>&1
  308. else
  309. diff test2.$@ test.$@1 >>test.log 2>&1
  310. endif
  311. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  312. rewrite_enet_subsmac:
  313. $(PRINTF) "%s" "[tcprewrite] Substitute Src/Dst MAC test: "
  314. $(PRINTF) "%s\n" "*** [tcprewrite] Substitute Src/Dst MAC test: " >>test.log
  315. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
  316. --enet-subsmac=00:1f:f3:3c:e1:13,00:22:33:44:55:66 \
  317. --enet-subsmac=f8:1e:df:e5:84:3a,00:66:55:44:33:22 >>test.log 2>&1
  318. if WORDS_BIGENDIAN
  319. diff test.$@ test.$@1 >>test.log 2>&1
  320. else
  321. diff test2.$@ test.$@1 >>test.log 2>&1
  322. endif
  323. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  324. rewrite_mac_seed:
  325. $(PRINTF) "%s" "[tcprewrite] Seeded MAC test: "
  326. $(PRINTF) "%s\n" "*** [tcprewrite] Seeded MAC test: " >>test.log
  327. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
  328. --enet-mac-seed=42 >>test.log 2>&1
  329. if WORDS_BIGENDIAN
  330. diff test.$@ test.$@1 >>test.log 2>&1
  331. else
  332. diff test2.$@ test.$@1 >>test.log 2>&1
  333. endif
  334. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  335. rewrite_mac_seed_keep:
  336. $(PRINTF) "%s" "[tcprewrite] Seeded Keep MAC test: "
  337. $(PRINTF) "%s\n" "*** [tcprewrite] Seeded Keep MAC test: " >>test.log
  338. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 \
  339. --enet-mac-seed=42 --enet-mac-seed-keep-bytes=3 >>test.log 2>&1
  340. if WORDS_BIGENDIAN
  341. diff test.$@ test.$@1 >>test.log 2>&1
  342. else
  343. diff test2.$@ test.$@1 >>test.log 2>&1
  344. endif
  345. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  346. rewrite_trunc:
  347. $(PRINTF) "%s" "[tcprewrite] Truncate test: "
  348. $(PRINTF) "%s\n" "*** [tcprewrite] Truncate test: " >>test.log
  349. $(TCPREWRITE) $(ENABLE_DEBUG) -F trunc -i test.pcap -o test.$@1 >>test.log 2>&1
  350. if WORDS_BIGENDIAN
  351. diff test.$@ test.$@1 >>test.log 2>&1
  352. else
  353. diff test2.$@ test.$@1 >>test.log 2>&1
  354. endif
  355. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  356. rewrite_pad:
  357. $(PRINTF) "%s" "[tcprewrite] Pad test: "
  358. $(PRINTF) "%s\n" "*** [tcprewrite] Pad test: " >>test.log
  359. $(TCPREWRITE) $(ENABLE_DEBUG) -F pad -i test.pcap -o test.$@1 >>test.log 2>&1
  360. if WORDS_BIGENDIAN
  361. diff test.$@ test.$@1 >>test.log 2>&1
  362. else
  363. diff test2.$@ test.$@1 >>test.log 2>&1
  364. endif
  365. if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi
  366. rewrite_seed:
  367. $(PRINTF) "%s" "[tcprewrite] Seed IP test: "
  368. $(PRINTF) "%s\n" "*** [tcprewrite] Seed IP test: " >>test.log
  369. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -s 55 >>test.log 2>&1
  370. if WORDS_BIGENDIAN
  371. diff test.$@ test.$@1 >>test.log 2>&1
  372. else
  373. diff test2.$@ test.$@1 >>test.log 2>&1
  374. endif
  375. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  376. rewrite_layer2:
  377. $(PRINTF) "%s" "[tcprewrite] Layer2 test: "
  378. $(PRINTF) "%s\n" "*** [tcprewrite] Layer2 test: " >>test.log
  379. $(TCPREWRITE) $(ENABLE_DEBUG) --dlt=user --user-dlink=00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0 \
  380. -i test.pcap -o test.$@1 >>test.log 2>&1
  381. if WORDS_BIGENDIAN
  382. diff test.$@ test.$@1 >>test.log 2>&1
  383. else
  384. diff test2.$@ test.$@1 >>test.log 2>&1
  385. endif
  386. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  387. rewrite_config:
  388. $(PRINTF) "%s" "[tcprewrite] Config/VLAN Add test: "
  389. $(PRINTF) "%s\n" "*** [tcprewrite] Config/VLAN Add test: " >>test.log
  390. $(TCPREWRITE) $(ENABLE_DEBUG) --load-opts config >>test.log 2>&1
  391. if WORDS_BIGENDIAN
  392. diff test.$@ test.$@1 >>test.log 2>&1
  393. else
  394. diff test2.$@ test.$@1 >>test.log 2>&1
  395. endif
  396. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  397. rewrite_skip:
  398. $(PRINTF) "%s" "[tcprewrite] Skip bcast test: "
  399. $(PRINTF) "%s\n" "*** [tcprewrite] Skip bcast test: " >>test.log
  400. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -b -s 55 \
  401. --enet-dmac=00:12:13:14:15:16,00:22:33:44:55:66 \
  402. --enet-smac=00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router >>test.log 2>&1
  403. if WORDS_BIGENDIAN
  404. diff test.$@ test.$@1 >>test.log 2>&1
  405. else
  406. diff test2.$@ test.$@1 >>test.log 2>&1
  407. endif
  408. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  409. rewrite_dltuser:
  410. $(PRINTF) "%s" "[tcprewrite] DLT User test: "
  411. $(PRINTF) "%s\n" "*** [tcprewrite] DLT User test: " >>test.log
  412. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --dlt=user \
  413. --user-dlink=0x0f,0x00,0x08,0x00 --user-dlt=104 >>test.log 2>&1
  414. if WORDS_BIGENDIAN
  415. diff test.$@ test.$@1 >>test.log 2>&1
  416. else
  417. diff test2.$@ test.$@1 >>test.log 2>&1
  418. endif
  419. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  420. rewrite_dlthdlc:
  421. $(PRINTF) "%s" "[tcprewrite] DLT Cisco HDLC test: "
  422. $(PRINTF) "%s\n" "*** [tcprewrite] DLT Cisco HDLC test: " >>test.log
  423. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --dlt=hdlc \
  424. --hdlc-control=0 --hdlc-address=0x0F >>test.log 2>&1
  425. if WORDS_BIGENDIAN
  426. diff test.$@ test.$@1 >>test.log 2>&1
  427. else
  428. diff test2.$@ test.$@1 >>test.log 2>&1
  429. endif
  430. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  431. rewrite_vlandel:
  432. $(PRINTF) "%s" "[tcprewrite] VLAN Delete test: "
  433. $(PRINTF) "%s\n" "*** [tcprewrite] VLAN Delete test: " >>test.log
  434. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.rewrite_config -o test.$@1 \
  435. --enet-vlan=del >>test.log 2>&1
  436. if WORDS_BIGENDIAN
  437. diff test.$@ test.$@1 >>test.log 2>&1
  438. else
  439. diff test2.$@ test.$@1 >>test.log 2>&1
  440. endif
  441. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  442. rewrite_efcs:
  443. $(PRINTF) "%s" "[tcprewrite] Remove EFCS: "
  444. $(PRINTF) "%s\n" "*** [tcprewrite] Remove EFCS: " >>test.log
  445. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --efcs >>test.log 2>&1
  446. if WORDS_BIGENDIAN
  447. diff test.$@ test.$@1 >>test.log 2>&1
  448. else
  449. diff test2.$@ test.$@1 >>test.log 2>&1
  450. endif
  451. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  452. rewrite_1ttl:
  453. $(PRINTF) "%s" "[tcprewrite] Force TTL: "
  454. $(PRINTF) "%s\n" "*** [tcprewrite] Force TTL: " >>test.log
  455. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --ttl=58 >>test.log 2>&1
  456. if WORDS_BIGENDIAN
  457. diff test.$@ test.$@1 >>test.log 2>&1
  458. else
  459. diff test2.$@ test.$@1 >>test.log 2>&1
  460. endif
  461. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  462. rewrite_2ttl:
  463. $(PRINTF) "%s" "[tcprewrite] Increase TTL: "
  464. $(PRINTF) "%s\n" "*** [tcprewrite] Increase TTL: " >>test.log
  465. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --ttl=+58 >>test.log 2>&1
  466. if WORDS_BIGENDIAN
  467. diff test.$@ test.$@1 >>test.log 2>&1
  468. else
  469. diff test2.$@ test.$@1 >>test.log 2>&1
  470. endif
  471. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  472. rewrite_3ttl:
  473. $(PRINTF) "%s" "[tcprewrite] Reduce TTL: "
  474. $(PRINTF) "%s\n" "*** [tcprewrite] Reduce TTL: " >>test.log
  475. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --ttl=-58 >>test.log 2>&1
  476. if WORDS_BIGENDIAN
  477. diff test.$@ test.$@1 >>test.log 2>&1
  478. else
  479. diff test2.$@ test.$@1 >>test.log 2>&1
  480. endif
  481. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  482. rewrite_tos:
  483. $(PRINTF) "%s" "[tcprewrite] TOS test: "
  484. $(PRINTF) "%s\n" "*** [tcprewrite] TOS test: " >>test.log
  485. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --tos=50 >>test.log 2>&1
  486. if WORDS_BIGENDIAN
  487. diff test.$@ test.$@1 >>test.log 2>&1
  488. else
  489. diff test2.$@ test.$@1 >>test.log 2>&1
  490. endif
  491. if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi
  492. rewrite_mtutrunc:
  493. $(PRINTF) "%s" "[tcprewrite] MTU Truncate test: "
  494. $(PRINTF) "%s\n" "*** [tcprewrite] MTU Truncate test: " >>test.log
  495. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --mtu-trunc --mtu=300 >>test.log 2>&1
  496. if WORDS_BIGENDIAN
  497. diff test.$@ test.$@1 >>test.log 2>&1
  498. else
  499. diff test2.$@ test.$@1 >>test.log 2>&1
  500. endif
  501. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  502. rewrite_l7fuzzing:
  503. $(PRINTF) "%s" "[tcprewrite] L7 fuzzing test: "
  504. $(PRINTF) "%s\n" "*** [tcprewrite] L7 fuzzing test: " >>test.log
  505. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 --fuzz-seed=42 >>test.log 2>&1
  506. if WORDS_BIGENDIAN
  507. diff test.$@ test.$@1 >>test.log 2>&1
  508. else
  509. diff test2.$@ test.$@1 >>test.log 2>&1
  510. endif
  511. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  512. replay_pps:
  513. $(PRINTF) "%s" "[tcpreplay] Packets/sec test: "
  514. $(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec test: " >>test.log
  515. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 25 test.pcap >>test.log 2>&1
  516. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  517. replay_rate:
  518. $(PRINTF) "%s" "[tcpreplay] Mbps test: "
  519. $(PRINTF) "%s\n" "*** [tcpreplay] Mbps test: " >>test.log
  520. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -M 25.0 test.pcap >>test.log 2>&1
  521. if [ $? ] ; then $(PRINTF) "\t\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t\t%s\n" "OK"; fi
  522. replay_multi:
  523. $(PRINTF) "%s" "[tcpreplay] Multiplier test: "
  524. $(PRINTF) "%s\n" "*** [tcpreplay] Multiplier test: " >>test.log
  525. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -x 25.0 test.pcap >>test.log 2>&1
  526. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  527. replay_pps_multi:
  528. $(PRINTF) "%s" "[tcpreplay] Packets/sec Multiplier test: "
  529. $(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec Multiplier test: " >>test.log
  530. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 100 --pps-multi=5 test.pcap >>test.log 2>&1
  531. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  532. replay_top:
  533. $(PRINTF) "%s" "[tcpreplay] Topspeed test: "
  534. $(PRINTF) "%s\n" "*** [tcpreplay] Topspeed test: " >>test.log
  535. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t test.pcap >>test.log 2>&1
  536. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  537. replay_precache:
  538. $(PRINTF) "%s" "[tcpreplay] Precache test: "
  539. $(PRINTF) "%s\n" "*** [tcpreplay] Precache test: " >>test.log
  540. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --preload-pcap test.pcap >>test.log 2>&1
  541. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  542. datadump_mode:
  543. $(PRINTF) "%s" "[tcpreplay] Data dump test: "
  544. $(PRINTF) "%s\n" "*** [tcpreplay] Data dump mode test: " >>test.log
  545. $(TCPREPLAY) $(ENABLE_DEBUG) -D -i $(nic1) -I $(nic2) -w primary.data -W secondary.data -c test.cidr -R test.pcap >>test.log 2>&1
  546. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  547. replay_config:
  548. $(PRINTF) "%s" "[tcpreplay] Config file/VLAN add test: "
  549. $(PRINTF) "%s\n" "*** [tcpreplay] Config file/VLAN add test: " >>test.log
  550. $(TCPREPLAY) $(ENABLE_DEBUG) --load-opts=config test.pcap >>test.log 2>&1
  551. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  552. replay_dualfile:
  553. $(PRINTF) "%s" "[tcpreplay] Dual file test: "
  554. $(PRINTF) "%s\n" "*** [tcpreplay] Dual file test: " >>test.log
  555. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -I $(nic2) --dualfile test.pcap test.pcap >>test.log 2>&1
  556. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  557. replay_maxsleep:
  558. $(PRINTF) "%s" "[tcpreplay] Maximum sleep test: "
  559. $(PRINTF) "%s\n" "*** [tcpreplay] Maximum sleep test: " >>test.log
  560. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) --maxsleep=20 test.pcap test.pcap >>test.log 2>&1
  561. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  562. clean:
  563. rm -f *1 test.log core* *~ primary.data secondary.data
  564. distclean: clean
  565. rm -f Makefile config
  566. maintainer-clean: distclean