From mboxrd@z Thu Jan 1 00:00:00 1970 From: William Tu Subject: [PATCH bpf-next] tools include uapi: Grab a copy of linux/erspan.h Date: Mon, 30 Apr 2018 07:26:23 -0700 Message-ID: <1525098383-16368-1-git-send-email-u9012063@gmail.com> To: netdev@vger.kernel.org Return-path: Received: from mail-io0-f196.google.com ([209.85.223.196]:38175 "EHLO mail-io0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754452AbeD3O0t (ORCPT ); Mon, 30 Apr 2018 10:26:49 -0400 Received: by mail-io0-f196.google.com with SMTP id z4-v6so10367137iof.5 for ; Mon, 30 Apr 2018 07:26:49 -0700 (PDT) Received: from sc9-mailhost2.vmware.com (c-73-231-16-221.hsd1.ca.comcast.net. [73.231.16.221]) by smtp.gmail.com with ESMTPSA id g200-v6sm344026itb.26.2018.04.30.07.26.48 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 30 Apr 2018 07:26:48 -0700 (PDT) Sender: netdev-owner@vger.kernel.org List-ID: Bring the erspan uapi header file so BPF tunnel helpers can use it. Fixes: 933a741e3b82 ("selftests/bpf: bpf tunnel test.") Reported-by: Yonghong Song Signed-off-by: William Tu --- tools/include/uapi/linux/erspan.h | 52 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 tools/include/uapi/linux/erspan.h diff --git a/tools/include/uapi/linux/erspan.h b/tools/include/uapi/linux/erspan.h new file mode 100644 index 000000000000..841573019ae1 --- /dev/null +++ b/tools/include/uapi/linux/erspan.h @@ -0,0 +1,52 @@ +/* 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 /* For __beXX in userspace */ +#include + +/* 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 " +#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 */ -- 2.7.4