53 lines · c
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */2/*3 * ERSPAN Tunnel Metadata4 *5 * Copyright (c) 2018 VMware6 *7 * This program is free software; you can redistribute it and/or modify8 * it under the terms of the GNU General Public License version 29 * as published by the Free Software Foundation.10 *11 * Userspace API for metadata mode ERSPAN tunnel12 */13#ifndef _UAPI_ERSPAN_H14#define _UAPI_ERSPAN_H15 16#include <linux/types.h> /* For __beXX in userspace */17#include <asm/byteorder.h>18 19/* ERSPAN version 2 metadata header */20struct erspan_md2 {21 __be32 timestamp;22 __be16 sgt; /* security group tag */23#if defined(__LITTLE_ENDIAN_BITFIELD)24 __u8 hwid_upper:2,25 ft:5,26 p:1;27 __u8 o:1,28 gra:2,29 dir:1,30 hwid:4;31#elif defined(__BIG_ENDIAN_BITFIELD)32 __u8 p:1,33 ft:5,34 hwid_upper:2;35 __u8 hwid:4,36 dir:1,37 gra:2,38 o:1;39#else40#error "Please fix <asm/byteorder.h>"41#endif42};43 44struct erspan_metadata {45 int version;46 union {47 __be32 index; /* Version 1 (type II)*/48 struct erspan_md2 md2; /* Version 2 (type III) */49 } u;50};51 52#endif /* _UAPI_ERSPAN_H */53