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