Thread (21 messages) 21 messages, 5 authors, 2011-05-28

Re: regression: ip r change mss doesn't work in 2.6.38-git14

From: Eric Dumazet <hidden>
Date: 2011-03-24 16:15:59
Also in: lkml
Subsystem: networking [general], networking [ipv4/ipv6], the rest · Maintainers: "David S. Miller", Eric Dumazet, Jakub Kicinski, Paolo Abeni, David Ahern, Ido Schimmel, Linus Torvalds

Le jeudi 24 mars 2011 à 16:52 +0100, Alessandro Suardi a écrit :
On Thu, Mar 24, 2011 at 4:21 PM, Eric Dumazet [off-list ref] wrote:
quoted
Le jeudi 24 mars 2011 à 16:08 +0100, Alessandro Suardi a écrit :
quoted
After fixing the display issue thanks to Chris Wilson, I now have
another problem
 (which didn't exist in 2.6.38-git2); most websites outside of my DSL link don't
 work properly (connection packet goes through, but the page load times out
 within Firefox) unless I do

ip r change default via 192.168.1.1 dev eth1 advmss 1400

This however doesn't change advmss anymore:

[root@duff ~]# ip r
default via 192.168.1.1 dev eth1
169.254.0.0/16 dev eth1  scope link  metric 1004
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.8
[root@duff ~]# ip r change default via 192.168.1.1 dev eth1 advmss 1400
[root@duff ~]# ip r
default via 192.168.1.1 dev eth1
169.254.0.0/16 dev eth1  scope link  metric 1004
192.168.1.0/24 dev eth1  proto kernel  scope link  src 192.168.1.8
Indeed, we'll take a look, thanks for the report.

In the time being you can do :

ip ro change default via 192.168.1.1 dev eth1 advmss 1400 mtu 1500
Thanks - this one works for me.

I'm available to test patches if needed, though I have a feeling you
 already have a handle on the issue and won't need that ;)
;)

I am testing following patch :
diff --git a/net/ipv4/fib_semantics.c b/net/ipv4/fib_semantics.c
index 622ac4c..654ef5b 100644
--- a/net/ipv4/fib_semantics.c
+++ b/net/ipv4/fib_semantics.c
@@ -251,7 +251,7 @@ static struct fib_info *fib_find_info(const struct fib_info *nfi)
 		    nfi->fib_prefsrc == fi->fib_prefsrc &&
 		    nfi->fib_priority == fi->fib_priority &&
 		    memcmp(nfi->fib_metrics, fi->fib_metrics,
-			   sizeof(fi->fib_metrics)) == 0 &&
+			   sizeof(u32) * RTAX_MAX) == 0 &&
 		    ((nfi->fib_flags ^ fi->fib_flags) & ~RTNH_F_DEAD) == 0 &&
 		    (nfi->fib_nhs == 0 || nh_comp(fi, nfi) == 0))
 			return fi;
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help