[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20161117.131609.164578639844581895.davem@davemloft.net>
Date: Thu, 17 Nov 2016 13:16:09 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: hannes@...essinduktion.org
Cc: idosch@...sch.org, jiri@...nulli.us, netdev@...r.kernel.org,
idosch@...lanox.com, eladr@...lanox.com, yotamg@...lanox.com,
nogahf@...lanox.com, arkadis@...lanox.com, ogerlitz@...lanox.com,
roopa@...ulusnetworks.com, dsa@...ulusnetworks.com,
nikolay@...ulusnetworks.com, andy@...yhouse.net,
vivien.didelot@...oirfairelinux.com, andrew@...n.ch,
f.fainelli@...il.com, alexander.h.duyck@...el.com,
kuznet@....inr.ac.ru, jmorris@...ei.org, yoshfuji@...ux-ipv6.org,
kaber@...sh.net
Subject: Re: [patch net-next 6/8] ipv4: fib: Add an API to request a FIB
dump
From: Hannes Frederic Sowa <hannes@...essinduktion.org>
Date: Thu, 17 Nov 2016 18:20:39 +0100
> Hi,
>
> On 17.11.2016 17:45, David Miller wrote:
>> From: Hannes Frederic Sowa <hannes@...essinduktion.org>
>> Date: Thu, 17 Nov 2016 15:36:48 +0100
>>
>>> The other way is the journal idea I had, which uses an rb-tree with
>>> timestamps as keys (can be lamport timestamps). You insert into the tree
>>> until the dump is finished and use it as queue later to shuffle stuff
>>> into the hardware.
>>
>> If you have this "place" where pending inserts are stored, you have
>> a policy decision to make.
>>
>> First of all what do other lookups see when there are pending entires?
>
> I think this is a problem with the current approach already, as the
> delayed work queue already postpones the insert for an undecidable
> amount of time (and reorders depending on which CPU the entry was
> inserted and the fib notifier was called).
>
> For user space queries we would still query the in-kernel table.
Ok, I think I might misunderstand something.
What is going into this journal exactly? The actual full software and
hardware insert operation, or just the notification to the hardware
device driver notifiers?
The "lookup" I'm mostly concerned with is the fast path where the
packets being processed actually look up a route.
I do not think we can return success on the insert to the user yet
have the route lookup dataplace not return that route on a lookup.
Powered by blists - more mailing lists