[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20120413.125851.894792528374368454.davem@davemloft.net>
Date: Fri, 13 Apr 2012 12:58:51 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: gaofeng@...fujitsu.com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH v6] ipv6: fix problem with expired dst cache
From: Gao feng <gaofeng@...fujitsu.com>
Date: Fri, 6 Apr 2012 18:13:10 +0800
> If the ipv6 dst cache which copy from the dst generated by ICMPV6 RA packet.
> this dst cache will not check expire because it has no RTF_EXPIRES flag.
> So this dst cache will always be used until the dst gc run.
>
> Change the struct dst_entry,add a union contains new pointer from and expires.
> When rt6_info.rt6i_flags has no RTF_EXPIRES flag,the dst.expires has no use.
> we can use this field to point to where the dst cache copy from.
> The dst.from is only used in IPV6.
>
> rt6_check_expired check if rt6_info.dst.from is expired.
>
> ip6_rt_copy only set dst.from when the ort has flag RTF_ADDRCONF
> and RTF_DEFAULT.then hold the ort.
>
> ip6_dst_destroy release the ort.
>
> Add some functions to operate the RTF_EXPIRES flag and expires(from) together.
> and change the code to use these new adding functions.
>
> Changes from v5:
> modify ip6_route_add and ndisc_router_discovery to use new adding functions.
>
> Only set dst.from when the ort has flag RTF_ADDRCONF
> and RTF_DEFAULT.then hold the ort.
>
> Signed-off-by: Gao feng <gaofeng@...fujitsu.com>
Applied, thanks for doing this work.
--
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