Makefile.am 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  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_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.cidr test.comment test.port test.mac \
  16. test.prep_config test.primary test.regex test.secondary \
  17. test.rewrite_seed test.rewrite_portmap test.rewrite_endpoint \
  18. test.rewrite_pnat test.rewrite_pad test.rewrite_trunc \
  19. test.rewrite_mac test.rewrite_layer2 test.rewrite_config
  20. test: all
  21. all: clearlog check tcpprep tcpreplay tcprewrite
  22. clearlog:
  23. -rm test.log
  24. check:
  25. $(PRINTF) "%s\n" "NOTICE: Tests must be run as root"
  26. $(PRINTF) "%s\n" "Sending traffic on '$(nic1)' and '$(nic2)'"
  27. # the cache files to be used as the standard; be sure to do a cvs commit
  28. # afterwords!
  29. standard:
  30. $(TCPPREP) -i test.pcap -o test.auto_router -a router
  31. $(TCPPREP) -i test.pcap -o test.auto_bridge -a bridge
  32. $(TCPPREP) -i test.pcap -o test.auto_client -a client
  33. $(TCPPREP) -i test.pcap -o test.auto_server -a server
  34. $(TCPPREP) --load-opts config -o test.prep_config
  35. $(TCPPREP) -i test.pcap -o test.port -p
  36. $(TCPPREP) -i test.pcap -o test.mac -e 00:02:3b:00:3d:ce
  37. $(TCPPREP) -i test.pcap -o test.cidr -c '216.27.178.0/24'
  38. $(TCPPREP) -i test.pcap -o test.regex -r '216.27.178.*'
  39. $(TCPPREP) -i test.pcap -o test.comment -C "This is a comment" -p
  40. $(TCPREWRITE) -i test.pcap -o test.rewrite_seed -s 55
  41. $(TCPREWRITE) -i test.pcap -o test.rewrite_portmap -r 80:8080
  42. $(TCPREWRITE) -i test.pcap -o test.rewrite_endpoint -e 10.10.0.1:10.10.0.2
  43. $(TCPREWRITE) -i test.pcap -o test.rewrite_pnat -N 216.27.178.0/24:172.16.0.0/24
  44. $(TCPREWRITE) -i test.pcap -o test.rewrite_pad -F pad
  45. $(TCPREWRITE) -i test.pcap -o test.rewrite_trunc -F trunc
  46. $(TCPREWRITE) -i test.pcap -o test.rewrite_mac \
  47. -D 00:12:13:14:15:16,00:22:33:44:55:66 \
  48. -S 00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router
  49. $(TCPREWRITE) -i test.pcap -o test.rewrite_layer2 \
  50. -l 00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0
  51. $(TCPREWRITE) -i test.pcap -o test.rewrite_config --vlan=add --vlan-tag=45 \
  52. --vlan-cfi=1 --vlan-pri=5
  53. tcpprep: auto_router auto_bridge auto_client auto_server cidr regex port mac comment print_info print_comment prep_config
  54. tcprewrite: rewrite_portmap rewrite_endpoint rewrite_pnat rewrite_trunc rewrite_pad rewrite_seed rewrite_mac rewrite_layer2 rewrite_config
  55. tcpreplay: replay_basic replay_cache replay_pps replay_rate replay_top replay_config replay_multi
  56. prep_config:
  57. $(PRINTF) "%s" "[tcpprep] Config mode test: "
  58. $(PRINTF) "%s\n" "*** [tcpprep] Config mode test: " >>test.log
  59. $(TCPPREP) $(ENABLE_DEBUG) --load-opts=config -o test.$@1 2>>test.log
  60. diff test.$@ test.$@1 >>test.log 2>&1
  61. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  62. auto_router:
  63. $(PRINTF) "%s" "[tcpprep] Auto/Router mode test: "
  64. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Router mode test: " >>test.log
  65. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a router 2>>test.log
  66. diff test.$@ test.$@1 >>test.log 2>&1
  67. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  68. auto_bridge:
  69. $(PRINTF) "%s" "[tcpprep] Auto/Bridge mode test: "
  70. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Bridge mode test: " >>test.log
  71. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a bridge 2>>test.log
  72. diff test.$@ test.$@1 >>test.log 2>&1
  73. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  74. auto_client:
  75. $(PRINTF) "%s" "[tcpprep] Auto/Client mode test: "
  76. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Client mode test: " >>test.log
  77. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a client 2>>test.log
  78. diff test.$@ test.$@1 >>test.log 2>&1
  79. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  80. auto_server:
  81. $(PRINTF) "%s" "[tcpprep] Auto/Server mode test: "
  82. $(PRINTF) "%s\n" "*** [tcpprep] Auto/Server mode test: " >>test.log
  83. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -a server 2>>test.log
  84. diff test.$@ test.$@1 >>test.log 2>&1
  85. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  86. regex:
  87. $(PRINTF) "%s" "[tcpprep] Regex mode test: "
  88. $(PRINTF) "%s\n" "*** [tcpprep] Regex mode test: " >>test.log
  89. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -r '216.27.178.*' 2>>test.log
  90. diff test.$@ test.$@1 >>test.log 2>&1
  91. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  92. cidr:
  93. $(PRINTF) "%s" "[tcpprep] CIDR mode test: "
  94. $(PRINTF) "%s\n" "*** [tcpprep] CIDR mode test: " >>test.log
  95. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -c '216.27.178.0/24' 2>>test.log
  96. diff test.$@ test.$@1 >>test.log 2>&1
  97. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  98. port:
  99. $(PRINTF) "%s" "[tcpprep] Port mode test: "
  100. $(PRINTF) "%s\n" "*** [tcpprep] Port mode test: " >>test.log
  101. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -p 2>>test.log
  102. diff test.$@ test.$@1 >>test.log 2>&1
  103. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  104. mac:
  105. $(PRINTF) "%s" "[tcpprep] MAC mode test: "
  106. $(PRINTF) "%s\n" "*** [tcpprep] MAC mode test: " >>test.log
  107. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -e 00:02:3b:00:3d:ce 2>>test.log
  108. diff test.$@ test.$@1 >>test.log 2>&1
  109. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  110. comment:
  111. $(PRINTF) "%s" "[tcpprep] Comment mode test: "
  112. $(PRINTF) "%s\n" "*** [tcpprep] Comment mode test: " >>test.log
  113. $(TCPPREP) $(ENABLE_DEBUG) -i test.pcap -o test.$@1 -C "This is a comment" -p 2>>test.log
  114. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  115. print_comment:
  116. $(PRINTF) "%s" "[tcpprep] Print comment mode test: "
  117. $(PRINTF) "%s\n" "*** [tcpprep] Print comment mode test: " >>test.log
  118. $(TCPPREP) $(ENABLE_DEBUG) -P test.comment >test.$@1 2>>test.log
  119. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  120. print_info:
  121. $(PRINTF) "%s" "[tcpprep] Print info mode test: "
  122. $(PRINTF) "%s\n" "*** [tcpprep] Print info mode test: " >>test.log
  123. $(TCPPREP) $(ENABLE_DEBUG) -I test.comment >test.$@1 2>>test.log
  124. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  125. replay_basic:
  126. $(PRINTF) "%s" "[tcpreplay] Basic test: "
  127. $(PRINTF) "%s\n" "*** [tcpreplay] Basic test: " >>test.log
  128. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t test.pcap >>test.log 2>&1
  129. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  130. replay_cache:
  131. $(PRINTF) "%s" "[tcpreplay] Cache test: "
  132. $(PRINTF) "%s\n" "*** [tcpreplay] Cache test: " >>test.log
  133. $(TCPREPLAY) $(ENABLE_DEBUG) -c test.cidr -i $(nic1) -I $(nic2) -t test.pcap >>test.log 2>&1
  134. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  135. rewrite_portmap:
  136. $(PRINTF) "%s" "[tcprewrite] Portmap test: "
  137. $(PRINTF) "%s\n" "[tcprewrite] Portmap test: " >>test.log
  138. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.rewrite_portmap1 -r 80:8080 >>test.log 2>&1
  139. diff test.$@ test.$@1 >>test.log 2>&1
  140. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  141. rewrite_endpoint:
  142. $(PRINTF) "%s" "[tcprewrite] Endpoint test: "
  143. $(PRINTF) "%s\n" "[tcprewrite] Endpoint test: " >>test.log
  144. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.rewrite_endpoint1 -e 10.10.0.1:10.10.0.2
  145. diff test.$@ test.$@1 >>test.log 2>&1
  146. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  147. rewrite_pnat:
  148. $(PRINTF) "%s" "[tcprewrite] Pseudo NAT test: "
  149. $(PRINTF) "%s\n" "[tcprewrite] Pseudo NAT test: " >>test.log
  150. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.rewrite_pnat1 -N 216.27.178.0/24:172.16.0.0/24
  151. diff test.$@ test.$@1 >>test.log 2>&1
  152. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  153. rewrite_mac:
  154. $(PRINTF) "%s" "[tcprewrite] Src/Dst MAC test: "
  155. $(PRINTF) "%s\n" "[tcprewrite] Src/Dst MAC test: " >>test.log
  156. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.rewrite_mac1 \
  157. -D 00:12:13:14:15:16,00:22:33:44:55:66 \
  158. -S 00:22:33:44:55:66,00:12:13:14:15:16 -c test.auto_router
  159. diff test.$@ test.$@1 >>test.log 2>&1
  160. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  161. rewrite_trunc:
  162. $(PRINTF) "%s" "[tcprewrite] Truncate test: "
  163. $(PRINTF) "%s\n" "*** [tcprewrite] Truncate test: " >>test.log
  164. $(TCPREWRITE) $(ENABLE_DEBUG) -F trunc -i test.pcap -o test.rewrite_trunc1 >>test.log 2>&1
  165. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  166. rewrite_pad:
  167. $(PRINTF) "%s" "[tcprewrite] Pad test: "
  168. $(PRINTF) "%s\n" "*** [tcprewrite] Pad test: " >>test.log
  169. $(TCPREWRITE) $(ENABLE_DEBUG) -F pad -i test.pcap -o test.rewrite_pad1 >>test.log 2>&1
  170. diff test.$@ test.$@1 >>test.log 2>&1
  171. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  172. rewrite_seed:
  173. $(PRINTF) "%s" "[tcprewrite] Seed IP test: "
  174. $(PRINTF) "%s\n" "*** [tcprewrite] Seed IP test: " >>test.log
  175. $(TCPREWRITE) $(ENABLE_DEBUG) -i test.pcap -o test.rewrite_seed1 -s 55 >>test.log 2>&1
  176. diff test.$@ test.$@1 >>test.log 2>&1
  177. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  178. rewrite_layer2:
  179. $(PRINTF) "%s" "[tcprewrite] Layer2 test: "
  180. $(PRINTF) "%s\n" "*** [tcprewrite] Layer2 test: " >>test.log
  181. $(TCPREWRITE) $(ENABLE_DEBUG) -l 00,50,da,5d,46,55,0,7,eb,30,a4,c3,08,0 \
  182. -i test.pcap -o test.rewrite_layer21 >>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. rewrite_config:
  186. $(PRINTF) "%s" "[tcprewrite] Config test: "
  187. $(PRINTF) "%s\n" "*** [tcprewrite] Config test: " >>test.log
  188. $(TCPREWRITE) -i test.pcap -o test.rewrite_config1 --load-opts config
  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. replay_pps:
  192. $(PRINTF) "%s" "[tcpreplay] Packets/sec test: "
  193. $(PRINTF) "%s\n" "*** [tcpreplay] Packets/sec test: " >>test.log
  194. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -p 25 test.pcap >>test.log 2>&1
  195. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  196. replay_rate:
  197. $(PRINTF) "%s" "[tcpreplay] Mbps test: "
  198. $(PRINTF) "%s\n" "*** [tcpreplay] Mbps test: " >>test.log
  199. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -M 25.0 test.pcap >>test.log 2>&1
  200. if [ $? ] ; then $(PRINTF) "\t\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t\t%s\n" "OK"; fi
  201. replay_multi:
  202. $(PRINTF) "%s" "[tcpreplay] Multiplier test: "
  203. $(PRINTF) "%s\n" "*** [tcpreplay] Multiplier test: " >>test.log
  204. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -m 25.0 test.pcap >>test.log 2>&1
  205. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  206. replay_top:
  207. $(PRINTF) "%s" "[tcpreplay] Topspeed test: "
  208. $(PRINTF) "%s\n" "*** [tcpreplay] Topspeed test: " >>test.log
  209. $(TCPREPLAY) $(ENABLE_DEBUG) -i $(nic1) -t test.pcap >>test.log 2>&1
  210. if [ $? ] ; then $(PRINTF) "\t\t%s\n" "FAILED"; else $(PRINTF) "\t\t%s\n" "OK"; fi
  211. datadump_mode:
  212. $(PRINTF) "%s" "[tcpreplay] Data dump test: "
  213. $(PRINTF) "%s\n" "*** [tcpreplay] Data dump mode test: " >>test.log
  214. $(TCPREPLAY) $(ENABLE_DEBUG) -D -i $(nic1) -j $(nic2) -w primary.data -W secondary.data -c test.cidr -R test.pcap >>test.log 2>&1
  215. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  216. replay_config:
  217. $(PRINTF) "%s" "[tcpreplay] Config file/VLAN add test: "
  218. $(PRINTF) "%s\n" "*** [tcpreplay] Config file/VLAN add test: " >>test.log
  219. $(TCPREPLAY) $(ENABLE_DEBUG) --load-opts=config test.pcap >>test.log 2>&1
  220. if [ $? ] ; then $(PRINTF) "\t%s\n" "FAILED"; else $(PRINTF) "\t%s\n" "OK"; fi
  221. clean:
  222. rm -f *1 test.log core* *~ primary.data secondary.data
  223. distclean: clean
  224. rm -f Makefile config
  225. maintainer-clean: distclean