Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v4.11-rc5 66 lines 1.6 kB view raw
1#ifndef __LINUX_TC_PED_H 2#define __LINUX_TC_PED_H 3 4#include <linux/types.h> 5#include <linux/pkt_cls.h> 6 7#define TCA_ACT_PEDIT 7 8 9enum { 10 TCA_PEDIT_UNSPEC, 11 TCA_PEDIT_TM, 12 TCA_PEDIT_PARMS, 13 TCA_PEDIT_PAD, 14 TCA_PEDIT_PARMS_EX, 15 TCA_PEDIT_KEYS_EX, 16 TCA_PEDIT_KEY_EX, 17 __TCA_PEDIT_MAX 18}; 19#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1) 20 21enum { 22 TCA_PEDIT_KEY_EX_HTYPE = 1, 23 TCA_PEDIT_KEY_EX_CMD = 2, 24 __TCA_PEDIT_KEY_EX_MAX 25}; 26#define TCA_PEDIT_KEY_EX_MAX (__TCA_PEDIT_KEY_EX_MAX - 1) 27 28 /* TCA_PEDIT_KEY_EX_HDR_TYPE_NETWROK is a special case for legacy users. It 29 * means no specific header type - offset is relative to the network layer 30 */ 31enum pedit_header_type { 32 TCA_PEDIT_KEY_EX_HDR_TYPE_NETWORK = 0, 33 TCA_PEDIT_KEY_EX_HDR_TYPE_ETH = 1, 34 TCA_PEDIT_KEY_EX_HDR_TYPE_IP4 = 2, 35 TCA_PEDIT_KEY_EX_HDR_TYPE_IP6 = 3, 36 TCA_PEDIT_KEY_EX_HDR_TYPE_TCP = 4, 37 TCA_PEDIT_KEY_EX_HDR_TYPE_UDP = 5, 38 __PEDIT_HDR_TYPE_MAX, 39}; 40#define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1) 41 42enum pedit_cmd { 43 TCA_PEDIT_KEY_EX_CMD_SET = 0, 44 TCA_PEDIT_KEY_EX_CMD_ADD = 1, 45 __PEDIT_CMD_MAX, 46}; 47#define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1) 48 49struct tc_pedit_key { 50 __u32 mask; /* AND */ 51 __u32 val; /*XOR */ 52 __u32 off; /*offset */ 53 __u32 at; 54 __u32 offmask; 55 __u32 shift; 56}; 57 58struct tc_pedit_sel { 59 tc_gen; 60 unsigned char nkeys; 61 unsigned char flags; 62 struct tc_pedit_key keys[0]; 63}; 64#define tc_pedit tc_pedit_sel 65 66#endif