[SR-Users] PIPELIMIT - limit change after time interval change. bug?

Daniel-Constantin Mierla miconda at gmail.com
Wed Dec 20 09:44:14 CET 2017


Hello,

can you open an issue on bug tracker in order not to forget this one and
approach it once the time allows:

  - https://github.com/kamailio/kamailio/issues

I am mostly out of office these days, checking stuff sporadically, so it
may take a bit of time to get to it.

Cheers,
Daniel


On 18.12.17 18:59, Juan Priotti wrote:
> Hi,
> I'm making some tests with pipelimit module and when changing the time
> interval the limit gets changed in a way that it's multiplied by the
> time interval. For example if I use a time interval of 1 second and a
> limit of 20 (if (!pl_check("$si", "TAILDROP", "20"))) the module start
> limiting right after the traffic gets over 20 CPS. But if I change the
> time interval to 3 seconds, the module starts limiting the traffic
> right after 60 CPS. This is my configuration:
>
> # ----- pipelimit params-----
> modparam("pipelimit", "timer_interval", 3)
> modparam("pipelimit", "hash_size", 10)
> modparam("pipelimit", "db_url", DBURL)
> modparam("pipelimit", "reply_code", 503)
> modparam("pipelimit", "reply_reason", "Limiting")
>
> ...
> ...
> ...
>
> request_route {
> ...
> ...
>         if(is_method("INVITE")) {
>                 $var(limit) = 20;
>                 if (!pl_check("$si", "TAILDROP", "$var(limit)")) {
>                 xlog("L_INFO", "[$ci] $si - Limiting INVITE using pipe
> $var(limit) req/sec\n");
>                 pl_drop();
>                 exit;
>                 }
> .....
> .....
> .....
>         }
> }
>
>
> Checking the source for pipelimit module
> (https://github.com/kamailio/kamailio/blob/master/src/modules/pipelimit/pipelimit.c)
> I see that for taildrop it's checking for the limit times the
> time_interval:
>
> case PIPE_ALGO_TAILDROP:
> ret = (pipe->counter <= pipe->limit * timer_interval) ? 1 : -1;
> break;
>
> I've made a change eliminating the time_interval (set it to 1) from
> that check and after that I've got the limit working OK, and the
> traffic gets drop right after it's over the limit (20 cps) using any
> time_interval. Is there some issue with the timer for the check not
> being updated by the module settings (timer_interval)? I'm using
> kamailio 4.4 and I've also tested it in kamailio 4.3 and 5.1 with same
> results.
> Thanks in advance,
>
> Juan Priotti
>
>
>
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users

-- 
Daniel-Constantin Mierla
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - www.asipto.com
Kamailio World Conference - May 14-16, 2018 - www.kamailioworld.com

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20171220/011a23ed/attachment.html>


More information about the sr-users mailing list