Non-blocking notes from the review of the #38 NetX change (tinic/netxduo 5812f6d4..a6bbbb3e, pinned as merge 5a859dcf, landed on main via #61).
| # |
Behaviour |
Where |
Suggested |
| N2 |
If the built-in mDNS responder is unbound and rebound (mDNS disable/enable) while a BSD sharer holds 5353, the sharer becomes first-match and receives unicast 5353 traffic (QU replies, one-shot queries) instead of the responder |
nx_udp_packet_receive.c unicast goes to the first matching socket (fan-out gated on multicast, ~:574) |
keep the responder at the head of the port list, or document |
| N3 |
A failed sibling clone (nx_packet_copy, NX_NO_WAIT) is counted only in the IP-wide nx_ip_udp_receive_packets_dropped, not in the sibling socket's own counters |
nx_udp_packet_receive.c ~:610 |
sibling_ptr->nx_udp_socket_packets_dropped++ |
| N4 |
Clones come from the original packet's pool, so N sharers hold N driver RX-pool buffers per multicast until read |
_nx_udp_socket_receive_shared |
document; watch pool pressure in the endurance tier |
None changes correctness; all were judged acceptable for landing.
🤖 Generated with Claude Code
Non-blocking notes from the review of the #38 NetX change (tinic/netxduo
5812f6d4..a6bbbb3e, pinned as merge5a859dcf, landed on main via #61).nx_udp_packet_receive.cunicast goes to the first matching socket (fan-out gated on multicast, ~:574)nx_packet_copy, NX_NO_WAIT) is counted only in the IP-widenx_ip_udp_receive_packets_dropped, not in the sibling socket's own countersnx_udp_packet_receive.c~:610sibling_ptr->nx_udp_socket_packets_dropped++_nx_udp_socket_receive_sharedNone changes correctness; all were judged acceptable for landing.
🤖 Generated with Claude Code