Skip to content

Commit be71f96

Browse files
authored
Merge pull request #97 from oracle/hardlimit
tcp_buffer_tuner: tcp [rw]mem_max cannot exceed 2147483647
2 parents f3f8b9a + f0a0f53 commit be71f96

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/tcp_buffer_tuner.bpf.c

+7
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
#include "tcp_buffer_tuner.h"
2222
#include <bpftune/corr.h>
2323

24+
#define TCP_BUFFER_MAX 2147483647
25+
2426
BPF_MAP_DEF(corr_map, BPF_MAP_TYPE_HASH, struct corr_key, struct corr, 1024, 0);
2527

2628
bool under_memory_pressure = false;
@@ -211,6 +213,8 @@ BPF_FENTRY(tcp_sndbuf_expand, struct sock *sk)
211213
wmem[1] = wmem_new[1] = BPFTUNE_CORE_READ(net, ipv4.sysctl_tcp_wmem[1]);
212214
wmem_new[2] = BPFTUNE_GROW_BY_DELTA(wmem[2]);
213215

216+
if (wmem_new[2] >= TCP_BUFFER_MAX)
217+
return 0;
214218
if (send_sk_sysctl_event(sk, TCP_BUFFER_INCREASE,
215219
TCP_BUFFER_TCP_WMEM,
216220
wmem, wmem_new, &event) < 0)
@@ -262,6 +266,9 @@ BPF_FENTRY(tcp_rcv_space_adjust, struct sock *sk)
262266
rmem[0] = rmem_new[0] = BPFTUNE_CORE_READ(net, ipv4.sysctl_tcp_rmem[0]);
263267
rmem[1] = rmem_new[1] = BPFTUNE_CORE_READ(net, ipv4.sysctl_tcp_rmem[1]);
264268
rmem_new[2] = BPFTUNE_GROW_BY_DELTA(rmem[2]);
269+
if (rmem_new[2] >= TCP_BUFFER_MAX)
270+
return 0;
271+
265272
if (send_sk_sysctl_event(sk, TCP_BUFFER_INCREASE, TCP_BUFFER_TCP_RMEM,
266273
rmem, rmem_new, &event) < 0)
267274
return 0;

0 commit comments

Comments
 (0)