[RFC PATCH 5/5] Make cache manager event handling continue looking if a cache returned NL_SKIP

Thomas Graf tgraf at suug.ch
Mon Nov 5 10:27:58 EST 2012


On 11/05/12 at 05:37am, roopa at cumulusnetworks.com wrote:
> From: roopa <roopa at cumulusnetworks.com>
> 
> Today libnl event_input only looks through the first cache that supports
> the input msgtype.
> 
> This patch makes cache manager continue looking through caches if a particular
> cache returned NL_SKIP. Also changes include_cb to return NL_SKIP if the
> cache event_filter returns anything other than NL_OK (This is required to
> support the above)
> 
> This change is required to support more than one cache handing the
> same msg type. In the current context it is bridge_link and link caches.
> link and bridge link cache handle the same msg types but with different
> families. The link cache cache_include returns NL_SKIP if it receives
> a msg of family AF_BRIDGE. With this patch cache manager will continue
> to look through more caches that support the msgtype.

Actually I regard this as a bug. We should be providing the message
to all caches that have a matching message type registered and not
depend on the previous cache return NL_SKIP.

Although not the case right now, there may be multiple independant
cache operations that depend on a single message to receive updates.

Can you update this patch to unconditionally pass the message to all
caches that match the message type?



More information about the libnl mailing list