44 lines
674 B
C
44 lines
674 B
C
//
|
|
// Created by xajhuang on 2023/3/18.
|
|
//
|
|
|
|
#ifndef VCPE_VLAN_H
|
|
#define VCPE_VLAN_H
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#include <netinet/ip.h>
|
|
#include <netinet/udp.h>
|
|
#include <linux/if_ether.h>
|
|
#include "common.h"
|
|
|
|
#define VLAN_SUPPORT (0)
|
|
|
|
#pragma pack(push)
|
|
#pragma pack(1)
|
|
|
|
#define VXLAN_VIN_ID_PACK(x) ((ntohs(x)) & 0xFFF)
|
|
|
|
typedef struct vlan_hdr {
|
|
#if VLAN_SUPPORT
|
|
U16 id;
|
|
U16 type;
|
|
#endif
|
|
} VLAN_HDR, *PVLAN_HDR;
|
|
|
|
typedef struct {
|
|
struct ethhdr eth;
|
|
#if VLAN_SUPPORT
|
|
struct vlan_hdr vlan;
|
|
#endif
|
|
struct iphdr ip;
|
|
struct udphdr udp;
|
|
} VLAN_PKG_HDR, *PVLAN_PKG_HDR;
|
|
|
|
#pragma pack(pop)
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif //VCPE_VLAN_H
|