Add VXLAN utils

This commit is contained in:
luwenpeng
2024-06-05 14:36:04 +08:00
parent bb469ca1ed
commit 3ce5ed11db
4 changed files with 123 additions and 8 deletions

View File

@@ -13,6 +13,7 @@
#include "mpls_utils.h"
#include "eth_utils.h"
#include "vlan_utils.h"
#include "vxlan_utils.h"
#define likely(expr) __builtin_expect((expr), 1)
#define unlikely(expr) __builtin_expect((expr), 0)
@@ -1222,14 +1223,6 @@ static inline const char *parse_icmp6(struct packet *pkt, const char *data, uint
static inline const char *parse_vxlan(struct packet *pkt, const char *data, uint16_t len)
{
struct vxlan_hdr
{
uint8_t flags[2];
uint16_t gdp;
uint8_t vni[3];
uint8_t reserved;
} __attribute__((__packed__));
if (unlikely(len < sizeof(struct vxlan_hdr)))
{
PACKET_LOG_DATA_INSUFFICIENCY(pkt, LAYER_TYPE_VXLAN);
@@ -1403,6 +1396,7 @@ void packet_print_str(const struct packet *pkt)
case LAYER_TYPE_ICMP6:
break;
case LAYER_TYPE_VXLAN:
used = vxlan_hdr_to_str((const struct vxlan_hdr *)layer->hdr_ptr, buffer, sizeof(buffer));
break;
case LAYER_TYPE_GTPV1_U:
break;