netdev
[Top] [All Lists]

Re: missing icmp errors for udp packets

To: pekkas@xxxxxxxxxx (Pekka Savola)
Subject: Re: missing icmp errors for udp packets
From: kuznet@xxxxxxxxxxxxx
Date: Sun, 29 Jul 2001 19:59:11 +0400 (MSK DST)
Cc: therapy@xxxxxxxxxxxxx, netdev@xxxxxxxxxxx, linux-kernel@xxxxxxxxxxxxxxx, davem@xxxxxxxxxx (Dave Miller)
In-reply-to: <Pine.LNX.4.33.0107290739370.2081-100000@xxxxxxxxxx> from "Pekka Savola" at Jul 29, 1 07:57:48 am
Sender: owner-netdev@xxxxxxxxxxx
Hello!

> So in conclusion:
> 
> with net.ipv4.icmp_echoreply_rate=0:

Congratulations! That's why I do not see this, forgot to ping before. :-)

The patch is enclosed.

Alexey


--- ../dust/vger3-010728/linux/net/ipv4/icmp.c  Thu Jun 14 22:49:44 2001
+++ linux/net/ipv4/icmp.c       Sun Jul 29 19:52:55 2001
@@ -240,12 +240,15 @@
 int xrlim_allow(struct dst_entry *dst, int timeout)
 {
        unsigned long now;
+       static int burst;
 
        now = jiffies;
        dst->rate_tokens += now - dst->rate_last;
        dst->rate_last = now;
-       if (dst->rate_tokens > XRLIM_BURST_FACTOR*timeout)
-               dst->rate_tokens = XRLIM_BURST_FACTOR*timeout;
+       if (burst < XRLIM_BURST_FACTOR*timeout)
+               burst = XRLIM_BURST_FACTOR*timeout;
+       if (dst->rate_tokens > burst)
+               dst->rate_tokens = burst;
        if (dst->rate_tokens >= timeout) {
                dst->rate_tokens -= timeout;
                return 1;

<Prev in Thread] Current Thread [Next in Thread>