1 /**************************************************************************** 2 **************************************************************************** 3 *** 4 *** This header was automatically generated from a Linux kernel header 5 *** of the same name, to make information necessary for userspace to 6 *** call into the kernel available to libc. It contains only constants, 7 *** structures, and macros generated from the original header, and thus, 8 *** contains no copyrightable information. 9 *** 10 *** To edit the content of this header, modify the corresponding 11 *** source file (e.g. under external/kernel-headers/original/) then 12 *** run bionic/libc/kernel/tools/update_all.py 13 *** 14 *** Any manual change here will be lost the next time this script will 15 *** be run. You've been warned! 16 *** 17 **************************************************************************** 18 ****************************************************************************/ 19 #ifndef __LINUX_TC_EM_META_H 20 #define __LINUX_TC_EM_META_H 21 #include <linux/types.h> 22 #include <linux/pkt_cls.h> 23 enum { 24 TCA_EM_META_UNSPEC, 25 TCA_EM_META_HDR, 26 TCA_EM_META_LVALUE, 27 TCA_EM_META_RVALUE, 28 __TCA_EM_META_MAX 29 }; 30 #define TCA_EM_META_MAX (__TCA_EM_META_MAX - 1) 31 struct tcf_meta_val { 32 __u16 kind; 33 __u8 shift; 34 __u8 op; 35 }; 36 #define TCF_META_TYPE_MASK (0xf << 12) 37 #define TCF_META_TYPE(kind) (((kind) & TCF_META_TYPE_MASK) >> 12) 38 #define TCF_META_ID_MASK 0x7ff 39 #define TCF_META_ID(kind) ((kind) & TCF_META_ID_MASK) 40 enum { 41 TCF_META_TYPE_VAR, 42 TCF_META_TYPE_INT, 43 __TCF_META_TYPE_MAX 44 }; 45 #define TCF_META_TYPE_MAX (__TCF_META_TYPE_MAX - 1) 46 enum { 47 TCF_META_ID_VALUE, 48 TCF_META_ID_RANDOM, 49 TCF_META_ID_LOADAVG_0, 50 TCF_META_ID_LOADAVG_1, 51 TCF_META_ID_LOADAVG_2, 52 TCF_META_ID_DEV, 53 TCF_META_ID_PRIORITY, 54 TCF_META_ID_PROTOCOL, 55 TCF_META_ID_PKTTYPE, 56 TCF_META_ID_PKTLEN, 57 TCF_META_ID_DATALEN, 58 TCF_META_ID_MACLEN, 59 TCF_META_ID_NFMARK, 60 TCF_META_ID_TCINDEX, 61 TCF_META_ID_RTCLASSID, 62 TCF_META_ID_RTIIF, 63 TCF_META_ID_SK_FAMILY, 64 TCF_META_ID_SK_STATE, 65 TCF_META_ID_SK_REUSE, 66 TCF_META_ID_SK_BOUND_IF, 67 TCF_META_ID_SK_REFCNT, 68 TCF_META_ID_SK_SHUTDOWN, 69 TCF_META_ID_SK_PROTO, 70 TCF_META_ID_SK_TYPE, 71 TCF_META_ID_SK_RCVBUF, 72 TCF_META_ID_SK_RMEM_ALLOC, 73 TCF_META_ID_SK_WMEM_ALLOC, 74 TCF_META_ID_SK_OMEM_ALLOC, 75 TCF_META_ID_SK_WMEM_QUEUED, 76 TCF_META_ID_SK_RCV_QLEN, 77 TCF_META_ID_SK_SND_QLEN, 78 TCF_META_ID_SK_ERR_QLEN, 79 TCF_META_ID_SK_FORWARD_ALLOCS, 80 TCF_META_ID_SK_SNDBUF, 81 TCF_META_ID_SK_ALLOCS, 82 __TCF_META_ID_SK_ROUTE_CAPS, 83 TCF_META_ID_SK_HASH, 84 TCF_META_ID_SK_LINGERTIME, 85 TCF_META_ID_SK_ACK_BACKLOG, 86 TCF_META_ID_SK_MAX_ACK_BACKLOG, 87 TCF_META_ID_SK_PRIO, 88 TCF_META_ID_SK_RCVLOWAT, 89 TCF_META_ID_SK_RCVTIMEO, 90 TCF_META_ID_SK_SNDTIMEO, 91 TCF_META_ID_SK_SENDMSG_OFF, 92 TCF_META_ID_SK_WRITE_PENDING, 93 TCF_META_ID_VLAN_TAG, 94 TCF_META_ID_RXHASH, 95 __TCF_META_ID_MAX 96 }; 97 #define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) 98 struct tcf_meta_hdr { 99 struct tcf_meta_val left; 100 struct tcf_meta_val right; 101 }; 102 #endif 103