FreeBSD kernel CXGBE device code
t4_tom.h File Reference
#include <sys/vmem.h>
#include "common/t4_hw.h"
#include "common/t4_msg.h"
#include "tom/t4_tls.h"
Include dependency graph for t4_tom.h:

Go to the source code of this file.

Data Structures

struct  conn_params
 
struct  ofld_tx_sdesc
 
struct  ppod_region
 
struct  ppod_reservation
 
struct  pageset
 
struct  ddp_buffer
 
struct  ddp_pcb
 
struct  toepcb
 
struct  synq_entry
 
struct  listen_ctx
 
struct  tcb_histent
 
struct  tom_data
 

Macros

#define LISTEN_HASH_SIZE   32
 
#define MIN_RCV_WND   (24 * 1024U)
 
#define MAX_RCV_WND   ((1U << 27) - 1)
 
#define DDP_RSVD_WIN   (16 * 1024U)
 
#define SB_DDP_INDICATE   SB_IN_TOE /* soreceive must respond to indicate */
 
#define USE_DDP_RX_FLOW_CONTROL
 
#define PPOD_SZ(n)   ((n) * sizeof(struct pagepod))
 
#define PPOD_SIZE   (PPOD_SZ(1))
 
#define PS_PPODS_WRITTEN   0x0001 /* Page pods written to the card. */
 
#define DDP_LOCK(toep)   mtx_lock(&(toep)->ddp.lock)
 
#define DDP_UNLOCK(toep)   mtx_unlock(&(toep)->ddp.lock)
 
#define DDP_ASSERT_LOCKED(toep)   mtx_assert(&(toep)->ddp.lock, MA_OWNED)
 
#define LCTX_RPL_PENDING   1 /* waiting for a CPL_PASS_OPEN_RPL */
 
#define TE_RPL_PENDING   1
 
#define TE_ACTIVE   2
 
#define TS_RTO   (1 << 0)
 
#define TS_DUPACKS   (1 << 1)
 
#define TS_FASTREXMT   (1 << 2)
 
#define TS_SND_BACKLOGGED   (1 << 3)
 
#define TS_CWND_LIMITED   (1 << 4)
 
#define TS_ECN_ECE   (1 << 5)
 
#define TS_ECN_CWR   (1 << 6)
 
#define TS_RESERVED   (1 << 7) /* Unused. */
 
#define CXGBE_ISO_TYPE(flags)   ((flags) & 0x3)
 
#define CXGBE_ISO_F   0x4
 

Enumerations

enum  {
  TPF_ATTACHED = (1 << 0) , TPF_FLOWC_WR_SENT = (1 << 1) , TPF_TX_DATA_SENT = (1 << 2) , TPF_TX_SUSPENDED = (1 << 3) ,
  TPF_SEND_FIN = (1 << 4) , TPF_FIN_SENT = (1 << 5) , TPF_ABORT_SHUTDOWN = (1 << 6) , TPF_CPL_PENDING = (1 << 7) ,
  TPF_SYNQE = (1 << 8) , TPF_SYNQE_EXPANDED = (1 << 9) , TPF_FORCE_CREDITS = (1 << 10) , TPF_KTLS = (1 << 11) ,
  TPF_INITIALIZED = (1 << 12) , TPF_TLS_RECEIVE = (1 << 13) , TPF_TLS_ESTABLISHED = (1 << 14) , TPF_WAITING_FOR_FINAL = (1<< 15)
}
 
enum  {
  DDP_OK = (1 << 0) , DDP_SC_REQ = (1 << 1) , DDP_ON = (1 << 2) , DDP_BUF0_ACTIVE = (1 << 3) ,
  DDP_BUF1_ACTIVE = (1 << 4) , DDP_TASK_ACTIVE = (1 << 5) , DDP_DEAD = (1 << 6)
}
 

Functions

 TAILQ_HEAD (pagesetq, pageset)
 
static int ulp_mode (struct toepcb *toep)
 
static struct tom_datatod_td (struct toedev *tod)
 
static struct adaptertd_adapter (struct tom_data *td)
 
static void set_mbuf_raw_wr (struct mbuf *m, bool raw)
 
static bool mbuf_raw_wr (struct mbuf *m)
 
static void set_mbuf_ulp_submode (struct mbuf *m, uint8_t ulp_submode)
 
static uint8_t mbuf_ulp_submode (struct mbuf *m)
 
static void set_mbuf_iscsi_iso (struct mbuf *m, bool iso)
 
static bool mbuf_iscsi_iso (struct mbuf *m)
 
static void set_mbuf_iscsi_iso_flags (struct mbuf *m, uint8_t flags)
 
static uint8_t mbuf_iscsi_iso_flags (struct mbuf *m)
 
static void set_mbuf_iscsi_iso_mss (struct mbuf *m, uint16_t mss)
 
static uint16_t mbuf_iscsi_iso_mss (struct mbuf *m)
 
struct toepcballoc_toepcb (struct vi_info *, int)
 
int init_toepcb (struct vi_info *, struct toepcb *)
 
struct toepcbhold_toepcb (struct toepcb *)
 
void free_toepcb (struct toepcb *)
 
void offload_socket (struct socket *, struct toepcb *)
 
void restore_so_proto (struct socket *, bool)
 
void undo_offload_socket (struct socket *)
 
void final_cpl_received (struct toepcb *)
 
void insert_tid (struct adapter *, int, void *, int)
 
void * lookup_tid (struct adapter *, int)
 
void update_tid (struct adapter *, int, void *)
 
void remove_tid (struct adapter *, int, int)
 
u_long select_rcv_wnd (struct socket *)
 
int select_rcv_wscale (void)
 
void init_conn_params (struct vi_info *, struct offload_settings *, struct in_conninfo *, struct socket *, const struct tcp_options *, int16_t, struct conn_params *cp)
 
__be64 calc_options0 (struct vi_info *, struct conn_params *)
 
__be32 calc_options2 (struct vi_info *, struct conn_params *)
 
uint64_t select_ntuple (struct vi_info *, struct l2t_entry *)
 
int negative_advice (int)
 
int add_tid_to_history (struct adapter *, u_int)
 
void t4_init_connect_cpl_handlers (void)
 
void t4_uninit_connect_cpl_handlers (void)
 
int t4_connect (struct toedev *, struct socket *, struct nhop_object *, struct sockaddr *)
 
void act_open_failure_cleanup (struct adapter *, u_int, u_int)
 
void t4_init_listen_cpl_handlers (void)
 
void t4_uninit_listen_cpl_handlers (void)
 
int t4_listen_start (struct toedev *, struct tcpcb *)
 
int t4_listen_stop (struct toedev *, struct tcpcb *)
 
void t4_syncache_added (struct toedev *, void *)
 
void t4_syncache_removed (struct toedev *, void *)
 
int t4_syncache_respond (struct toedev *, void *, struct mbuf *)
 
int do_abort_req_synqe (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
int do_abort_rpl_synqe (struct sge_iq *, const struct rss_header *, struct mbuf *)
 
void t4_offload_socket (struct toedev *, void *, struct socket *)
 
void synack_failure_cleanup (struct adapter *, int)
 
void aiotx_init_toep (struct toepcb *)
 
int t4_aio_queue_aiotx (struct socket *, struct kaiocb *)
 
void t4_init_cpl_io_handlers (void)
 
void t4_uninit_cpl_io_handlers (void)
 
void send_abort_rpl (struct adapter *, struct sge_ofld_txq *, int, int)
 
void send_flowc_wr (struct toepcb *, struct tcpcb *)
 
void send_reset (struct adapter *, struct toepcb *, uint32_t)
 
int send_rx_credits (struct adapter *, struct toepcb *, int)
 
void send_rx_modulate (struct adapter *, struct toepcb *)
 
void make_established (struct toepcb *, uint32_t, uint32_t, uint16_t)
 
int t4_close_conn (struct adapter *, struct toepcb *)
 
void t4_rcvd (struct toedev *, struct tcpcb *)
 
void t4_rcvd_locked (struct toedev *, struct tcpcb *)
 
int t4_tod_output (struct toedev *, struct tcpcb *)
 
int t4_send_fin (struct toedev *, struct tcpcb *)
 
int t4_send_rst (struct toedev *, struct tcpcb *)
 
void t4_set_tcb_field (struct adapter *, struct sge_wrq *, struct toepcb *, uint16_t, uint64_t, uint64_t, int, int)
 
void t4_push_frames (struct adapter *, struct toepcb *, int)
 
void t4_push_pdus (struct adapter *, struct toepcb *, int)
 
int t4_init_ppod_region (struct ppod_region *, struct t4_range *, u_int, const char *)
 
void t4_free_ppod_region (struct ppod_region *)
 
int t4_alloc_page_pods_for_ps (struct ppod_region *, struct pageset *)
 
int t4_alloc_page_pods_for_bio (struct ppod_region *, struct bio *, struct ppod_reservation *)
 
int t4_alloc_page_pods_for_buf (struct ppod_region *, vm_offset_t, int, struct ppod_reservation *)
 
int t4_alloc_page_pods_for_sgl (struct ppod_region *, struct ctl_sg_entry *, int, struct ppod_reservation *)
 
int t4_write_page_pods_for_ps (struct adapter *, struct sge_wrq *, int, struct pageset *)
 
int t4_write_page_pods_for_bio (struct adapter *, struct toepcb *, struct ppod_reservation *, struct bio *, struct mbufq *)
 
int t4_write_page_pods_for_buf (struct adapter *, struct toepcb *, struct ppod_reservation *, vm_offset_t, int, struct mbufq *)
 
int t4_write_page_pods_for_sgl (struct adapter *, struct toepcb *, struct ppod_reservation *, struct ctl_sg_entry *, int, int, struct mbufq *)
 
void t4_free_page_pods (struct ppod_reservation *)
 
int t4_soreceive_ddp (struct socket *, struct sockaddr **, struct uio *, struct mbuf **, struct mbuf **, int *)
 
int t4_aio_queue_ddp (struct socket *, struct kaiocb *)
 
void t4_ddp_mod_load (void)
 
void t4_ddp_mod_unload (void)
 
void ddp_assert_empty (struct toepcb *)
 
void ddp_init_toep (struct toepcb *)
 
void ddp_uninit_toep (struct toepcb *)
 
void ddp_queue_toep (struct toepcb *)
 
void release_ddp_resources (struct toepcb *toep)
 
void handle_ddp_close (struct toepcb *, struct tcpcb *, uint32_t)
 
void handle_ddp_indicate (struct toepcb *)
 
void insert_ddp_data (struct toepcb *, uint32_t)
 
const struct offload_settingslookup_offload_policy (struct adapter *, int, struct mbuf *, uint16_t, struct inpcb *)
 
bool can_tls_offload (struct adapter *)
 
void do_rx_data_tls (const struct cpl_rx_data *, struct toepcb *, struct mbuf *)
 
void t4_push_ktls (struct adapter *, struct toepcb *, int)
 
void t4_tls_mod_load (void)
 
void t4_tls_mod_unload (void)
 
void tls_detach (struct toepcb *)
 
void tls_establish (struct toepcb *)
 
void tls_init_toep (struct toepcb *)
 
void tls_stop_handshake_timer (struct toepcb *)
 
int tls_tx_key (struct toepcb *)
 
void tls_uninit_toep (struct toepcb *)
 
int tls_alloc_ktls (struct toepcb *, struct ktls_session *, int)
 

Macro Definition Documentation

◆ CXGBE_ISO_F

#define CXGBE_ISO_F   0x4

Definition at line 385 of file t4_tom.h.

◆ CXGBE_ISO_TYPE

#define CXGBE_ISO_TYPE (   flags)    ((flags) & 0x3)

Definition at line 384 of file t4_tom.h.

◆ DDP_ASSERT_LOCKED

#define DDP_ASSERT_LOCKED (   toep)    mtx_assert(&(toep)->ddp.lock, MA_OWNED)

Definition at line 234 of file t4_tom.h.

◆ DDP_LOCK

#define DDP_LOCK (   toep)    mtx_lock(&(toep)->ddp.lock)

Definition at line 232 of file t4_tom.h.

◆ DDP_RSVD_WIN

#define DDP_RSVD_WIN   (16 * 1024U)

Definition at line 54 of file t4_tom.h.

◆ DDP_UNLOCK

#define DDP_UNLOCK (   toep)    mtx_unlock(&(toep)->ddp.lock)

Definition at line 233 of file t4_tom.h.

◆ LCTX_RPL_PENDING

#define LCTX_RPL_PENDING   1 /* waiting for a CPL_PASS_OPEN_RPL */

Definition at line 257 of file t4_tom.h.

◆ LISTEN_HASH_SIZE

#define LISTEN_HASH_SIZE   32

Definition at line 40 of file t4_tom.h.

◆ MAX_RCV_WND

#define MAX_RCV_WND   ((1U << 27) - 1)

Definition at line 52 of file t4_tom.h.

◆ MIN_RCV_WND

#define MIN_RCV_WND   (24 * 1024U)

Definition at line 46 of file t4_tom.h.

◆ PPOD_SIZE

#define PPOD_SIZE   (PPOD_SZ(1))

Definition at line 60 of file t4_tom.h.

◆ PPOD_SZ

#define PPOD_SZ (   n)    ((n) * sizeof(struct pagepod))

Definition at line 59 of file t4_tom.h.

◆ PS_PPODS_WRITTEN

#define PS_PPODS_WRITTEN   0x0001 /* Page pods written to the card. */

Definition at line 159 of file t4_tom.h.

◆ SB_DDP_INDICATE

#define SB_DDP_INDICATE   SB_IN_TOE /* soreceive must respond to indicate */

Definition at line 55 of file t4_tom.h.

◆ TE_ACTIVE

#define TE_ACTIVE   2

Definition at line 274 of file t4_tom.h.

◆ TE_RPL_PENDING

#define TE_RPL_PENDING   1

Definition at line 273 of file t4_tom.h.

◆ TS_CWND_LIMITED

#define TS_CWND_LIMITED   (1 << 4)

Definition at line 281 of file t4_tom.h.

◆ TS_DUPACKS

#define TS_DUPACKS   (1 << 1)

Definition at line 278 of file t4_tom.h.

◆ TS_ECN_CWR

#define TS_ECN_CWR   (1 << 6)

Definition at line 283 of file t4_tom.h.

◆ TS_ECN_ECE

#define TS_ECN_ECE   (1 << 5)

Definition at line 282 of file t4_tom.h.

◆ TS_FASTREXMT

#define TS_FASTREXMT   (1 << 2)

Definition at line 279 of file t4_tom.h.

◆ TS_RESERVED

#define TS_RESERVED   (1 << 7) /* Unused. */

Definition at line 284 of file t4_tom.h.

◆ TS_RTO

#define TS_RTO   (1 << 0)

Definition at line 277 of file t4_tom.h.

◆ TS_SND_BACKLOGGED

#define TS_SND_BACKLOGGED   (1 << 3)

Definition at line 280 of file t4_tom.h.

◆ USE_DDP_RX_FLOW_CONTROL

#define USE_DDP_RX_FLOW_CONTROL

Definition at line 57 of file t4_tom.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
TPF_ATTACHED 
TPF_FLOWC_WR_SENT 
TPF_TX_DATA_SENT 
TPF_TX_SUSPENDED 
TPF_SEND_FIN 
TPF_FIN_SENT 
TPF_ABORT_SHUTDOWN 
TPF_CPL_PENDING 
TPF_SYNQE 
TPF_SYNQE_EXPANDED 
TPF_FORCE_CREDITS 
TPF_KTLS 
TPF_INITIALIZED 
TPF_TLS_RECEIVE 
TPF_TLS_ESTABLISHED 
TPF_WAITING_FOR_FINAL 

Definition at line 63 of file t4_tom.h.

◆ anonymous enum

anonymous enum
Enumerator
DDP_OK 
DDP_SC_REQ 
DDP_ON 
DDP_BUF0_ACTIVE 
DDP_BUF1_ACTIVE 
DDP_TASK_ACTIVE 
DDP_DEAD 

Definition at line 82 of file t4_tom.h.

Function Documentation

◆ act_open_failure_cleanup()

void act_open_failure_cleanup ( struct adapter ,
u_int  ,
u_int   
)

◆ add_tid_to_history()

int add_tid_to_history ( struct adapter ,
u_int   
)

◆ aiotx_init_toep()

void aiotx_init_toep ( struct toepcb )

◆ alloc_toepcb()

struct toepcb * alloc_toepcb ( struct vi_info ,
int   
)

◆ calc_options0()

__be64 calc_options0 ( struct vi_info ,
struct conn_params  
)

◆ calc_options2()

__be32 calc_options2 ( struct vi_info ,
struct conn_params  
)

◆ can_tls_offload()

bool can_tls_offload ( struct adapter )

◆ ddp_assert_empty()

void ddp_assert_empty ( struct toepcb )

◆ ddp_init_toep()

void ddp_init_toep ( struct toepcb )

◆ ddp_queue_toep()

void ddp_queue_toep ( struct toepcb )

◆ ddp_uninit_toep()

void ddp_uninit_toep ( struct toepcb )

◆ do_abort_req_synqe()

int do_abort_req_synqe ( struct sge_iq ,
const struct rss_header ,
struct mbuf *   
)

◆ do_abort_rpl_synqe()

int do_abort_rpl_synqe ( struct sge_iq ,
const struct rss_header ,
struct mbuf *   
)

◆ do_rx_data_tls()

void do_rx_data_tls ( const struct cpl_rx_data ,
struct toepcb ,
struct mbuf *   
)

◆ final_cpl_received()

void final_cpl_received ( struct toepcb )

◆ free_toepcb()

void free_toepcb ( struct toepcb )

◆ handle_ddp_close()

void handle_ddp_close ( struct toepcb ,
struct tcpcb *  ,
uint32_t   
)

◆ handle_ddp_indicate()

void handle_ddp_indicate ( struct toepcb )

◆ hold_toepcb()

struct toepcb * hold_toepcb ( struct toepcb )

◆ init_conn_params()

void init_conn_params ( struct vi_info ,
struct offload_settings ,
struct in_conninfo *  ,
struct socket *  ,
const struct tcp_options ,
int16_t  ,
struct conn_params cp 
)

◆ init_toepcb()

int init_toepcb ( struct vi_info ,
struct toepcb  
)

◆ insert_ddp_data()

void insert_ddp_data ( struct toepcb ,
uint32_t   
)

◆ insert_tid()

void insert_tid ( struct adapter ,
int  ,
void *  ,
int   
)

◆ lookup_offload_policy()

const struct offload_settings * lookup_offload_policy ( struct adapter ,
int  ,
struct mbuf *  ,
uint16_t  ,
struct inpcb *   
)

◆ lookup_tid()

void * lookup_tid ( struct adapter ,
int   
)

◆ make_established()

void make_established ( struct toepcb ,
uint32_t  ,
uint32_t  ,
uint16_t   
)

◆ mbuf_iscsi_iso()

static bool mbuf_iscsi_iso ( struct mbuf *  m)
inlinestatic

Definition at line 376 of file t4_tom.h.

◆ mbuf_iscsi_iso_flags()

static uint8_t mbuf_iscsi_iso_flags ( struct mbuf *  m)
inlinestatic

Definition at line 396 of file t4_tom.h.

◆ mbuf_iscsi_iso_mss()

static uint16_t mbuf_iscsi_iso_mss ( struct mbuf *  m)
inlinestatic

Definition at line 412 of file t4_tom.h.

◆ mbuf_raw_wr()

static bool mbuf_raw_wr ( struct mbuf *  m)
inlinestatic

Definition at line 344 of file t4_tom.h.

◆ mbuf_ulp_submode()

static uint8_t mbuf_ulp_submode ( struct mbuf *  m)
inlinestatic

Definition at line 360 of file t4_tom.h.

◆ negative_advice()

int negative_advice ( int  )

◆ offload_socket()

void offload_socket ( struct socket *  ,
struct toepcb  
)

◆ release_ddp_resources()

void release_ddp_resources ( struct toepcb toep)

◆ remove_tid()

void remove_tid ( struct adapter ,
int  ,
int   
)

◆ restore_so_proto()

void restore_so_proto ( struct socket *  ,
bool   
)

◆ select_ntuple()

uint64_t select_ntuple ( struct vi_info ,
struct l2t_entry  
)

◆ select_rcv_wnd()

u_long select_rcv_wnd ( struct socket *  )

◆ select_rcv_wscale()

int select_rcv_wscale ( void  )

◆ send_abort_rpl()

void send_abort_rpl ( struct adapter ,
struct sge_ofld_txq ,
int  ,
int   
)

◆ send_flowc_wr()

void send_flowc_wr ( struct toepcb ,
struct tcpcb *   
)

◆ send_reset()

void send_reset ( struct adapter ,
struct toepcb ,
uint32_t   
)

◆ send_rx_credits()

int send_rx_credits ( struct adapter ,
struct toepcb ,
int   
)

◆ send_rx_modulate()

void send_rx_modulate ( struct adapter ,
struct toepcb  
)

◆ set_mbuf_iscsi_iso()

static void set_mbuf_iscsi_iso ( struct mbuf *  m,
bool  iso 
)
inlinestatic

Definition at line 368 of file t4_tom.h.

◆ set_mbuf_iscsi_iso_flags()

static void set_mbuf_iscsi_iso_flags ( struct mbuf *  m,
uint8_t  flags 
)
inlinestatic

Definition at line 388 of file t4_tom.h.

References adapter::flags.

◆ set_mbuf_iscsi_iso_mss()

static void set_mbuf_iscsi_iso_mss ( struct mbuf *  m,
uint16_t  mss 
)
inlinestatic

Definition at line 404 of file t4_tom.h.

◆ set_mbuf_raw_wr()

static void set_mbuf_raw_wr ( struct mbuf *  m,
bool  raw 
)
inlinestatic

Definition at line 336 of file t4_tom.h.

◆ set_mbuf_ulp_submode()

static void set_mbuf_ulp_submode ( struct mbuf *  m,
uint8_t  ulp_submode 
)
inlinestatic

Definition at line 352 of file t4_tom.h.

◆ synack_failure_cleanup()

void synack_failure_cleanup ( struct adapter ,
int   
)

◆ t4_aio_queue_aiotx()

int t4_aio_queue_aiotx ( struct socket *  ,
struct kaiocb *   
)

◆ t4_aio_queue_ddp()

int t4_aio_queue_ddp ( struct socket *  ,
struct kaiocb *   
)

◆ t4_alloc_page_pods_for_bio()

int t4_alloc_page_pods_for_bio ( struct ppod_region ,
struct bio *  ,
struct ppod_reservation  
)

◆ t4_alloc_page_pods_for_buf()

int t4_alloc_page_pods_for_buf ( struct ppod_region ,
vm_offset_t  ,
int  ,
struct ppod_reservation  
)

◆ t4_alloc_page_pods_for_ps()

int t4_alloc_page_pods_for_ps ( struct ppod_region ,
struct pageset  
)

◆ t4_alloc_page_pods_for_sgl()

int t4_alloc_page_pods_for_sgl ( struct ppod_region ,
struct ctl_sg_entry *  ,
int  ,
struct ppod_reservation  
)

◆ t4_close_conn()

int t4_close_conn ( struct adapter ,
struct toepcb  
)

◆ t4_connect()

int t4_connect ( struct toedev *  ,
struct socket *  ,
struct nhop_object *  ,
struct sockaddr *   
)

◆ t4_ddp_mod_load()

void t4_ddp_mod_load ( void  )

◆ t4_ddp_mod_unload()

void t4_ddp_mod_unload ( void  )

◆ t4_free_page_pods()

void t4_free_page_pods ( struct ppod_reservation )

◆ t4_free_ppod_region()

void t4_free_ppod_region ( struct ppod_region )

◆ t4_init_connect_cpl_handlers()

void t4_init_connect_cpl_handlers ( void  )

◆ t4_init_cpl_io_handlers()

void t4_init_cpl_io_handlers ( void  )

◆ t4_init_listen_cpl_handlers()

void t4_init_listen_cpl_handlers ( void  )

◆ t4_init_ppod_region()

int t4_init_ppod_region ( struct ppod_region ,
struct t4_range ,
u_int  ,
const char *   
)

◆ t4_listen_start()

int t4_listen_start ( struct toedev *  ,
struct tcpcb *   
)

◆ t4_listen_stop()

int t4_listen_stop ( struct toedev *  ,
struct tcpcb *   
)

◆ t4_offload_socket()

void t4_offload_socket ( struct toedev *  ,
void *  ,
struct socket *   
)

◆ t4_push_frames()

void t4_push_frames ( struct adapter ,
struct toepcb ,
int   
)

◆ t4_push_ktls()

void t4_push_ktls ( struct adapter ,
struct toepcb ,
int   
)

◆ t4_push_pdus()

void t4_push_pdus ( struct adapter ,
struct toepcb ,
int   
)

◆ t4_rcvd()

void t4_rcvd ( struct toedev *  ,
struct tcpcb *   
)

◆ t4_rcvd_locked()

void t4_rcvd_locked ( struct toedev *  ,
struct tcpcb *   
)

◆ t4_send_fin()

int t4_send_fin ( struct toedev *  ,
struct tcpcb *   
)

◆ t4_send_rst()

int t4_send_rst ( struct toedev *  ,
struct tcpcb *   
)

◆ t4_set_tcb_field()

void t4_set_tcb_field ( struct adapter ,
struct sge_wrq ,
struct toepcb ,
uint16_t  ,
uint64_t  ,
uint64_t  ,
int  ,
int   
)

◆ t4_soreceive_ddp()

int t4_soreceive_ddp ( struct socket *  ,
struct sockaddr **  ,
struct uio *  ,
struct mbuf **  ,
struct mbuf **  ,
int *   
)

◆ t4_syncache_added()

void t4_syncache_added ( struct toedev *  ,
void *   
)

◆ t4_syncache_removed()

void t4_syncache_removed ( struct toedev *  ,
void *   
)

◆ t4_syncache_respond()

int t4_syncache_respond ( struct toedev *  ,
void *  ,
struct mbuf *   
)

◆ t4_tls_mod_load()

void t4_tls_mod_load ( void  )

◆ t4_tls_mod_unload()

void t4_tls_mod_unload ( void  )

◆ t4_tod_output()

int t4_tod_output ( struct toedev *  ,
struct tcpcb *   
)

◆ t4_uninit_connect_cpl_handlers()

void t4_uninit_connect_cpl_handlers ( void  )

◆ t4_uninit_cpl_io_handlers()

void t4_uninit_cpl_io_handlers ( void  )

◆ t4_uninit_listen_cpl_handlers()

void t4_uninit_listen_cpl_handlers ( void  )

◆ t4_write_page_pods_for_bio()

int t4_write_page_pods_for_bio ( struct adapter ,
struct toepcb ,
struct ppod_reservation ,
struct bio *  ,
struct mbufq *   
)

◆ t4_write_page_pods_for_buf()

int t4_write_page_pods_for_buf ( struct adapter ,
struct toepcb ,
struct ppod_reservation ,
vm_offset_t  ,
int  ,
struct mbufq *   
)

◆ t4_write_page_pods_for_ps()

int t4_write_page_pods_for_ps ( struct adapter ,
struct sge_wrq ,
int  ,
struct pageset  
)

◆ t4_write_page_pods_for_sgl()

int t4_write_page_pods_for_sgl ( struct adapter ,
struct toepcb ,
struct ppod_reservation ,
struct ctl_sg_entry *  ,
int  ,
int  ,
struct mbufq *   
)

◆ TAILQ_HEAD()

TAILQ_HEAD ( pagesetq  ,
pageset   
)

◆ td_adapter()

static struct adapter * td_adapter ( struct tom_data td)
inlinestatic

Definition at line 329 of file t4_tom.h.

References tom_data::tod.

◆ tls_alloc_ktls()

int tls_alloc_ktls ( struct toepcb ,
struct ktls_session *  ,
int   
)

◆ tls_detach()

void tls_detach ( struct toepcb )

◆ tls_establish()

void tls_establish ( struct toepcb )

◆ tls_init_toep()

void tls_init_toep ( struct toepcb )

◆ tls_stop_handshake_timer()

void tls_stop_handshake_timer ( struct toepcb )

◆ tls_tx_key()

int tls_tx_key ( struct toepcb )

◆ tls_uninit_toep()

void tls_uninit_toep ( struct toepcb )

◆ tod_td()

static struct tom_data * tod_td ( struct toedev *  tod)
inlinestatic

Definition at line 322 of file t4_tom.h.

References tom_data::tod.

◆ ulp_mode()

static int ulp_mode ( struct toepcb toep)
inlinestatic

Definition at line 226 of file t4_tom.h.

References toepcb::params, and conn_params::ulp_mode.

◆ undo_offload_socket()

void undo_offload_socket ( struct socket *  )

◆ update_tid()

void update_tid ( struct adapter ,
int  ,
void *   
)