FreeBSD kernel IPv4 code
|
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 void(* tcp_offload_listen_start_fn) (void *, struct tcpcb *) |
typedef void(* tcp_offload_listen_stop_fn) (void *, struct tcpcb *) |
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 * | tod | ) |
Definition at line 273 of file toecore.c.
References toedev::tod_alloc_tls_session, toedev::tod_connect, toedev::tod_ctloutput, toedev::tod_input, toedev::tod_l2_update, toedev::tod_listen_start, toedev::tod_listen_stop, toedev::tod_offload_socket, toedev::tod_output, toedev::tod_pcb_detach, toedev::tod_pmtu_update, toedev::tod_rcvd, toedev::tod_route_redirect, toedev::tod_send_fin, toedev::tod_send_rst, toedev::tod_softc, toedev::tod_syncache_added, toedev::tod_syncache_removed, toedev::tod_syncache_respond, toedev::tod_tcp_info, toedev_alloc_tls_session(), toedev_ctloutput(), toedev_input(), toedev_l2_update(), toedev_listen_start(), toedev_listen_stop(), toedev_offload_socket(), toedev_output(), toedev_pcb_detach(), toedev_pmtu_update(), toedev_rcvd(), toedev_route_redirect(), toedev_syncache_added(), toedev_syncache_removed(), toedev_syncache_respond(), and toedev_tcp_info().
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.
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.
Definition at line 511 of file toecore.c.
References INP_DROPPED, inpcb::inp_flags, INP_WLOCK, INP_WLOCK_ASSERT, intotcpcb, tcpcb::t_flags, tcp_drop(), tcp_timer_activate(), TF_TOE, tcpcb::tod, toedev::tod_pcb_detach, TP_KEEPINIT, and TT_KEEP.
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().
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().
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().
int unregister_toedev | ( | struct toedev * | tod | ) |
Definition at line 336 of file toecore.c.
References registered_toedevs, and toedev_lock.