FreeBSD kernel CXGBE device code
t4_ioctl.h File Reference
#include <sys/types.h>
#include <net/ethernet.h>
#include <net/bpf.h>
Include dependency graph for t4_ioctl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  t4_reg
 
struct  t4_regdump
 
struct  t4_data
 
struct  t4_bootrom
 
struct  t4_i2c_data
 
struct  t4_filter_tuple
 
struct  t4_filter_specification
 
struct  t4_filter
 
struct  t4_sched_class_params
 
struct  t4_sched_params
 
struct  t4_sched_queue
 
struct  t4_sge_context
 
struct  t4_mem_range
 
struct  t4_trace_params
 
struct  t4_tracer
 
struct  t4_cudbg_dump
 
struct  offload_settings
 
struct  offload_rule
 
struct  t4_offload_policy
 
struct  t4_clip_addr
 

Macros

#define T4_REGDUMP_SIZE   (160 * 1024)
 
#define T5_REGDUMP_SIZE   (332 * 1024)
 
#define T4_FILTER_IPv4   0x1 /* IPv4 packet */
 
#define T4_FILTER_IPv6   0x2 /* IPv6 packet */
 
#define T4_FILTER_IP_SADDR   0x4 /* Source IP address or network */
 
#define T4_FILTER_IP_DADDR   0x8 /* Destination IP address or network */
 
#define T4_FILTER_IP_SPORT   0x10 /* Source IP port */
 
#define T4_FILTER_IP_DPORT   0x20 /* Destination IP port */
 
#define T4_FILTER_FCoE   0x40 /* Fibre Channel over Ethernet packet */
 
#define T4_FILTER_PORT   0x80 /* Physical ingress port */
 
#define T4_FILTER_VNIC   0x100 /* See the IC_* bits towards the end */
 
#define T4_FILTER_VLAN   0x200 /* VLAN ID */
 
#define T4_FILTER_IP_TOS   0x400 /* IPv4 TOS/IPv6 Traffic Class */
 
#define T4_FILTER_IP_PROTO   0x800 /* IP protocol */
 
#define T4_FILTER_ETH_TYPE   0x1000 /* Ethernet Type */
 
#define T4_FILTER_MAC_IDX   0x2000 /* MPS MAC address match index */
 
#define T4_FILTER_MPS_HIT_TYPE   0x4000 /* MPS match type */
 
#define T4_FILTER_IP_FRAGMENT   0x8000 /* IP fragment */
 
#define T4_FILTER_IC_OVLAN   0 /* outer VLAN */
 
#define T4_FILTER_IC_VNIC   0x80000000 /* VNIC id (PF/VF) */
 
#define T4_FILTER_IC_ENCAP   0x40000000
 
#define T4_SGE_CONTEXT_SIZE   24
 
#define T4_TRACE_LEN   112
 
#define CHELSIO_T4_GETREG   _IOWR('f', T4_GETREG, struct t4_reg)
 
#define CHELSIO_T4_SETREG   _IOW('f', T4_SETREG, struct t4_reg)
 
#define CHELSIO_T4_REGDUMP   _IOWR('f', T4_REGDUMP, struct t4_regdump)
 
#define CHELSIO_T4_GET_FILTER_MODE   _IOWR('f', T4_GET_FILTER_MODE, uint32_t)
 
#define CHELSIO_T4_SET_FILTER_MODE   _IOW('f', T4_SET_FILTER_MODE, uint32_t)
 
#define CHELSIO_T4_GET_FILTER   _IOWR('f', T4_GET_FILTER, struct t4_filter)
 
#define CHELSIO_T4_SET_FILTER   _IOWR('f', T4_SET_FILTER, struct t4_filter)
 
#define CHELSIO_T4_DEL_FILTER   _IOW('f', T4_DEL_FILTER, struct t4_filter)
 
#define CHELSIO_T4_GET_SGE_CONTEXT
 
#define CHELSIO_T4_LOAD_FW   _IOW('f', T4_LOAD_FW, struct t4_data)
 
#define CHELSIO_T4_GET_MEM   _IOW('f', T4_GET_MEM, struct t4_mem_range)
 
#define CHELSIO_T4_GET_I2C   _IOWR('f', T4_GET_I2C, struct t4_i2c_data)
 
#define CHELSIO_T4_CLEAR_STATS   _IOW('f', T4_CLEAR_STATS, uint32_t)
 
#define CHELSIO_T4_SCHED_CLASS
 
#define CHELSIO_T4_SCHED_QUEUE
 
#define CHELSIO_T4_GET_TRACER   _IOWR('f', T4_GET_TRACER, struct t4_tracer)
 
#define CHELSIO_T4_SET_TRACER   _IOW('f', T4_SET_TRACER, struct t4_tracer)
 
#define CHELSIO_T4_LOAD_CFG   _IOW('f', T4_LOAD_CFG, struct t4_data)
 
#define CHELSIO_T4_LOAD_BOOT   _IOW('f', T4_LOAD_BOOT, struct t4_bootrom)
 
#define CHELSIO_T4_LOAD_BOOTCFG   _IOW('f', T4_LOAD_BOOTCFG, struct t4_data)
 
#define CHELSIO_T4_CUDBG_DUMP   _IOWR('f', T4_CUDBG_DUMP, struct t4_cudbg_dump)
 
#define CHELSIO_T4_SET_OFLD_POLICY   _IOW('f', T4_SET_OFLD_POLICY, struct t4_offload_policy)
 
#define CHELSIO_T4_SET_FILTER_MASK   _IOW('f', T4_SET_FILTER_MASK, uint32_t)
 
#define CHELSIO_T4_HOLD_CLIP_ADDR   _IOW('f', T4_HOLD_CLIP_ADDR, struct t4_clip_addr)
 
#define CHELSIO_T4_RELEASE_CLIP_ADDR   _IOW('f', T4_RELEASE_CLIP_ADDR, struct t4_clip_addr)
 

Enumerations

enum  {
  T4_GETREG = 0x40 , T4_SETREG , T4_REGDUMP , T4_GET_FILTER_MODE ,
  T4_SET_FILTER_MODE , T4_GET_FILTER , T4_SET_FILTER , T4_DEL_FILTER ,
  T4_GET_SGE_CONTEXT , T4_LOAD_FW , T4_GET_MEM , T4_GET_I2C ,
  T4_CLEAR_STATS , T4_SET_OFLD_POLICY , T4_SET_SCHED_CLASS , T4_SET_SCHED_QUEUE ,
  T4_GET_TRACER , T4_SET_TRACER , T4_LOAD_CFG , T4_LOAD_BOOT ,
  T4_LOAD_BOOTCFG , T4_CUDBG_DUMP , T4_SET_FILTER_MASK , T4_HOLD_CLIP_ADDR ,
  T4_RELEASE_CLIP_ADDR
}
 
enum  { FILTER_PASS = 0 , FILTER_DROP , FILTER_SWITCH }
 
enum  { VLAN_NOCHANGE = 0 , VLAN_REMOVE , VLAN_INSERT , VLAN_REWRITE }
 
enum  {
  UCAST_EXACT = 0 , UCAST_HASH = 1 , MCAST_EXACT = 2 , MCAST_HASH = 3 ,
  PROMISC = 4 , HYPPROMISC = 5 , BCAST = 6
}
 
enum  { DST_MODE_QUEUE , DST_MODE_RSS_QUEUE , DST_MODE_RSS , DST_MODE_FILT_RSS }
 
enum  {
  NAT_MODE_NONE = 0 , NAT_MODE_DIP , NAT_MODE_DIP_DP , NAT_MODE_DIP_DP_SIP ,
  NAT_MODE_DIP_DP_SP , NAT_MODE_SIP_SP , NAT_MODE_DIP_SIP_SP , NAT_MODE_ALL
}
 
enum  { SCHED_CLASS_SUBCMD_CONFIG , SCHED_CLASS_SUBCMD_PARAMS }
 
enum  { SCHED_CLASS_TYPE_PACKET }
 
enum  { SCHED_CLASS_LEVEL_CL_RL , SCHED_CLASS_LEVEL_CL_WRR , SCHED_CLASS_LEVEL_CH_RL }
 
enum  { SCHED_CLASS_MODE_CLASS , SCHED_CLASS_MODE_FLOW }
 
enum  { SCHED_CLASS_RATEUNIT_BITS , SCHED_CLASS_RATEUNIT_PKTS }
 
enum  { SCHED_CLASS_RATEMODE_REL , SCHED_CLASS_RATEMODE_ABS }
 
enum  { SGE_CONTEXT_EGRESS , SGE_CONTEXT_INGRESS , SGE_CONTEXT_FLM , SGE_CONTEXT_CNM }
 
enum  { OPEN_TYPE_LISTEN = 'L' , OPEN_TYPE_ACTIVE = 'A' , OPEN_TYPE_PASSIVE = 'P' , OPEN_TYPE_DONTCARE = 'D' }
 

Macro Definition Documentation

◆ CHELSIO_T4_CLEAR_STATS

#define CHELSIO_T4_CLEAR_STATS   _IOW('f', T4_CLEAR_STATS, uint32_t)

Definition at line 429 of file t4_ioctl.h.

◆ CHELSIO_T4_CUDBG_DUMP

#define CHELSIO_T4_CUDBG_DUMP   _IOWR('f', T4_CUDBG_DUMP, struct t4_cudbg_dump)

Definition at line 439 of file t4_ioctl.h.

◆ CHELSIO_T4_DEL_FILTER

#define CHELSIO_T4_DEL_FILTER   _IOW('f', T4_DEL_FILTER, struct t4_filter)

Definition at line 423 of file t4_ioctl.h.

◆ CHELSIO_T4_GET_FILTER

#define CHELSIO_T4_GET_FILTER   _IOWR('f', T4_GET_FILTER, struct t4_filter)

Definition at line 421 of file t4_ioctl.h.

◆ CHELSIO_T4_GET_FILTER_MODE

#define CHELSIO_T4_GET_FILTER_MODE   _IOWR('f', T4_GET_FILTER_MODE, uint32_t)

Definition at line 419 of file t4_ioctl.h.

◆ CHELSIO_T4_GET_I2C

#define CHELSIO_T4_GET_I2C   _IOWR('f', T4_GET_I2C, struct t4_i2c_data)

Definition at line 428 of file t4_ioctl.h.

◆ CHELSIO_T4_GET_MEM

#define CHELSIO_T4_GET_MEM   _IOW('f', T4_GET_MEM, struct t4_mem_range)

Definition at line 427 of file t4_ioctl.h.

◆ CHELSIO_T4_GET_SGE_CONTEXT

#define CHELSIO_T4_GET_SGE_CONTEXT
Value:
_IOWR('f', T4_GET_SGE_CONTEXT, \
@ T4_GET_SGE_CONTEXT
Definition: t4_ioctl.h:52

Definition at line 424 of file t4_ioctl.h.

◆ CHELSIO_T4_GET_TRACER

#define CHELSIO_T4_GET_TRACER   _IOWR('f', T4_GET_TRACER, struct t4_tracer)

Definition at line 434 of file t4_ioctl.h.

◆ CHELSIO_T4_GETREG

#define CHELSIO_T4_GETREG   _IOWR('f', T4_GETREG, struct t4_reg)

Definition at line 416 of file t4_ioctl.h.

◆ CHELSIO_T4_HOLD_CLIP_ADDR

#define CHELSIO_T4_HOLD_CLIP_ADDR   _IOW('f', T4_HOLD_CLIP_ADDR, struct t4_clip_addr)

Definition at line 442 of file t4_ioctl.h.

◆ CHELSIO_T4_LOAD_BOOT

#define CHELSIO_T4_LOAD_BOOT   _IOW('f', T4_LOAD_BOOT, struct t4_bootrom)

Definition at line 437 of file t4_ioctl.h.

◆ CHELSIO_T4_LOAD_BOOTCFG

#define CHELSIO_T4_LOAD_BOOTCFG   _IOW('f', T4_LOAD_BOOTCFG, struct t4_data)

Definition at line 438 of file t4_ioctl.h.

◆ CHELSIO_T4_LOAD_CFG

#define CHELSIO_T4_LOAD_CFG   _IOW('f', T4_LOAD_CFG, struct t4_data)

Definition at line 436 of file t4_ioctl.h.

◆ CHELSIO_T4_LOAD_FW

#define CHELSIO_T4_LOAD_FW   _IOW('f', T4_LOAD_FW, struct t4_data)

Definition at line 426 of file t4_ioctl.h.

◆ CHELSIO_T4_REGDUMP

#define CHELSIO_T4_REGDUMP   _IOWR('f', T4_REGDUMP, struct t4_regdump)

Definition at line 418 of file t4_ioctl.h.

◆ CHELSIO_T4_RELEASE_CLIP_ADDR

#define CHELSIO_T4_RELEASE_CLIP_ADDR   _IOW('f', T4_RELEASE_CLIP_ADDR, struct t4_clip_addr)

Definition at line 443 of file t4_ioctl.h.

◆ CHELSIO_T4_SCHED_CLASS

#define CHELSIO_T4_SCHED_CLASS
Value:
_IOW('f', T4_SET_SCHED_CLASS, \
@ T4_SET_SCHED_CLASS
Definition: t4_ioctl.h:58

Definition at line 430 of file t4_ioctl.h.

◆ CHELSIO_T4_SCHED_QUEUE

#define CHELSIO_T4_SCHED_QUEUE
Value:
_IOW('f', T4_SET_SCHED_QUEUE, \
@ T4_SET_SCHED_QUEUE
Definition: t4_ioctl.h:59

Definition at line 432 of file t4_ioctl.h.

◆ CHELSIO_T4_SET_FILTER

#define CHELSIO_T4_SET_FILTER   _IOWR('f', T4_SET_FILTER, struct t4_filter)

Definition at line 422 of file t4_ioctl.h.

◆ CHELSIO_T4_SET_FILTER_MASK

#define CHELSIO_T4_SET_FILTER_MASK   _IOW('f', T4_SET_FILTER_MASK, uint32_t)

Definition at line 441 of file t4_ioctl.h.

◆ CHELSIO_T4_SET_FILTER_MODE

#define CHELSIO_T4_SET_FILTER_MODE   _IOW('f', T4_SET_FILTER_MODE, uint32_t)

Definition at line 420 of file t4_ioctl.h.

◆ CHELSIO_T4_SET_OFLD_POLICY

#define CHELSIO_T4_SET_OFLD_POLICY   _IOW('f', T4_SET_OFLD_POLICY, struct t4_offload_policy)

Definition at line 440 of file t4_ioctl.h.

◆ CHELSIO_T4_SET_TRACER

#define CHELSIO_T4_SET_TRACER   _IOW('f', T4_SET_TRACER, struct t4_tracer)

Definition at line 435 of file t4_ioctl.h.

◆ CHELSIO_T4_SETREG

#define CHELSIO_T4_SETREG   _IOW('f', T4_SETREG, struct t4_reg)

Definition at line 417 of file t4_ioctl.h.

◆ T4_FILTER_ETH_TYPE

#define T4_FILTER_ETH_TYPE   0x1000 /* Ethernet Type */

Definition at line 120 of file t4_ioctl.h.

◆ T4_FILTER_FCoE

#define T4_FILTER_FCoE   0x40 /* Fibre Channel over Ethernet packet */

Definition at line 114 of file t4_ioctl.h.

◆ T4_FILTER_IC_ENCAP

#define T4_FILTER_IC_ENCAP   0x40000000

Definition at line 129 of file t4_ioctl.h.

◆ T4_FILTER_IC_OVLAN

#define T4_FILTER_IC_OVLAN   0 /* outer VLAN */

Definition at line 127 of file t4_ioctl.h.

◆ T4_FILTER_IC_VNIC

#define T4_FILTER_IC_VNIC   0x80000000 /* VNIC id (PF/VF) */

Definition at line 128 of file t4_ioctl.h.

◆ T4_FILTER_IP_DADDR

#define T4_FILTER_IP_DADDR   0x8 /* Destination IP address or network */

Definition at line 111 of file t4_ioctl.h.

◆ T4_FILTER_IP_DPORT

#define T4_FILTER_IP_DPORT   0x20 /* Destination IP port */

Definition at line 113 of file t4_ioctl.h.

◆ T4_FILTER_IP_FRAGMENT

#define T4_FILTER_IP_FRAGMENT   0x8000 /* IP fragment */

Definition at line 123 of file t4_ioctl.h.

◆ T4_FILTER_IP_PROTO

#define T4_FILTER_IP_PROTO   0x800 /* IP protocol */

Definition at line 119 of file t4_ioctl.h.

◆ T4_FILTER_IP_SADDR

#define T4_FILTER_IP_SADDR   0x4 /* Source IP address or network */

Definition at line 110 of file t4_ioctl.h.

◆ T4_FILTER_IP_SPORT

#define T4_FILTER_IP_SPORT   0x10 /* Source IP port */

Definition at line 112 of file t4_ioctl.h.

◆ T4_FILTER_IP_TOS

#define T4_FILTER_IP_TOS   0x400 /* IPv4 TOS/IPv6 Traffic Class */

Definition at line 118 of file t4_ioctl.h.

◆ T4_FILTER_IPv4

#define T4_FILTER_IPv4   0x1 /* IPv4 packet */

Definition at line 108 of file t4_ioctl.h.

◆ T4_FILTER_IPv6

#define T4_FILTER_IPv6   0x2 /* IPv6 packet */

Definition at line 109 of file t4_ioctl.h.

◆ T4_FILTER_MAC_IDX

#define T4_FILTER_MAC_IDX   0x2000 /* MPS MAC address match index */

Definition at line 121 of file t4_ioctl.h.

◆ T4_FILTER_MPS_HIT_TYPE

#define T4_FILTER_MPS_HIT_TYPE   0x4000 /* MPS match type */

Definition at line 122 of file t4_ioctl.h.

◆ T4_FILTER_PORT

#define T4_FILTER_PORT   0x80 /* Physical ingress port */

Definition at line 115 of file t4_ioctl.h.

◆ T4_FILTER_VLAN

#define T4_FILTER_VLAN   0x200 /* VLAN ID */

Definition at line 117 of file t4_ioctl.h.

◆ T4_FILTER_VNIC

#define T4_FILTER_VNIC   0x100 /* See the IC_* bits towards the end */

Definition at line 116 of file t4_ioctl.h.

◆ T4_REGDUMP_SIZE

#define T4_REGDUMP_SIZE   (160 * 1024)

Definition at line 77 of file t4_ioctl.h.

◆ T4_SGE_CONTEXT_SIZE

#define T4_SGE_CONTEXT_SIZE   24

Definition at line 326 of file t4_ioctl.h.

◆ T4_TRACE_LEN

#define T4_TRACE_LEN   112

Definition at line 346 of file t4_ioctl.h.

◆ T5_REGDUMP_SIZE

#define T5_REGDUMP_SIZE   (332 * 1024)

Definition at line 78 of file t4_ioctl.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
T4_GETREG 
T4_SETREG 
T4_REGDUMP 
T4_GET_FILTER_MODE 
T4_SET_FILTER_MODE 
T4_GET_FILTER 
T4_SET_FILTER 
T4_DEL_FILTER 
T4_GET_SGE_CONTEXT 
T4_LOAD_FW 
T4_GET_MEM 
T4_GET_I2C 
T4_CLEAR_STATS 
T4_SET_OFLD_POLICY 
T4_SET_SCHED_CLASS 
T4_SET_SCHED_QUEUE 
T4_GET_TRACER 
T4_SET_TRACER 
T4_LOAD_CFG 
T4_LOAD_BOOT 
T4_LOAD_BOOTCFG 
T4_CUDBG_DUMP 
T4_SET_FILTER_MASK 
T4_HOLD_CLIP_ADDR 
T4_RELEASE_CLIP_ADDR 

Definition at line 43 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
FILTER_PASS 
FILTER_DROP 
FILTER_SWITCH 

Definition at line 132 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
VLAN_NOCHANGE 
VLAN_REMOVE 
VLAN_INSERT 
VLAN_REWRITE 

Definition at line 139 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
UCAST_EXACT 
UCAST_HASH 
MCAST_EXACT 
MCAST_HASH 
PROMISC 
HYPPROMISC 
BCAST 

Definition at line 147 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
DST_MODE_QUEUE 
DST_MODE_RSS_QUEUE 
DST_MODE_RSS 
DST_MODE_FILT_RSS 

Definition at line 158 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
NAT_MODE_NONE 
NAT_MODE_DIP 
NAT_MODE_DIP_DP 
NAT_MODE_DIP_DP_SIP 
NAT_MODE_DIP_DP_SP 
NAT_MODE_SIP_SP 
NAT_MODE_DIP_SIP_SP 
NAT_MODE_ALL 

Definition at line 166 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
SCHED_CLASS_SUBCMD_CONFIG 
SCHED_CLASS_SUBCMD_PARAMS 

Definition at line 286 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
SCHED_CLASS_TYPE_PACKET 

Definition at line 291 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
SCHED_CLASS_LEVEL_CL_RL 
SCHED_CLASS_LEVEL_CL_WRR 
SCHED_CLASS_LEVEL_CH_RL 

Definition at line 295 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
SCHED_CLASS_MODE_CLASS 
SCHED_CLASS_MODE_FLOW 

Definition at line 301 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
SCHED_CLASS_RATEUNIT_BITS 
SCHED_CLASS_RATEUNIT_PKTS 

Definition at line 306 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
SCHED_CLASS_RATEMODE_REL 
SCHED_CLASS_RATEMODE_ABS 

Definition at line 311 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
SGE_CONTEXT_EGRESS 
SGE_CONTEXT_INGRESS 
SGE_CONTEXT_FLM 
SGE_CONTEXT_CNM 

Definition at line 327 of file t4_ioctl.h.

◆ anonymous enum

anonymous enum
Enumerator
OPEN_TYPE_LISTEN 
OPEN_TYPE_ACTIVE 
OPEN_TYPE_PASSIVE 
OPEN_TYPE_DONTCARE 

Definition at line 372 of file t4_ioctl.h.