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

Go to the source code of this file.

Functions

void tcp_ecn_input_syn_sent (struct tcpcb *, uint16_t, int)
 
void tcp_ecn_input_parallel_syn (struct tcpcb *, uint16_t, int)
 
int tcp_ecn_input_segment (struct tcpcb *, uint16_t, int)
 
uint16_t tcp_ecn_output_syn_sent (struct tcpcb *)
 
int tcp_ecn_output_established (struct tcpcb *, uint16_t *, int, bool)
 
void tcp_ecn_syncache_socket (struct tcpcb *, struct syncache *)
 
int tcp_ecn_syncache_add (uint16_t, int)
 
uint16_t tcp_ecn_syncache_respond (uint16_t, struct syncache *)
 

Function Documentation

◆ tcp_ecn_input_parallel_syn()

void tcp_ecn_input_parallel_syn ( struct tcpcb tp,
uint16_t  thflags,
int  iptos 
)

Definition at line 125 of file tcp_ecn.c.

References tcpcb::t_flags2, TCPSTAT_INC, TF2_ECN_PERMIT, TF2_ECN_SND_ECE, and V_tcp_do_ecn.

Referenced by rack_do_segment_nounlock(), and tcp_do_segment().

Here is the caller graph for this function:

◆ tcp_ecn_input_segment()

int tcp_ecn_input_segment ( struct tcpcb tp,
uint16_t  thflags,
int  iptos 
)

Definition at line 145 of file tcp_ecn.c.

References cc_ecnpkt_handler_flags(), IPTOS_ECN_CE, IPTOS_ECN_ECT0, IPTOS_ECN_ECT1, IPTOS_ECN_MASK, tcpcb::t_flags, tcpcb::t_flags2, TCPSTAT_INC, TF2_ECN_PERMIT, TF2_ECN_SND_ECE, and TF_ACKNOW.

Referenced by rack_do_compressed_ack_processing(), rack_do_segment_nounlock(), and tcp_do_segment().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ tcp_ecn_input_syn_sent()

void tcp_ecn_input_syn_sent ( struct tcpcb tp,
uint16_t  thflags,
int  iptos 
)

Definition at line 110 of file tcp_ecn.c.

References tcpcb::t_flags2, TCPSTAT_INC, TF2_ECN_PERMIT, and V_tcp_do_ecn.

Referenced by rack_do_syn_sent(), and tcp_do_segment().

Here is the caller graph for this function:

◆ tcp_ecn_output_established()

int tcp_ecn_output_established ( struct tcpcb tp,
uint16_t thflags,
int  len,
bool  rxmit 
)

◆ tcp_ecn_output_syn_sent()

uint16_t tcp_ecn_output_syn_sent ( struct tcpcb tp)

Definition at line 183 of file tcp_ecn.c.

References tcpcb::t_rxtshift, V_tcp_do_ecn, and V_tcp_ecn_maxretries.

Referenced by rack_output(), and tcp_default_output().

Here is the caller graph for this function:

◆ tcp_ecn_syncache_add()

int tcp_ecn_syncache_add ( uint16_t  thflags,
int  iptos 
)

Definition at line 260 of file tcp_ecn.c.

References SCF_ECN.

Referenced by syncache_add().

Here is the caller graph for this function:

◆ tcp_ecn_syncache_respond()

uint16_t tcp_ecn_syncache_respond ( uint16_t  thflags,
struct syncache sc 
)

Definition at line 283 of file tcp_ecn.c.

References syncache::sc_flags, SCF_ECN, SCF_ECN_MASK, and TCPSTAT_INC.

Referenced by syncache_respond().

Here is the caller graph for this function:

◆ tcp_ecn_syncache_socket()

void tcp_ecn_syncache_socket ( struct tcpcb tp,
struct syncache sc 
)

Definition at line 241 of file tcp_ecn.c.

References syncache::sc_flags, SCF_ECN, SCF_ECN_MASK, tcpcb::t_flags2, and TF2_ECN_PERMIT.

Referenced by syncache_socket().

Here is the caller graph for this function: