HomeFreeBSD

Merge if.c:1.239, if_var.h:1.101 from HEAD to RELENG_6:
rS149406Unpublished

Unpublished Commit ยท Learn More

No further details are available.

Description

Merge if.c:1.239, if_var.h:1.101 from HEAD to RELENG_6:

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>

Approved by: re (hrs)

Details

Provenance
rwatsonAuthored on
Parents
rS149405: Merge if.c:1.235 from HEAD to RELENG_6:
Branches
Unknown
Tags
Unknown

Event Timeline