diff options
| author | Gleb Smirnoff <glebius@FreeBSD.org> | 2026-01-09 23:31:11 +0000 |
|---|---|---|
| committer | Gleb Smirnoff <glebius@FreeBSD.org> | 2026-01-13 21:30:22 +0000 |
| commit | e8348e2b35f3f644c391b8e0585090c451896684 (patch) | |
| tree | e90b081f54e59daceec3f394eac3a455c6da8c18 /usr.sbin/zzz/(public-mirror) | |
| parent | c1376acb8a9df03e5e47a78dbac5347d036116ff (diff) | |
Creation of enc0 before SI_SUB_PROTO_MC mangles the MLD list as well as
encounters IGMP mutex not initialized yet.
Reported & tested by: mjg
NB: the enc(4) is not a true interface indeed. In a perfect world the
module shall not create a cloner, shall not enter if_attach(), shall not
trigger ifnet_arrival_event, neither shall have any protocol attached to
it. The enc0 exists for two purposes: 1) create a bpf(9) tap; 2) to allow
injection packets in the middle of ipsec(4) processing temporarily
rewriting m_pkthdr.rcvif to point at enc0. While the problem 1 is already
solved with a recent divorce between bpf(9) and ifnet(9), the problem 2 is
harder to solve without breaking packet filter rules that use "via enc0".
Diffstat (limited to 'usr.sbin/zzz/(public-mirror)')
0 files changed, 0 insertions, 0 deletions
