]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
Use epoch(9) for rtentries to simplify control plane operations.
authorAlexander V. Chernikov <melifaro@FreeBSD.org>
Sat, 23 May 2020 10:21:02 +0000 (10:21 +0000)
committerAlexander V. Chernikov <melifaro@FreeBSD.org>
Sat, 23 May 2020 10:21:02 +0000 (10:21 +0000)
commit2bbab0af6dd5aa825fbe86813d917565bb885b67
treefcd6223dd8d567108312e97cd3c468e4b1f697da
parent016fc6ddb36d717516de2d79138653646641977a
Use epoch(9) for rtentries to simplify control plane operations.

Currently the only reason of refcounting rtentries is the need to report
 the rtable operation details immediately after the execution.
Delaying rtentry reclamation allows to stop refcounting and simplify the code.
Additionally, this change allows to reimplement rib_lookup_info(), which
 is used by some of the customers to get the matching prefix along
 with nexthops, in more efficient way.

The change keeps per-vnet rtzone uma zone. It adds nh_vnet field to
 nhop_priv to be able to reliably set curvnet even during vnet teardown.
Rest of the reference counting code will be removed in the D24867 .

Differential Revision: https://reviews.freebsd.org/D24866
12 files changed:
sys/fs/nfsclient/nfs_clvfsops.c
sys/net/if.c
sys/net/route.c
sys/net/route.h
sys/net/route/nhop.h
sys/net/route/nhop_ctl.c
sys/net/route/nhop_var.h
sys/net/route/route_var.h
sys/net/rtsock.c
sys/netinet6/nd6.c
sys/netinet6/nd6_rtr.c
sys/nfs/bootp_subr.c