There is no need to try to set erroneous BPF filter again and again. Such attempts
lead to constant mmap() calls without corresponding munmap() when 'use-mmap' is enabled.
rc = AFPSetBPFFilter(ptv);
if (rc == TM_ECODE_FAILED) {
SCLogError(SC_ERR_AFP_CREATE, "Set AF_PACKET bpf filter \"%s\" failed.", ptv->bpf_filter);
- goto frame_err;
+ ret = AFP_FATAL_ERROR;
+ goto socket_err;
}
/* Init is ok */
AFPSwitchState(ptv, AFP_STATE_UP);
return 0;
-frame_err:
- if (ptv->flags & AFP_TPACKET_V3) {
- if (ptv->ring_v3)
- SCFree(ptv->ring_v3);
- } else {
- if (ptv->ring_v2)
- SCFree(ptv->ring_v2);
- }
socket_err:
close(ptv->socket);
ptv->socket = -1;
return TM_ECODE_OK;
}
-
/**
* \brief Init function for ReceiveAFP.
*