|
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-private.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 104 of file source-nfq.c.
| #define NFQ_BURST_FACTOR 4 |
Definition at line 109 of file source-nfq.c.
| #define NFQ_FLAG_FAIL_OPEN (1 << 0) |
Definition at line 156 of file source-nfq.c.
| #define NFQ_VERDICT_RETRY_COUNT 3 |
Definition at line 105 of file source-nfq.c.
| #define NFQMutexLock | ( | nq | ) |
Definition at line 389 of file source-nfq.c.
| #define NFQMutexUnlock | ( | nq | ) |
Definition at line 394 of file source-nfq.c.
| #define SOL_NETLINK 270 |
Definition at line 112 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 149 of file source-nfq.c.
| void NFQContextsClean | ( | void | ) |
Clean global contexts. Must be called on exit.
Definition at line 1303 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 946 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 964 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 208 of file source-nfq.c.
References NFQCnf_::batchcount, NFQCnf_::bypass_mark, NFQCnf_::bypass_mask, 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, SCConfGet(), SCConfGetBool(), SCConfGetInt(), 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 881 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 825 of file source-nfq.c.
References UtilCpuGetNumProcessorsOnline().

| void TmModuleDecodeNFQRegister | ( | void | ) |
Definition at line 194 of file source-nfq.c.
References TmModule_::name, TmModule_::ThreadInit, TMM_DECODENFQ, and tmm_modules.
Referenced by RegisterAllModules().

| void TmModuleReceiveNFQRegister | ( | void | ) |
Definition at line 170 of file source-nfq.c.
Referenced by RegisterAllModules().

| void TmModuleVerdictNFQRegister | ( | void | ) |
Definition at line 185 of file source-nfq.c.
References TmModule_::name, TmModule_::ThreadInit, tmm_modules, and TMM_VERDICTNFQ.
Referenced by RegisterAllModules().

| NFQCnf nfq_config |
Definition at line 168 of file source-nfq.c.
Referenced by NFQInitConfig().