[ opensips-Patches-2694682 ] New network-based algorithm in RateLimit

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

[ opensips-Patches-2694682 ] New network-based algorithm in RateLimit

SourceForge.net
Patches item #2694682, was opened at 2009-03-19 16:24
Message generated for change (Tracker Item Submitted) made by aboussus
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=2694682&group_id=232389

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: modules
Group: trunk
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Arnaud Boussus (aboussus)
Assigned to: Nobody/Anonymous (nobody)
Summary: New network-based algorithm in RateLimit

Initial Comment:
Bugfixed signed/unsigned byte sign in ipAddress happening when shifting and ANDing with 0xFF mask and reading IP addresses bytes greater than 127.

Added exported function "snmp_pending_bytes" from SNMPStats to be used with ratelimit module to drop incoming SIP message when rx_queue gets too high.

This algorithm relies on information provided by network interfaces. Indeed, it uses an exported function from SMTPStats module to work
(snmp_pending_bytes). The total amount of bytes waiting to be consumed on all the network interfaces is retrieved once every timer_interval seconds.
If the returned amount exceeds the limit specified in the modparam, OpenSIPS starts dropping SIP messages sending a 503 error (the default
value whose default message is "Service Unavailable").

Ratelimit ModParam sample :
/* -- ratelimit -- */
modparam("ratelimit", "timer_interval", 1)
modparam("ratelimit", "queue", "0:INVITE")
modparam("ratelimit", "pipe", "0:NETWORK:10000")
modparam("ratelimit", "load_source", "network")

where, in the pipe definition, 10000 is the max size of rx_queue (in bytes) before starting to answer "Service unavailable" and "network"
is a new source used to sample data from (in addition to "cpu" source).


----------------------------------------------------------------------

You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=1086412&aid=2694682&group_id=232389

_______________________________________________
Devel mailing list
[hidden email]
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel