suricata
|
#include "suricata-common.h"
#include "suricata.h"
#include "packet.h"
#include "decode.h"
#include "packet-queue.h"
#include "threads.h"
#include "threadvars.h"
#include "tm-threads.h"
#include "tm-queuehandlers.h"
#include "tmqh-packetpool.h"
#include "conf.h"
#include "conf-yaml-loader.h"
#include "source-nfq-prototypes.h"
#include "action-globals.h"
#include "util-datalink.h"
#include "util-debug.h"
#include "util-error.h"
#include "util-byte.h"
#include "util-cpu.h"
#include "util-privs.h"
#include "util-device.h"
#include "runmodes.h"
#include "source-nfq.h"
Go to the source code of this file.
Data Structures | |
struct | NFQThreadVars_ |
struct | NFQCnf_ |
Macros | |
#define | MAX_ALREADY_TREATED 5 |
#define | NFQ_VERDICT_RETRY_COUNT 3 |
#define | NFQ_BURST_FACTOR 4 |
#define | SOL_NETLINK 270 |
#define | NFQ_FLAG_FAIL_OPEN (1 << 0) |
#define | NFQMutexLock(nq) |
#define | NFQMutexUnlock(nq) |
#define | T_DATA_SIZE 70000 |
Typedefs | |
typedef struct NFQThreadVars_ | NFQThreadVars |
typedef enum NFQMode_ | NFQMode |
typedef struct NFQCnf_ | NFQCnf |
Enumerations | |
enum | NFQMode_ { NFQ_ACCEPT_MODE, NFQ_REPEAT_MODE, NFQ_ROUTE_MODE } |
Functions | |
void | TmModuleReceiveNFQRegister (void) |
void | TmModuleVerdictNFQRegister (void) |
void | TmModuleDecodeNFQRegister (void) |
void | NFQInitConfig (bool quiet) |
To initialize the NFQ global configuration data. More... | |
int | NFQRegisterQueue (const uint16_t number) |
Add a single Netfilter queue. More... | |
int | NFQParseAndRegisterQueues (const char *queues) |
Parses and adds Netfilter queue(s). More... | |
void * | NFQGetQueue (int number) |
Get a pointer to the NFQ queue at index. More... | |
void * | NFQGetThread (int number) |
Get a pointer to the NFQ thread at index. More... | |
void | NFQContextsClean (void) |
Clean global contexts. Must be called on exit. More... | |
Variables | |
uint32_t | max_pending_packets |
NFQCnf | nfq_config |
Netfilter's netfilter_queue support for reading packets from the kernel and setting verdicts back to it (inline mode).
Definition in file source-nfq.c.
#define MAX_ALREADY_TREATED 5 |
Definition at line 103 of file source-nfq.c.
#define NFQ_BURST_FACTOR 4 |
Definition at line 108 of file source-nfq.c.
#define NFQ_FLAG_FAIL_OPEN (1 << 0) |
Definition at line 155 of file source-nfq.c.
#define NFQ_VERDICT_RETRY_COUNT 3 |
Definition at line 104 of file source-nfq.c.
#define NFQMutexLock | ( | nq | ) |
Definition at line 387 of file source-nfq.c.
#define NFQMutexUnlock | ( | nq | ) |
Definition at line 392 of file source-nfq.c.
#define SOL_NETLINK 270 |
Definition at line 111 of file source-nfq.c.
#define T_DATA_SIZE 70000 |
typedef struct NFQThreadVars_ NFQThreadVars |
enum NFQMode_ |
Enumerator | |
---|---|
NFQ_ACCEPT_MODE | |
NFQ_REPEAT_MODE | |
NFQ_ROUTE_MODE |
Definition at line 148 of file source-nfq.c.
void NFQContextsClean | ( | void | ) |
Clean global contexts. Must be called on exit.
Definition at line 1300 of file source-nfq.c.
Referenced by GlobalsDestroy().
void* NFQGetQueue | ( | int | number | ) |
Get a pointer to the NFQ queue at index.
number | idx of the queue in our array |
ptr | pointer to the NFQThreadVars at index |
NULL | on error |
Definition at line 944 of file source-nfq.c.
References unlikely.
void* NFQGetThread | ( | int | number | ) |
Get a pointer to the NFQ thread at index.
This function is temporary used as configuration parser.
number | idx of the queue in our array |
ptr | pointer to the NFQThreadVars at index |
NULL | on error |
Definition at line 962 of file source-nfq.c.
References unlikely.
Referenced by RunModeIpsNFQAutoFp(), and RunModeIpsNFQWorker().
void NFQInitConfig | ( | bool | quiet | ) |
To initialize the NFQ global configuration data.
quiet | It tells the mode of operation, if it is TRUE nothing will be get printed. |
Definition at line 206 of file source-nfq.c.
References NFQCnf_::batchcount, NFQCnf_::bypass_mark, NFQCnf_::bypass_mask, ConfGet(), ConfGetBool(), ConfGetInt(), FatalError, NFQCnf_::flags, NFQCnf_::mark, NFQCnf_::mask, NFQCnf_::mode, NFQCnf_::next_queue, NFQ_ACCEPT_MODE, nfq_config, NFQ_FLAG_FAIL_OPEN, NFQ_REPEAT_MODE, NFQ_ROUTE_MODE, SCLogDebug, SCLogError, SCLogInfo, and SCLogWarning.
int NFQParseAndRegisterQueues | ( | const char * | queues | ) |
Parses and adds Netfilter queue(s).
string | with the queue number or range |
0 | on success. |
-1 | on failure. |
Definition at line 879 of file source-nfq.c.
References SCLogError, and SCRealloc.
int NFQRegisterQueue | ( | const uint16_t | number | ) |
Add a single Netfilter queue.
string | with the queue number |
0 | on success. |
-1 | on failure. |
Definition at line 823 of file source-nfq.c.
References UtilCpuGetNumProcessorsOnline().
void TmModuleDecodeNFQRegister | ( | void | ) |
Definition at line 192 of file source-nfq.c.
References TmModule_::name, TmModule_::ThreadInit, TMM_DECODENFQ, and tmm_modules.
Referenced by RegisterAllModules().
void TmModuleReceiveNFQRegister | ( | void | ) |
Definition at line 169 of file source-nfq.c.
Referenced by RegisterAllModules().
void TmModuleVerdictNFQRegister | ( | void | ) |
Definition at line 184 of file source-nfq.c.
References TmModule_::name, TmModule_::ThreadInit, tmm_modules, and TMM_VERDICTNFQ.
Referenced by RegisterAllModules().
NFQCnf nfq_config |
Definition at line 167 of file source-nfq.c.
Referenced by NFQInitConfig().