Commit Graph

22 Commits

Author SHA1 Message Date
Pat Whittingslow 75a812a8d7 Tcp buffer bug fix (#79)
* start working on tracking down tcp buffer bug

* mtu refactor

* modularize test

* more precise testing

* tests fail, but is it the failure we are looking for?

* fix typo in espradio link (#76)

* implement a new backoff abstraction (#75)

* rewrite backoff api

* rewrite tcp.Conn.Write

* keep fixing small things

* much better Conn.Read implementation

* fix critical overflow bug in internal.ConnRWBackoff

---------

Co-authored-by: Joel Wetzell <jwetzell@yahoo.com>
2026-04-14 19:11:29 -03:00
Pat Whittingslow 63f7870fe5 Add round-robin implementation (#66)
* add handler.encapsulateNode

* implement round robin handler approach

* simplify round robin implementation

* leave TODO

* internet.node touch up

* fix conflict resolve f-up

* replace certain ErrShortBuffer with ErrTruncatedFrame error
2026-04-09 09:36:17 -03:00
Pat Whittingslow ec44889896 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
2026-04-09 09:07:16 -03:00
Pat Whittingslow fa5ba918bb Error rewrites (#43)
* pcap: reuse Frame memory

* slog: reduce heap allocations of addresses; also prevent heap alloc of dhcp options in pcap

* dns: heapless improvement; add StackAsync buffer for more heapless operation; start thinking of errors

* errors: begin standardise errors in lneto

* errors: finish standardization of errors

* fix merge issues

* add more lneto errors to rest of package

* format errors.go
2026-02-28 16:18:27 -03:00
Patricio Whittingslow 2e6e66e691 split out node callback between tinygo and go to avoid heap allocs 2026-01-13 10:38:21 -03:00
soypat dc374169dc use lneto.ErrDropPacket where appropiate; clean up examples/xnet output 2025-12-31 18:15:34 -03:00
Patricio Whittingslow 8307403c5c add subnet to StackAsync and add test for local arp resolving 2025-12-30 18:00:50 -03:00
Patricio Whittingslow f6bc73ee6c apply some of @ddirect suggestions 2025-12-22 18:41:14 -03:00
Patricio Whittingslow 5e631a1b3d StackPorts: set MAC destination when node has MAC 2025-12-19 01:04:18 -03:00
Patricio Whittingslow 1554b89a08 StackNode refactor: add offsetToIP argument to Encapsulate 2025-12-19 00:38:28 -03:00
Patricio Whittingslow eaa36a589a internet: further use handlers data structure 2025-12-18 19:16:35 -03:00
Patricio Whittingslow ac7f752447 internet: add handlers data structure 2025-12-18 18:44:50 -03:00
Patricio Whittingslow bb4053647d do not crash if no tcp connections are desired 2025-10-22 19:19:32 -03:00
soypat 63dc5d1079 add zero max ports error 2025-07-15 00:57:24 -03:00
soypat 61c66a2e58 remove NodeARP in favor of arp.Handler; fix bug in IP stack node handling; use registerNode where applicable 2025-07-14 19:48:29 -03:00
soypat 1549e563e9 continue reworking node API 2025-07-13 01:07:08 -03:00
soypat 2133966a16 add dhcp failing test 2025-06-17 02:07:11 -03:00
soypat dcc7a95e62 huge tap/bridge overhaul; udp node; dhcp node; DHCP example 2025-06-15 18:01:04 -03:00
soypat 1fcdd9a7b3 TCP listener seems to be working really well :) 2025-06-11 19:38:19 -03:00
soypat 6cf5896543 continue reworking StackNode implementations 2025-06-07 11:59:56 -03:00
soypat c76fde4677 minor changes 2025-06-07 09:36:10 -03:00
soypat c635bde512 all in on StackNode refactor: Encapsulate/Demux on all stacks+ConnID+more abstraction 2025-06-06 01:23:44 -03:00