HomeFreeBSD

MFC 272159,272161,272386,272446,272547,272548,273210:

Description

MFC 272159,272161,272386,272446,272547,272548,273210:

  • Make lagg protos a enum.
  • When reconfiguring protocol on a lagg, first set it to LAGG_PROTO_NONE, then drop lock, run the attach routines, and then set it to specific proto. This removes tons of WITNESS warnings.
  • Make lagg protocol attach handlers not failing and allocate memory with M_WAITOK.
  • Virtualize lagg(4) cloner. This change fixes a panic when tearing down if_lagg(4) interfaces which were cloned in a vnet jail.

    Sysctl nodes which are dynamically generated for each cloned interface (net.link.lagg.N.*) have been removed, and use_flowid and flowid_shift ifconfig(8) parameters have been added instead. Flags and per-interface statistics counters are displayed in "ifconfig -v".
  • Separate option handling from SIOC[SG]LAGG to SIOC[SG]LAGGOPTS for backward compatibility with old ifconfig(8).
  • Move L2 addr configuration for the primary port to a taskqueue. This fixes LOR of softc rmlock in iflladdr_event handlers.
  • Call if_delmulti_ifma() after LACP_UNLOCK(). This fixes another LOR.
  • Fix a panic in lacp_transit_expire().
  • Fix a panic in lagg_input() upon shutting down a port.
  • Use printb() for boolean flags in ro_opts and actor_state for LACP.
  • Fix lladdr configuration which could prevent LACP mode from working.
  • Fix LORs when a laggport interface has an IPv6 LLA.

Details

Provenance
hrsAuthored on
Parents
rS287722: MFC@287721
Branches
Unknown
Tags
Unknown