suricata
decode-vxlan.c File Reference
#include "suricata-common.h"
#include "decode.h"
#include "decode-vxlan.h"
#include "decode-events.h"
#include "detect-engine-port.h"
#include "flow.h"
#include "util-unittest.h"
#include "util-debug.h"
#include "pkt-var.h"
#include "util-profiling.h"
#include "host.h"
Include dependency graph for decode-vxlan.c:

Go to the source code of this file.

Data Structures

struct  VXLANHeader_
 

Macros

#define VXLAN_HEADER_LEN   sizeof(VXLANHeader)
 
#define VXLAN_MAX_PORTS   4
 
#define VXLAN_UNSET_PORT   -1
 
#define VXLAN_DEFAULT_PORT   4789
 
#define VXLAN_DEFAULT_PORT_S   "4789"
 

Typedefs

typedef struct VXLANHeader_ VXLANHeader
 

Functions

bool DecodeVXLANEnabledForPort (const uint16_t sp, const uint16_t dp)
 
void DecodeVXLANConfig (void)
 
int DecodeVXLAN (ThreadVars *tv, DecodeThreadVars *dtv, Packet *p, const uint8_t *pkt, uint32_t len)
 
void DecodeVXLANRegisterTests (void)
 

Detailed Description

Author
Henrik Kramshoej hlk@k.nosp@m.rams.nosp@m.e.org

VXLAN tunneling scheme decoder.

This implementation is based on the following specification doc: https://tools.ietf.org/html/draft-mahalingam-dutt-dcops-vxlan-00

Definition in file decode-vxlan.c.

Macro Definition Documentation

◆ VXLAN_DEFAULT_PORT

#define VXLAN_DEFAULT_PORT   4789

Definition at line 50 of file decode-vxlan.c.

◆ VXLAN_DEFAULT_PORT_S

#define VXLAN_DEFAULT_PORT_S   "4789"

Definition at line 51 of file decode-vxlan.c.

◆ VXLAN_HEADER_LEN

#define VXLAN_HEADER_LEN   sizeof(VXLANHeader)

Definition at line 46 of file decode-vxlan.c.

◆ VXLAN_MAX_PORTS

#define VXLAN_MAX_PORTS   4

Definition at line 48 of file decode-vxlan.c.

◆ VXLAN_UNSET_PORT

#define VXLAN_UNSET_PORT   -1

Definition at line 49 of file decode-vxlan.c.

Typedef Documentation

◆ VXLANHeader

typedef struct VXLANHeader_ VXLANHeader

Function Documentation

◆ DecodeVXLAN()

int DecodeVXLAN ( ThreadVars tv,
DecodeThreadVars dtv,
Packet p,
const uint8_t *  pkt,
uint32_t  len 
)
Parameters
pktpayload data directly above UDP header
lenlength in bytes of pkt

Definition at line 125 of file decode-vxlan.c.

References DECODE_TUNNEL_UNSET, eth_type, unlikely, and VXLAN_HEADER_LEN.

◆ DecodeVXLANConfig()

void DecodeVXLANConfig ( void  )

Definition at line 101 of file decode-vxlan.c.

References ConfGetBool().

Referenced by DecodeGlobalConfig().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ DecodeVXLANEnabledForPort()

bool DecodeVXLANEnabledForPort ( const uint16_t  sp,
const uint16_t  dp 
)

Definition at line 64 of file decode-vxlan.c.

References SCLogDebug.

◆ DecodeVXLANRegisterTests()

void DecodeVXLANRegisterTests ( void  )

Definition at line 276 of file decode-vxlan.c.

References UtRegisterTest().

Here is the call graph for this function: