FreeBSD kernel IPv4 code
|
#include <sys/cdefs.h>
#include "opt_inet.h"
#include "opt_inet6.h"
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/eventhandler.h>
#include <sys/mbuf.h>
#include <sys/socket.h>
#include <sys/socketvar.h>
#include <sys/sockopt.h>
#include <net/if.h>
#include <net/if_var.h>
#include <net/route.h>
#include <net/route/nhop.h>
#include <netinet/in.h>
#include <netinet/in_pcb.h>
#include <netinet/in_fib.h>
#include <netinet6/in6_fib.h>
#include <netinet/tcp.h>
#include <netinet/tcp_offload.h>
#include <netinet/tcp_fsm.h>
#include <netinet/tcp_var.h>
#include <netinet/toecore.h>
Go to the source code of this file.
Macros | |
#define | TCPOUTFLAGS |
Functions | |
__FBSDID ("$FreeBSD$") | |
int | tcp_offload_connect (struct socket *so, struct sockaddr *nam) |
void | tcp_offload_listen_start (struct tcpcb *tp) |
void | tcp_offload_listen_stop (struct tcpcb *tp) |
void | tcp_offload_input (struct tcpcb *tp, struct mbuf *m) |
int | tcp_offload_output (struct tcpcb *tp) |
void | tcp_offload_rcvd (struct tcpcb *tp) |
void | tcp_offload_ctloutput (struct tcpcb *tp, int sopt_dir, int sopt_name) |
void | tcp_offload_tcp_info (struct tcpcb *tp, struct tcp_info *ti) |
int | tcp_offload_alloc_tls_session (struct tcpcb *tp, struct ktls_session *tls, int direction) |
void | tcp_offload_detach (struct tcpcb *tp) |
void | tcp_offload_pmtu_update (struct tcpcb *tp, tcp_seq seq, int mtu) |
Variables | |
int | registered_toedevs |
#define TCPOUTFLAGS |
Definition at line 52 of file tcp_offload.c.
__FBSDID | ( | "$FreeBSD$" | ) |
int tcp_offload_alloc_tls_session | ( | struct tcpcb * | tp, |
struct ktls_session * | tls, | ||
int | direction | ||
) |
Definition at line 201 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, tcpcb::tod, and toedev::tod_alloc_tls_session.
int tcp_offload_connect | ( | struct socket * | so, |
struct sockaddr * | nam | ||
) |
Definition at line 63 of file tcp_offload.c.
References fib4_lookup(), INP_WLOCK_ASSERT, registered_toedevs, sotoinpcb, and toedev::tod_connect.
void tcp_offload_ctloutput | ( | struct tcpcb * | tp, |
int | sopt_dir, | ||
int | sopt_name | ||
) |
Definition at line 179 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, tcpcb::tod, and toedev::tod_ctloutput.
Referenced by tcp_ctloutput_set(), and tcp_default_ctloutput().
void tcp_offload_detach | ( | struct tcpcb * | tp | ) |
Definition at line 213 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, tcpcb::tod, and toedev::tod_pcb_detach.
Referenced by tcp_discardcb().
void tcp_offload_input | ( | struct tcpcb * | tp, |
struct mbuf * | m | ||
) |
Definition at line 132 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, tcpcb::tod, and toedev::tod_input.
Referenced by tcp_input_with_port().
void tcp_offload_listen_start | ( | struct tcpcb * | tp | ) |
Definition at line 114 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, and tcp_offload_listen_start().
Referenced by tcp_offload_listen_start(), toecore_load(), and toecore_unload().
void tcp_offload_listen_stop | ( | struct tcpcb * | tp | ) |
Definition at line 123 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, and tcp_offload_listen_stop().
Referenced by tcp_close(), tcp_offload_listen_stop(), tcp_usrclosed(), toecore_load(), and toecore_unload().
int tcp_offload_output | ( | struct tcpcb * | tp | ) |
Definition at line 143 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_flags, tcpcb::t_inpcb, tcpcb::t_state, TF_NEEDFIN, TF_SENTFIN, tcpcb::tod, toedev::tod_output, toedev::tod_send_fin, and toedev::tod_send_rst.
Referenced by bbr_output_wtime(), rack_output(), and tcp_default_output().
void tcp_offload_pmtu_update | ( | struct tcpcb * | tp, |
tcp_seq | seq, | ||
int | mtu | ||
) |
Definition at line 224 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, tcpcb::tod, and toedev::tod_pmtu_update.
void tcp_offload_rcvd | ( | struct tcpcb * | tp | ) |
Definition at line 168 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, tcpcb::tod, and toedev::tod_rcvd.
Referenced by tcp_usr_rcvd().
void tcp_offload_tcp_info | ( | struct tcpcb * | tp, |
struct tcp_info * | ti | ||
) |
Definition at line 190 of file tcp_offload.c.
References INP_WLOCK_ASSERT, tcpcb::t_inpcb, tcpcb::tod, and toedev::tod_tcp_info.
Referenced by rack_fill_info(), and tcp_fill_info().
int registered_toedevs |
Definition at line 57 of file tcp_offload.c.
Referenced by register_toedev(), tcp_offload_connect(), and unregister_toedev().