Changeset 2413
- Timestamp:
- 03/12/10 21:31:18 (5 months ago)
- Location:
- trunk/src
- Files:
-
- 12 edited
-
. (modified) (1 prop)
-
replay.c (modified) (1 diff)
-
send_packets.c (modified) (2 diffs)
-
send_packets.h (modified) (1 diff)
-
tcpprep.c (modified) (1 prop)
-
tcpreplay.c (modified) (6 diffs)
-
tcpreplay_api.h (modified) (1 diff)
-
tcpreplay_edit_opts.c (modified) (26 diffs)
-
tcpreplay_edit_opts.h (modified) (7 diffs)
-
tcpreplay_opts.c (modified) (26 diffs)
-
tcpreplay_opts.def (modified) (3 diffs)
-
tcpreplay_opts.h (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/src
- Property svn:mergeinfo changed
/branches/3.4/src merged: 2405-2407
- Property svn:mergeinfo changed
-
trunk/src/replay.c
r2404 r2413 62 62 63 63 /* read from pcap file if we haven't cached things yet */ 64 if (! ctx->options->enable_file_cache) {64 if (!(ctx->options->enable_file_cache || ctx->options->preload_pcap)) { 65 65 if ((pcap = pcap_open_offline(path, ebuf)) == NULL) { 66 66 tcpreplay_seterr(ctx, "Error opening pcap file: %s", ebuf); -
trunk/src/send_packets.c
r2404 r2413 74 74 75 75 /** 76 * \brief Preloads the memory cache for the given pcap file_idx 77 * 78 * Preloading can be used with or without --loop and implies using 79 * --enable-file-cache 80 */ 81 void 82 preload_pcap_file(tcpreplay_t *ctx, int file_idx) 83 { 84 char *path = ctx->options->sources[file_idx].filename; 85 pcap_t *pcap = NULL; 86 char ebuf[PCAP_ERRBUF_SIZE]; 87 const u_char *pktdata = NULL; 88 struct pcap_pkthdr pkthdr; 89 packet_cache_t *cached_packet = NULL; 90 packet_cache_t **prev_packet = &cached_packet; 91 COUNTER packetnum = 0; 92 93 94 /* close stdin if reading from it (needed for some OS's) */ 95 if (strncmp(path, "-", 1) == 0) 96 if (close(1) == -1) 97 warnx("unable to close stdin: %s", strerror(errno)); 98 99 if ((pcap = pcap_open_offline(path, ebuf)) == NULL) 100 errx(-1, "Error opening pcap file: %s", ebuf); 101 102 /* loop through the pcap. get_next_packet() builds the cache for us! */ 103 while ((pktdata = get_next_packet(ctx, pcap, &pkthdr, file_idx, prev_packet)) != NULL) { 104 packetnum++; 105 } 106 107 /* mark this file as cached */ 108 ctx->options->file_cache[file_idx].cached = TRUE; 109 pcap_close(pcap); 110 } 111 112 /** 76 113 * the main loop function for tcpreplay. This is where we figure out 77 114 * what to do with each packet … … 193 230 * will be updated as new entries are added (or retrieved) from the cache list. 194 231 */ 195 staticconst u_char *232 const u_char * 196 233 get_next_packet(tcpreplay_t *ctx, pcap_t *pcap, struct pcap_pkthdr *pkthdr, int file_idx, 197 234 packet_cache_t **prev_packet) -
trunk/src/send_packets.h
r2404 r2413 39 39 void send_packets(tcpreplay_t *ctx, pcap_t *, int); 40 40 void *cache_mode(tcpreplay_t *ctx, char *, COUNTER); 41 void preload_pcap_file(tcpreplay_t *ctx, int file_idx); 41 42 42 43 #endif -
trunk/src/tcpprep.c
- Property svn:mergeinfo changed (with no actual effect on merging)
-
trunk/src/tcpreplay.c
r2404 r2413 76 76 void usage(void); 77 77 78 78 79 int 79 80 main(int argc, char *argv[]) … … 83 84 84 85 ctx = tcpreplay_init(); 85 86 /* point our globals at our context counters87 bytes_sent = &ctx->bytes_sent;88 pkts_sent = &ctx->pkts_sent;89 failed = &ctx->failed;90 begin = &ctx->begin;91 end = &ctx->end;92 abort = &ctx->abort;93 */94 86 optct = optionProcess(&tcpreplayOptions, argc, argv); 95 87 argc -= optct; … … 123 115 #endif 124 116 125 if (ctx->options->enable_file_cache && ! HAVE_OPT(QUIET)) { 117 if ((ctx->options->enable_file_cache || 118 ctx->options->preload_pcap) && ! HAVE_OPT(QUIET)) { 126 119 notice("File Cache is enabled"); 127 120 } … … 130 123 * Setup up the file cache, if required 131 124 */ 132 if (ctx->options->enable_file_cache ) {125 if (ctx->options->enable_file_cache || ctx->options->preload_pcap) { 133 126 /* Initialise each of the file cache structures */ 134 127 for (i = 0; i < argc; i++) { … … 139 132 } 140 133 141 for (i = 0; i < argc; i++) 134 for (i = 0; i < argc; i++) { 142 135 ctx->options->sources[i].filename = safe_strdup(argv[i]); 136 137 /* preload our pcap file? */ 138 if (ctx->options->preload_pcap) { 139 preload_pcap_file(ctx, i); 140 } 141 } 143 142 144 143 /* init the signal handlers */ … … 182 181 } /* main() */ 183 182 184 185 183 /* vim: set tabstop=8 expandtab shiftwidth=4 softtabstop=4: */ 186 184 -
trunk/src/tcpreplay_api.h
r2404 r2413 146 146 bool enable_file_cache; 147 147 file_cache_t file_cache[MAX_FILES]; 148 int preload_pcap; 148 149 149 150 /* pcap files/sources to replay */ -
trunk/src/tcpreplay_edit_opts.c
r2404 r2413 3 3 * DO NOT EDIT THIS FILE (tcpreplay_edit_opts.c) 4 4 * 5 * It has been AutoGen-ed M onday October 5, 2009 at 01:29:53 PM PDT5 * It has been AutoGen-ed March 12, 2010 at 11:24:39 AM by AutoGen 5.9.9 6 6 * From the definitions tcpreplay_opts.def 7 7 * and the template file options 8 8 * 9 * Generated from AutoOpts 32: 1:7 templates.9 * Generated from AutoOpts 32:2:7 templates. 10 10 */ 11 11 … … 21 21 * This source file is copyrighted and licensed under the following terms: 22 22 * 23 * tcpreplay copyright 2000-2008 Aaron Turner - all rights reserved23 * tcpreplay copyright (c) 2000-2008 Aaron Turner - all rights reserved 24 24 * 25 25 * tcpreplay is free software copyrighted by Aaron Turner. … … 551 551 552 552 /* 553 * Preload_Pcap option description: 554 */ 555 tSCC zPreload_PcapText[] = 556 "Preloads packets into RAM before sending"; 557 tSCC zPreload_Pcap_NAME[] = "PRELOAD_PCAP"; 558 tSCC zPreload_Pcap_Name[] = "preload-pcap"; 559 #define PRELOAD_PCAP_FLAGS (OPTST_DISABLED) 560 561 /* 553 562 * Cachefile option description: 554 563 */ … … 1243 1252 /* disablement strs */ NULL, NULL }, 1244 1253 1245 { /* entry idx, value */ 37, VALUE_OPT_CACHEFILE, 1246 /* equiv idx, value */ 37, VALUE_OPT_CACHEFILE, 1254 { /* entry idx, value */ 37, VALUE_OPT_PRELOAD_PCAP, 1255 /* equiv idx, value */ 37, VALUE_OPT_PRELOAD_PCAP, 1256 /* equivalenced to */ NO_EQUIVALENT, 1257 /* min, max, act ct */ 0, 1, 0, 1258 /* opt state flags */ PRELOAD_PCAP_FLAGS, 0, 1259 /* last opt argumnt */ { NULL }, 1260 /* arg list/cookie */ NULL, 1261 /* must/cannot opts */ NULL, NULL, 1262 /* option proc */ NULL, 1263 /* desc, NAME, name */ zPreload_PcapText, zPreload_Pcap_NAME, zPreload_Pcap_Name, 1264 /* disablement strs */ NULL, NULL }, 1265 1266 { /* entry idx, value */ 38, VALUE_OPT_CACHEFILE, 1267 /* equiv idx, value */ 38, VALUE_OPT_CACHEFILE, 1247 1268 /* equivalenced to */ NO_EQUIVALENT, 1248 1269 /* min, max, act ct */ 0, 1, 0, … … 1255 1276 /* disablement strs */ NULL, NULL }, 1256 1277 1257 { /* entry idx, value */ 3 8, VALUE_OPT_INTF1,1258 /* equiv idx, value */ 3 8, VALUE_OPT_INTF1,1278 { /* entry idx, value */ 39, VALUE_OPT_INTF1, 1279 /* equiv idx, value */ 39, VALUE_OPT_INTF1, 1259 1280 /* equivalenced to */ NO_EQUIVALENT, 1260 1281 /* min, max, act ct */ 1, 1, 0, … … 1267 1288 /* disablement strs */ NULL, NULL }, 1268 1289 1269 { /* entry idx, value */ 39, VALUE_OPT_INTF2,1270 /* equiv idx, value */ 39, VALUE_OPT_INTF2,1290 { /* entry idx, value */ 40, VALUE_OPT_INTF2, 1291 /* equiv idx, value */ 40, VALUE_OPT_INTF2, 1271 1292 /* equivalenced to */ NO_EQUIVALENT, 1272 1293 /* min, max, act ct */ 0, 1, 0, … … 1279 1300 /* disablement strs */ NULL, NULL }, 1280 1301 1281 { /* entry idx, value */ 4 0, VALUE_OPT_LISTNICS,1282 /* equiv idx, value */ 4 0, VALUE_OPT_LISTNICS,1302 { /* entry idx, value */ 41, VALUE_OPT_LISTNICS, 1303 /* equiv idx, value */ 41, VALUE_OPT_LISTNICS, 1283 1304 /* equivalenced to */ NO_EQUIVALENT, 1284 1305 /* min, max, act ct */ 0, 1, 0, … … 1291 1312 /* disablement strs */ NULL, NULL }, 1292 1313 1293 { /* entry idx, value */ 4 1, VALUE_OPT_LOOP,1294 /* equiv idx, value */ 4 1, VALUE_OPT_LOOP,1314 { /* entry idx, value */ 42, VALUE_OPT_LOOP, 1315 /* equiv idx, value */ 42, VALUE_OPT_LOOP, 1295 1316 /* equivalenced to */ NO_EQUIVALENT, 1296 1317 /* min, max, act ct */ 0, 1, 0, … … 1303 1324 /* disablement strs */ NULL, NULL }, 1304 1325 1305 { /* entry idx, value */ 4 2, VALUE_OPT_PKTLEN,1306 /* equiv idx, value */ 4 2, VALUE_OPT_PKTLEN,1326 { /* entry idx, value */ 43, VALUE_OPT_PKTLEN, 1327 /* equiv idx, value */ 43, VALUE_OPT_PKTLEN, 1307 1328 /* equivalenced to */ NO_EQUIVALENT, 1308 1329 /* min, max, act ct */ 0, 1, 0, … … 1315 1336 /* disablement strs */ NULL, NULL }, 1316 1337 1317 { /* entry idx, value */ 4 3, VALUE_OPT_LIMIT,1318 /* equiv idx, value */ 4 3, VALUE_OPT_LIMIT,1338 { /* entry idx, value */ 44, VALUE_OPT_LIMIT, 1339 /* equiv idx, value */ 44, VALUE_OPT_LIMIT, 1319 1340 /* equivalenced to */ NO_EQUIVALENT, 1320 1341 /* min, max, act ct */ 0, 1, 0, … … 1327 1348 /* disablement strs */ NULL, NULL }, 1328 1349 1329 { /* entry idx, value */ 4 4, VALUE_OPT_MULTIPLIER,1330 /* equiv idx, value */ 4 4, VALUE_OPT_MULTIPLIER,1350 { /* entry idx, value */ 45, VALUE_OPT_MULTIPLIER, 1351 /* equiv idx, value */ 45, VALUE_OPT_MULTIPLIER, 1331 1352 /* equivalenced to */ NO_EQUIVALENT, 1332 1353 /* min, max, act ct */ 0, 1, 0, … … 1339 1360 /* disablement strs */ NULL, NULL }, 1340 1361 1341 { /* entry idx, value */ 4 5, VALUE_OPT_PPS,1342 /* equiv idx, value */ 4 5, VALUE_OPT_PPS,1362 { /* entry idx, value */ 46, VALUE_OPT_PPS, 1363 /* equiv idx, value */ 46, VALUE_OPT_PPS, 1343 1364 /* equivalenced to */ NO_EQUIVALENT, 1344 1365 /* min, max, act ct */ 0, 1, 0, … … 1351 1372 /* disablement strs */ NULL, NULL }, 1352 1373 1353 { /* entry idx, value */ 4 6, VALUE_OPT_MBPS,1354 /* equiv idx, value */ 4 6, VALUE_OPT_MBPS,1374 { /* entry idx, value */ 47, VALUE_OPT_MBPS, 1375 /* equiv idx, value */ 47, VALUE_OPT_MBPS, 1355 1376 /* equivalenced to */ NO_EQUIVALENT, 1356 1377 /* min, max, act ct */ 0, 1, 0, … … 1363 1384 /* disablement strs */ NULL, NULL }, 1364 1385 1365 { /* entry idx, value */ 4 7, VALUE_OPT_TOPSPEED,1366 /* equiv idx, value */ 4 7, VALUE_OPT_TOPSPEED,1386 { /* entry idx, value */ 48, VALUE_OPT_TOPSPEED, 1387 /* equiv idx, value */ 48, VALUE_OPT_TOPSPEED, 1367 1388 /* equivalenced to */ NO_EQUIVALENT, 1368 1389 /* min, max, act ct */ 0, 1, 0, … … 1375 1396 /* disablement strs */ NULL, NULL }, 1376 1397 1377 { /* entry idx, value */ 4 8, VALUE_OPT_ONEATATIME,1378 /* equiv idx, value */ 4 8, VALUE_OPT_ONEATATIME,1398 { /* entry idx, value */ 49, VALUE_OPT_ONEATATIME, 1399 /* equiv idx, value */ 49, VALUE_OPT_ONEATATIME, 1379 1400 /* equivalenced to */ NO_EQUIVALENT, 1380 1401 /* min, max, act ct */ 0, 1, 0, … … 1387 1408 /* disablement strs */ NULL, NULL }, 1388 1409 1389 { /* entry idx, value */ 49, VALUE_OPT_PPS_MULTI,1390 /* equiv idx, value */ 49, VALUE_OPT_PPS_MULTI,1410 { /* entry idx, value */ 50, VALUE_OPT_PPS_MULTI, 1411 /* equiv idx, value */ 50, VALUE_OPT_PPS_MULTI, 1391 1412 /* equivalenced to */ NO_EQUIVALENT, 1392 1413 /* min, max, act ct */ 0, 1, 0, … … 1399 1420 /* disablement strs */ NULL, NULL }, 1400 1421 1401 { /* entry idx, value */ 5 0, VALUE_OPT_PID,1402 /* equiv idx, value */ 5 0, VALUE_OPT_PID,1422 { /* entry idx, value */ 51, VALUE_OPT_PID, 1423 /* equiv idx, value */ 51, VALUE_OPT_PID, 1403 1424 /* equivalenced to */ NO_EQUIVALENT, 1404 1425 /* min, max, act ct */ 0, 1, 0, … … 1411 1432 /* disablement strs */ NULL, NULL }, 1412 1433 1413 { /* entry idx, value */ 5 1, VALUE_OPT_VERSION,1414 /* equiv idx, value */ 5 1, VALUE_OPT_VERSION,1434 { /* entry idx, value */ 52, VALUE_OPT_VERSION, 1435 /* equiv idx, value */ 52, VALUE_OPT_VERSION, 1415 1436 /* equivalenced to */ NO_EQUIVALENT, 1416 1437 /* min, max, act ct */ 0, 1, 0, … … 1423 1444 /* disablement strs */ NULL, NULL }, 1424 1445 1425 { /* entry idx, value */ 5 2, VALUE_OPT_LESS_HELP,1426 /* equiv idx, value */ 5 2, VALUE_OPT_LESS_HELP,1446 { /* entry idx, value */ 53, VALUE_OPT_LESS_HELP, 1447 /* equiv idx, value */ 53, VALUE_OPT_LESS_HELP, 1427 1448 /* equivalenced to */ NO_EQUIVALENT, 1428 1449 /* min, max, act ct */ 0, 1, 0, … … 1514 1535 http://tcpreplay.synfin.net/trac/wiki/manual\n"; 1515 1536 #define zFullVersion NULL 1516 /* extracted from / opt/local/share/autogen/optcode.tpl near line 501 */1537 /* extracted from /usr/local/share/autogen/optcode.tpl near line 501 */ 1517 1538 1518 1539 #if defined(ENABLE_NLS) … … 1554 1575 9 /* index of default opt */ 1555 1576 }, 1556 5 7 /* full option count */, 53/* user option count */,1577 58 /* full option count */, 54 /* user option count */, 1557 1578 tcpreplay_full_usage, tcpreplay_short_usage, 1558 1579 NULL, NULL … … 1981 2002 doOptListnics(tOptions* pOptions, tOptDesc* pOptDesc) 1982 2003 { 1983 /* extracted from tcpreplay_opts.def, line 2 55*/2004 /* extracted from tcpreplay_opts.def, line 266 */ 1984 2005 1985 2006 interface_list_t *list = get_interface_list(); … … 2148 2169 doOptPid(tOptions* pOptions, tOptDesc* pOptDesc) 2149 2170 { 2150 /* extracted from tcpreplay_opts.def, line 4 05*/2171 /* extracted from tcpreplay_opts.def, line 416 */ 2151 2172 2152 2173 fprintf(stderr, "PID: %hu\n", getpid()); … … 2161 2182 doOptVersion(tOptions* pOptions, tOptDesc* pOptDesc) 2162 2183 { 2163 /* extracted from tcpreplay_opts.def, line 4 17*/2184 /* extracted from tcpreplay_opts.def, line 428 */ 2164 2185 2165 2186 fprintf(stderr, "tcpreplay version: %s (build %s)", VERSION, svn_version()); … … 2202 2223 fprintf(stderr, "Injection method: %s\n", sendpacket_get_method()); 2203 2224 exit(0); 2204 2225 2205 2226 } 2206 2227 … … 2212 2233 doOptLess_Help(tOptions* pOptions, tOptDesc* pOptDesc) 2213 2234 { 2214 /* extracted from tcpreplay_opts.def, line 4 68*/2215 2235 /* extracted from tcpreplay_opts.def, line 479 */ 2236 2216 2237 USAGE(EXIT_FAILURE); 2217 2238 2218 2239 } 2219 /* extracted from / opt/local/share/autogen/optcode.tpl near line 633 */2240 /* extracted from /usr/local/share/autogen/optcode.tpl near line 633 */ 2220 2241 2221 2242 #if ENABLE_NLS -
trunk/src/tcpreplay_edit_opts.h
r2404 r2413 3 3 * DO NOT EDIT THIS FILE (tcpreplay_edit_opts.h) 4 4 * 5 * It has been AutoGen-ed M onday October 5, 2009 at 01:29:53 PM PDT5 * It has been AutoGen-ed March 12, 2010 at 11:24:39 AM by AutoGen 5.9.9 6 6 * From the definitions tcpreplay_opts.def 7 7 * and the template file options 8 8 * 9 * Generated from AutoOpts 32: 1:7 templates.9 * Generated from AutoOpts 32:2:7 templates. 10 10 */ 11 11 … … 21 21 * This source file is copyrighted and licensed under the following terms: 22 22 * 23 * tcpreplay copyright 2000-2008 Aaron Turner - all rights reserved23 * tcpreplay copyright (c) 2000-2008 Aaron Turner - all rights reserved 24 24 * 25 25 * tcpreplay is free software copyrighted by Aaron Turner. … … 67 67 * template was released. 68 68 */ 69 #define AO_TEMPLATE_VERSION 13107 369 #define AO_TEMPLATE_VERSION 131074 70 70 #if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \ 71 71 || (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION) … … 114 114 INDEX_OPT_DECODE = 35, 115 115 INDEX_OPT_ENABLE_FILE_CACHE = 36, 116 INDEX_OPT_CACHEFILE = 37, 117 INDEX_OPT_INTF1 = 38, 118 INDEX_OPT_INTF2 = 39, 119 INDEX_OPT_LISTNICS = 40, 120 INDEX_OPT_LOOP = 41, 121 INDEX_OPT_PKTLEN = 42, 122 INDEX_OPT_LIMIT = 43, 123 INDEX_OPT_MULTIPLIER = 44, 124 INDEX_OPT_PPS = 45, 125 INDEX_OPT_MBPS = 46, 126 INDEX_OPT_TOPSPEED = 47, 127 INDEX_OPT_ONEATATIME = 48, 128 INDEX_OPT_PPS_MULTI = 49, 129 INDEX_OPT_PID = 50, 130 INDEX_OPT_VERSION = 51, 131 INDEX_OPT_LESS_HELP = 52, 132 INDEX_OPT_HELP = 53, 133 INDEX_OPT_MORE_HELP = 54, 134 INDEX_OPT_SAVE_OPTS = 55, 135 INDEX_OPT_LOAD_OPTS = 56 116 INDEX_OPT_PRELOAD_PCAP = 37, 117 INDEX_OPT_CACHEFILE = 38, 118 INDEX_OPT_INTF1 = 39, 119 INDEX_OPT_INTF2 = 40, 120 INDEX_OPT_LISTNICS = 41, 121 INDEX_OPT_LOOP = 42, 122 INDEX_OPT_PKTLEN = 43, 123 INDEX_OPT_LIMIT = 44, 124 INDEX_OPT_MULTIPLIER = 45, 125 INDEX_OPT_PPS = 46, 126 INDEX_OPT_MBPS = 47, 127 INDEX_OPT_TOPSPEED = 48, 128 INDEX_OPT_ONEATATIME = 49, 129 INDEX_OPT_PPS_MULTI = 50, 130 INDEX_OPT_PID = 51, 131 INDEX_OPT_VERSION = 52, 132 INDEX_OPT_LESS_HELP = 53, 133 INDEX_OPT_HELP = 54, 134 INDEX_OPT_MORE_HELP = 55, 135 INDEX_OPT_SAVE_OPTS = 56, 136 INDEX_OPT_LOAD_OPTS = 57 136 137 } teOptIndex; 137 138 138 #define OPTION_CT 5 7139 #define OPTION_CT 58 139 140 140 141 /* … … 226 227 #endif /* ENABLE_VERBOSE */ 227 228 #define VALUE_OPT_ENABLE_FILE_CACHE 'K' 229 #define VALUE_OPT_PRELOAD_PCAP 133 228 230 #define VALUE_OPT_CACHEFILE 'c' 229 231 #define VALUE_OPT_INTF1 'i' 230 232 #define VALUE_OPT_INTF2 'I' 231 233 #ifdef ENABLE_PCAP_FINDALLDEVS 232 #define VALUE_OPT_LISTNICS 13 6234 #define VALUE_OPT_LISTNICS 137 233 235 #endif /* ENABLE_PCAP_FINDALLDEVS */ 234 236 #define VALUE_OPT_LOOP 'l' 235 237 #define OPT_VALUE_LOOP (DESC(LOOP).optArg.argInt) 236 #define VALUE_OPT_PKTLEN 13 8238 #define VALUE_OPT_PKTLEN 139 237 239 #define VALUE_OPT_LIMIT 'L' 238 240 #define OPT_VALUE_LIMIT (DESC(LIMIT).optArg.argInt) … … 243 245 #define VALUE_OPT_TOPSPEED 't' 244 246 #define VALUE_OPT_ONEATATIME 'o' 245 #define VALUE_OPT_PPS_MULTI 14 5247 #define VALUE_OPT_PPS_MULTI 146 246 248 #define OPT_VALUE_PPS_MULTI (DESC(PPS_MULTI).optArg.argInt) 247 249 #define VALUE_OPT_PID 'P' … … 266 268 #define START_OPT RESTART_OPT(1) 267 269 #define USAGE(c) (*tcpreplayOptions.pUsageProc)( &tcpreplayOptions, c ) 268 /* extracted from / opt/local/share/autogen/opthead.tpl near line 409 */270 /* extracted from /usr/local/share/autogen/opthead.tpl near line 409 */ 269 271 270 272 /* * * * * * -
trunk/src/tcpreplay_opts.c
r2404 r2413 3 3 * DO NOT EDIT THIS FILE (tcpreplay_opts.c) 4 4 * 5 * It has been AutoGen-ed M onday October 5, 2009 at 01:29:52 PM PDT5 * It has been AutoGen-ed March 12, 2010 at 11:24:39 AM by AutoGen 5.9.9 6 6 * From the definitions tcpreplay_opts.def 7 7 * and the template file options 8 8 * 9 * Generated from AutoOpts 32: 1:7 templates.9 * Generated from AutoOpts 32:2:7 templates. 10 10 */ 11 11 … … 21 21 * This source file is copyrighted and licensed under the following terms: 22 22 * 23 * tcpreplay copyright 2000-2008 Aaron Turner - all rights reserved23 * tcpreplay copyright (c) 2000-2008 Aaron Turner - all rights reserved 24 24 * 25 25 * tcpreplay is free software copyrighted by Aaron Turner. … … 231 231 232 232 /* 233 * Preload_Pcap option description: 234 */ 235 tSCC zPreload_PcapText[] = 236 "Preloads packets into RAM before sending"; 237 tSCC zPreload_Pcap_NAME[] = "PRELOAD_PCAP"; 238 tSCC zPreload_Pcap_Name[] = "preload-pcap"; 239 #define PRELOAD_PCAP_FLAGS (OPTST_DISABLED) 240 241 /* 233 242 * Cachefile option description: 234 243 */ … … 572 581 /* disablement strs */ NULL, NULL }, 573 582 574 { /* entry idx, value */ 8, VALUE_OPT_CACHEFILE, 575 /* equiv idx, value */ 8, VALUE_OPT_CACHEFILE, 583 { /* entry idx, value */ 8, VALUE_OPT_PRELOAD_PCAP, 584 /* equiv idx, value */ 8, VALUE_OPT_PRELOAD_PCAP, 585 /* equivalenced to */ NO_EQUIVALENT, 586 /* min, max, act ct */ 0, 1, 0, 587 /* opt state flags */ PRELOAD_PCAP_FLAGS, 0, 588 /* last opt argumnt */ { NULL }, 589 /* arg list/cookie */ NULL, 590 /* must/cannot opts */ NULL, NULL, 591 /* option proc */ NULL, 592 /* desc, NAME, name */ zPreload_PcapText, zPreload_Pcap_NAME, zPreload_Pcap_Name, 593 /* disablement strs */ NULL, NULL }, 594 595 { /* entry idx, value */ 9, VALUE_OPT_CACHEFILE, 596 /* equiv idx, value */ 9, VALUE_OPT_CACHEFILE, 576 597 /* equivalenced to */ NO_EQUIVALENT, 577 598 /* min, max, act ct */ 0, 1, 0, … … 584 605 /* disablement strs */ NULL, NULL }, 585 606 586 { /* entry idx, value */ 9, VALUE_OPT_INTF1,587 /* equiv idx, value */ 9, VALUE_OPT_INTF1,607 { /* entry idx, value */ 10, VALUE_OPT_INTF1, 608 /* equiv idx, value */ 10, VALUE_OPT_INTF1, 588 609 /* equivalenced to */ NO_EQUIVALENT, 589 610 /* min, max, act ct */ 1, 1, 0, … … 596 617 /* disablement strs */ NULL, NULL }, 597 618 598 { /* entry idx, value */ 1 0, VALUE_OPT_INTF2,599 /* equiv idx, value */ 1 0, VALUE_OPT_INTF2,619 { /* entry idx, value */ 11, VALUE_OPT_INTF2, 620 /* equiv idx, value */ 11, VALUE_OPT_INTF2, 600 621 /* equivalenced to */ NO_EQUIVALENT, 601 622 /* min, max, act ct */ 0, 1, 0, … … 608 629 /* disablement strs */ NULL, NULL }, 609 630 610 { /* entry idx, value */ 1 1, VALUE_OPT_LISTNICS,611 /* equiv idx, value */ 1 1, VALUE_OPT_LISTNICS,631 { /* entry idx, value */ 12, VALUE_OPT_LISTNICS, 632 /* equiv idx, value */ 12, VALUE_OPT_LISTNICS, 612 633 /* equivalenced to */ NO_EQUIVALENT, 613 634 /* min, max, act ct */ 0, 1, 0, … … 620 641 /* disablement strs */ NULL, NULL }, 621 642 622 { /* entry idx, value */ 1 2, VALUE_OPT_LOOP,623 /* equiv idx, value */ 1 2, VALUE_OPT_LOOP,643 { /* entry idx, value */ 13, VALUE_OPT_LOOP, 644 /* equiv idx, value */ 13, VALUE_OPT_LOOP, 624 645 /* equivalenced to */ NO_EQUIVALENT, 625 646 /* min, max, act ct */ 0, 1, 0, … … 632 653 /* disablement strs */ NULL, NULL }, 633 654 634 { /* entry idx, value */ 1 3, VALUE_OPT_PKTLEN,635 /* equiv idx, value */ 1 3, VALUE_OPT_PKTLEN,655 { /* entry idx, value */ 14, VALUE_OPT_PKTLEN, 656 /* equiv idx, value */ 14, VALUE_OPT_PKTLEN, 636 657 /* equivalenced to */ NO_EQUIVALENT, 637 658 /* min, max, act ct */ 0, 1, 0, … … 644 665 /* disablement strs */ NULL, NULL }, 645 666 646 { /* entry idx, value */ 1 4, VALUE_OPT_LIMIT,647 /* equiv idx, value */ 1 4, VALUE_OPT_LIMIT,667 { /* entry idx, value */ 15, VALUE_OPT_LIMIT, 668 /* equiv idx, value */ 15, VALUE_OPT_LIMIT, 648 669 /* equivalenced to */ NO_EQUIVALENT, 649 670 /* min, max, act ct */ 0, 1, 0, … … 656 677 /* disablement strs */ NULL, NULL }, 657 678 658 { /* entry idx, value */ 1 5, VALUE_OPT_MULTIPLIER,659 /* equiv idx, value */ 1 5, VALUE_OPT_MULTIPLIER,679 { /* entry idx, value */ 16, VALUE_OPT_MULTIPLIER, 680 /* equiv idx, value */ 16, VALUE_OPT_MULTIPLIER, 660 681 /* equivalenced to */ NO_EQUIVALENT, 661 682 /* min, max, act ct */ 0, 1, 0, … … 668 689 /* disablement strs */ NULL, NULL }, 669 690 670 { /* entry idx, value */ 1 6, VALUE_OPT_PPS,671 /* equiv idx, value */ 1 6, VALUE_OPT_PPS,691 { /* entry idx, value */ 17, VALUE_OPT_PPS, 692 /* equiv idx, value */ 17, VALUE_OPT_PPS, 672 693 /* equivalenced to */ NO_EQUIVALENT, 673 694 /* min, max, act ct */ 0, 1, 0, … … 680 701 /* disablement strs */ NULL, NULL }, 681 702 682 { /* entry idx, value */ 1 7, VALUE_OPT_MBPS,683 /* equiv idx, value */ 1 7, VALUE_OPT_MBPS,703 { /* entry idx, value */ 18, VALUE_OPT_MBPS, 704 /* equiv idx, value */ 18, VALUE_OPT_MBPS, 684 705 /* equivalenced to */ NO_EQUIVALENT, 685 706 /* min, max, act ct */ 0, 1, 0, … … 692 713 /* disablement strs */ NULL, NULL }, 693 714 694 { /* entry idx, value */ 1 8, VALUE_OPT_TOPSPEED,695 /* equiv idx, value */ 1 8, VALUE_OPT_TOPSPEED,715 { /* entry idx, value */ 19, VALUE_OPT_TOPSPEED, 716 /* equiv idx, value */ 19, VALUE_OPT_TOPSPEED, 696 717 /* equivalenced to */ NO_EQUIVALENT, 697 718 /* min, max, act ct */ 0, 1, 0, … … 704 725 /* disablement strs */ NULL, NULL }, 705 726 706 { /* entry idx, value */ 19, VALUE_OPT_ONEATATIME,707 /* equiv idx, value */ 19, VALUE_OPT_ONEATATIME,727 { /* entry idx, value */ 20, VALUE_OPT_ONEATATIME, 728 /* equiv idx, value */ 20, VALUE_OPT_ONEATATIME, 708 729 /* equivalenced to */ NO_EQUIVALENT, 709 730 /* min, max, act ct */ 0, 1, 0, … … 716 737 /* disablement strs */ NULL, NULL }, 717 738 718 { /* entry idx, value */ 2 0, VALUE_OPT_PPS_MULTI,719 /* equiv idx, value */ 2 0, VALUE_OPT_PPS_MULTI,739 { /* entry idx, value */ 21, VALUE_OPT_PPS_MULTI, 740 /* equiv idx, value */ 21, VALUE_OPT_PPS_MULTI, 720 741 /* equivalenced to */ NO_EQUIVALENT, 721 742 /* min, max, act ct */ 0, 1, 0, … … 728 749 /* disablement strs */ NULL, NULL }, 729 750 730 { /* entry idx, value */ 2 1, VALUE_OPT_PID,731 /* equiv idx, value */ 2 1, VALUE_OPT_PID,751 { /* entry idx, value */ 22, VALUE_OPT_PID, 752 /* equiv idx, value */ 22, VALUE_OPT_PID, 732 753 /* equivalenced to */ NO_EQUIVALENT, 733 754 /* min, max, act ct */ 0, 1, 0, … … 740 761 /* disablement strs */ NULL, NULL }, 741 762 742 { /* entry idx, value */ 2 2, VALUE_OPT_VERSION,743 /* equiv idx, value */ 2 2, VALUE_OPT_VERSION,763 { /* entry idx, value */ 23, VALUE_OPT_VERSION, 764 /* equiv idx, value */ 23, VALUE_OPT_VERSION, 744 765 /* equivalenced to */ NO_EQUIVALENT, 745 766 /* min, max, act ct */ 0, 1, 0, … … 752 773 /* disablement strs */ NULL, NULL }, 753 774 754 { /* entry idx, value */ 2 3, VALUE_OPT_LESS_HELP,755 /* equiv idx, value */ 2 3, VALUE_OPT_LESS_HELP,775 { /* entry idx, value */ 24, VALUE_OPT_LESS_HELP, 776 /* equiv idx, value */ 24, VALUE_OPT_LESS_HELP, 756 777 /* equivalenced to */ NO_EQUIVALENT, 757 778 /* min, max, act ct */ 0, 1, 0, … … 842 863 http://tcpreplay.synfin.net/trac/wiki/manual\n"; 843 864 #define zFullVersion NULL 844 /* extracted from / opt/local/share/autogen/optcode.tpl near line 501 */865 /* extracted from /usr/local/share/autogen/optcode.tpl near line 501 */ 845 866 846 867 #if defined(ENABLE_NLS) … … 882 903 NO_EQUIVALENT /* index of default opt */ 883 904 }, 884 2 8 /* full option count */, 24/* user option count */,905 29 /* full option count */, 25 /* user option count */, 885 906 tcpreplay_full_usage, tcpreplay_short_usage, 886 907 NULL, NULL … … 959 980 doOptListnics(tOptions* pOptions, tOptDesc* pOptDesc) 960 981 { 961 /* extracted from tcpreplay_opts.def, line 2 55*/982 /* extracted from tcpreplay_opts.def, line 266 */ 962 983 963 984 interface_list_t *list = get_interface_list(); … … 1126 1147 doOptPid(tOptions* pOptions, tOptDesc* pOptDesc) 1127 1148 { 1128 /* extracted from tcpreplay_opts.def, line 4 05*/1149 /* extracted from tcpreplay_opts.def, line 416 */ 1129 1150 1130 1151 fprintf(stderr, "PID: %hu\n", getpid()); … … 1139 1160 doOptVersion(tOptions* pOptions, tOptDesc* pOptDesc) 1140 1161 { 1141 /* extracted from tcpreplay_opts.def, line 4 17*/1162 /* extracted from tcpreplay_opts.def, line 428 */ 1142 1163 1143 1164 fprintf(stderr, "tcpreplay version: %s (build %s)", VERSION, svn_version()); … … 1180 1201 fprintf(stderr, "Injection method: %s\n", sendpacket_get_method()); 1181 1202 exit(0); 1182 1203 1183 1204 } 1184 1205 … … 1190 1211 doOptLess_Help(tOptions* pOptions, tOptDesc* pOptDesc) 1191 1212 { 1192 /* extracted from tcpreplay_opts.def, line 4 68*/1193 1213 /* extracted from tcpreplay_opts.def, line 479 */ 1214 1194 1215 USAGE(EXIT_FAILURE); 1195 1216 1196 1217 } 1197 /* extracted from / opt/local/share/autogen/optcode.tpl near line 633 */1218 /* extracted from /usr/local/share/autogen/optcode.tpl near line 633 */ 1198 1219 1199 1220 #if ENABLE_NLS -
trunk/src/tcpreplay_opts.def
r2363 r2413 209 209 }; 210 210 211 flag = { 212 name = preload_pcap; 213 descrip = "Preloads packets into RAM before sending"; 214 doc = <<- EOText 215 This option loads the specified pcap(s) into RAM before starting to send in order 216 to improve replay performance while introducing a startup performance hit. 217 Preloading can be used with or without @var{--loop} and implies 218 @var{--enable-file-cache}. 219 EOText; 220 }; 221 211 222 /* 212 223 * Output modifiers: -c … … 455 466 fprintf(stderr, "Injection method: %s\n", sendpacket_get_method()); 456 467 exit(0); 457 468 458 469 EOVersion; 459 470 doc = ""; … … 466 477 descrip = "Display less usage information and exit"; 467 478 flag-code = <<- EOHelp 468 479 469 480 USAGE(EXIT_FAILURE); 470 481 -
trunk/src/tcpreplay_opts.h
r2404 r2413 3 3 * DO NOT EDIT THIS FILE (tcpreplay_opts.h) 4 4 * 5 * It has been AutoGen-ed M onday October 5, 2009 at 01:29:52 PM PDT5 * It has been AutoGen-ed March 12, 2010 at 11:24:39 AM by AutoGen 5.9.9 6 6 * From the definitions tcpreplay_opts.def 7 7 * and the template file options 8 8 * 9 * Generated from AutoOpts 32: 1:7 templates.9 * Generated from AutoOpts 32:2:7 templates. 10 10 */ 11 11 … … 21 21 * This source file is copyrighted and licensed under the following terms: 22 22 * 23 * tcpreplay copyright 2000-2008 Aaron Turner - all rights reserved23 * tcpreplay copyright (c) 2000-2008 Aaron Turner - all rights reserved 24 24 * 25 25 * tcpreplay is free software copyrighted by Aaron Turner. … … 67 67 * template was released. 68 68 */ 69 #define AO_TEMPLATE_VERSION 13107 369 #define AO_TEMPLATE_VERSION 131074 70 70 #if (AO_TEMPLATE_VERSION < OPTIONS_MINIMUM_VERSION) \ 71 71 || (AO_TEMPLATE_VERSION > OPTIONS_STRUCT_VERSION) … … 86 86 INDEX_OPT_DECODE = 6, 87 87 INDEX_OPT_ENABLE_FILE_CACHE = 7, 88 INDEX_OPT_CACHEFILE = 8, 89 INDEX_OPT_INTF1 = 9, 90 INDEX_OPT_INTF2 = 10, 91 INDEX_OPT_LISTNICS = 11, 92 INDEX_OPT_LOOP = 12, 93 INDEX_OPT_PKTLEN = 13, 94 INDEX_OPT_LIMIT = 14, 95 INDEX_OPT_MULTIPLIER = 15, 96 INDEX_OPT_PPS = 16, 97 INDEX_OPT_MBPS = 17, 98 INDEX_OPT_TOPSPEED = 18, 99 INDEX_OPT_ONEATATIME = 19, 100 INDEX_OPT_PPS_MULTI = 20, 101 INDEX_OPT_PID = 21, 102 INDEX_OPT_VERSION = 22, 103 INDEX_OPT_LESS_HELP = 23, 104 INDEX_OPT_HELP = 24, 105 INDEX_OPT_MORE_HELP = 25, 106 INDEX_OPT_SAVE_OPTS = 26, 107 INDEX_OPT_LOAD_OPTS = 27 88 INDEX_OPT_PRELOAD_PCAP = 8, 89 INDEX_OPT_CACHEFILE = 9, 90 INDEX_OPT_INTF1 = 10, 91 INDEX_OPT_INTF2 = 11, 92 INDEX_OPT_LISTNICS = 12, 93 INDEX_OPT_LOOP = 13, 94 INDEX_OPT_PKTLEN = 14, 95 INDEX_OPT_LIMIT = 15, 96 INDEX_OPT_MULTIPLIER = 16, 97 INDEX_OPT_PPS = 17, 98 INDEX_OPT_MBPS = 18, 99 INDEX_OPT_TOPSPEED = 19, 100 INDEX_OPT_ONEATATIME = 20, 101 INDEX_OPT_PPS_MULTI = 21, 102 INDEX_OPT_PID = 22, 103 INDEX_OPT_VERSION = 23, 104 INDEX_OPT_LESS_HELP = 24, 105 INDEX_OPT_HELP = 25, 106 INDEX_OPT_MORE_HELP = 26, 107 INDEX_OPT_SAVE_OPTS = 27, 108 INDEX_OPT_LOAD_OPTS = 28 108 109 } teOptIndex; 109 110 110 #define OPTION_CT 2 8111 #define OPTION_CT 29 111 112 112 113 /* … … 157 158 #endif /* ENABLE_VERBOSE */ 158 159 #define VALUE_OPT_ENABLE_FILE_CACHE 'K' 160 #define VALUE_OPT_PRELOAD_PCAP 8 159 161 #define VALUE_OPT_CACHEFILE 'c' 160 162 #define VALUE_OPT_INTF1 'i' 161 163 #define VALUE_OPT_INTF2 'I' 162 164 #ifdef ENABLE_PCAP_FINDALLDEVS 163 #define VALUE_OPT_LISTNICS 1 1165 #define VALUE_OPT_LISTNICS 12 164 166 #endif /* ENABLE_PCAP_FINDALLDEVS */ 165 167 #define VALUE_OPT_LOOP 'l' 166 168 #define OPT_VALUE_LOOP (DESC(LOOP).optArg.argInt) 167 #define VALUE_OPT_PKTLEN 1 3169 #define VALUE_OPT_PKTLEN 14 168 170 #define VALUE_OPT_LIMIT 'L' 169 171 #define OPT_VALUE_LIMIT (DESC(LIMIT).optArg.argInt) … … 174 176 #define VALUE_OPT_TOPSPEED 't' 175 177 #define VALUE_OPT_ONEATATIME 'o' 176 #define VALUE_OPT_PPS_MULTI 2 0178 #define VALUE_OPT_PPS_MULTI 21 177 179 #define OPT_VALUE_PPS_MULTI (DESC(PPS_MULTI).optArg.argInt) 178 180 #define VALUE_OPT_PID 'P' … … 197 199 #define START_OPT RESTART_OPT(1) 198 200 #define USAGE(c) (*tcpreplayOptions.pUsageProc)( &tcpreplayOptions, c ) 199 /* extracted from / opt/local/share/autogen/opthead.tpl near line 409 */201 /* extracted from /usr/local/share/autogen/opthead.tpl near line 409 */ 200 202 201 203 /* * * * * *
Note: See TracChangeset
for help on using the changeset viewer.
