suricata
|
Utility functions to handle device list. More...
#include "suricata-common.h"
#include "conf.h"
#include "util-device.h"
#include "util-ioctl.h"
#include "util-misc.h"
#include "util-dpdk.h"
#include "device-storage.h"
#include "util-debug.h"
Go to the source code of this file.
Macros | |
#define | MAX_DEVNAME 10 |
Functions | |
void | LiveSetOffloadDisable (void) |
void | LiveSetOffloadWarn (void) |
int | LiveGetOffload (void) |
int | LiveRegisterDeviceName (const char *dev) |
Add a device for monitoring. More... | |
int | LiveRegisterDevice (const char *dev) |
Add a pcap device for monitoring and create structure. More... | |
int | LiveGetDeviceCount (void) |
Get the number of registered devices. More... | |
const char * | LiveGetDeviceName (int number) |
Get a pointer to the device name at idx. More... | |
LiveDevice * | LiveGetDevice (const char *name) |
Get a pointer to the device at idx. More... | |
const char * | LiveGetShortName (const char *dev) |
int | LiveBuildDeviceList (const char *runmode) |
int | LiveBuildDeviceListCustom (const char *runmode, const char *itemname) |
void | LiveDeviceHasNoStats (void) |
int | LiveDeviceListClean (void) |
LiveDevice * | LiveDeviceForEach (LiveDevice **ldev, LiveDevice **ndev) |
void | LiveDeviceFinalize (void) |
void | LiveDevRegisterExtension (void) |
int | LiveDevUseBypass (LiveDevice *dev) |
void | LiveDevAddBypassStats (LiveDevice *dev, uint64_t cnt, int family) |
void | LiveDevSubBypassStats (LiveDevice *dev, uint64_t cnt, int family) |
void | LiveDevAddBypassFail (LiveDevice *dev, uint64_t cnt, int family) |
void | LiveDevAddBypassSuccess (LiveDevice *dev, uint64_t cnt, int family) |
Variables | |
BypassInfo | |
Utility functions to handle device list.
Definition in file util-device.c.
#define MAX_DEVNAME 10 |
Definition at line 29 of file util-device.c.
int LiveBuildDeviceList | ( | const char * | runmode | ) |
Definition at line 274 of file util-device.c.
References LiveBuildDeviceListCustom().
int LiveBuildDeviceListCustom | ( | const char * | runmode, |
const char * | itemname | ||
) |
Definition at line 279 of file util-device.c.
Referenced by LiveBuildDeviceList().
void LiveDevAddBypassFail | ( | LiveDevice * | dev, |
uint64_t | cnt, | ||
int | family | ||
) |
Increase number of failed captured flows for a protocol family
dev | pointer to LiveDevice to set stats for |
cnt | number of flows to add |
family | AF_INET to set IPv4 count or AF_INET6 to set IPv6 count |
Definition at line 534 of file util-device.c.
References BypassInfo, and LiveDevGetStorageById().
void LiveDevAddBypassStats | ( | LiveDevice * | dev, |
uint64_t | cnt, | ||
int | family | ||
) |
Increase number of currently bypassed flows for a protocol family
dev | pointer to LiveDevice to set stats for |
cnt | number of flows to add |
family | AF_INET to set IPv4 count or AF_INET6 to set IPv6 count |
Definition at line 496 of file util-device.c.
References BypassInfo, and LiveDevGetStorageById().
void LiveDevAddBypassSuccess | ( | LiveDevice * | dev, |
uint64_t | cnt, | ||
int | family | ||
) |
Increase number of currently successfully bypassed flows for a protocol family
dev | pointer to LiveDevice to set stats for |
cnt | number of flows to add |
family | AF_INET to set IPv4 count or AF_INET6 to set IPv6 count |
Definition at line 553 of file util-device.c.
References BypassInfo, and LiveDevGetStorageById().
void LiveDeviceFinalize | ( | void | ) |
Create registered devices
This function creates all needed LiveDevice from the LiveDeviceName list created via LiveRegisterDevice()
Definition at line 442 of file util-device.c.
References LiveDeviceName_::dev, LiveRegisterDevice(), next, SCFree, SCLogDebug, and TAILQ_FOREACH_SAFE.
Referenced by PostConfLoadedSetup().
LiveDevice* LiveDeviceForEach | ( | LiveDevice ** | ldev, |
LiveDevice ** | ndev | ||
) |
Definition at line 420 of file util-device.c.
References next, TAILQ_FIRST, and TAILQ_NEXT.
void LiveDeviceHasNoStats | ( | void | ) |
Call this function to disable stat on live devices
This can be useful in the case, this is not a real interface.
Definition at line 309 of file util-device.c.
Referenced by RunModeIpsIPFWAutoFp(), RunModeIpsIPFWWorker(), RunModeIpsNFQAutoFp(), RunModeIpsNFQWorker(), and RunModeIpsWinDivertAutoFp().
int LiveDeviceListClean | ( | void | ) |
Definition at line 314 of file util-device.c.
References DPDKCloseDevice(), next, SCEnter, TAILQ_FOREACH, and TAILQ_FOREACH_SAFE.
Referenced by GlobalsDestroy().
void LiveDevRegisterExtension | ( | void | ) |
Register bypass stats storage
Definition at line 465 of file util-device.c.
Referenced by PostConfLoadedSetup().
void LiveDevSubBypassStats | ( | LiveDevice * | dev, |
uint64_t | cnt, | ||
int | family | ||
) |
Decrease number of currently bypassed flows for a protocol family
dev | pointer to LiveDevice to set stats for |
cnt | number of flows to remove |
family | AF_INET to set IPv4 count or AF_INET6 to set IPv6 count |
Definition at line 515 of file util-device.c.
References BypassInfo, and LiveDevGetStorageById().
int LiveDevUseBypass | ( | LiveDevice * | dev | ) |
Prepare a LiveDevice so we can set bypass stats
Definition at line 474 of file util-device.c.
References BypassInfo, LiveDevSetStorageById(), SC_ATOMIC_INIT, SCCalloc, and SCLogError.
LiveDevice* LiveGetDevice | ( | const char * | name | ) |
Get a pointer to the device at idx.
number | idx of the device in our list |
ptr | pointer to the string containing the device |
NULL | on error |
Definition at line 248 of file util-device.c.
References LiveDevice_::dev, next, SCLogWarning, and TAILQ_FOREACH.
Referenced by LiveGetShortName(), and ReceiveErfDagThreadInit().
int LiveGetDeviceCount | ( | void | ) |
Get the number of registered devices.
cnt | the number of registered devices |
Definition at line 164 of file util-device.c.
References next, and TAILQ_FOREACH.
Referenced by LiveRegisterDevice(), RunModeSetIPSAutoFp(), RunModeSetIPSWorker(), RunModeSetLiveCaptureAutoFp(), RunModeSetLiveCaptureSingle(), and RunModeSetLiveCaptureWorkers().
const char* LiveGetDeviceName | ( | int | number | ) |
Get a pointer to the device name at idx.
number | idx of the device in our list |
ptr | pointer to the string containing the device |
NULL | on error |
Definition at line 184 of file util-device.c.
References LiveDevice_::dev, next, and TAILQ_FOREACH.
Referenced by RunModeSetIPSAutoFp(), RunModeSetIPSWorker(), RunModeSetLiveCaptureAutoFp(), RunModeSetLiveCaptureSingle(), and RunModeSetLiveCaptureWorkers().
int LiveGetOffload | ( | void | ) |
Definition at line 81 of file util-device.c.
const char* LiveGetShortName | ( | const char * | dev | ) |
Definition at line 266 of file util-device.c.
References LiveDevice_::dev_short, and LiveGetDevice().
Referenced by RunModeSetLiveCaptureAutoFp().
int LiveRegisterDevice | ( | const char * | dev | ) |
Add a pcap device for monitoring and create structure.
dev | string with the device name |
0 | on success. |
-1 | on failure. |
Definition at line 126 of file util-device.c.
References LiveDevice_::dev, LiveDevStorageSize(), LiveGetDeviceCount(), SCCalloc, SCFree, SCStrdup, and unlikely.
Referenced by LiveDeviceFinalize().
int LiveRegisterDeviceName | ( | const char * | dev | ) |
Add a device for monitoring.
To be used during option parsing. When a device has to be created during runmode init, use LiveRegisterDevice()
dev | string with the device name |
0 | on success. |
-1 | on failure. |
Definition at line 97 of file util-device.c.
References LiveDeviceName_::dev, next, SCCalloc, SCFree, SCLogDebug, SCStrdup, TAILQ_INSERT_TAIL, and unlikely.
Referenced by SCParseCommandLine().
void LiveSetOffloadDisable | ( | void | ) |
Definition at line 71 of file util-device.c.
Referenced by PostConfLoadedSetup().
void LiveSetOffloadWarn | ( | void | ) |
Definition at line 76 of file util-device.c.
Referenced by PostConfLoadedSetup().
BypassInfo |
Definition at line 60 of file util-device.c.
Referenced by LiveDevAddBypassFail(), LiveDevAddBypassStats(), LiveDevAddBypassSuccess(), LiveDevSubBypassStats(), and LiveDevUseBypass().