diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
-rw-r--r-- | net/ipv4/tcp_output.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index d12f7f71c1c4..e9f985e42405 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c | |||
@@ -2905,6 +2905,10 @@ int __tcp_retransmit_skb(struct sock *sk, struct sk_buff *skb, int segs) | |||
2905 | err = tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); | 2905 | err = tcp_transmit_skb(sk, skb, 1, GFP_ATOMIC); |
2906 | } | 2906 | } |
2907 | 2907 | ||
2908 | if (BPF_SOCK_OPS_TEST_FLAG(tp, BPF_SOCK_OPS_RETRANS_CB_FLAG)) | ||
2909 | tcp_call_bpf_3arg(sk, BPF_SOCK_OPS_RETRANS_CB, | ||
2910 | TCP_SKB_CB(skb)->seq, segs, err); | ||
2911 | |||
2908 | if (likely(!err)) { | 2912 | if (likely(!err)) { |
2909 | TCP_SKB_CB(skb)->sacked |= TCPCB_EVER_RETRANS; | 2913 | TCP_SKB_CB(skb)->sacked |= TCPCB_EVER_RETRANS; |
2910 | trace_tcp_retransmit_skb(sk, skb); | 2914 | trace_tcp_retransmit_skb(sk, skb); |