PPSRATECHECK(9) | Kernel Developer's Manual | PPSRATECHECK(9) |
ppsratecheck
—
#include <sys/time.h>
int
ppsratecheck
(struct
timeval *lasttime, int
*curpps, int
maxpps);
ppsratecheck
() function provides easy way to perform
packet-per-sec, or event-per-sec, rate limitation. The motivation for
implementing ppsratecheck
() was to provide a mechanism
that could be used to add rate limitation to network packet output. For
certain network packets, we may want to impose rate limitation, to avoid
denial-of-service attack possibilities.
maxpps specifies maximum permitted packets,
or events, per second. If ppsratecheck
() is called
more than maxpps times in a given one second period,
the function will return 0, indicating that we exceeded the limit. If we are
below the limit, the function will return 1. If maxpps
is set to 0, the function will always return 0 (no packets/events are
permitted). Negative maxpps indicates that rate
limitation is disabled, and ppsratecheck will always
return 1.
curpps and lasttime
are used to maintain the number of recent calls.
curpps will be incremented every time
ppsratecheck
() is called, and will be reset whenever
necessary.
ppsratecheck
() function appeared in
NetBSD 1.5.
August 3, 2000 | NetBSD 9.0 |