8a0d57baec
Currently, most of the rib(9) KPI does not use rnh pointers, using fibnum and family parameters to determine the rib pointer instead. This works well except for the case when we initialize new rib pointers during fib growth. In that case, there is no mapping between fib/family and the new rib, as an entirely new rib pointer array is populated. Address this by delaying fib algo initialization till after switching to the new pointer array and updating the number of fibs. Set datapath pointer to the dummy function, so the potential callers won't crash the kernel in the brief moment when the rib exists, but no fib algo is attached. This change allows to avoid creating duplicates of existing rib functions, with altered signature. Differential Revision: https://reviews.freebsd.org/D29969 MFC after: 1 week |
||
---|---|---|
.. | ||
altq | ||
route | ||
bpf_buffer.c | ||
bpf_buffer.h | ||
bpf_filter.c | ||
bpf_jitter.c | ||
bpf_jitter.h | ||
bpf_zerocopy.c | ||
bpf_zerocopy.h | ||
bpf.c | ||
bpf.h | ||
bpfdesc.h | ||
bridgestp.c | ||
bridgestp.h | ||
debugnet_inet.c | ||
debugnet_int.h | ||
debugnet.c | ||
debugnet.h | ||
dlt.h | ||
ethernet.h | ||
firewire.h | ||
ieee8023ad_lacp.c | ||
ieee8023ad_lacp.h | ||
ieee_oui.h | ||
if_arp.h | ||
if_bridge.c | ||
if_bridgevar.h | ||
if_clone.c | ||
if_clone.h | ||
if_dead.c | ||
if_debug.c | ||
if_disc.c | ||
if_dl.h | ||
if_edsc.c | ||
if_enc.c | ||
if_enc.h | ||
if_epair.c | ||
if_ethersubr.c | ||
if_fwsubr.c | ||
if_gif.c | ||
if_gif.h | ||
if_gre.c | ||
if_gre.h | ||
if_infiniband.c | ||
if_ipsec.c | ||
if_ipsec.h | ||
if_lagg.c | ||
if_lagg.h | ||
if_llatbl.c | ||
if_llatbl.h | ||
if_llc.h | ||
if_loop.c | ||
if_me.c | ||
if_media.c | ||
if_media.h | ||
if_mib.c | ||
if_mib.h | ||
if_pflog.h | ||
if_pfsync.h | ||
if_sppp.h | ||
if_spppfr.c | ||
if_spppsubr.c | ||
if_stf.c | ||
if_tap.h | ||
if_tun.h | ||
if_tuntap.c | ||
if_types.h | ||
if_var.h | ||
if_vlan_var.h | ||
if_vlan.c | ||
if_vxlan.c | ||
if_vxlan.h | ||
if.c | ||
if.h | ||
ifdi_if.m | ||
iflib_clone.c | ||
iflib_private.h | ||
iflib.c | ||
iflib.h | ||
ifq.h | ||
infiniband.h | ||
mp_ring.c | ||
mp_ring.h | ||
mppc.h | ||
mppcc.c | ||
mppcd.c | ||
netisr_internal.h | ||
netisr.c | ||
netisr.h | ||
netmap_legacy.h | ||
netmap_user.h | ||
netmap_virt.h | ||
netmap.h | ||
paravirt.h | ||
pfil.c | ||
pfil.h | ||
pfkeyv2.h | ||
pfvar.h | ||
ppp_defs.h | ||
radix.c | ||
radix.h | ||
raw_cb.c | ||
raw_cb.h | ||
raw_usrreq.c | ||
rndis.h | ||
route.c | ||
route.h | ||
rss_config.c | ||
rss_config.h | ||
rtsock.c | ||
sff8436.h | ||
sff8472.h | ||
slcompress.c | ||
slcompress.h | ||
toeplitz.c | ||
toeplitz.h | ||
vnet.c | ||
vnet.h |