Changeset View
Changeset View
Standalone View
Standalone View
sys/netinet/tcp_stacks/rack.c
Context not available. | |||||
ip6, rack->r_ctl.fsb.th); | ip6, rack->r_ctl.fsb.th); | ||||
} else | } else | ||||
#endif /* INET6 */ | #endif /* INET6 */ | ||||
#ifdef INET | |||||
{ | { | ||||
rack->r_ctl.fsb.tcp_ip_hdr_len = sizeof(struct tcpiphdr); | rack->r_ctl.fsb.tcp_ip_hdr_len = sizeof(struct tcpiphdr); | ||||
ip = (struct ip *)rack->r_ctl.fsb.tcp_ip_hdr; | ip = (struct ip *)rack->r_ctl.fsb.tcp_ip_hdr; | ||||
Context not available. | |||||
tp->t_port, | tp->t_port, | ||||
ip, rack->r_ctl.fsb.th); | ip, rack->r_ctl.fsb.th); | ||||
} | } | ||||
#endif | |||||
rack->r_fsb_inited = 1; | rack->r_fsb_inited = 1; | ||||
} | } | ||||
static void | |||||
rack_dscp_change(struct tcpcb *tp) | |||||
{ | |||||
#ifdef INET6 | |||||
struct ip6_hdr *ip6 = NULL; | |||||
#endif | |||||
#ifdef INET | |||||
struct ip *ip = NULL; | |||||
#endif | |||||
struct tcp_rack *rack; | |||||
/* | |||||
* A socket option changed the outgoing TOS/TCLASS update | |||||
* the fast send block. | |||||
*/ | |||||
rack = (struct tcp_rack *)tp->t_fb_ptr; | |||||
#ifdef INET6 | |||||
if (rack->r_is_v6) { | |||||
ip6 = (struct ip6_hdr *)rack->r_ctl.fsb.tcp_ip_hdr; | |||||
ip6->ip6_flow = (ip6->ip6_flow & ~IPV6_FLOWINFO_MASK) | | |||||
(rack->rc_inp->inp_flow & IPV6_FLOWINFO_MASK); | |||||
} | |||||
#endif | |||||
#ifdef INET | |||||
else { | |||||
ip = (struct ip *)rack->r_ctl.fsb.tcp_ip_hdr; | |||||
ip->ip_tos = rack->rc_inp->inp_ip_tos; | |||||
} | |||||
#endif | |||||
} | |||||
static int | static int | ||||
rack_init_fsb(struct tcpcb *tp, struct tcp_rack *rack) | rack_init_fsb(struct tcpcb *tp, struct tcp_rack *rack) | ||||
{ | { | ||||
Context not available. | |||||
.tfb_tcp_mtu_chg = rack_mtu_change, | .tfb_tcp_mtu_chg = rack_mtu_change, | ||||
.tfb_pru_options = rack_pru_options, | .tfb_pru_options = rack_pru_options, | ||||
.tfb_hwtls_change = rack_hw_tls_change, | .tfb_hwtls_change = rack_hw_tls_change, | ||||
.tfb_dscp_change = rack_dscp_change, | |||||
}; | }; | ||||
/* | /* | ||||
Context not available. |