Add ICMPv4 and lneto.StackNode and deprecate internet.StackNode (#65)

* begin adding icmp client

* rely on anon structs

* add tests

* tests passing

* icmp fleshed out

* rework icmp to include ip addr

* rename StackAsync.Demux/Encapsulate to RecvEthernet and SendEthernet

* remove legacy unreachable TCP tests

* remove uses of deprecated internet.StackNode in preference of lneto.StackNode

* documentation

* rename methods to signal no I/O happening
This commit is contained in:
Pat Whittingslow
2026-04-09 09:07:16 -03:00
committed by GitHub
parent 22c7e6c9d8
commit ec44889896
26 changed files with 679 additions and 209 deletions
+2 -2
View File
@@ -144,7 +144,7 @@ func run() (err error) {
return err
}
for {
nwrite, err := stack.Encapsulate(buf[:], -1, 0)
nwrite, err := stack.EgressEthernet(buf[:])
if err != nil {
log.Println("ERR:ENCAPSULATE", err)
} else if nwrite > 0 {
@@ -172,7 +172,7 @@ func run() (err error) {
if err != nil {
log.Fatal("goroutine read:", err)
} else if nread > 0 {
err = stack.Demux(buf[:nread], 0)
err = stack.IngressEthernet(buf[:nread])
if !errors.Is(err, lneto.ErrPacketDrop) {
err = logFrames("IN", buf[:nread])
if err != nil {