add ipv6 to xnet.StackAsync (#107)

* add ipv6 to xnet.StackAsync

* dns improvements

* improve DNS workings of StackAsync

* add tentative ICMPv6

* work on prefixes and fix some small bugs, plan UDP/TCP6

* fix bugs in StackAsync and ipv4.Prefix.Contains

* update arpsubtable

* completely remove legacy internet.StackIP for StackIPv4/v6

* ipv4/ipv6 tcp/udp

* add TCP6/UDP6 dialing APIs

* add xnet.Stack6 interface

* more ipv6 integration into StackAsync; various tweaks to lneto and documentation+TODOs

* add stack6 tests

* replace netip.Prefix with ipv4.Prefix where it makes sense
This commit is contained in:
Pat Whittingslow
2026-05-13 15:31:18 -03:00
committed by GitHub
parent 7d5830d7ab
commit a2970b923d
44 changed files with 1938 additions and 395 deletions
+5 -4
View File
@@ -1,14 +1,15 @@
package dhcpv4
import (
"net/netip"
"testing"
"github.com/soypat/lneto/ipv4"
)
func testServerConfig(svAddr [4]byte) ServerConfig {
return ServerConfig{
ServerAddr: svAddr,
Subnet: netip.PrefixFrom(netip.AddrFrom4(svAddr), 24),
Subnet: ipv4.PrefixFrom(svAddr, 24),
}
}
@@ -180,7 +181,7 @@ func TestServerOfferContainsOptions(t *testing.T) {
ServerAddr: svAddr,
Gateway: gwAddr,
DNS: dnsAddr,
Subnet: netip.PrefixFrom(netip.AddrFrom4(svAddr), 24),
Subnet: ipv4.PrefixFrom(svAddr, 24),
LeaseSeconds: 7200,
})
@@ -295,7 +296,7 @@ func TestServerConfigValidation(t *testing.T) {
}
err = sv.Configure(ServerConfig{
ServerAddr: [4]byte{10, 0, 0, 1},
Subnet: netip.PrefixFrom(netip.AddrFrom4([4]byte{192, 168, 1, 0}), 24),
Subnet: ipv4.PrefixFrom([4]byte{192, 168, 1, 0}, 24),
})
if err == nil {
t.Error("expected error for server address outside subnet")