diff options
author | kmacy <kmacy@FreeBSD.org> | 2008-05-05 20:13:31 +0000 |
---|---|---|
committer | kmacy <kmacy@FreeBSD.org> | 2008-05-05 20:13:31 +0000 |
commit | 0e928592c9b0ac26002e01bfed850a9cca5e8319 (patch) | |
tree | ca3e1ddd4cc2a447b3fba4d0feb5b23411a928c3 /sys | |
parent | afbf6fcd73e04b6510fe77e5897f4b00bc2951a0 (diff) | |
download | FreeBSD-src-0e928592c9b0ac26002e01bfed850a9cca5e8319.zip FreeBSD-src-0e928592c9b0ac26002e01bfed850a9cca5e8319.tar.gz |
add rcv_nxt, snd_nxt, and toe offload id to FreeBSD-specific
extension fields for tcp_info
Diffstat (limited to 'sys')
-rw-r--r-- | sys/netinet/tcp.h | 8 | ||||
-rw-r--r-- | sys/netinet/tcp_usrreq.c | 6 |
2 files changed, 12 insertions, 2 deletions
diff --git a/sys/netinet/tcp.h b/sys/netinet/tcp.h index 0ba98b4..03b8bf6 100644 --- a/sys/netinet/tcp.h +++ b/sys/netinet/tcp.h @@ -157,6 +157,7 @@ struct tcphdr { #define TCPI_OPT_SACK 0x02 #define TCPI_OPT_WSCALE 0x04 #define TCPI_OPT_ECN 0x08 +#define TCPI_OPT_TOE 0x10 /* * The TCP_INFO socket option comes from the Linux 2.6 TCP API, and permits @@ -213,9 +214,12 @@ struct tcp_info { /* FreeBSD extensions to tcp_info. */ u_int32_t tcpi_snd_wnd; /* Advertised send window. */ u_int32_t tcpi_snd_bwnd; /* Bandwidth send window. */ - + u_int32_t tcpi_snd_nxt; /* Next egress seqno */ + u_int32_t tcpi_rcv_nxt; /* Next ingress seqno */ + u_int32_t tcpi_toe_tid; /* HWTID for TOE endpoints */ + /* Padding to grow without breaking ABI. */ - u_int32_t __tcpi_pad[32]; /* Padding. */ + u_int32_t __tcpi_pad[29]; /* Padding. */ }; #endif diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index 6a68337..b57f25c 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -1229,8 +1229,14 @@ tcp_fill_info(struct tcpcb *tp, struct tcp_info *ti) * FreeBSD-specific extension fields for tcp_info. */ ti->tcpi_rcv_space = tp->rcv_wnd; + ti->tcpi_rcv_nxt = tp->rcv_nxt; ti->tcpi_snd_wnd = tp->snd_wnd; ti->tcpi_snd_bwnd = tp->snd_bwnd; + ti->tcpi_snd_nxt = tp->snd_nxt; + ti->__tcpi_snd_mss = tp->t_maxseg; + ti->__tcpi_rcv_mss = tp->t_maxseg; + if (tp->t_flags & TF_TOE) + ti->tcpi_options |= TCPI_OPT_TOE; } /* |