TAS
TCP Acceleration as an OS Service
Data Structures | Macros | Functions | Variables
Tas-fp

TAS Fast Path. More...

Collaboration diagram for Tas-fp:

Data Structures

struct  flexnic_info
 
struct  flextcp_pl_krx
 
struct  flextcp_pl_ktx
 
struct  flextcp_pl_arx_connupdate
 
struct  flextcp_pl_arx
 
struct  flextcp_pl_atx
 
struct  flextcp_pl_appst
 
struct  flextcp_pl_appctx
 
struct  flextcp_pl_flowst
 
struct  flextcp_pl_flowhte
 
struct  flextcp_pl_mem
 

Macros

#define FLEXNIC_HUGE_PREFIX   "/dev/hugepages"
 
#define FLEXNIC_NAME_INFO   "tas_info"
 
#define FLEXNIC_NAME_DMA_MEM   "tas_memory"
 
#define FLEXNIC_NAME_INTERNAL_MEM   "tas_internal"
 
#define FLEXNIC_INFO_BYTES   0x1000
 
#define FLEXNIC_FLAG_READY   1
 
#define FLEXNIC_FLAG_HUGEPAGES   2
 
#define FLEXTCP_PL_KRX_INVALID   0x0
 
#define FLEXTCP_PL_KRX_PACKET   0x1
 
#define FLEXTCP_PL_KTX_INVALID   0x0
 
#define FLEXTCP_PL_KTX_PACKET   0x1
 
#define FLEXTCP_PL_KTX_CONNRETRAN   0x2
 
#define FLEXTCP_PL_KTX_PACKET_NOTS   0x3
 
#define FLEXTCP_PL_ARX_INVALID   0x0
 
#define FLEXTCP_PL_ARX_CONNUPDATE   0x1
 
#define FLEXTCP_PL_ARX_FLRXDONE   0x1
 
#define FLEXTCP_PL_ATX_CONNUPDATE   0x1
 
#define FLEXTCP_PL_ATX_FLTXDONE   0x1
 
#define FLEXNIC_PL_APPST_NUM   8
 
#define FLEXNIC_PL_APPST_CTX_NUM   31
 
#define FLEXNIC_PL_APPST_CTX_MCS   16
 
#define FLEXNIC_PL_APPCTX_NUM   16
 
#define FLEXNIC_PL_FLOWST_NUM   (128 * 1024)
 
#define FLEXNIC_PL_FLOWHT_ENTRIES   (FLEXNIC_PL_FLOWST_NUM * 2)
 
#define FLEXNIC_PL_FLOWHT_NBSZ   4
 
#define FLEXNIC_PL_OOO_RECV   1
 
#define FLEXNIC_PL_FLOWST_SLOWPATH   1
 
#define FLEXNIC_PL_FLOWST_ECN   8
 
#define FLEXNIC_PL_FLOWST_TXFIN   16
 
#define FLEXNIC_PL_FLOWST_RXFIN   32
 
#define FLEXNIC_PL_FLOWST_RX_MASK   (~63ULL)
 
#define FLEXNIC_PL_FLOWHTE_VALID   (1 << 31)
 
#define FLEXNIC_PL_FLOWHTE_POSSHIFT   29
 
#define FLEXNIC_PL_MAX_FLOWGROUPS   4096
 

Functions

struct flexnic_info __attribute__ ((packed))
 
 STATIC_ASSERT (sizeof(struct flextcp_pl_krx)==64, krx_size)
 
 STATIC_ASSERT (sizeof(struct flextcp_pl_ktx)==64, ktx_size)
 
 STATIC_ASSERT (sizeof(struct flextcp_pl_arx)==32, arx_size)
 
 STATIC_ASSERT (sizeof(struct flextcp_pl_atx)==16, atx_size)
 
struct flextcp_pl_flowst __attribute__ ((packed, aligned(64)))
 

Variables

struct tcp_opts __attribute__
 

Detailed Description

TAS Fast Path.

Macro Definition Documentation

◆ FLEXNIC_FLAG_HUGEPAGES

#define FLEXNIC_FLAG_HUGEPAGES   2

Indicates that huge pages should be used for the internal and dma memory

Definition at line 53 of file tas_memif.h.

◆ FLEXNIC_FLAG_READY

#define FLEXNIC_FLAG_READY   1

Indicates that flexnic is done initializing.

Definition at line 51 of file tas_memif.h.

Referenced by nicif_init().

◆ FLEXNIC_INFO_BYTES

#define FLEXNIC_INFO_BYTES   0x1000

Size of the info shared memory region.

Definition at line 48 of file tas_memif.h.

◆ FLEXNIC_NAME_DMA_MEM

#define FLEXNIC_NAME_DMA_MEM   "tas_memory"

Name for flexnic dma shared memory region.

Definition at line 43 of file tas_memif.h.

◆ FLEXNIC_NAME_INFO

#define FLEXNIC_NAME_INFO   "tas_info"

Name for the info shared memory region.

Definition at line 41 of file tas_memif.h.

◆ FLEXNIC_NAME_INTERNAL_MEM

#define FLEXNIC_NAME_INTERNAL_MEM   "tas_internal"

Name for flexnic internal shared memory region.

Definition at line 45 of file tas_memif.h.

◆ FLEXNIC_PL_OOO_RECV

#define FLEXNIC_PL_OOO_RECV   1

Enable out of order receive processing members

Definition at line 222 of file tas_memif.h.