Subject: Re: cache forver in 3.2.0-rc2-00400-g866d43c ?

From: Arkadiusz Miśkiewicz <[email-masked]>
Date: Wed, 23 Nov 2011 19:31:08 +0100

On Wednesday 23 of November 2011, Eric Dumazet wrote:
> Le mercredi 23 novembre 2011 à 19:10 +0100, Arkadiusz Miśkiewicz a
> 
> écrit :
> > Hello,
> > 
> > I'm using  my notebook in two different networks, suspending and resuming
> > from ram between.
> > 
> > Network A (192.168.1.0/24) has server with IP 87.204.99.133 in the same
> > lan. Now when I suspend, go to totally different network B (different
> > provider, different lan, 192.168.0.0/24) and resume then I'm unable to
> > connect to 87.204.99.133.
> > 
> > Looks like network stack thinks that 87...133 is still directly reachable
> > on eth1and I'm unable to make it forget that.
> > 
> > [root@t400 ~]# ip ne flush dev eth1; ip r flush table cache
> > [root@t400 ~]# ip r show table cache to 87.204.99.133
> > [root@t400 ~]# ping -c 1 87.204.99.133
> > PING 87.204.99.133 (87.204.99.133) 56(84) bytes of data.
> > From 192.168.0.5: icmp_seq=1 Destination Host Unreachable
> > 
> > --- 87.204.99.133 ping statistics ---
> > 1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
> > 
> > zsh: exit 1     ping -c 1 87.204.99.133
> > [root@t400 ~]# ip r show table cache to 87.204.99.133
> > 87.204.99.133 dev eth1  src 192.168.0.5
> > 
> >     cache <redirected>  ipid 0x2838 rtt 17ms rttvar 12ms cwnd 10
> > 
> > 87.204.99.133 from 192.168.0.5 dev eth1
> > 
> >     cache <redirected>  ipid 0x2838 rtt 17ms rttvar 12ms cwnd 10
> > 
> > [root@t400 ~]# ip ne show to 87.204.99.133
> > 87.204.99.133 dev eth1  FAILED
> > 
> > tcpdump in meantime sees this:
> > 19:06:26.907153 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has
> > 87.204.99.133 tell 192.168.0.5, length 28
> > 19:06:27.908379 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has
> > 87.204.99.133 tell 192.168.0.5, length 28
> > 19:06:28.907084 ARP, Ethernet (len 6), IPv4 (len 4), Request who-has
> > 87.204.99.133 tell 192.168.0.5, length 28
> > 19:06:29.907145 IP (tos 0xc0, ttl 64, id 34465, offset 0, flags [none],
> > proto ICMP (1), length 112)
> > 
> >     192.168.0.5 > 192.168.0.5: ICMP host 87.204.99.133 unreachable,
> >     length 92
> >     
> >         IP (tos 0x0, ttl 64, id 0, offset 0, flags [DF], proto ICMP (1),
> > 
> > length 84)
> > 
> >     192.168.0.5 > 87.204.99.133: ICMP echo request, id 17590, seq 1,
> >     length 64
> > 
> > Any ideas?
> > 
> > Thanks,
> 
> Hmm, could you check you have this fix in your tree ?
> 
> http://git2.kernel.org/?p=linux/kernel/git/davem/net.git;a=commit;h=9cc20b2
> 68a5a14f5e57b8ad405a83513ab0d78dc

Mine 00400-g866d43c was after 6fe4c6d466e95d31164f14b1ac4aefb51f0f4f82 (which 
is merge of ipv4: fix redirect handling), so I have it.

(I'm using pure linus git repo)
-- 
Arkadiusz Miśkiewicz        PLD/Linux Team
arekm / maven.pl            http://ftp.pld-linux.org/