Page 1 of 1

possible bug with Quota trampling QoS

Posted: Sat Feb 27, 2016 10:39 am
by firedoor
I'm using Gargoyle 1.9.0 on a WNDR 3700 v1.

The first quota that is set has the option of throttling speed to a specified data rate once the quota is reached.

Code: Select all

cat /overlay/upper/etc/config/firewall

config quota 'quota_1'
	option combined_limit '53687091200'
	option exceeded_up_speed '128'
	option exceeded_down_speed '512'
	option reset_interval 'month'
	option ip 'ALL'
	option id 'ALL'
	option reset_time '1818000'
	option enabled '1'
I then set up port forwarding, QoS classification rules, and a bunch of other stuff.

I later want to adjust the quota previously established. If I Edit the quota, or if I delete it and create a new one, the new quota has the option of throttling speed to a specified QoS service class when the quota is reached. I don't think that makes sense. The option of throttling speed to a specified data rate once the quota is reached is not present. If no throttling is chosen in the form:

Code: Select all

cat /overlay/upper/etc/config/firewall

config quota 'quota_1'
	option combined_limit '107374182400'
	option reset_interval 'month'
	option ip 'ALL'
	option id 'ALL'
	option reset_time '1821600'
	option enabled '1'
The options for option exceeded_up_speed and option exceeded_down_speed are absent.

If instead the quota is edited and a QoS service class is selected (such as VoIP) and the configuration Saved, when I then went to Firewall/QoS, my classification rules had all been lost.

It looks to me like the software that handles configuration of Quota is incorrectly reading QoS data (when I try to Edit a quota) and writing (over) QoS data when I submit changes based on this unexpected state.

I have set things up again now, and am reluctant to try it again. It might have just been a one-off. I might have done something stupid and not noticed. But I think it's worth looking through what the Quota read/write routines are doing to check if they are interacting with QoS at all / correctly.

Thanks!

Re: possible bug with Quota trampling QoS

Posted: Sat Feb 27, 2016 3:05 pm
by nworbnhoj
firedoor wrote:The first quota that is set has the option of throttling speed to a specified data rate once the quota is reached.
Default case if QoS is disabled?
firedoor wrote:If I Edit the quota, or if I delete it and create a new one, the new quota has the option of throttling speed to a specified QoS service class when the quota is reached. I don't think that makes sense.
Why not? A QoS service class can contain a data rate.
firedoor wrote: It might have just been a one-off. ... But I think it's worth looking through what the Quota read/write routines are doing to check if they are interacting with QoS at all / correctly.
Really need to be able to reproduce the error in order to review the code otherwise it is needle in a haystack stuff. It would be very helpful if you could post the most simple steps that will reproduce the behaviour.

Re: possible bug with Quota trampling QoS

Posted: Sat Feb 27, 2016 4:34 pm
by Lantis
nworbnhoj is correct. I think in this case it is better to set your QOS up first and then do quotas because of how they interact.

Re: possible bug with Quota trampling QoS

Posted: Sun Feb 28, 2016 1:59 am
by firedoor
nworbnhoj wrote:
firedoor wrote:If I Edit the quota, or if I delete it and create a new one, the new quota has the option of throttling speed to a specified QoS service class when the quota is reached. I don't think that makes sense.
Why not? A QoS service class can contain a data rate.
Oh, OK. So when usage exceeds the quota, that one selected QoS service class will be throttled and all the rest will continue on as normal. Fair enough. In that case, the backend behind the web config is probably working as intended and there's no problem.
nworbnhoj wrote:It would be very helpful if you could post the most simple steps that will reproduce the behaviour.
Acknowledged. When I get a router to spare, I'll do that. I admit that my steps weren't any of the things devs need (reproducible, minimal, sufficient).
Lantis wrote:it is better to set your QOS up first and then do quotas because of how they interact.
Good to know - thanks. I only set up Quota prior to QoS because the gargoyle web admin presents Quota prior to QoS. Now that I know the Quota options are contingent on having QoS already set up the way you want, I'll know to skip Quota and come back to it later when I do this again. Thanks!

Re: possible bug with Quota trampling QoS

Posted: Sun Feb 28, 2016 2:59 am
by nworbnhoj
firedoor wrote:Oh, OK. So when usage exceeds the quota, that one selected QoS service class will be throttled and all the rest will continue on as normal.
Almost - but not quite. A QoS Service Class IS the throttle. When a Quota is reached or a QoS rule is matched then the QoS Service Class "throttle" is applied