Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F136833769
D22426.id65101.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
D22426.id65101.diff
View Options
Index: head/sys/netinet/tcp_stacks/rack.c
===================================================================
--- head/sys/netinet/tcp_stacks/rack.c
+++ head/sys/netinet/tcp_stacks/rack.c
@@ -390,39 +390,39 @@
static int
rack_do_close_wait(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_closing(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_established(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_fastnewdata(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_fin_wait_1(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_fin_wait_2(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_lastack(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_syn_recv(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
static int
rack_do_syn_sent(struct mbuf *m, struct tcphdr *th,
struct socket *so, struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen,
- int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt);
+ int32_t tlen, uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos);
struct rack_sendmap *
tcp_rack_output(struct tcpcb *tp, struct tcp_rack *rack,
uint32_t tsused);
@@ -5898,7 +5898,7 @@
static int
rack_do_fastnewdata(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t nxt_pkt, uint8_t iptos)
{
int32_t nsegs;
int32_t newsize = 0; /* automatic sockbuf scaling */
@@ -6039,7 +6039,7 @@
static int
rack_fastack(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t nxt_pkt, uint32_t cts)
+ uint32_t tiwin, int32_t nxt_pkt, uint32_t cts, uint8_t iptos)
{
int32_t acked;
int32_t nsegs;
@@ -6225,7 +6225,7 @@
static int
rack_do_syn_sent(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t tos)
{
int32_t ret_val = 0;
int32_t todrop;
@@ -6428,7 +6428,7 @@
static int
rack_do_syn_recv(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos)
{
struct tcp_rack *rack;
int32_t ret_val = 0;
@@ -6624,7 +6624,7 @@
static int
rack_do_established(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos)
{
int32_t ret_val = 0;
@@ -6651,12 +6651,12 @@
rack = (struct tcp_rack *)tp->t_fb_ptr;
if (tlen == 0) {
if (rack_fastack(m, th, so, tp, to, drop_hdrlen, tlen,
- tiwin, nxt_pkt, rack->r_ctl.rc_rcvtime)) {
+ tiwin, nxt_pkt, rack->r_ctl.rc_rcvtime, iptos)) {
return (0);
}
} else {
if (rack_do_fastnewdata(m, th, so, tp, to, drop_hdrlen, tlen,
- tiwin, nxt_pkt)) {
+ tiwin, nxt_pkt, iptos)) {
return (0);
}
}
@@ -6754,7 +6754,7 @@
static int
rack_do_close_wait(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos)
{
int32_t ret_val = 0;
@@ -6871,7 +6871,7 @@
static int
rack_do_fin_wait_1(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos)
{
int32_t ret_val = 0;
int32_t ourfinisacked = 0;
@@ -6992,7 +6992,7 @@
static int
rack_do_closing(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos)
{
int32_t ret_val = 0;
int32_t ourfinisacked = 0;
@@ -7099,7 +7099,7 @@
static int
rack_do_lastack(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos)
{
int32_t ret_val = 0;
int32_t ourfinisacked = 0;
@@ -7207,7 +7207,7 @@
static int
rack_do_fin_wait_2(struct mbuf *m, struct tcphdr *th, struct socket *so,
struct tcpcb *tp, struct tcpopt *to, int32_t drop_hdrlen, int32_t tlen,
- uint32_t tiwin, int32_t thflags, int32_t nxt_pkt)
+ uint32_t tiwin, int32_t thflags, int32_t nxt_pkt, uint8_t iptos)
{
int32_t ret_val = 0;
int32_t ourfinisacked = 0;
@@ -7837,7 +7837,7 @@
rack_clear_rate_sample(rack);
retval = (*rack->r_substate) (m, th, so,
tp, &to, drop_hdrlen,
- tlen, tiwin, thflags, nxt_pkt);
+ tlen, tiwin, thflags, nxt_pkt, iptos);
#ifdef INVARIANTS
if ((retval == 0) &&
(tp->t_inpcb == NULL)) {
Index: head/sys/netinet/tcp_stacks/tcp_rack.h
===================================================================
--- head/sys/netinet/tcp_stacks/tcp_rack.h
+++ head/sys/netinet/tcp_stacks/tcp_rack.h
@@ -300,7 +300,7 @@
TAILQ_ENTRY(tcp_rack) r_hpts; /* hptsi queue next Lock(b) */
int32_t(*r_substate) (struct mbuf *, struct tcphdr *,
struct socket *, struct tcpcb *, struct tcpopt *,
- int32_t, int32_t, uint32_t, int, int); /* Lock(a) */
+ int32_t, int32_t, uint32_t, int, int, uint8_t); /* Lock(a) */
struct tcpcb *rc_tp; /* The tcpcb Lock(a) */
struct inpcb *rc_inp; /* The inpcb Lock(a) */
uint32_t rc_free_cnt; /* Number of free entries on the rc_free list
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Nov 20, 10:41 PM (10 h, 23 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
25742177
Default Alt Text
D22426.id65101.diff (7 KB)
Attached To
Mode
D22426: Add access to TOS(ECN bits) byte in TCP RACK
Attached
Detach File
Event Timeline
Log In to Comment