cvs commit: src/sys/net if.c src/sys/netinet in.c in.h

Robert Watson rwatson at FreeBSD.org
Thu Sep 29 13:57:08 PDT 2005


rwatson     2005-09-29 20:57:07 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_6)
    sys/net              if.c 
    sys/netinet          in.c in.h 
  Log:
  Merge if.c:1.247, in.c:1.88, in.h:1.92 from HEAD to RELENG_6:
  
    Take a first cut at cleaning up ifnet removal and multicast socket
    panics, which occur when stale ifnet pointers are left in struct
    moptions hung off of inpcbs:
  
    - Add in_ifdetach(), which matches in6_ifdetach(), and allows the
      protocol to perform early tear-down on the interface early in
      if_detach().
  
    - Annotate that if_detach() needs careful consideration.
  
    - Remove calls to in_pcbpurgeif0() in the handling of SIOCDIFADDR --
      this is not the place to detect interface removal!  This also
      removes what is basically a nasty (and now unnecessary) hack.
  
    - Invoke in_pcbpurgeif0() from in_ifdetach(), in both raw and UDP
      IPv4 sockets.
  
    It is now possible to run the msocket_ifnet_remove regression test
    using HEAD without panicking.
  
    Reported by:  Gavin Atkinson <gavin dot atkinson at ury dot york dot ac dot uk>
  
  Approved by:    re (scottl)
  
  Revision    Changes    Path
  1.234.2.12  +7 -0      src/sys/net/if.c
  1.85.2.3    +12 -8     src/sys/netinet/in.c
  1.90.2.1    +1 -0      src/sys/netinet/in.h


More information about the cvs-src mailing list