|
21 | 21 | #include "tcp_buffer_tuner.h"
|
22 | 22 | #include <bpftune/corr.h>
|
23 | 23 |
|
| 24 | +#define TCP_BUFFER_MAX 2147483647 |
| 25 | + |
24 | 26 | BPF_MAP_DEF(corr_map, BPF_MAP_TYPE_HASH, struct corr_key, struct corr, 1024, 0);
|
25 | 27 |
|
26 | 28 | bool under_memory_pressure = false;
|
@@ -211,6 +213,8 @@ BPF_FENTRY(tcp_sndbuf_expand, struct sock *sk)
|
211 | 213 | wmem[1] = wmem_new[1] = BPFTUNE_CORE_READ(net, ipv4.sysctl_tcp_wmem[1]);
|
212 | 214 | wmem_new[2] = BPFTUNE_GROW_BY_DELTA(wmem[2]);
|
213 | 215 |
|
| 216 | + if (wmem_new[2] >= TCP_BUFFER_MAX) |
| 217 | + return 0; |
214 | 218 | if (send_sk_sysctl_event(sk, TCP_BUFFER_INCREASE,
|
215 | 219 | TCP_BUFFER_TCP_WMEM,
|
216 | 220 | wmem, wmem_new, &event) < 0)
|
@@ -262,6 +266,9 @@ BPF_FENTRY(tcp_rcv_space_adjust, struct sock *sk)
|
262 | 266 | rmem[0] = rmem_new[0] = BPFTUNE_CORE_READ(net, ipv4.sysctl_tcp_rmem[0]);
|
263 | 267 | rmem[1] = rmem_new[1] = BPFTUNE_CORE_READ(net, ipv4.sysctl_tcp_rmem[1]);
|
264 | 268 | rmem_new[2] = BPFTUNE_GROW_BY_DELTA(rmem[2]);
|
| 269 | + if (rmem_new[2] >= TCP_BUFFER_MAX) |
| 270 | + return 0; |
| 271 | + |
265 | 272 | if (send_sk_sysctl_event(sk, TCP_BUFFER_INCREASE, TCP_BUFFER_TCP_RMEM,
|
266 | 273 | rmem, rmem_new, &event) < 0)
|
267 | 274 | return 0;
|
|
0 commit comments