drop nextcloud 33 now that it's no longer needed for the upgrade path,
merge existing installs into 34 via @pkgpath, and add the "update to
latest branch" pkg/MESSAGE. ok landry gonzalo.
unfortunately ypbind's daemon() call happens after it has done network
binding to interlock parent exit to stall /etc/rc, so it would need to
carry pledge "proc" during network speaking. proposed by jmatthew. i also
forgot pledge cpath and flock.
Instead of holding "proc", I've used a pipe[] and fork() early on to
interlock the parent until the child has a binding, and closes the pipe.
ok jmatthew, who tested
set ifp->if_link_state to LINK_STATE_DOWN in attach.
aq doesn't complete packet transmission if the link is down, so
aq_start uses LINK_STATE_IS_UP(ifp->if_link_state) to decide if it
should drop the queued packets or actually put them on the ring.
however, LINK_STATE_IS_UP() returns true if the link state is
LINK_STATE_UNKNOWN, which is the default value for the link state
in struct ifnet (because it's 0). this means if aq(4) is booted
without being plugged into the network, the link state handler
doesnt run and change the state to UP or DOWN, which leaves it
UNKNOWN. that's enough to confuse aq_start though.
defaulting the state to down properly represents the state of the
link, which in turn makes aq_start do the right thing with the
packets. if the network is plugged in on boot, the phy layer notices
and moves it to UP as expected.
found by Paul de Weerd on bugs@
[2 lines not shown]
Add RX queues/RSS/TSO support and update microcode for RTL8127.
On the RTL8127, the RX and TX descriptors use the 16-byte format
instead of the 32-byte one.
Fix TLV handling which lacks the check length checks for padding.
This could out-of-bounds memory write, stack disclosure, and SIGSEGV.
Reported and fix provided by Franz Bettag