Re: [PATCH 0/4] Fix routing metrics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

From: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
Date: Fri, 10 Feb 2012 09:44:25 +0100

> On Fri, Feb 10, 2012 at 03:12:11AM -0500, David Miller wrote:
>> From: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
>> Date: Fri, 10 Feb 2012 08:51:07 +0100
>> 
>> > On Fri, Feb 10, 2012 at 02:38:15AM -0500, David Miller wrote:
>> >> From: Steffen Klassert <steffen.klassert@xxxxxxxxxxx>
>> >> > 
>> >> > I fully agree with you here. But we check for the genid just in
>> >> > rt_init_metrics() which is invoked only on route cache entry
>> >> > creation. There is no check when the metrics are accessed,
>> >> > because the metrics on the inetpeer are valid on every access.
>> >> 
>> >> Every routing cache entry we will use after the flush will be
>> >> a newly created one!  All the old ones will be stop being used.
>> > 
>> > Yes, I know that. All inetpeer metrics are updated once with the
>> > first new routing cache entry that binds that inetpeer to the route.
>> 
>> And after a routing cache flush, that will be all routing cache
>> entries every used after that point.
> 
> Yes, the genid check happens once for every new routing cache entry
> we recreate. After that, we'll find maching routes in the cache
> and we don't do that check.
> 
>> 
>> So since this happens, you don't need to check the inetpeer at every
>> metric access.  The fact that all routing cache entries get recreated
>> will do it for you.
> 
> So if rt_init_metrics() is not the right place to check for genid
> changes, where would you suggest to do it?

It is the right place, and since it will happen there for every routing
cache entry we use after a flush, the inetpeer issues will be taken
care of by it.  Therefore you don't need to check anything at metrics
access time.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Linux Kernel Discussion]     [Ethernet Bridging]     [Linux Wireless Networking]     [Linux Bluetooth Networking]     [Linux Networking Users]     [VLAN]     [Git]     [IETF Annouce]     [Linux Assembly]     [Security]     [Bugtraq]     [Photo]     [Singles Social Networking]     [Yosemite Information]     [MIPS Linux]     [ARM Linux Kernel]     [ARM Linux]     [Linux Virtualization]     [Linux Security]     [Linux IDE]     [Linux RAID]     [Linux SCSI]     [Free Dating]

Add to Google Powered by Linux