brintos

brintos / linux-shallow public Read only

0
0
Text · 1.0 KiB · 8415730 Raw
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