Fix missing online hook

This commit is contained in:
Audiobuzz
2026-06-14 21:50:38 +00:00
parent a508dce5cf
commit 2eefd97c50
5 changed files with 63 additions and 25 deletions
+8 -4
View File
@@ -143,10 +143,14 @@ boot LAN.
`/etc/nvme/discovery.conf` correctly, but `initqueue/online/` is **empty** —
no autoconnect hook is registered, so `nvme connect-all` is never run (no
attempt in dmesg) and the namespace never appears. Drivers load and
`/dev/nvme-fabrics` exists; only the connect trigger is missing. **Fixed:**
`dot1x-macsec-up.sh` (rd.dot1x=0 branch) now parses the discover address and
queues `nvme connect-all` on the initqueue itself (retries until the
namespace shows up). **⚠ The secure path has the same dependency on the
`/dev/nvme-fabrics` exists; only the connect trigger is missing. A job
placed on the *main* initqueue from a settled hook gets registered but is
**never re-executed** once the loop blocks on udev events (verified: job
present, manual `connect-all` works, namespace stays absent). **Fixed:** a
dedicated `initqueue/online` hook (`nvmf-connect.sh`, installed via
`inst_hook initqueue/online 90`) runs `nvme connect-all` when network-legacy
sources online hooks on DHCP-bound — the event-driven trigger the nvmf
module omits. **⚠ The secure path has the same dependency on the
(absent) nvmf autoconnect** — when 802.1X is re-enabled, the macsec0 path
must likewise drive `connect-all` (or the network-manager port #1 must wire
a working autoconnect). Currently only the test path is fixed.