Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 Jan 2006 22:42:58 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/net if.c if_var.h
Message-ID:  <200601032242.k03Mgwj8033724@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
emaste      2006-01-03 22:42:58 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    sys/net              if.c if_var.h 
  Log:
  Merge link layer mutlicast address list locking from HEAD to RELENG_5,
  with a few changes to preserve ABI compatibility.
  
  if_var.h:1.100:
    Add if_addr_mtx, a mutex to protect ifnet-related address lists.  Add
    accessor macros.
  
    Unlike FreeBSD 6 and HEAD, share a global mutex (instead of putting it
    in struct ifnet) to maintain ABI backwards compatibility.
  
  if_var.h:1.101:
    - Rename ifmaof_ifpforaddr() to if_findmulti(); assert if_addr_mtx.
      Staticize.
  
  if.c:1.239:
    Protect link layer network interface multicast address list manipulation
    using (global) if_addr_mtx:
  
    - Initialize if_addr_mtx in if_init().
  
    - Rename ifmaof_ifpforaddr() to if_findmulti(); assert if_addr_mtx.
      Staticize.
  
    - Extract ifmultiaddr allocation and initialization into if_allocmulti();
      accept a 'mflags' argument to indicate whether or not sleeping is
      permitted.  This centralizes error handling and address duplication.
  
    - Extract ifmultiaddr tear-down and deallocation in if_freemulti().
  
    - Re-structure if_addmulti() to hold if_addr_mtx around manipulation of
      the ifnet multicast address list and reference count manipulation.
      Make use of non-sleeping allocations.  Annotate the fact that we only
      generate routing socket events for explicit address addition, not
      implicit link layer address addition.
  
    - Re-structure if_delmulti() to hold if_addr_mtx around manipulation of
      the ifnet multicast address list and reference count manipulation.
      Annotate the lack of a routing socket event for implicit link layer
      address removal.
  
    - De-spl all and sundry.
  
  Approved by:    rwatson (mentor)
  
  Revision    Changes    Path
  1.199.2.20  +208 -119  src/sys/net/if.c
  1.84.2.8    +17 -1     src/sys/net/if_var.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200601032242.k03Mgwj8033724>