printf("\t--pcap-file-continuous : when running in pcap mode with a directory, continue checking directory for pcaps until interrupted\n");
printf("\t--pcap-file-delete : when running in replay mode (-r with directory or file), will delete pcap files that have been processed when done\n");
printf("\t--pcap-file-recursive : will descend into subdirectories when running in replay mode (-r)\n");
+ printf("\t--pcap-file-buffer-size : set read buffer size (setvbuf)\n");
#ifdef HAVE_PCAP_SET_BUFF
printf("\t--pcap-buffer-size : size of the pcap buffer value from 0 - %i\n",INT_MAX);
#endif /* HAVE_SET_PCAP_BUFF */
{"pcap-file-continuous", 0, 0, 0},
{"pcap-file-delete", 0, 0, 0},
{"pcap-file-recursive", 0, 0, 0},
+ {"pcap-file-buffer-size", required_argument, 0, 0},
{"simulate-ips", 0, 0 , 0},
{"no-random", 0, &g_disable_randomness, 1},
{"strict-rule-keywords", optional_argument, 0, 0},
SCLogError("failed to set pcap-file.recursive");
return TM_ECODE_FAILED;
}
- }
- else if (strcmp((long_opts[option_index]).name, "data-dir") == 0) {
+ } else if (strcmp((long_opts[option_index]).name, "pcap-file-buffer-size") == 0) {
+ if (ConfSetFinal("pcap-file.buffer-size", optarg) != 1) {
+ SCLogError("failed to set pcap-file.buffer-size");
+ return TM_ECODE_FAILED;
+ }
+ } else if (strcmp((long_opts[option_index]).name, "data-dir") == 0) {
if (optarg == NULL) {
SCLogError("no option argument (optarg) for -d");
return TM_ECODE_FAILED;
return TM_ECODE_FAILED;
}
suri->set_datadir = true;
- } else if (strcmp((long_opts[option_index]).name , "strict-rule-keywords") == 0){
+ } else if (strcmp((long_opts[option_index]).name, "strict-rule-keywords") == 0) {
if (optarg == NULL) {
suri->strict_rule_parsing_string = SCStrdup("all");
} else {