xebd / accel-ppp

High performance PPTP/L2TP/PPPoE/IPoE server for Linux
GNU General Public License v2.0
299 stars 107 forks source link

Memory leak with IPv6 /112 prefix #133

Open c-po opened 4 years ago

c-po commented 4 years ago

Using version 1.12.0-57-gc983d6f

and the following configuration:

[modules]
log_syslog
l2tp
chap-secrets
auth_mschap_v2

ippool
shaper
ipv6pool
ipv6_nd
ipv6_dhcp

[core]
thread-count=2

[log]
syslog=accel-l2tp,daemon
copy=1
level=5

[dns]
dns1=172.16.254.100
dns2=172.16.254.30

[l2tp]
verbose=1
ifname=l2tp%d
ppp-max-mtu=1300
mppe=prefer
bind=172.18.254.204

[client-ip-range]
0.0.0.0/0

[ip-pool]
172.20.100.0/26
gw-ip-address=172.18.254.204

[chap-secrets]
chap-secrets=/etc/accel-ppp/l2tp.chap-secrets

acct-timeout=3
timeout=3
max-try=3

bind=172.18.254.204
[ppp]
verbose=1
check-ip=1
single-session=replace
lcp-echo-timeout=180
lcp-echo-interval=30
lcp-echo-failure=3
ipv6=allow

[ipv6-pool]
2001:db8::/64,112

[cli]
tcp=127.0.0.1:2004
sessions-columns=ifname,username,calling-sid,ip,ip6,rate-limit,type,comp,state,rx-bytes,tx-bytes,uptime

I immediately see my memory consumption going crazy and finally

Apr 11 12:23:03 LR4 kernel: [ 1790.336613] Out of memory: Kill process 4015 (accel-pppd) score 923 or sacrifice child
Apr 11 12:23:03 LR4 kernel: [ 1790.345033] Killed process 4015 (accel-pppd) total-vm:3776740kB, anon-rss:3705280kB, file-rss:1736kB, shmem-rss:0kB
Apr 11 12:23:04 LR4 kernel: [ 1791.140661] oom_reaper: reaped process 4015 (accel-pppd), now anon-rss:0kB, file-rss:0kB, shmem-rss:0kB

Eating up 4GB of RAM takes ~ 10 secondsm. As soon as I change the IPv6 pool to

[ipv6-pool]
2001:db8::/64,64

the issue is resolved.