cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

tc_pedit.h (1527B)


      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
      8enum {
      9	TCA_PEDIT_UNSPEC,
     10	TCA_PEDIT_TM,
     11	TCA_PEDIT_PARMS,
     12	TCA_PEDIT_PAD,
     13	TCA_PEDIT_PARMS_EX,
     14	TCA_PEDIT_KEYS_EX,
     15	TCA_PEDIT_KEY_EX,
     16	__TCA_PEDIT_MAX
     17};
     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
     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
     42#define TCA_PEDIT_HDR_TYPE_MAX (__PEDIT_HDR_TYPE_MAX - 1)
     43
     44enum pedit_cmd {
     45	TCA_PEDIT_KEY_EX_CMD_SET = 0,
     46	TCA_PEDIT_KEY_EX_CMD_ADD = 1,
     47	__PEDIT_CMD_MAX,
     48};
     49
     50#define TCA_PEDIT_CMD_MAX (__PEDIT_CMD_MAX - 1)
     51
     52struct tc_pedit_key {
     53	__u32           mask;  /* AND */
     54	__u32           val;   /*XOR */
     55	__u32           off;  /*offset */
     56	__u32           at;
     57	__u32           offmask;
     58	__u32           shift;
     59};
     60
     61struct tc_pedit_sel {
     62	tc_gen;
     63	unsigned char           nkeys;
     64	unsigned char           flags;
     65	struct tc_pedit_key     keys[0];
     66};
     67
     68#define tc_pedit tc_pedit_sel
     69
     70#endif