Re: net.add_addr_allfibs=1 behaviour deprecation

From: Alan Somers <asomers_at_freebsd.org>
Date: Sat, 15 Aug 2020 08:47:48 -0600
On Sat, Aug 15, 2020 at 5:25 AM Alexander V. Chernikov <melifaro_at_ipfw.ru>
wrote:

> 18.07.2020, 14:22, "Alexander V. Chernikov" <melifaro_at_freebsd.org>:
> > Dear FreeBSD users,
> >
> > I would like to make net.add_addr_allfibs=0 as the default system
> behaviour and remove net.add_addr_allfibs.
> > To do so, I would like to collect use cases with net.add_addr_allfibs=1
> and multiple fibs, to ensure they can still be supported after removal.
> >
> > Background:
> >
> > Multi-fib support was added in r178888 [1], 12 years ago. Addition of
> interface addresses to all fibs was a feature from day 1.
> > The `net.add_addr_allfibs` sysctl  was added in r180840 [2], 12 years
> ago.
> >
> > Problem:
> > The goal of the fib support is to provide multiple independent routing
> tables, isolated from each other.
> > `net.add_addr_allfibs` default tries to shift gears in the opposite
> direction, unconditionally inserting all addresses to all of the fibs.
> >
> > It complicates the logic, kernel code and makes control plane
> performance decrease with the number of fibs.
> > It make impossible to use the same prefixes in multiple fibs, which may
> be desired given shortage of IPv4 address space.
> >
> > I do understand that there are some cases where such behaviour is
> desired.
> > For example, it can be used to achieve VRF route leaking or binding on
> address from different fibs.
> > I would like to collect such cases to consider supporting them in a
> different way.
> >
> > The goal is to make net.add_addr_allfibs=0 default behaviour and remove
> net.add_addr_allfibs.
> > It will simplify kernel fib-related code and allow bringing more
> fib-related features. It will also improve fib scaling.
> No objections has been received.
> Next steps:
> * Switch net.add_addr_allfibs to 0 ( https://reviews.freebsd.org/D26076 )
> * Provide an ability to use nexthops from different fibs
> * Remove net.add_addr_allfibs
> > Timeline:
> > Aug 1: summarising feedback and the usecases, decision on proceeding
> further
> > Aug 20 (tentative):  patches for supported usecases
> > Sep 15 (tentative):  net.add_addr_allfibs removal.
> >
> > [1]: [base Contents of /head/sys/net/route.c](
> https://svnweb.freebsd.org/base/head/sys/net/route.c?revision=178888&view=markup
> )
> > [2]: [base Diff of /head/sys/net/route.c](
> https://svnweb.freebsd.org/base/head/sys/net/route.c?r1=180839&r2=180840&)
> >
> > /Alexander
>

I just want to say that I completely agree with this proposal.
-Alan
Received on Sat Aug 15 2020 - 12:48:02 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:41:24 UTC