admin管理员组文章数量:1320661
Using bcc sock:inet_stock_state to calculate retransmission rate when TCP close
Do you want to use tcp-sock ->total instead/tcpsock ->segs_out?
...
int sk_trace0(struct tracepoint__sock__inet_sock_set_state* args)
{
if (args->protocol != IPPROTO_TCP)
return 0;
if (args->newstate != TCP_CLOSE) {
return 0;
}
struct sock *sk = (struct sock *)args->skaddr;
struct tcp_sock *tcpi = tcp_sk(sk);
u16 family = sk->__sk_common.skc_family;
if (family == AF_INET) {
// calculate retransmission rate when TCP close
// tcpi->total_retrans / tcpi->segs_out?
struct ipv4_data0_t data4 = {};
data4.family = family;
data4.srtt = (tcpi->srtt_us>> 3) / 1000;
data4.retrans = (tcpi->total_retrans);
data4.saddr = (sk->__sk_common.skc_rcv_saddr);
data4.daddr = (sk->__sk_common.skc_daddr);
data4.dport = args->dport;
data4.lport = args->sport;
data4.segs_out = (tcpi->segs_out);
ip_events.perf_submit(args, &data4, sizeof(data4));
}
return 0;
}
How do I calculate the retransmission rate if I collect all the data?
- Does segs_out include total_retrans?
- Can total_retrans/segs_out be used to calculate the retransmission rate?
本文标签: linuxCalculate TCP retransmission rate through ebpfStack Overflow
版权声明:本文标题:linux - Calculate TCP retransmission rate through ebpf - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1742063772a2418707.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论