Skip to content

Commit b4c1c1d

Browse files
Daniel Borkmanndavem330
authored andcommitted
net: tcp_probe: also include rcv_wnd next to snd_wnd
It is helpful to sometimes know the TCP window sizes of an established socket e.g. to confirm that window scaling is working or to tweak the window size to improve high-latency connections, etc etc. Currently the TCP snooper only exports the send window size, but not the receive window size. Therefore, also add the receive window size to the end of the output line. Signed-off-by: Daniel Borkmann <dborkman@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent baf3b3f commit b4c1c1d

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

net/ipv4/tcp_probe.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ struct tcp_log {
6060
u32 snd_nxt;
6161
u32 snd_una;
6262
u32 snd_wnd;
63+
u32 rcv_wnd;
6364
u32 snd_cwnd;
6465
u32 ssthresh;
6566
u32 srtt;
@@ -116,6 +117,7 @@ static int jtcp_rcv_established(struct sock *sk, struct sk_buff *skb,
116117
p->snd_una = tp->snd_una;
117118
p->snd_cwnd = tp->snd_cwnd;
118119
p->snd_wnd = tp->snd_wnd;
120+
p->rcv_wnd = tp->rcv_wnd;
119121
p->ssthresh = tcp_current_ssthresh(sk);
120122
p->srtt = tp->srtt >> 3;
121123

@@ -157,13 +159,13 @@ static int tcpprobe_sprint(char *tbuf, int n)
157159
= ktime_to_timespec(ktime_sub(p->tstamp, tcp_probe.start));
158160

159161
return scnprintf(tbuf, n,
160-
"%lu.%09lu %pI4:%u %pI4:%u %d %#x %#x %u %u %u %u\n",
162+
"%lu.%09lu %pI4:%u %pI4:%u %d %#x %#x %u %u %u %u %u\n",
161163
(unsigned long) tv.tv_sec,
162164
(unsigned long) tv.tv_nsec,
163165
&p->saddr, ntohs(p->sport),
164166
&p->daddr, ntohs(p->dport),
165167
p->length, p->snd_nxt, p->snd_una,
166-
p->snd_cwnd, p->ssthresh, p->snd_wnd, p->srtt);
168+
p->snd_cwnd, p->ssthresh, p->snd_wnd, p->srtt, p->rcv_wnd);
167169
}
168170

169171
static ssize_t tcpprobe_read(struct file *file, char __user *buf,

0 commit comments

Comments
 (0)