tc_em_meta.h revision c428e91b5ef4e5a5b818f76c7511c89cd96d6757
1effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#ifndef __LINUX_TC_EM_META_H 2effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define __LINUX_TC_EM_META_H 3effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 4effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#include <linux/pkt_cls.h> 5effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 6effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochenum 7effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch{ 8c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch TCA_EM_META_UNSPEC, 9c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch TCA_EM_META_HDR, 10c5cede9ae108bb15f6b7a8aea21c7e1fefa2834cBen Murdoch TCA_EM_META_LVALUE, 11effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCA_EM_META_RVALUE, 12effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __TCA_EM_META_MAX 13effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}; 141320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci#define TCA_EM_META_MAX (__TCA_EM_META_MAX - 1) 15effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 16effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochstruct tcf_meta_val 17effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch{ 18effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __u16 kind; 19effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __u8 shift; 20effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __u8 op; 21effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}; 22effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 23effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define TCF_META_TYPE_MASK (0xf << 12) 24effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define TCF_META_TYPE(kind) (((kind) & TCF_META_TYPE_MASK) >> 12) 25effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define TCF_META_ID_MASK 0x7ff 26effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define TCF_META_ID(kind) ((kind) & TCF_META_ID_MASK) 27effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 28effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochenum 29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles){ 30effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_TYPE_VAR, 31effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_TYPE_INT, 32effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __TCF_META_TYPE_MAX 33effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}; 34effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define TCF_META_TYPE_MAX (__TCF_META_TYPE_MAX - 1) 355f1c94371a64b3196d4be9466099bb892df9b88eTorne (Richard Coles) 36effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochenum 37effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch{ 38effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_VALUE, 39effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_RANDOM, 40effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_LOADAVG_0, 41effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_LOADAVG_1, 42effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_LOADAVG_2, 43effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_DEV, 44effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_INDEV, 45effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_REALDEV, 46effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_PRIORITY, 47effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_PROTOCOL, 48effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SECURITY, 49effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_PKTTYPE, 500529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch TCF_META_ID_PKTLEN, 51effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_DATALEN, 52effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_MACLEN, 53effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_NFMARK, 5403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) TCF_META_ID_TCINDEX, 55effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_TCVERDICT, 56effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_TCCLASSID, 57effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_RTCLASSID, 58effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_RTIIF, 59effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_FAMILY, 60effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_STATE, 61effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_REUSE, 62effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_BOUND_IF, 63effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_REFCNT, 64effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_SHUTDOWN, 65effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_PROTO, 66effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_TYPE, 67effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_RCVBUF, 68effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_RMEM_ALLOC, 69effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_WMEM_ALLOC, 70effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_OMEM_ALLOC, 71effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_WMEM_QUEUED, 72effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_RCV_QLEN, 73effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_SND_QLEN, 74effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_ERR_QLEN, 75effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_FORWARD_ALLOCS, 76effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_SNDBUF, 77effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_ALLOCS, 78effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_ROUTE_CAPS, 79effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_HASHENT, 80effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_LINGERTIME, 81effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_ACK_BACKLOG, 82effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_MAX_ACK_BACKLOG, 83effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_PRIO, 84effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_RCVLOWAT, 85effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_RCVTIMEO, 86effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_SNDTIMEO, 87effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_SENDMSG_OFF, 88effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch TCF_META_ID_SK_WRITE_PENDING, 89effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch __TCF_META_ID_MAX 90effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}; 91effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1) 92effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 93effb81e5f8246d0db0270817048dc992db66e9fbBen Murdochstruct tcf_meta_hdr 94effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch{ 95effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch struct tcf_meta_val left; 96effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch struct tcf_meta_val right; 97effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch}; 98effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch 99effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch#endif 100effb81e5f8246d0db0270817048dc992db66e9fbBen Murdoch