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,
--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/
From: Eric Dumazet <hidden> Date: 2011-11-23 18:22:26
Le mercredi 23 novembre 2011 à 19:10 +0100, Arkadiusz Miśkiewicz a
écrit :
quoted hunk
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,
On Wednesday 23 of November 2011, Eric Dumazet wrote:
Le mercredi 23 novembre 2011 à 19:10 +0100, Arkadiusz Miśkiewicz a
écrit :
quoted
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,
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/
From: Eric Dumazet <hidden> Date: 2011-11-23 18:37:35
Le mercredi 23 novembre 2011 à 19:31 +0100, Arkadiusz Miśkiewicz a
écrit :
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)
OK thanks for this information, I am working on a patch.
From: Eric Dumazet <hidden> Date: 2011-11-23 19:44:12
Le mercredi 23 novembre 2011 à 19:37 +0100, Eric Dumazet a écrit :
Le mercredi 23 novembre 2011 à 19:31 +0100, Arkadiusz Miśkiewicz a
écrit :
quoted
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)
OK thanks for this information, I am working on a patch.
Please test the following patch, thanks !
include/net/inetpeer.h | 1 +
net/ipv4/route.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
On Wednesday 23 of November 2011, Eric Dumazet wrote:
Le mercredi 23 novembre 2011 à 19:37 +0100, Eric Dumazet a écrit :
quoted
Le mercredi 23 novembre 2011 à 19:31 +0100, Arkadiusz Miśkiewicz a
écrit :
quoted
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)
OK thanks for this information, I am working on a patch.
Please test the following patch, thanks !
Applied and running, results in a few days (since using net A only once per
day).
--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/
On Wednesday 23 of November 2011, Arkadiusz Miśkiewicz wrote:
On Wednesday 23 of November 2011, Eric Dumazet wrote:
quoted
Le mercredi 23 novembre 2011 à 19:37 +0100, Eric Dumazet a écrit :
quoted
Le mercredi 23 novembre 2011 à 19:31 +0100, Arkadiusz Miśkiewicz a
écrit :
quoted
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)
OK thanks for this information, I am working on a patch.
Please test the following patch, thanks !
Applied and running, results in a few days (since using net A only once per
day).
Two days and no problems. More tests possible in next week.
Thanks!
--
Arkadiusz Miśkiewicz PLD/Linux Team
arekm / maven.pl http://ftp.pld-linux.org/
From: Eric Dumazet <hidden> Date: 2011-11-26 22:13:49
Now inetpeer is the place where we cache redirect information for ipv4
destinations, we must be able to invalidate informations when a route is
added/removed on host.
As inetpeer is not yet namespace aware, this patch adds a shared
redirect_genid, and a per inetpeer redirect_genid. This might be changed
later if inetpeer becomes ns aware.
Cache information for one inerpeer is valid as long as its
redirect_genid has the same value than global redirect_genid.
Reported-by: Arkadiusz Miśkiewicz <redacted>
Tested-by: Arkadiusz Miśkiewicz <redacted>
Signed-off-by: Eric Dumazet <redacted>
---
include/net/inetpeer.h | 1 +
net/ipv4/route.c | 10 +++++++++-
2 files changed, 10 insertions(+), 1 deletion(-)
From: Eric Dumazet <hidden> Date: 2011-11-26 22:16:34
Le samedi 26 novembre 2011 à 23:13 +0100, Eric Dumazet a écrit :
Now inetpeer is the place where we cache redirect information for ipv4
destinations, we must be able to invalidate informations when a route is
added/removed on host.
As inetpeer is not yet namespace aware, this patch adds a shared
redirect_genid, and a per inetpeer redirect_genid. This might be changed
later if inetpeer becomes ns aware.
Cache information for one inerpeer is valid as long as its
redirect_genid has the same value than global redirect_genid.
Reported-by: Arkadiusz Miśkiewicz <redacted>
Tested-by: Arkadiusz Miśkiewicz <redacted>
Signed-off-by: Eric Dumazet <redacted>
---
Arg, patch title was not complete, it could be :
[PATCH] inet: add a redirect generation id in inetpeer
Sorry :(
From: David Miller <davem@davemloft.net> Date: 2011-11-27 00:17:18
From: Eric Dumazet <redacted>
Date: Sat, 26 Nov 2011 23:16:30 +0100
Le samedi 26 novembre 2011 à 23:13 +0100, Eric Dumazet a écrit :
quoted
Now inetpeer is the place where we cache redirect information for ipv4
destinations, we must be able to invalidate informations when a route is
added/removed on host.
As inetpeer is not yet namespace aware, this patch adds a shared
redirect_genid, and a per inetpeer redirect_genid. This might be changed
later if inetpeer becomes ns aware.
Cache information for one inerpeer is valid as long as its
redirect_genid has the same value than global redirect_genid.
Reported-by: Arkadiusz Miśkiewicz <redacted>
Tested-by: Arkadiusz Miśkiewicz <redacted>
Signed-off-by: Eric Dumazet <redacted>
---
Arg, patch title was not complete, it could be :
[PATCH] inet: add a redirect generation id in inetpeer