ss: print tcpi_rcv_mss and tcpi_advmss
tcpi_rcv_mss and tcpi_advmss tcp info fields were not yet reported by ss. While adding GRO support to packetdrill, I found this was useful. Signed-off-by: Eric Dumazet <edumazet@google.com>
This commit is contained in:
parent
e7867c34e8
commit
38e6dbc4b3
|
|
@ -707,6 +707,8 @@ struct tcpstat {
|
||||||
int snd_wscale;
|
int snd_wscale;
|
||||||
int rcv_wscale;
|
int rcv_wscale;
|
||||||
int mss;
|
int mss;
|
||||||
|
int rcv_mss;
|
||||||
|
int advmss;
|
||||||
unsigned int cwnd;
|
unsigned int cwnd;
|
||||||
unsigned int lastsnd;
|
unsigned int lastsnd;
|
||||||
unsigned int lastrcv;
|
unsigned int lastrcv;
|
||||||
|
|
@ -1872,6 +1874,10 @@ static void tcp_stats_print(struct tcpstat *s)
|
||||||
|
|
||||||
if (s->mss)
|
if (s->mss)
|
||||||
printf(" mss:%d", s->mss);
|
printf(" mss:%d", s->mss);
|
||||||
|
if (s->rcv_mss)
|
||||||
|
printf(" rcvmss:%d", s->rcv_mss);
|
||||||
|
if (s->advmss)
|
||||||
|
printf(" advmss:%d", s->advmss);
|
||||||
if (s->cwnd)
|
if (s->cwnd)
|
||||||
printf(" cwnd:%u", s->cwnd);
|
printf(" cwnd:%u", s->cwnd);
|
||||||
if (s->ssthresh)
|
if (s->ssthresh)
|
||||||
|
|
@ -2189,6 +2195,8 @@ static void tcp_show_info(const struct nlmsghdr *nlh, struct inet_diag_msg *r,
|
||||||
s.rttvar = (double)info->tcpi_rttvar / 1000;
|
s.rttvar = (double)info->tcpi_rttvar / 1000;
|
||||||
s.ato = (double)info->tcpi_ato / 1000;
|
s.ato = (double)info->tcpi_ato / 1000;
|
||||||
s.mss = info->tcpi_snd_mss;
|
s.mss = info->tcpi_snd_mss;
|
||||||
|
s.rcv_mss = info->tcpi_rcv_mss;
|
||||||
|
s.advmss = info->tcpi_advmss;
|
||||||
s.rcv_space = info->tcpi_rcv_space;
|
s.rcv_space = info->tcpi_rcv_space;
|
||||||
s.rcv_rtt = (double)info->tcpi_rcv_rtt / 1000;
|
s.rcv_rtt = (double)info->tcpi_rcv_rtt / 1000;
|
||||||
s.lastsnd = info->tcpi_last_data_sent;
|
s.lastsnd = info->tcpi_last_data_sent;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue