1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
- /*
- * ERSPAN Tunnel Metadata
- *
- * Copyright (c) 2018 VMware
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation.
- *
- * Userspace API for metadata mode ERSPAN tunnel
- */
- #ifndef _UAPI_ERSPAN_H
- #define _UAPI_ERSPAN_H
- #include <linux/types.h> /* For __beXX in userspace */
- #include <asm/byteorder.h>
- /* ERSPAN version 2 metadata header */
- struct erspan_md2 {
- __be32 timestamp;
- __be16 sgt; /* security group tag */
- #if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 hwid_upper:2,
- ft:5,
- p:1;
- __u8 o:1,
- gra:2,
- dir:1,
- hwid:4;
- #elif defined(__BIG_ENDIAN_BITFIELD)
- __u8 p:1,
- ft:5,
- hwid_upper:2;
- __u8 hwid:4,
- dir:1,
- gra:2,
- o:1;
- #else
- #error "Please fix <asm/byteorder.h>"
- #endif
- };
- struct erspan_metadata {
- int version;
- union {
- __be32 index; /* Version 1 (type II)*/
- struct erspan_md2 md2; /* Version 2 (type III) */
- } u;
- };
- #endif /* _UAPI_ERSPAN_H */
|