add ARP; add tap internal calls; more lneto2 additions

This commit is contained in:
soypat
2025-02-17 23:49:37 -03:00
parent 523f609761
commit 6e9aafc1e0
9 changed files with 880 additions and 41 deletions
+42
View File
@@ -0,0 +1,42 @@
package main
import (
"fmt"
"log"
"net/netip"
"os"
"time"
"github.com/soypat/lneto/internal"
)
func main() {
err := run()
if err != nil {
log.Fatalln("failed:", err)
}
fmt.Println("finished")
}
func run() error {
ip := netip.MustParsePrefix("192.168.10.1/24")
tap, err := internal.NewTap("tap0", ip)
if err != nil {
return err
}
defer tap.Close()
var buf [2048]byte
pkt := 0
for {
n, err := tap.Read(buf[:])
if err != nil {
return err
} else if n == 0 {
time.Sleep(250 * time.Millisecond)
continue
}
pkt++
fmt.Fprintf(os.Stdout, "rx%d (%d): %q\n\n", pkt, n, buf[:n])
}
}