all in on StackNode refactor: Encapsulate/Demux on all stacks+ConnID+more abstraction

This commit is contained in:
soypat
2025-06-06 01:23:44 -03:00
parent 6ba727a0ef
commit c635bde512
11 changed files with 390 additions and 73 deletions
+6 -10
View File
@@ -169,21 +169,17 @@ func NewEthernetTCPStack(ourMAC, gwMAC [6]byte, ip netip.AddrPort, mtu uint16, s
gwmac: gwMAC,
}
var ipStack internet.StackBasic
var ipStack internet.StackIP
addr := ip.Addr()
addr4 := addr.As4()
_ = addr4
ipStack.SetAddr(addr)
lStack.Register(handler{
raddr: nil, //addr4[:],
recv: func(b []byte, i int) error {
return ipStack.Recv(b[i:])
},
handle: func(b []byte, i int) (int, error) {
return ipStack.Handle(b[i:])
},
proto: ethernet.TypeIPv4,
lport: 0,
raddr: nil, //addr4[:],
recv: ipStack.Demux,
handle: ipStack.Encapsulate,
proto: ethernet.TypeIPv4,
lport: 0,
})
var conn internet.TCPConn
err = conn.Configure(&internet.TCPConnConfig{