add rcv_nxt, snd_nxt, and toe offload id to FreeBSD-specific

extension fields for tcp_info
This commit is contained in:
Kip Macy 2008-05-05 20:13:31 +00:00
parent c8c7ad9260
commit 535fbad68f
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=178793
2 changed files with 12 additions and 2 deletions

View File

@ -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

View File

@ -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;
}
/*