Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 2 Aug 2005 23:23:26 +0000 (UTC)
From:      Robert Watson <rwatson@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:  <200508022323.j72NNQrJ029724@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rwatson     2005-08-02 23:23:26 UTC

  FreeBSD src repository

  Modified files:
    sys/net              if.c if_var.h 
  Log:
  Protect link layer network interface multicast address list manipulation
  using ifp->if_addr_mtx:
  
  - Initialize if_addr_mtx when ifnet is initialized.
  
  - Destroy if_addr_mtx when ifnet is torn down.
  
  - 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.
  
  Problem reported by:    Ed Maste <emaste at phaedrus dot sandvine dot ca>
  MFC after:              1 week
  
  Revision  Changes    Path
  1.239     +208 -119  src/sys/net/if.c
  1.101     +0 -1      src/sys/net/if_var.h



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