[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