add rcv_nxt, snd_nxt, and toe offload id to FreeBSD-specific
extension fields for tcp_info
This commit is contained in:
parent
c8c7ad9260
commit
535fbad68f
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=178793
@ -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
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user