[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <541862ED.8090600@6wind.com>
Date: Tue, 16 Sep 2014 18:18:53 +0200
From: Nicolas Dichtel <nicolas.dichtel@...nd.com>
To: Hannes Frederic Sowa <hannes@...essinduktion.org>,
netdev@...r.kernel.org
CC: Eric Dumazet <eric.dumazet@...il.com>,
Vlad Yasevich <vyasevich@...il.com>
Subject: Re: [PATCH RFC 1/6] ipv6: also increase fib6_node sernum on deletion
events
Le 12/09/2014 01:21, Hannes Frederic Sowa a écrit :
> fib6_add increases the fn_sernum of fib6_nodes while it traverses the
> tree. This serial number is used by ip6_dst_check to judge whether a
> relookup for the socket cache should be done (e.g. a better route is
> available).
>
> We didn't do so for fib6_del, so we missed relookups on ipv6 address
> deletion events. Because this caused trouble in the SCTP stack, instead
> the genid for ipv6 was bumped. Also TCP connections used old source
> addresses, which were not available anymore.
>
> Because we have static rt6_nodes in the tree (no RTF_GATEWAY,
> RTF_NONEXTHOP nor RTF_CACHE nodes but still DST_HOST) flag, we ended up
> in a situation where the genid of the routing node was always smaller
> than the published genid in the namespace. That caused ip6_dst_check to
> always discard the current dst_entry and a relookup happend.
>
> This patch prepares for the removal of the ipv6 genid by also modifying
> the fn_sernum on route deletion.
>
> Thanks to Eric Dumazet who noticed this problem!
>
> Cc: Eric Dumazet <eric.dumazet@...il.com>
> Cc: Vlad Yasevich <vyasevich@...il.com>
> Cc: Nicolas Dichtel <nicolas.dichtel@...nd.com>
> Signed-off-by: Hannes Frederic Sowa <hannes@...essinduktion.org>
This serie looks good to me. Thank you for working on this topic!
Regards,
Nicolas
--
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