]> git.puffer.fish Git - matthieu/frr.git/commit
zebra: refactor netlink route message parsing
authorMark Stapp <mjs@cisco.com>
Thu, 21 Nov 2024 20:12:42 +0000 (15:12 -0500)
committerMark Stapp <mjs@cisco.com>
Thu, 5 Dec 2024 14:23:53 +0000 (09:23 -0500)
commit29122bc9b8d5317f6f486f9fe61a92a854948cc5
treee825fccf277a0db175f3d63bb996c1ea2a0b0197
parent99ecf5ead0b1e1c8f4e9d798517e4d3474b0f02a
zebra: refactor netlink route message parsing

Separate core netlink route message parsing into a new api that
uses a dplane ctx to hold the parsed attribute data. Use the new
api in two paths: the normal netlink update message parsing path,
and in the FPM plugin, which also uses netlink encoding. The FPM
route-notificatin code runs in its own pthread, and only needs
a subset of the route info that zebra ordinarily develops. This
change stops that pthread from accessing zebra's internal
data, such as vrfs and ifps, that are not thread-safe.

Signed-off-by: Mark Stapp <mjs@cisco.com>
zebra/dplane_fpm_nl.c
zebra/rt_netlink.c
zebra/rt_netlink.h
zebra/zebra_rib.c
zebra/zebra_vrf.c
zebra/zebra_vrf.h