On Fri, Dec 02, 2022 at 09:21:17PM +0000, Alexander V. Chernikov wrote: > > On 2 Dec 2022, at 03:19, Ondrej Zajicek via Bird-users > > <[email protected]> wrote: > > > > On Thu, Dec 01, 2022 at 01:48:16PM +0000, Alexander V. Chernikov via > > Bird-users wrote: > >> Dear bird developers, > >> > >> Netlink support was added to FreeBSD recently [1]. > >> It’s not as “full-featured” as its Linux counterpart yet, however the > >> added subset is enough to make a routing daemon work. > >> Specifically, it supports multiple tables, multipath, nexthops and > >> nexthops groups. No MPLS support yet. > >> It aims to be compatible (whenever possible) to minimise the netlink users > >> adoption efforts. > >> The first FreeBSD releases to have netlink support will be 14.0 and 13.2. > >> Both are planned to be released in ~Q1 2023. > >> > >> The attached change adds 'bsd-netlink’ sysconf target, allowing to build > >> both netlink & rtsock versions on FreeBSD.
Hi Merged: https://gitlab.nic.cz/labs/bird/-/commit/a80cd4707464cedb526eb72e7704b097af20beb7 > In FreeBSD, the default routing table is #0 and there are no special 25X > tables. > Some attributes (like RTA_PREFSRC) are not supported. Interface address flags > are not fully mapped yet & there might be some unsupported stuff w.r.t IPv6 > prefixes lifetime. > “Prohibit” nexthops are not supported yet (as the kernel only provides > blackhole / reject ATM). > Resilient nexthop groups are not supported yet as well. > > I may be missing something, but I’m pretty sure that the implementation is > close to supporting all of the current bird features (except mpls). > > > Like Linux keep (and Netlink API assumes) multiple routes with different > > metric, and keeps source protocol. > Yes, metrics & source protocol works. Does source protocol also works with the native API (krt socket)? > Also, speaking of features - FreeBSD netlink implementation is optimised for > batching & there is significant performance difference between batched-and > non-batched. > Specifically, current bird code does ~80k routes/sec w/o netlink batching, > ~180k routes/sec w/ rtsock and ~240k routes/sec w/ netlink batching (sz=16) > on the same system. > Would you be open to adopting a not-too-invasive netlink batching patch > enabled conditionally under CONFIG_NETLINK_BATCHING ? That seems like a good idea. -- Elen sila lumenn' omentielvo Ondrej 'Santiago' Zajicek (email: [email protected]) OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net) "To err is human -- to blame it on a computer is even more so."
