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

rtl819x_Qos.h (3083B)


      1/* SPDX-License-Identifier: GPL-2.0 */
      2/*
      3 * Copyright(c) 2008 - 2010 Realtek Corporation. All rights reserved.
      4 *
      5 * Contact Information: wlanfae <wlanfae@realtek.com>
      6 */
      7#ifndef __INC_QOS_TYPE_H
      8#define __INC_QOS_TYPE_H
      9
     10#define BIT0		    0x00000001
     11#define BIT1		    0x00000002
     12#define BIT2		    0x00000004
     13#define BIT3		    0x00000008
     14#define BIT4		    0x00000010
     15#define BIT5		    0x00000020
     16#define BIT6		    0x00000040
     17#define BIT7		    0x00000080
     18#define BIT8		    0x00000100
     19#define BIT9		    0x00000200
     20#define BIT10		   0x00000400
     21#define BIT11		   0x00000800
     22#define BIT12		   0x00001000
     23#define BIT13		   0x00002000
     24#define BIT14		   0x00004000
     25#define BIT15		   0x00008000
     26#define BIT16		   0x00010000
     27#define BIT17		   0x00020000
     28#define BIT18		   0x00040000
     29#define BIT19		   0x00080000
     30#define BIT20		   0x00100000
     31#define BIT21		   0x00200000
     32#define BIT22		   0x00400000
     33#define BIT23		   0x00800000
     34#define BIT24		   0x01000000
     35#define BIT25		   0x02000000
     36#define BIT26		   0x04000000
     37#define BIT27		   0x08000000
     38#define BIT28		   0x10000000
     39#define BIT29		   0x20000000
     40#define BIT30		   0x40000000
     41#define BIT31		   0x80000000
     42
     43union qos_tsinfo {
     44	u8		charData[3];
     45	struct {
     46		u8		ucTrafficType:1;
     47		u8		ucTSID:4;
     48		u8		ucDirection:2;
     49		u8		ucAccessPolicy:2;
     50		u8		ucAggregation:1;
     51		u8		ucPSB:1;
     52		u8		ucUP:3;
     53		u8		ucTSInfoAckPolicy:2;
     54		u8		ucSchedule:1;
     55		u8		ucReserved:7;
     56	} field;
     57};
     58
     59union tspec_body {
     60	u8		charData[55];
     61
     62	struct {
     63		union qos_tsinfo TSInfo;
     64		u16	NominalMSDUsize;
     65		u16	MaxMSDUsize;
     66		u32	MinServiceItv;
     67		u32	MaxServiceItv;
     68		u32	InactivityItv;
     69		u32	SuspenItv;
     70		u32	ServiceStartTime;
     71		u32	MinDataRate;
     72		u32	MeanDataRate;
     73		u32	PeakDataRate;
     74		u32	MaxBurstSize;
     75		u32	DelayBound;
     76		u32	MinPhyRate;
     77		u16	SurplusBandwidthAllowance;
     78		u16	MediumTime;
     79	} f;
     80};
     81
     82struct octet_string {
     83	u8 *Octet;
     84	u16 Length;
     85};
     86
     87#define AC0_BE	0
     88#define AC1_BK	1
     89#define AC2_VI	2
     90#define AC3_VO	3
     91#define AC_MAX	4
     92
     93enum direction_value {
     94	DIR_UP			= 0,
     95	DIR_DOWN		= 1,
     96	DIR_DIRECT		= 2,
     97	DIR_BI_DIR		= 3,
     98};
     99
    100enum acm_method {
    101	eAcmWay0_SwAndHw		= 0,
    102	eAcmWay1_HW			= 1,
    103	eAcmWay2_SW			= 2,
    104};
    105
    106
    107struct acm {
    108	u64		UsedTime;
    109	u64		MediumTime;
    110	u8		HwAcmCtl;
    111};
    112
    113union qos_tclas {
    114
    115	struct _TYPE_GENERAL {
    116		u8		Priority;
    117		u8		ClassifierType;
    118		u8		Mask;
    119	} TYPE_GENERAL;
    120
    121	struct _TYPE0_ETH {
    122		u8		Priority;
    123		u8		ClassifierType;
    124		u8		Mask;
    125		u8		SrcAddr[ETH_ALEN];
    126		u8		DstAddr[ETH_ALEN];
    127		u16		Type;
    128	} TYPE0_ETH;
    129
    130	struct _TYPE1_IPV4 {
    131		u8		Priority;
    132		u8		ClassifierType;
    133		u8		Mask;
    134		u8		Version;
    135		u8		SrcIP[4];
    136		u8		DstIP[4];
    137		u16		SrcPort;
    138		u16		DstPort;
    139		u8		DSCP;
    140		u8		Protocol;
    141		u8		Reserved;
    142	} TYPE1_IPV4;
    143
    144	struct _TYPE1_IPV6 {
    145		u8		Priority;
    146		u8		ClassifierType;
    147		u8		Mask;
    148		u8		Version;
    149		u8		SrcIP[16];
    150		u8		DstIP[16];
    151		u16		SrcPort;
    152		u16		DstPort;
    153		u8		FlowLabel[3];
    154	} TYPE1_IPV6;
    155
    156	struct _TYPE2_8021Q {
    157		u8		Priority;
    158		u8		ClassifierType;
    159		u8		Mask;
    160		u16		TagType;
    161	} TYPE2_8021Q;
    162};
    163
    164union aci_aifsn {
    165	u8	charData;
    166
    167	struct {
    168		u8	AIFSN:4;
    169		u8	acm:1;
    170		u8	ACI:2;
    171		u8	Reserved:1;
    172	} f;
    173};
    174
    175#endif