Changeset View
Changeset View
Standalone View
Standalone View
head/sys/netinet/toecore.h
Show All 35 Lines | |||||
#endif | #endif | ||||
#include <sys/_eventhandler.h> | #include <sys/_eventhandler.h> | ||||
struct tcpopt; | struct tcpopt; | ||||
struct tcphdr; | struct tcphdr; | ||||
struct in_conninfo; | struct in_conninfo; | ||||
struct tcp_info; | struct tcp_info; | ||||
struct nhop_object; | |||||
struct ktls_session; | struct ktls_session; | ||||
struct toedev { | struct toedev { | ||||
TAILQ_ENTRY(toedev) link; /* glue for toedev_list */ | TAILQ_ENTRY(toedev) link; /* glue for toedev_list */ | ||||
void *tod_softc; /* TOE driver private data */ | void *tod_softc; /* TOE driver private data */ | ||||
/* | /* | ||||
* Active open. If a failure occurs, it is reported back by the driver | * Active open. If a failure occurs, it is reported back by the driver | ||||
* via toe_connect_failed. | * via toe_connect_failed. | ||||
*/ | */ | ||||
int (*tod_connect)(struct toedev *, struct socket *, struct rtentry *, | int (*tod_connect)(struct toedev *, struct socket *, struct nhop_object *, | ||||
struct sockaddr *); | struct sockaddr *); | ||||
/* Passive open. */ | /* Passive open. */ | ||||
int (*tod_listen_start)(struct toedev *, struct tcpcb *); | int (*tod_listen_start)(struct toedev *, struct tcpcb *); | ||||
int (*tod_listen_stop)(struct toedev *, struct tcpcb *); | int (*tod_listen_stop)(struct toedev *, struct tcpcb *); | ||||
/* | /* | ||||
* The kernel uses this routine to pass on any frame it receives for an | * The kernel uses this routine to pass on any frame it receives for an | ||||
Show All 27 Lines | struct toedev { | ||||
* The kernel calls this once it has information about an L2 entry that | * The kernel calls this once it has information about an L2 entry that | ||||
* the TOE driver enquired about previously (via toe_l2_resolve). | * the TOE driver enquired about previously (via toe_l2_resolve). | ||||
*/ | */ | ||||
void (*tod_l2_update)(struct toedev *, struct ifnet *, | void (*tod_l2_update)(struct toedev *, struct ifnet *, | ||||
struct sockaddr *, uint8_t *, uint16_t); | struct sockaddr *, uint8_t *, uint16_t); | ||||
/* XXX. Route has been redirected. */ | /* XXX. Route has been redirected. */ | ||||
void (*tod_route_redirect)(struct toedev *, struct ifnet *, | void (*tod_route_redirect)(struct toedev *, struct ifnet *, | ||||
struct rtentry *, struct rtentry *); | struct nhop_object *, struct nhop_object *); | ||||
/* Syncache interaction. */ | /* Syncache interaction. */ | ||||
void (*tod_syncache_added)(struct toedev *, void *); | void (*tod_syncache_added)(struct toedev *, void *); | ||||
void (*tod_syncache_removed)(struct toedev *, void *); | void (*tod_syncache_removed)(struct toedev *, void *); | ||||
int (*tod_syncache_respond)(struct toedev *, void *, struct mbuf *); | int (*tod_syncache_respond)(struct toedev *, void *, struct mbuf *); | ||||
void (*tod_offload_socket)(struct toedev *, void *, struct socket *); | void (*tod_offload_socket)(struct toedev *, void *, struct socket *); | ||||
/* TCP socket option */ | /* TCP socket option */ | ||||
Show All 37 Lines |