cvs commit: src/sys/net route.c route.h src/sys/netinet if_ether.c in_pcb.c in_rmx.c src/sys/netinet6 in6_ifattach.c in6_pcb.c in6_rmx.c

Sam Leffler sam at FreeBSD.org
Thu Oct 30 15:02:53 PST 2003


sam         2003/10/30 15:02:51 PST

  FreeBSD src repository

  Modified files:
    sys/net              route.c route.h 
    sys/netinet          if_ether.c in_pcb.c in_rmx.c 
    sys/netinet6         in6_ifattach.c in6_pcb.c in6_rmx.c 
  Log:
  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
  
  Revision  Changes    Path
  1.89      +104 -9    src/sys/net/route.c
  1.51      +1 -0      src/sys/net/route.h
  1.112     +3 -8      src/sys/netinet/if_ether.c
  1.124     +3 -5      src/sys/netinet/in_pcb.c
  1.47      +9 -24     src/sys/netinet/in_rmx.c
  1.19      +6 -7      src/sys/netinet6/in6_ifattach.c
  1.44      +3 -5      src/sys/netinet6/in6_pcb.c
  1.10      +5 -16     src/sys/netinet6/in6_rmx.c


More information about the cvs-src mailing list