[Bug 248005] nd6 initializes nd_ifinfo->maxmtu = 0 on newly inserted network interfaces

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Thu Jul 23 03:25:31 UTC 2020


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=248005

--- Comment #3 from commit-hook at FreeBSD.org ---
A commit references this bug:

Author: kevans
Date: Thu Jul 23 03:24:35 UTC 2020
New revision: 363442
URL: https://svnweb.freebsd.org/changeset/base/363442

Log:
  MFC r363244: ether_ifattach: set mtu before calling if_attach()

  if_attach() -> if_attach_internal() will call if_attachdomain1(ifp) any time
  an ethernet interface is setup *after*
  SI_SUB_PROTO_IFATTACHDOMAIN/SI_ORDER_FIRST.  This eventually leads to
  nd6_ifattach() -> nd6_setmtu0() stashing off ifp->if_mtu in ndi->maxmtu
  *before* ifp->if_mtu has been properly set in some scenarios, e.g., USB
  ethernet adapter plugged in later on.

  For interfaces that are created in early boot, we don't have this issue as
  domains aren't constructed enough for them to attach and thus it gets
  deferred to domainifattach at SI_SUB_PROTO_IFATTACHDOMAIN/SI_ORDER_SECOND
  *after* the mtu has been set earlier in ether_ifattach().

  PR:           248005

Changes:
_U  stable/12/
  stable/12/sys/net/if_ethersubr.c

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the freebsd-net mailing list