V2 Netbird integration - UDP MIMO/SIMO, ICMPv6, DHCPv6 implementations (#106)

* begin adding udp.MuxHandler

* add udp MuxHandlerSIMO/MIMO

* add tcp rx shutdown

* icmpv6 client

* icmpv6 Client shared NDP/Echo preparation

* icmpv6 client ndp/echo split

* icmpv6 client ndp/echo split done

* icmpv6 adjustments

* add dhcpv6 stubs

* dhcpv4 preliminary revision

* add dns.NextLabel

* dns label name tweaks

* dns begin work on TCP client

* add dnstcp package

* apply gofmt changes

* add udp mux tests

* clean up, remove StackBig for now

* remove dnstcp so as to merged confident parts and we continue dnstcp work elsewhere
This commit is contained in:
Pat Whittingslow
2026-05-10 12:16:30 -03:00
committed by GitHub
parent bdbd38ab44
commit 7d5830d7ab
22 changed files with 2785 additions and 75 deletions
+3 -3
View File
@@ -141,10 +141,10 @@ func (h *Handler) Write(b []byte) (int, error) {
return len(b), nil
}
// Read dequeues the next received datagram into b. If b is smaller than the
// ReadNext dequeues the next received datagram into b. If b is smaller than the
// datagram, the remaining bytes are discarded (SOCK_DGRAM semantics).
// Returns 0, nil if no datagrams are available.
func (h *Handler) Read(b []byte) (int, error) {
func (h *Handler) ReadNext(b []byte) (int, error) {
if len(h.rxDgrams) == 0 {
return 0, nil
}
@@ -190,7 +190,7 @@ func (h *Handler) Abort() {
}
// BufferedInputNext returns the size of the next datagram to read. A call
// to [Handler.Read] will read up to this amount of bytes.
// to [Handler.ReadNext] will read up to this amount of bytes.
func (h *Handler) BufferedInputNext() int {
if len(h.rxDgrams) == 0 {
return 0