FreeBSD kernel IPv4 code
toecore.h File Reference
#include <netinet/tcp.h>
#include <sys/_eventhandler.h>
Include dependency graph for toecore.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  toedev
 

Typedefs

typedef void(* tcp_offload_listen_start_fn) (void *, struct tcpcb *)
 
typedef void(* tcp_offload_listen_stop_fn) (void *, struct tcpcb *)
 

Functions

 EVENTHANDLER_DECLARE (tcp_offload_listen_start, tcp_offload_listen_start_fn)
 
 EVENTHANDLER_DECLARE (tcp_offload_listen_stop, tcp_offload_listen_stop_fn)
 
void init_toedev (struct toedev *)
 
int register_toedev (struct toedev *)
 
int unregister_toedev (struct toedev *)
 
int toe_l2_resolve (struct toedev *, struct ifnet *, struct sockaddr *, uint8_t *, uint16_t *)
 
void toe_connect_failed (struct toedev *, struct inpcb *, int)
 
void toe_syncache_add (struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct inpcb *, void *, void *, uint8_t)
 
int toe_syncache_expand (struct in_conninfo *, struct tcpopt *, struct tcphdr *, struct socket **)
 
int toe_4tuple_check (struct in_conninfo *, struct tcphdr *, struct ifnet *)
 

Typedef Documentation

◆ tcp_offload_listen_start_fn

typedef void(* tcp_offload_listen_start_fn) (void *, struct tcpcb *)

Definition at line 123 of file toecore.h.

◆ tcp_offload_listen_stop_fn

typedef void(* tcp_offload_listen_stop_fn) (void *, struct tcpcb *)

Definition at line 124 of file toecore.h.

Function Documentation

◆ EVENTHANDLER_DECLARE() [1/2]

EVENTHANDLER_DECLARE ( tcp_offload_listen_start  ,
tcp_offload_listen_start_fn   
)

◆ EVENTHANDLER_DECLARE() [2/2]

EVENTHANDLER_DECLARE ( tcp_offload_listen_stop  ,
tcp_offload_listen_stop_fn   
)

◆ init_toedev()

◆ register_toedev()

int register_toedev ( struct toedev tod)

Definition at line 309 of file toecore.c.

References inp_apply_all(), registered_toedevs, toe_listen_start(), and toedev_lock.

Here is the call graph for this function:

◆ toe_4tuple_check()

int toe_4tuple_check ( struct in_conninfo inc,
struct tcphdr *  th,
struct ifnet *  ifp 
)

Definition at line 386 of file toecore.c.

References in_pcblookup(), in_conninfo::inc_flags, INC_ISIPV6, inpcb::inp_flags, INP_RLOCK_ASSERT, INP_RUNLOCK, INP_TIMEWAIT, INPLOOKUP_RLOCKPCB, tcp_twcheck(), and V_tcbinfo.

Here is the call graph for this function:

◆ toe_connect_failed()

void toe_connect_failed ( struct toedev tod,
struct inpcb inp,
int  err 
)

◆ toe_l2_resolve()

int toe_l2_resolve ( struct toedev tod,
struct ifnet *  ifp,
struct sockaddr *  sa,
uint8_t lladdr,
uint16_t vtag 
)

Definition at line 472 of file toecore.c.

References arpresolve().

Here is the call graph for this function:

◆ toe_syncache_add()

void toe_syncache_add ( struct in_conninfo inc,
struct tcpopt to,
struct tcphdr *  th,
struct inpcb inp,
void *  tod,
void *  todctx,
uint8_t  iptos 
)

Definition at line 357 of file toecore.c.

References INP_RLOCK_ASSERT, inpcb::inp_socket, and syncache_add().

Here is the call graph for this function:

◆ toe_syncache_expand()

int toe_syncache_expand ( struct in_conninfo inc,
struct tcpopt to,
struct tcphdr *  th,
struct socket **  lsop 
)

Definition at line 368 of file toecore.c.

References syncache_expand().

Here is the call graph for this function:

◆ unregister_toedev()

int unregister_toedev ( struct toedev tod)

Definition at line 336 of file toecore.c.

References registered_toedevs, and toedev_lock.