Quotas not saving correctly/Getting cut off
Moderator: Moderators
Quotas not saving correctly/Getting cut off
Hi all,
I have about 200 quotas and usually when I edit one and save, it takes probably 10 seconds and then the page reloads and everything is good. This morning, I tried to adjust a quota and save, the wheel spun for a second or two, then the page reloaded, but only the first 30ish quotas showed up. It's like the rest got cut off mid-save and got lost. I have a backup, so I restored and tried again. Same problem. Sometimes it reloads after one second, sometimes after 3 seconds, each time a larger or smaller portion of the quotas are cut off.
With my old router, I used to get this from time to time (maybe associated with load?)
Now gargoyle is virtualized on a intel processor and runs much faster, so load isn't an issue anymore. However, something seems to be interrupting the quota save script.
Is there a way to watch what's happening to give more detail? Fortunately I can watch the console on Proxmox and mess with settings at the same time.
I have about 200 quotas and usually when I edit one and save, it takes probably 10 seconds and then the page reloads and everything is good. This morning, I tried to adjust a quota and save, the wheel spun for a second or two, then the page reloaded, but only the first 30ish quotas showed up. It's like the rest got cut off mid-save and got lost. I have a backup, so I restored and tried again. Same problem. Sometimes it reloads after one second, sometimes after 3 seconds, each time a larger or smaller portion of the quotas are cut off.
With my old router, I used to get this from time to time (maybe associated with load?)
Now gargoyle is virtualized on a intel processor and runs much faster, so load isn't an issue anymore. However, something seems to be interrupting the quota save script.
Is there a way to watch what's happening to give more detail? Fortunately I can watch the console on Proxmox and mess with settings at the same time.
Re: Quotas not saving correctly/Getting cut off
Looking at top while I save quotas, this process jumps to the top:
/usr/sbin/uhttpd -f -h /www -r Gargoyle -x /cgi-bin -t 900 -T 30 -k 20 -A 1 -E /login.sh -n 50 -N 200 -D -R -p 0.0.0.0:80 -p [::]:80 -i .sh=/usr/bin/run_haserl -i .csv=/usr/bin/run_haserl -I login.sh -C /etc/uhttpd.crt -K /etc/uhttpd.key -s 0.0.0.0:443 -s [::]:443
I get the following errors in logread:
daemon.err uhttpd[3917]: sh: write error: Broken pipe
daemon.err uhhtpd[3917]: uci: Invalid argument
/usr/sbin/uhttpd -f -h /www -r Gargoyle -x /cgi-bin -t 900 -T 30 -k 20 -A 1 -E /login.sh -n 50 -N 200 -D -R -p 0.0.0.0:80 -p [::]:80 -i .sh=/usr/bin/run_haserl -i .csv=/usr/bin/run_haserl -I login.sh -C /etc/uhttpd.crt -K /etc/uhttpd.key -s 0.0.0.0:443 -s [::]:443
I get the following errors in logread:
daemon.err uhttpd[3917]: sh: write error: Broken pipe
daemon.err uhhtpd[3917]: uci: Invalid argument
Re: Quotas not saving correctly/Getting cut off
Now i just tried again and it saved correctly.
I'll try to trigger it again and see what logread says.
On a successful write, I see this:
Thu Apr 2 15:04:23 2026 daemon.err uhttpd[3917]: Error: syntax error, unexpected string
Thu Apr 2 15:04:23 2026 daemon.err uhttpd[3917]: add rule inet fw4 mangle_combined_quotas ct mark & 0xF0000000 == 0x0 bandwidth id "ALL_OTHERS_INDIVIDUAL_combined" type individual_local subnet "192.168.2.1/23" subnet6 "fd25:c50b:d1ea::1/60" greater-than 1048576 reset-interval day ct mark set ct mark & 0xFFFF7FFF | 0x8000
Thu Apr 2 15:04:23 2026 daemon.err uhttpd[3917]:
I'll try to trigger it again and see what logread says.
On a successful write, I see this:
Thu Apr 2 15:04:23 2026 daemon.err uhttpd[3917]: Error: syntax error, unexpected string
Thu Apr 2 15:04:23 2026 daemon.err uhttpd[3917]: add rule inet fw4 mangle_combined_quotas ct mark & 0xF0000000 == 0x0 bandwidth id "ALL_OTHERS_INDIVIDUAL_combined" type individual_local subnet "192.168.2.1/23" subnet6 "fd25:c50b:d1ea::1/60" greater-than 1048576 reset-interval day ct mark set ct mark & 0xFFFF7FFF | 0x8000
Thu Apr 2 15:04:23 2026 daemon.err uhttpd[3917]:
Re: Quotas not saving correctly/Getting cut off
Device info:
Device Name:Gargoyle
Gargoyle Version:1.15.0.4 (Built 20260202-2036 git@d4e2d92b)
eko.one.pl
Model:QEMU Standard PC (i440FX + PIIX, 1996)
Device Configuration:Gateway
Memory Usage:74.5MB / 227.8MB (32.7%)
Connections:391/4096
CPU Load Averages:0.30 / 0.24 / 0.10 (1/5/15 minutes)
Device Name:Gargoyle
Gargoyle Version:1.15.0.4 (Built 20260202-2036 git@d4e2d92b)
eko.one.pl
Model:QEMU Standard PC (i440FX + PIIX, 1996)
Device Configuration:Gateway
Memory Usage:74.5MB / 227.8MB (32.7%)
Connections:391/4096
CPU Load Averages:0.30 / 0.24 / 0.10 (1/5/15 minutes)
Re: Quotas not saving correctly/Getting cut off
I think there might be a couple of things going on, one of which is load and “time to save”, if that process gets interrupted or fails we are going to land somewhere in the middle of nothing and everything. I agree with you that on a modern (virtualised) CPU you should not be running into limits.
The other issue with your unexpected string though definitely warrants exploring.
Are you able to share your firewall config with me (by PM if you don’t want it public) and I’ll take a look?
Also I see you’re running a large subnet, anything else I need to know to help me reproduce it?
The other issue with your unexpected string though definitely warrants exploring.
Are you able to share your firewall config with me (by PM if you don’t want it public) and I’ll take a look?
Also I see you’re running a large subnet, anything else I need to know to help me reproduce it?
https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Re: Quotas not saving correctly/Getting cut off
It's a /23 subnet, so not too big. How do I share my firewall config?
Re: Quotas not saving correctly/Getting cut off
Export the /etc/config/firewall from your router, either by “cat” command on the terminal or by file transfer (using something like WinSCP)
https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Re: Quotas not saving correctly/Getting cut off
Code: Select all
config defaults
option syn_flood '1'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option always_emit_nat_zones '1'
option emit_user_rule_chains '1'
config zone
option name 'lan'
list network 'lan'
option input 'ACCEPT'
option output 'ACCEPT'
option forward 'ACCEPT'
config zone
option name 'wan'
list network 'wan'
list network 'wan6'
option input 'REJECT'
option output 'ACCEPT'
option forward 'REJECT'
option masq '1'
option mtu_fix '1'
config forwarding
option src 'lan'
option dest 'wan'
config rule
option name 'Allow-DHCP-Renew'
option src 'wan'
option proto 'udp'
option dest_port '68'
option target 'ACCEPT'
option family 'ipv4'
config rule
option name 'Allow-Ping'
option src 'wan'
option proto 'icmp'
option icmp_type 'echo-request'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-IGMP'
option src 'wan'
option proto 'igmp'
option family 'ipv4'
option target 'ACCEPT'
config rule
option name 'Allow-DHCPv6'
option src 'wan'
option proto 'udp'
option dest_port '546'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-MLD'
option src 'wan'
option proto 'icmp'
option src_ip 'fe80::/10'
list icmp_type '130/0'
list icmp_type '131/0'
list icmp_type '132/0'
list icmp_type '143/0'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Input'
option src 'wan'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
list icmp_type 'router-solicitation'
list icmp_type 'neighbour-solicitation'
list icmp_type 'router-advertisement'
list icmp_type 'neighbour-advertisement'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-ICMPv6-Forward'
option src 'wan'
option dest '*'
option proto 'icmp'
list icmp_type 'echo-request'
list icmp_type 'echo-reply'
list icmp_type 'destination-unreachable'
list icmp_type 'packet-too-big'
list icmp_type 'time-exceeded'
list icmp_type 'bad-header'
list icmp_type 'unknown-header-type'
option limit '1000/sec'
option family 'ipv6'
option target 'ACCEPT'
config rule
option name 'Allow-IPSec-ESP'
option src 'wan'
option dest 'lan'
option proto 'esp'
option target 'ACCEPT'
config rule
option name 'Allow-ISAKMP'
option src 'wan'
option dest 'lan'
option dest_port '500'
option proto 'udp'
option target 'ACCEPT'
config include
option type 'script'
option path '/usr/lib/gargoyle_firewall_util/gargoyle_additions.firewall'
option reload '1'
config include 'openvpn_include_file'
option path '/etc/openvpn.firewall'
config include 'wireguard_include_file'
option path '/etc/wireguard.firewall'
config remote_accept 'ra_22_22_any'
option local_port '22'
option remote_port '22'
option proto 'tcp'
option zone 'wan'
option family 'any'
config restriction_rule 'rule_1'
option is_ingress '0'
option description 'bandwidth thief'
option family 'ipv4'
option local_addr '28:A0:6B:2C:61:F4,192.168.3.172'
option enabled '1'
config quota 'quota_1'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.140'
option id '192.168.2.140'
option enabled '1'
config quota 'quota_2'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.67'
option id '192.168.2.67'
option enabled '1'
config quota 'quota_3'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.206'
option id '192.168.2.206'
option enabled '1'
config quota 'quota_4'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.23'
option id '192.168.2.23'
option enabled '1'
config quota 'quota_5'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.19'
option id '192.168.2.19'
option enabled '1'
config quota 'quota_6'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.60'
option id '192.168.2.60'
option enabled '1'
config quota 'quota_8'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.226'
option id '192.168.2.226'
option enabled '1'
config quota 'quota_9'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.193'
option id '192.168.2.193'
option enabled '1'
config quota 'quota_10'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.205'
option id '192.168.2.205'
option enabled '1'
config quota 'quota_11'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.213'
option id '192.168.2.213'
option enabled '1'
config quota 'quota_12'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.218'
option id '192.168.2.218'
option enabled '1'
config quota 'quota_13'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.221'
option id '192.168.2.221'
option enabled '1'
config quota 'quota_14'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.228'
option id '192.168.2.228'
option enabled '1'
config quota 'quota_15'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.25'
option id '192.168.2.25'
option enabled '1'
config quota 'quota_16'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.165'
option id '192.168.2.165'
option enabled '1'
config quota 'quota_17'
option combined_limit '5368709120'
option reset_interval 'day'
option ip '192.168.2.102,192.168.2.103,192.168.2.34,192.168.2.88'
option id '192.168.2.102'
option enabled '1'
config quota 'quota_18'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.174,192.168.2.117'
option id '192.168.2.174'
option enabled '1'
config quota 'quota_19'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.135'
option id '192.168.2.135'
option enabled '1'
config quota 'quota_20'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.53'
option id '192.168.2.53'
option enabled '1'
config quota 'quota_22'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.232'
option id '192.168.2.232'
option enabled '1'
config quota 'quota_23'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.190'
option id '192.168.2.190'
option enabled '1'
config quota 'quota_24'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.239'
option id '192.168.2.239'
option enabled '1'
config quota 'quota_25'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.214'
option id '192.168.2.214'
option enabled '1'
config quota 'quota_26'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.196'
option id '192.168.2.196'
option enabled '1'
config quota 'quota_27'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.91'
option id '192.168.2.91'
option enabled '1'
config quota 'quota_28'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.48'
option id '192.168.2.48'
option enabled '1'
config quota 'quota_29'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.184,192.168.2.18'
option id '192.168.2.184'
option enabled '1'
config quota 'quota_30'
option combined_limit '17179869184'
option reset_interval 'month'
option ip '192.168.2.71'
option id '192.168.2.71'
option enabled '1'
config quota 'quota_31'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.170,192.168.2.167'
option id '192.168.2.170'
option enabled '1'
config quota 'quota_32'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.156'
option id '192.168.2.156'
option enabled '1'
config quota 'quota_33'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.251'
option id '192.168.2.251'
option enabled '1'
config quota 'quota_34'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.75'
option id '192.168.2.75'
option enabled '1'
config quota 'quota_36'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.223,192.168.2.119'
option id '192.168.2.223'
option enabled '1'
config quota 'quota_37'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.126'
option id '192.168.2.126'
option enabled '1'
config quota 'quota_38'
option combined_limit '2147483648'
option reset_interval 'month'
option ip '192.168.2.104'
option id '192.168.2.104'
option enabled '1'
config quota 'quota_39'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.234'
option id '192.168.2.234'
option enabled '1'
config quota 'quota_40'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.123,192.168.2.127'
option id '192.168.2.123'
option enabled '1'
config quota 'quota_41'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.252'
option id '192.168.2.252'
option enabled '1'
config quota 'quota_42'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.39'
option id '192.168.2.39'
option enabled '1'
config quota 'quota_43'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.163'
option id '192.168.2.163'
option enabled '1'
config quota 'quota_44'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.38'
option id '192.168.2.38'
option enabled '1'
config quota 'quota_46'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.141'
option id '192.168.2.141'
option enabled '1'
config quota 'quota_47'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.195'
option id '192.168.2.195'
option enabled '1'
config quota 'quota_48'
option combined_limit '2147483648'
option reset_interval 'month'
option ip '192.168.2.152'
option id '192.168.2.152'
option enabled '1'
config quota 'quota_49'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.115,192.168.2.158,192.168.2.33,192.168.2.113,192.168.2.64,192.168.2.106'
option id '192.168.2.115'
option enabled '1'
config quota 'quota_50'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.153,192.168.2.209'
option id '192.168.2.153'
option enabled '1'
config quota 'quota_51'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.154'
option id '192.168.2.154'
option enabled '1'
config quota 'quota_52'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.110,192.168.2.166'
option id '192.168.2.110'
option enabled '1'
config quota 'quota_53'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.86,192.168.2.125'
option id '192.168.2.86'
option enabled '1'
config quota 'quota_54'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.254'
option id '192.168.2.254'
option enabled '1'
config quota 'quota_55'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.66,192.168.2.197'
option id '192.168.2.66'
option enabled '1'
config quota 'quota_56'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.186'
option id '192.168.2.186'
option enabled '1'
config quota 'quota_57'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.131'
option id '192.168.2.131'
option enabled '1'
config quota 'quota_58'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.72'
option id '192.168.2.72'
option enabled '1'
config quota 'quota_59'
option combined_limit '1048576'
option reset_interval 'day'
option ip 'ALL_OTHERS_INDIVIDUAL'
option id 'ALL_OTHERS_INDIVIDUAL'
option enabled '1'
config quota 'quota_60'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.236'
option id '192.168.2.236'
option enabled '1'
config quota 'quota_61'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.176'
option id '192.168.2.176'
option enabled '1'
config quota 'quota_62'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.30'
option id '192.168.2.30'
option enabled '1'
config quota 'quota_63'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.220'
option id '192.168.2.220'
option enabled '1'
config quota 'quota_64'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.65'
option id '192.168.2.65'
option enabled '1'
config quota 'quota_65'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.57'
option id '192.168.2.57'
option enabled '1'
config quota 'quota_66'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.136'
option id '192.168.2.136'
option enabled '1'
config quota 'quota_67'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.208,192.168.2.41,192.168.2.42'
option id '192.168.2.208'
option enabled '1'
config quota 'quota_68'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.111,192.168.2.121,192.168.2.47,192.168.2.146'
option id '192.168.2.111'
option enabled '1'
config quota 'quota_69'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.112,192.168.2.142,192.168.2.147,192.168.2.233'
option id '192.168.2.112'
option enabled '1'
config quota 'quota_70'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.225'
option id '192.168.2.225'
option enabled '1'
config quota 'quota_71'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.143,192.168.2.129'
option id '192.168.2.143'
option enabled '1'
config quota 'quota_72'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.227,192.168.2.49'
option id '192.168.2.227'
option enabled '1'
config quota 'quota_73'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.27'
option id '192.168.2.27'
option enabled '1'
config quota 'quota_74'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.77'
option id '192.168.2.77'
option enabled '1'
config quota 'quota_75'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.97,192.168.2.116'
option id '192.168.2.97'
option enabled '1'
config quota 'quota_76'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.56'
option id '192.168.2.56'
option enabled '1'
config quota 'quota_77'
option combined_limit '11811160064'
option reset_interval 'month'
option ip '192.168.2.238'
option id '192.168.2.238'
option enabled '1'
config quota 'quota_78'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.16'
option id '192.168.2.16'
option enabled '1'
config quota 'quota_79'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.70'
option id '192.168.2.70'
option enabled '1'
config quota 'quota_80'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.178'
option id '192.168.2.178'
option enabled '1'
config quota 'quota_81'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.137'
option id '192.168.2.137'
option enabled '1'
config quota 'quota_82'
option combined_limit '1048576'
option reset_interval 'month'
option ip '192.168.2.29'
option id '192.168.2.29'
option enabled '1'
config quota 'quota_83'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.215'
option id '192.168.2.215'
option enabled '1'
config quota 'quota_84'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.32'
option id '192.168.2.32'
option enabled '1'
config quota 'quota_85'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.45'
option id '192.168.2.45'
option enabled '1'
config quota 'quota_86'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.107,192.168.2.171'
option id '192.168.2.107'
option enabled '1'
config quota 'quota_87'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.247'
option id '192.168.2.247'
option enabled '1'
config quota 'quota_88'
option combined_limit '11811160064'
option reset_interval 'month'
option ip '192.168.2.17'
option id '192.168.2.17'
option enabled '1'
config quota 'quota_89'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.31'
option id '192.168.2.31'
option enabled '1'
config quota 'quota_90'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.36'
option id '192.168.2.36'
option enabled '1'
config quota 'quota_91'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.40'
option id '192.168.2.40'
option enabled '1'
config quota 'quota_92'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.58'
option id '192.168.2.58'
option enabled '1'
config quota 'quota_93'
option combined_limit '6442450944'
option reset_interval 'month'
option ip '192.168.2.83'
option id '192.168.2.83'
option enabled '1'
config quota 'quota_94'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.93'
option id '192.168.2.93'
option enabled '1'
config quota 'quota_95'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.108'
option id '192.168.2.108'
option enabled '1'
config quota 'quota_96'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.132'
option id '192.168.2.132'
option enabled '1'
config quota 'quota_97'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.175'
option id '192.168.2.175'
option enabled '1'
config quota 'quota_99'
option combined_limit '6442450944'
option reset_interval 'month'
option ip '192.168.2.55'
option id '192.168.2.55'
option enabled '1'
config quota 'quota_100'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.230'
option id '192.168.2.230'
option enabled '1'
config quota 'quota_101'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.138'
option id '192.168.2.138'
option enabled '1'
config quota 'quota_102'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.46'
option id '192.168.2.46'
option enabled '1'
config quota 'quota_103'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.76'
option id '192.168.2.76'
option enabled '1'
config quota 'quota_104'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.22'
option id '192.168.2.22'
option enabled '1'
config quota 'quota_106'
option combined_limit '21474836480'
option reset_interval 'month'
option ip '192.168.2.99,192.168.2.250'
option id '192.168.2.99'
option enabled '1'
config quota 'quota_107'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.43'
option id '192.168.2.43'
option enabled '1'
config quota 'quota_108'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.74'
option id '192.168.2.74'
option enabled '1'
config quota 'quota_109'
option combined_limit '10737418240'
option reset_interval 'day'
option ip '192.168.3.1-192.168.3.165'
option id '192.168.3.1-192.168.3.165'
option enabled '1'
config quota 'quota_110'
option combined_limit '8589934592'
option reset_interval 'month'
option ip '192.168.2.37,192.168.2.207'
option id '192.168.2.37'
option enabled '1'
config quota 'quota_111'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.203'
option id '192.168.2.203'
option enabled '1'
config quota 'quota_112'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.26'
option id '192.168.2.26'
option enabled '1'
config quota 'quota_113'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.20'
option id '192.168.2.20'
option enabled '1'
config quota 'quota_115'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.35'
option id '192.168.2.35'
option enabled '1'
config quota 'quota_116'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.44'
option id '192.168.2.44'
option enabled '1'
config quota 'quota_117'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.50'
option id '192.168.2.50'
option enabled '1'
config quota 'quota_118'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.51'
option id '192.168.2.51'
option enabled '1'
config quota 'quota_119'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.52'
option id '192.168.2.52'
option enabled '1'
config quota 'quota_120'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.54'
option id '192.168.2.54'
option enabled '1'
config quota 'quota_121'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.59'
option id '192.168.2.59'
option enabled '1'
config quota 'quota_122'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.61'
option id '192.168.2.61'
option enabled '1'
config quota 'quota_123'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.28'
option id '192.168.2.28'
option enabled '1'
config quota 'quota_125'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.63'
option id '192.168.2.63'
option enabled '1'
config quota 'quota_126'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.68'
option id '192.168.2.68'
option enabled '1'
config quota 'quota_127'
option combined_limit '1048576'
option reset_interval 'month'
option ip '192.168.2.69'
option id '192.168.2.69'
option enabled '1'
config quota 'quota_128'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.73'
option id '192.168.2.73'
option enabled '1'
config quota 'quota_129'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.80'
option id '192.168.2.80'
option enabled '1'
config quota 'quota_130'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.81'
option id '192.168.2.81'
option enabled '1'
config quota 'quota_131'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.82'
option id '192.168.2.82'
option enabled '1'
config quota 'quota_132'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.85'
option id '192.168.2.85'
option enabled '1'
config quota 'quota_133'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.87'
option id '192.168.2.87'
option enabled '1'
config quota 'quota_134'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.89,192.168.2.105'
option id '192.168.2.89_A'
option enabled '1'
config quota 'quota_135'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.90'
option id '192.168.2.90'
option enabled '1'
config quota 'quota_136'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.92'
option id '192.168.2.92'
option enabled '1'
config quota 'quota_137'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.94'
option id '192.168.2.94'
option enabled '1'
config quota 'quota_138'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.96'
option id '192.168.2.96'
option enabled '1'
config quota 'quota_139'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.98'
option id '192.168.2.98'
option enabled '1'
config quota 'quota_140'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.100'
option id '192.168.2.100'
option enabled '1'
config quota 'quota_141'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.109'
option id '192.168.2.109'
option enabled '1'
config quota 'quota_142'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.114'
option id '192.168.2.114'
option enabled '1'
config quota 'quota_143'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.118'
option id '192.168.2.118'
option enabled '1'
config quota 'quota_144'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.120'
option id '192.168.2.120'
option enabled '1'
config quota 'quota_145'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.122,192.168.2.21'
option id '192.168.2.122_A'
option enabled '1'
config quota 'quota_146'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.124'
option id '192.168.2.124'
option enabled '1'
config quota 'quota_147'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.130'
option id '192.168.2.130'
option enabled '1'
config quota 'quota_148'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.133'
option id '192.168.2.133'
option enabled '1'
config quota 'quota_149'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.134'
option id '192.168.2.134'
option enabled '1'
config quota 'quota_150'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.139'
option id '192.168.2.139'
option enabled '1'
config quota 'quota_151'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.144'
option id '192.168.2.144'
option enabled '1'
config quota 'quota_152'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.145'
option id '192.168.2.145'
option enabled '1'
config quota 'quota_153'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.148'
option id '192.168.2.148'
option enabled '1'
config quota 'quota_154'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.149'
option id '192.168.2.149'
option enabled '1'
config quota 'quota_155'
option combined_limit '6442450944'
option reset_interval 'month'
option ip '192.168.2.150,192.168.2.222,192.168.2.237'
option id '192.168.2.150'
option enabled '1'
config quota 'quota_156'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.155'
option id '192.168.2.155'
option enabled '1'
config quota 'quota_157'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.157'
option id '192.168.2.157'
option enabled '1'
config quota 'quota_158'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.159'
option id '192.168.2.159'
option enabled '1'
config quota 'quota_159'
option combined_limit '1048576'
option reset_interval 'month'
option ip '192.168.2.162'
option id '192.168.2.162'
option enabled '1'
config quota 'quota_160'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.164'
option id '192.168.2.164'
option enabled '1'
config quota 'quota_161'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.172'
option id '192.168.2.172'
option enabled '1'
config quota 'quota_162'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.173'
option id '192.168.2.173'
option enabled '1'
config quota 'quota_163'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.177'
option id '192.168.2.177'
option enabled '1'
config quota 'quota_164'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.179'
option id '192.168.2.179'
option enabled '1'
config quota 'quota_165'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.180,192.168.2.183'
option id '192.168.2.180'
option enabled '1'
config quota 'quota_166'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.181'
option id '192.168.2.181'
option enabled '1'
config quota 'quota_167'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.182'
option id '192.168.2.182'
option enabled '1'
config quota 'quota_168'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.185'
option id '192.168.2.185'
option enabled '1'
config quota 'quota_169'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.187'
option id '192.168.2.187'
option enabled '1'
config quota 'quota_170'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.189'
option id '192.168.2.189'
option enabled '1'
config quota 'quota_171'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.191'
option id '192.168.2.191'
option enabled '1'
config quota 'quota_172'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.194'
option id '192.168.2.194'
option enabled '1'
config quota 'quota_173'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.198'
option id '192.168.2.198'
option enabled '1'
config quota 'quota_174'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.199'
option id '192.168.2.199'
option enabled '1'
config quota 'quota_175'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.202'
option id '192.168.2.202'
option enabled '1'
config quota 'quota_176'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.204'
option id '192.168.2.204'
option enabled '1'
config quota 'quota_177'
option combined_limit '3221225472'
option reset_interval 'month'
option ip '192.168.2.210'
option id '192.168.2.210'
option enabled '1'
config quota 'quota_178'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.211-192.168.2.212'
option id '192.168.2.211-192.168.2.212'
option enabled '1'
config quota 'quota_179'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.217'
option id '192.168.2.217'
option enabled '1'
config quota 'quota_180'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.219'
option id '192.168.2.219'
option enabled '1'
config quota 'quota_181'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.224'
option id '192.168.2.224'
option enabled '1'
config quota 'quota_182'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.229'
option id '192.168.2.229'
option enabled '1'
config quota 'quota_183'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.231'
option id '192.168.2.231'
option enabled '1'
config quota 'quota_184'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.235'
option id '192.168.2.235'
option enabled '1'
config quota 'quota_185'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.240'
option id '192.168.2.240'
option enabled '1'
config quota 'quota_186'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.241'
option id '192.168.2.241'
option enabled '1'
config quota 'quota_187'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.242'
option id '192.168.2.242'
option enabled '1'
config quota 'quota_188'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.243'
option id '192.168.2.243'
option enabled '1'
config quota 'quota_189'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.244'
option id '192.168.2.244'
option enabled '1'
config quota 'quota_190'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.245'
option id '192.168.2.245'
option enabled '1'
config quota 'quota_191'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.246'
option id '192.168.2.246'
option enabled '1'
config quota 'quota_192'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.248'
option id '192.168.2.248'
option enabled '1'
config quota 'quota_193'
option combined_limit '4294967296'
option reset_interval 'month'
option ip '192.168.2.249'
option id '192.168.2.249'
option enabled '1'
config quota 'quota_194'
option combined_limit '22548578304'
option reset_interval 'month'
option ip '192.168.2.188'
option id '192.168.2.188'
option enabled '1'
config quota 'quota_195'
option combined_limit '6442450944'
option reset_interval 'month'
option ip '192.168.2.192'
option id '192.168.2.192'
option enabled '1'
config quota 'quota_196'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.200'
option id '192.168.2.200'
option enabled '1'
config quota 'quota_197'
option combined_limit '6442450944'
option reset_interval 'month'
option ip '192.168.2.128'
option id '192.168.2.128'
option enabled '1'
config quota 'quota_198'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.79,192.168.2.201'
option id '192.168.2.79'
option enabled '1'
config quota 'quota_199'
option combined_limit '1073741824'
option reset_interval 'month'
option ip '192.168.2.78'
option id '192.168.2.78'
option enabled '1'
config quota 'quota_200'
option combined_limit '1099511627776'
option reset_interval 'month'
option ip '192.168.2.151,192.168.2.168,192.168.2.253'
option id '192.168.2.151_A'
option enabled '1'
Re: Quotas not saving correctly/Getting cut off
I ran some tests on my wndr3800 (which has a very slow CPU) and I never lost any data, but it took a long time to save and return to operating state each time. Letting it get through this without touching it was probably key to this process.
From what I could see, the uci write operations was quite slow (45s). There is a large window to interrupt this process and cause them to fail. The logic always deletes every quota entry and rewrites the entire config which is causing this slowdown. The logic could be sorted out to just do a delta but it is not as clean. I ran this using "uci batch" to see if there was efficiency gains here and it improved to 35s, not a massive improvement but maybe worth exploring.
The slowest part was restore_quotas, which generates all of the firewall commands and executes them. This took 1m30s to complete (and then some firewall restarts etc on top).
To just print the commands (without running) only took 10s, so it's reasonably safe to assume the logic (while a little slow) is not weighing it down too hard. It's the firewall execution.
I reformatted the commands into nftables file syntax and ran that (nft -f /tmp/testinput.nft) and that took 2s to process the exact same ruleset. This is a significantly faster way of doing things. Let's say it still takes 10s to write out the commands to disk, we're still only talking 12-15s to get the firewall up and running instead of 1m30s. This looks like the way to solve it, but is unfortunately a reasonably large logic rewrite. It would cause a spike in RAM usage as a tradeoff for time. On modern devices this is probably worthwhile.
I'm going to look into these improvements more but for now I think this might be classed as a known one to watch out for when writing a lot of restrictions/quotas.
The syntax error you got on the error log was also raised in the other thread and I'll be putting out a fix for that in the next version.
From what I could see, the uci write operations was quite slow (45s). There is a large window to interrupt this process and cause them to fail. The logic always deletes every quota entry and rewrites the entire config which is causing this slowdown. The logic could be sorted out to just do a delta but it is not as clean. I ran this using "uci batch" to see if there was efficiency gains here and it improved to 35s, not a massive improvement but maybe worth exploring.
The slowest part was restore_quotas, which generates all of the firewall commands and executes them. This took 1m30s to complete (and then some firewall restarts etc on top).
To just print the commands (without running) only took 10s, so it's reasonably safe to assume the logic (while a little slow) is not weighing it down too hard. It's the firewall execution.
I reformatted the commands into nftables file syntax and ran that (nft -f /tmp/testinput.nft) and that took 2s to process the exact same ruleset. This is a significantly faster way of doing things. Let's say it still takes 10s to write out the commands to disk, we're still only talking 12-15s to get the firewall up and running instead of 1m30s. This looks like the way to solve it, but is unfortunately a reasonably large logic rewrite. It would cause a spike in RAM usage as a tradeoff for time. On modern devices this is probably worthwhile.
I'm going to look into these improvements more but for now I think this might be classed as a known one to watch out for when writing a lot of restrictions/quotas.
The syntax error you got on the error log was also raised in the other thread and I'll be putting out a fix for that in the next version.
https://lantisproject.com/downloads/gargoylebuilds for the latest releases
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Please be respectful when posting. I do this in my free time on a volunteer basis.
https://lantisproject.com/blog
Re: Quotas not saving correctly/Getting cut off
Thanks for looking into it. My experience with the virtualized gargoyle that I switched to has been much better, the save/restore process only takes about 7 seconds, so less opportunity for interruption.
In the past I've run into the problem on my original router and I knew to leave it alone so it could complete. Because there were so many users, I wondered if another user logging on to the router page during the save process caused the interruption, since on the login screen it shows the quota for whoever is accessing it. Because the failure was never repeatable, and seemed random, I assumed it had something to do with concurrent requests.
In the past I've run into the problem on my original router and I knew to leave it alone so it could complete. Because there were so many users, I wondered if another user logging on to the router page during the save process caused the interruption, since on the login screen it shows the quota for whoever is accessing it. Because the failure was never repeatable, and seemed random, I assumed it had something to do with concurrent requests.