{
char *threadsstr = NULL;
ConfNode *if_root;
+ ConfNode *if_default = NULL;
ConfNode *pf_ring_node;
PfringIfaceConfig *pfconf = SCMalloc(sizeof(*pfconf));
char *tmpclusterid;
}
if_root = ConfNodeLookupKeyValue(pf_ring_node, "interface", iface);
- if (if_root == NULL) {
+
+ if_default = ConfNodeLookupKeyValue(pf_ring_node, "interface", "default");
+
+ if (if_root == NULL && if_default == NULL) {
/* Switch to old mode */
if_root = pf_ring_node;
SCLogInfo("Unable to find pfring config for "
return pfconf;
}
- if (ConfGetChildValue(if_root, "threads", &threadsstr) != 1) {
+ /* If there is no setting for current interface use default one as main iface */
+ if (if_root == NULL) {
+ if_root = if_default;
+ if_default = NULL;
+ }
+
+ if (ConfGetChildValueWithDefault(if_root, if_default, "threads", &threadsstr) != 1) {
pfconf->threads = 1;
} else {
if (threadsstr != NULL) {
SCLogDebug("Going to use command-line provided cluster-id %" PRId32,
pfconf->cluster_id);
} else {
- if (ConfGetChildValue(if_root, "cluster-id", &tmpclusterid) != 1) {
+ if (ConfGetChildValueWithDefault(if_root, if_default, "cluster-id", &tmpclusterid) != 1) {
SCLogError(SC_ERR_INVALID_ARGUMENT,
"Could not get cluster-id from config");
} else {
pfconf->bpf_filter);
}
} else {
- if (ConfGetChildValue(if_root, "bpf-filter", &bpf_filter) == 1) {
+ if (ConfGetChildValueWithDefault(if_root, if_default, "bpf-filter", &bpf_filter) == 1) {
if (strlen(bpf_filter) > 0) {
pfconf->bpf_filter = SCStrdup(bpf_filter);
SCLogDebug("Going to use bpf filter %s", pfconf->bpf_filter);
SCLogDebug("Going to use command-line provided cluster-type");
getctype = 1;
} else {
- if (ConfGetChildValue(if_root, "cluster-type", &tmpctype) != 1) {
+ if (ConfGetChildValueWithDefault(if_root, if_default, "cluster-type", &tmpctype) != 1) {
SCLogError(SC_ERR_GET_CLUSTER_TYPE_FAILED,
"Could not get cluster-type fron config");
} else {
#endif /* HAVE_PFRING_CLUSTER_TYPE */
- if (ConfGetChildValue(if_root, "checksum-checks", &tmpctype) == 1) {
+ if (ConfGetChildValueWithDefault(if_root, if_default, "checksum-checks", &tmpctype) == 1) {
if (strcmp(tmpctype, "auto") == 0) {
pfconf->checksum_mode = CHECKSUM_VALIDATION_AUTO;
} else if (strcmp(tmpctype, "yes") == 0) {