|
suricata
|


Go to the source code of this file.
Data Structures | |
| struct | Host_ |
| struct | HostHashRow_ |
| struct | HostConfig_ |
Macros | |
| #define | HRLOCK_MUTEX |
| #define | HRLOCK_TYPE SCMutex |
| #define | HRLOCK_INIT(fb) SCMutexInit(&(fb)->lock, NULL) |
| #define | HRLOCK_DESTROY(fb) SCMutexDestroy(&(fb)->lock) |
| #define | HRLOCK_LOCK(fb) SCMutexLock(&(fb)->lock) |
| #define | HRLOCK_TRYLOCK(fb) SCMutexTrylock(&(fb)->lock) |
| #define | HRLOCK_UNLOCK(fb) SCMutexUnlock(&(fb)->lock) |
| #define | HOST_VERBOSE 0 |
| #define | HOST_QUIET 1 |
| #define | HOST_CHECK_MEMCAP(size) ((((uint64_t)SC_ATOMIC_GET(host_memuse) + (uint64_t)(size)) <= SC_ATOMIC_GET(host_config.memcap))) |
| check if a memory alloc would fit in the memcap More... | |
| #define | HostIncrUsecnt(h) (void)SC_ATOMIC_ADD((h)->use_cnt, 1) |
| #define | HostDecrUsecnt(h) (void)SC_ATOMIC_SUB((h)->use_cnt, 1) |
| #define | HostReference(dst_h_ptr, h) |
| #define | HostDeReference(src_h_ptr) |
Typedefs | |
| typedef struct Host_ | Host |
| typedef struct HostConfig_ | HostConfig |
Functions | |
| struct HostHashRow_ | __attribute__ ((aligned(CLS))) HostHashRow |
| SC_ATOMIC_EXTERN (uint64_t, host_memuse) | |
| SC_ATOMIC_EXTERN (uint32_t, host_counter) | |
| SC_ATOMIC_EXTERN (uint32_t, host_prune_idx) | |
| void | HostInitConfig (bool quiet) |
| initialize the configuration More... | |
| void | HostShutdown (void) |
| shutdown the flow engine More... | |
| void | HostCleanup (void) |
| Cleanup the host engine. More... | |
| Host * | HostLookupHostFromHash (Address *) |
| look up a host in the hash More... | |
| Host * | HostGetHostFromHash (Address *) |
| void | HostRelease (Host *) |
| void | HostLock (Host *) |
| void | HostClearMemory (Host *) |
| void | HostMoveToSpare (Host *) |
| void | HostPrintStats (void) |
| print some host stats More... | |
| void | HostRegisterUnittests (void) |
| Host * | HostAlloc (void) |
| void | HostFree (Host *) |
| void | HostUnlock (Host *h) |
| int | HostSetMemcap (uint64_t) |
| Update memcap value. More... | |
| uint64_t | HostGetMemcap (void) |
| Return memcap value. More... | |
| uint64_t | HostGetMemuse (void) |
| Return memuse value. More... | |
Variables | |
| HRLOCK_TYPE | lock |
| Host * | head |
| Host * | tail |
| HostHashRow * | host_hash |
| HostConfig | host_config |
Definition in file host.h.
| #define HOST_CHECK_MEMCAP | ( | size | ) | ((((uint64_t)SC_ATOMIC_GET(host_memuse) + (uint64_t)(size)) <= SC_ATOMIC_GET(host_config.memcap))) |
| #define HostDecrUsecnt | ( | h | ) | (void)SC_ATOMIC_SUB((h)->use_cnt, 1) |
| #define HostDeReference | ( | src_h_ptr | ) |
| #define HostIncrUsecnt | ( | h | ) | (void)SC_ATOMIC_ADD((h)->use_cnt, 1) |
| #define HostReference | ( | dst_h_ptr, | |
| h | |||
| ) |
| #define HRLOCK_DESTROY | ( | fb | ) | SCMutexDestroy(&(fb)->lock) |
| #define HRLOCK_INIT | ( | fb | ) | SCMutexInit(&(fb)->lock, NULL) |
| #define HRLOCK_LOCK | ( | fb | ) | SCMutexLock(&(fb)->lock) |
| #define HRLOCK_TRYLOCK | ( | fb | ) | SCMutexTrylock(&(fb)->lock) |
| #define HRLOCK_UNLOCK | ( | fb | ) | SCMutexUnlock(&(fb)->lock) |
| typedef struct HostConfig_ HostConfig |
| struct HostHashRow_ __attribute__ | ( | (aligned(CLS)) | ) |
Definition at line 2092 of file tm-threads.c.
| Host* HostAlloc | ( | void | ) |
Definition at line 106 of file host.c.
References HOST_CHECK_MEMCAP.
| void HostCleanup | ( | void | ) |
Cleanup the host engine.
Cleanup the host engine from tag and threshold.
Definition at line 332 of file host.c.
References HostConfig_::hash_size, Host_::hnext, host_config, host_hash, HostClearMemory(), HostFreeStorage(), HostMoveToSpare(), Host_::hprev, HRLOCK_LOCK, HRLOCK_UNLOCK, Host_::iprep, and SC_ATOMIC_GET.

| void HostClearMemory | ( | Host * | ) |
Definition at line 150 of file host.c.
References BUG_ON, HostFreeStorage(), HostStorageSize(), Host_::iprep, SC_ATOMIC_GET, and SRepFreeHostData().
Referenced by HostCleanup(), and HostFree().


| void HostFree | ( | Host * | ) |
Definition at line 125 of file host.c.
References HostClearMemory(), Host_::m, SC_ATOMIC_SUB, SCFree, and SCMutexDestroy.

Definition at line 486 of file host.c.
Referenced by TagHashAddTag().

| uint64_t HostGetMemcap | ( | void | ) |
Return memcap value.
| memcap | value |
Definition at line 83 of file host.c.
References host_config, and SC_ATOMIC_GET.
Referenced by AppLayerRegisterGlobalCounters().

| uint64_t HostGetMemuse | ( | void | ) |
Return memuse value.
| memuse | value |
Definition at line 94 of file host.c.
References SC_ATOMIC_GET.
Referenced by AppLayerRegisterGlobalCounters().

| void HostInitConfig | ( | bool | quiet | ) |
initialize the configuration
set config values for memcap, prealloc and hash_size
Definition at line 168 of file host.c.
References DEBUG_VALIDATE_BUG_ON, HostStorageSize(), and SCLogDebug.

| void HostLock | ( | Host * | ) |
Definition at line 467 of file host.c.
References Host_::m, and SCMutexLock.
| void HostMoveToSpare | ( | Host * | ) |
Definition at line 100 of file host.c.
References HostEnqueue().
Referenced by HostCleanup().


| void HostPrintStats | ( | void | ) |
print some host stats
Definition at line 284 of file host.c.
References host_config, SC_ATOMIC_GET, and SCLogPerf.
Referenced by HostShutdown().

| void HostRegisterUnittests | ( | void | ) |
Definition at line 717 of file host.c.
References RegisterHostStorageTests().

| void HostRelease | ( | Host * | ) |
Definition at line 461 of file host.c.
References HostDecrUsecnt, Host_::m, and SCMutexUnlock.
| int HostSetMemcap | ( | uint64_t | size | ) |
Update memcap value.
| size | new memcap value |
Definition at line 68 of file host.c.
References host_config, SC_ATOMIC_GET, and SC_ATOMIC_SET.
| void HostShutdown | ( | void | ) |
shutdown the flow engine
Definition at line 296 of file host.c.
References HostDequeue(), and HostPrintStats().
Referenced by GlobalsDestroy().


| void HostUnlock | ( | Host * | h | ) |
Definition at line 472 of file host.c.
References Host_::m, and SCMutexUnlock.
| SC_ATOMIC_EXTERN | ( | uint32_t | , |
| host_counter | |||
| ) |
| SC_ATOMIC_EXTERN | ( | uint32_t | , |
| host_prune_idx | |||
| ) |
| SC_ATOMIC_EXTERN | ( | uint64_t | , |
| host_memuse | |||
| ) |
| HostConfig host_config |
Definition at line 53 of file host.c.
Referenced by HostCleanup(), HostGetMemcap(), HostPrintStats(), HostSetMemcap(), and HostTimeoutHash().
| HostHashRow* host_hash |
host hash table
Definition at line 50 of file host.c.
Referenced by HostCleanup(), and HostTimeoutHash().
| HRLOCK_TYPE lock |