On 9/10/18 7:04 PM, Hangbin Liu wrote:

> diff --git a/net/ipv6/route.c b/net/ipv6/route.c
> index 18e00ce..62621b4 100644
> --- a/net/ipv6/route.c
> +++ b/net/ipv6/route.c
> @@ -998,6 +998,21 @@ static void ip6_rt_copy_init(struct rt6_info *rt, struct 
> fib6_info *ort)
>       rt->rt6i_prefsrc = ort->fib6_prefsrc;
>  }
>  
> +static void rt6_update_info(struct rt6_info *rt)
> +{
> +     struct fib6_info *from;
> +
> +     rcu_read_lock();
> +     from = rcu_dereference(rt->from);
> +     fib6_info_hold(from);
> +     rcu_read_unlock();
> +
> +     from->fib6_flags = rt->rt6i_flags;
> +     from->fib6_nh.nh_gw = rt->rt6i_gateway;

As I mentioned on your last patch, redirects do *not* update fib
entries. Exceptions, yes, but not core data of a fib entry.

Reply via email to