freebsd-nq/sys/net
Sam Leffler d1dd20be6e Locking for updates to routing table entries. Each rtentry gets a mutex
that covers updates to the contents.  Note this is separate from holding
a reference and/or locking the routing table itself.

Other/related changes:

o rtredirect loses the final parameter by which an rtentry reference
  may be returned; this was never used and added unwarranted complexity
  for locking.
o minor style cleanups to routing code (e.g. ansi-fy function decls)
o remove the logic to bump the refcnt on the parent of cloned routes,
  we assume the parent will remain as long as the clone; doing this avoids
  a circularity in locking during delete
o convert some timeouts to MPSAFE callouts

Notes:

1. rt_mtx in struct rtentry is guarded by #ifdef _KERNEL as user-level
   applications cannot/do-no know about mutex's.  Doing this requires
   that the mutex be the last element in the structure.  A better solution
   is to introduce an externalized version of struct rtentry but this is
   a major task because of the intertwining of rtentry and other data
   structures that are visible to user applications.
2. There are known LOR's that are expected to go away with forthcoming
   work to eliminate many held references.  If not these will be resolved
   prior to release.
3. ATM changes are untested.

Sponsored by:	FreeBSD Foundation
Obtained from:	BSD/OS (partly)
2003-10-04 03:44:50 +00:00
..
bpf_compat.h
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
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
bsd_comp.c
ethernet.h
fddi.h
if_arc.h
if_arcsubr.c
if_arp.h
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
if_ethersubr.c Introduce error checking for calls to M_PREPEND(): 2003-08-29 19:12:18 +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
if_gif.c
if_gif.h
if_gre.c
if_gre.h
if_iso88025subr.c Enable IPv6 for Token Ring. 2003-09-14 02:32:31 +00:00
if_llc.h
if_loop.c Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +00:00
if_media.c
if_media.h add monitor mode 2003-07-21 02:49:42 +00:00
if_mib.c
if_mib.h
if_ppp.c
if_ppp.h
if_pppvar.h
if_sl.c
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
if_tap.h
if_tapvar.h
if_tun.c Correctly name r_unit member tun_unit. 2003-09-27 21:43:16 +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
if_var.h
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 Add locking. We use a single lock to guard the global vlan list and also 2003-09-05 20:58:59 +00:00
if.c Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +00:00
if.h By popular demand, added the "static ARP" per-interface option. 2003-10-01 08:32:37 +00:00
iso88025.h
net_osdep.c
net_osdep.h
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
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
ppp_comp.h
ppp_deflate.c
ppp_defs.h
ppp_tty.c
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
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 Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +00:00
route.h Locking for updates to routing table entries. Each rtentry gets a mutex 2003-10-04 03:44:50 +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
slcompress.h
slip.h
zlib.c
zlib.h