[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20100531084620.GB1929@jolsa.lab.eng.brq.redhat.com>
Date: Mon, 31 May 2010 10:46:20 +0200
From: Jiri Olsa <jolsa@...hat.com>
To: Brian Haley <brian.haley@...com>
Cc: David Miller <davem@...emloft.net>,
Arnaud Ebalard <arno@...isbad.org>,
Scott C Otto <otts@...atel-lucent.com>,
YOSHIFUJI Hideaki / 吉藤英明
<yoshfuji@...ux-ipv6.org>, netdev@...r.kernel.org
Subject: Re: [PATCH] IPv6: fix Mobile IPv6 regression
On Fri, May 28, 2010 at 02:17:43PM -0400, Brian Haley wrote:
> Commit f4f914b5 (net: ipv6 bind to device issue) caused
> a regression with Mobile IPv6 when it changed the meaning
> of fl->oif to become a strict requirement of the route
> lookup. Instead, only force strict mode when
> sk->sk_bound_dev_if is set on the calling socket, getting
> the intended behavior and fixing the regression.
>
> Tested-by: Arnaud Ebalard <arno@...isbad.org>
> Signed-off-by: Brian Haley <brian.haley@...com>
>
> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> index 294cbe8..252d761 100644
> --- a/net/ipv6/route.c
> +++ b/net/ipv6/route.c
> @@ -814,7 +814,7 @@ struct dst_entry * ip6_route_output(struct net *net, struct sock *sk,
> {
> int flags = 0;
>
> - if (fl->oif || rt6_need_strict(&fl->fl6_dst))
> + if ((sk && sk->sk_bound_dev_if) || rt6_need_strict(&fl->fl6_dst))
> flags |= RT6_LOOKUP_F_IFACE;
>
> if (!ipv6_addr_any(&fl->fl6_src))
hi,
sorry for the late reply, I was out last week..
the change looks ok, I'll verify it with the reproducer
I used for the last fix
thanks,
jirka
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists