Page MenuHomeFreeBSD

D17065.diff
No OneTemporary

D17065.diff

Index: head/sys/netinet/in_pcb.c
===================================================================
--- head/sys/netinet/in_pcb.c
+++ head/sys/netinet/in_pcb.c
@@ -301,13 +301,14 @@
static int
in_pcbinslbgrouphash(struct inpcb *inp)
{
+ const static struct timeval interval = { 60, 0 };
+ static struct timeval lastprint;
struct inpcbinfo *pcbinfo;
struct inpcblbgrouphead *hdr;
struct inpcblbgroup *grp;
uint16_t hashmask, lport;
uint32_t group_index;
struct ucred *cred;
- static int limit_logged = 0;
pcbinfo = inp->inp_pcbinfo;
@@ -364,11 +365,9 @@
return (ENOBUFS);
} else if (grp->il_inpcnt == grp->il_inpsiz) {
if (grp->il_inpsiz >= INPCBLBGROUP_SIZMAX) {
- if (!limit_logged) {
- limit_logged = 1;
+ if (ratecheck(&lastprint, &interval))
printf("lb group port %d, limit reached\n",
ntohs(grp->il_lport));
- }
return (0);
}

File Metadata

Mime Type
text/plain
Expires
Fri, Feb 7, 9:12 PM (14 h, 38 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16516700
Default Alt Text
D17065.diff (894 B)

Event Timeline