freebsd-dev/sys/net
Sam Leffler 9c63e9dbd7 Overhaul routing table entry cleanup by introducing a new rtexpunge
routine that takes a locked routing table reference and removes all
references to the entry in the various data structures. This
eliminates instances of recursive locking and also closes races
where the lock on the entry had to be dropped prior to calling
rtrequest(RTM_DELETE).  This also cleans up confusion where the
caller held a reference to an entry that might have been reclaimed
(and in some cases used that reference).

Supported by:	FreeBSD Foundation
2003-10-30 23:02:51 +00:00
..
bpf_compat.h Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
bpf_filter.c
bpf.c add a stub for bpfattach2 so bpf is not required with the 802.11 2003-10-04 01:32:28 +00:00
bpf.h Add a new macro M_ASSERTVALID which ensures that the mbuf in question 2003-10-19 22:33:41 +00:00
bpfdesc.h add support for using kqueue to watch bpf sockets. 2003-08-05 07:12:49 +00:00
bridge.c Correct pfil_run_hooks return handling: if the return value is non-zero 2003-09-30 04:46:08 +00:00
bridge.h network interface and link layer changes: 2002-11-15 00:00:15 +00:00
bsd_comp.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ethernet.h general cleanups mostly aimed at improving portability of drivers 2002-11-14 23:28:47 +00:00
fddi.h network interface and link layer changes: 2002-11-15 00:00:15 +00:00
if_arc.h - add support for IPX (tested with mount -t nwfs and mars_nwe), 2003-01-24 01:32:20 +00:00
if_arcsubr.c Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
if_arp.h - Use if_broadcastaddr from struct ifnet rather than relying on 2003-03-21 17:53:16 +00:00
if_atm.h Remove the ATMIOCENA and ATMIOCDIS ioctl. Everyting has been converted 2003-08-06 14:53:27 +00:00
if_atmsubr.c Implement a mechanism by which ATM drivers can inform interested 2003-07-29 13:04:52 +00:00
if_disc.c Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +00:00
if_dl.h
if_ef.c Remove break after return. 2003-05-31 20:06:27 +00:00
if_ethersubr.c Merge from p4 (noticed these changes with DES' if_ethersubr.c changes caused 2003-10-23 15:09:34 +00:00
if_faith.c Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +00:00
if_fddisubr.c Remove unnecessary (caddr_t) casts of if_broadcastaddr. 2003-10-23 17:47:55 +00:00
if_gif.c Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
if_gif.h - after gif_set_tunnel(), psrc/pdst may be null. set IFF_RUNNING accordingly. 2002-10-16 19:49:37 +00:00
if_gre.c Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
if_gre.h MFS: recognize gre packets used in the WCCP protocol. 2002-12-07 14:22:05 +00:00
if_iso88025subr.c Enable IPv6 for Token Ring. 2003-09-14 02:32:31 +00:00
if_llc.h
if_loop.c Always queue looped back packets (rather than potentially using 2003-10-29 18:37:47 +00:00
if_media.c Add media types and options for ATM. While on most ATM cards media cannot 2003-04-29 17:23:23 +00:00
if_media.h add monitor mode 2003-07-21 02:49:42 +00:00
if_mib.c
if_mib.h
if_ppp.c o netisr_queue() returns 1 on success and 0 on failure, 2003-03-27 12:52:57 +00:00
if_ppp.h
if_pppvar.h
if_sl.c Update netisr handling; Each SWI now registers its queue, and all queue 2003-03-04 23:19:55 +00:00
if_slvar.h
if_sppp.h
if_spppsubr.c Use M_WAITOK instead of M_WAIT in sppp_attach(). 2003-07-26 21:58:06 +00:00
if_stf.c Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +00:00
if_stf.h
if_tap.c Gigacommit to improve device-driver source compatibility between 2003-03-03 12:15:54 +00:00
if_tap.h
if_tapvar.h
if_tun.c Use IF_MAXUNIT instead of rolling our own identical TUN_MAXUNIT. 2003-10-23 16:29:20 +00:00
if_tun.h
if_tunvar.h Correctly name r_unit member tun_unit. 2003-09-27 21:43:16 +00:00
if_types.h use official # for IFT_STF 2003-10-26 14:29:04 +00:00
if_var.h Since dp->dom_ifattach calls malloc() with M_WAITOK, we cannot 2003-10-24 16:57:59 +00:00
if_vlan_var.h - In vlan_input(), always mask off all but the VLID bits from tags 2003-07-08 21:54:20 +00:00
if_vlan.c Use VLANNAME instead of "vlan". 2003-10-28 20:58:02 +00:00
if.c Since dp->dom_ifattach calls malloc() with M_WAITOK, we cannot 2003-10-24 16:57:59 +00:00
if.h By popular demand, added the "static ARP" per-interface option. 2003-10-01 08:32:37 +00:00
iso88025.h Fix whitespace issues. 2003-03-15 23:55:33 +00:00
net_osdep.c return(code) -> return (code) 2003-10-07 15:02:29 +00:00
net_osdep.h we have ppsratecheck(). 2003-10-22 19:23:51 +00:00
netisr.c When direct dispatching an netisr (net.isr.enable=1), if there are already 2003-10-03 18:27:24 +00:00
netisr.h Finish driving a stake through the heart of netns and the associated 2003-03-05 19:24:24 +00:00
pfil.c o update PFIL_HOOKS support to current API used by netbsd 2003-09-23 17:54:04 +00:00
pfil.h o update PFIL_HOOKS support to current API used by netbsd 2003-09-23 17:54:04 +00:00
pfkeyv2.h - support AES counter mode for ESP. 2003-10-13 14:57:41 +00:00
ppp_comp.h
ppp_deflate.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
ppp_defs.h
ppp_tty.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
radix.c While cleaning out my tree, fix another strict alias warning that would 2003-09-22 23:24:18 +00:00
radix.h add R_Zalloc definition that returns pre-zero'd memory 2003-08-19 17:23:07 +00:00
raw_cb.c Back out M_* changes, per decision of the TRB. 2003-02-19 05:47:46 +00:00
raw_cb.h
raw_usrreq.c Fix a bunch of off-by-one errors in the range checking code. 2003-09-11 21:40:21 +00:00
route.c Overhaul routing table entry cleanup by introducing a new rtexpunge 2003-10-30 23:02:51 +00:00
route.h Overhaul routing table entry cleanup by introducing a new rtexpunge 2003-10-30 23:02:51 +00:00
rtsock.c Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +00:00
slcompress.c Don't use ovbcopy(); use void * instead of char *. 2003-04-04 12:11:46 +00:00
slcompress.h
slip.h
zlib.c chase more of the MIN/MAX mess. *sigh* 2003-02-02 13:52:25 +00:00
zlib.h