18.07.2020, 14:22, "Alexander V. Chernikov" <melif...@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
_______________________________________________
freebsd-stable@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-stable
To unsubscribe, send any mail to "freebsd-stable-unsubscr...@freebsd.org"

Reply via email to