338 Commits

Author SHA1 Message Date
soypat 80b740827f begin adding phy package 2026-01-15 18:31:17 -03:00
Egon Elbre 3d5999a9d8 dhcpv4: fixes (#19)
* dhcpv4: fix several issues

* condition flipped in Encapsulate
* check for correct bounds in ForEachOption
* getMessageType didn't check for opt

* dhcpv4: preserve backing buffer in reset
2026-01-13 17:38:00 -03:00
Patricio Whittingslow e49e3d96c1 slight changes to tinygo cbnode 2026-01-13 11:46:07 -03:00
Patricio Whittingslow 93ba512671 fix tinygo benchmark to optimize for performance 2026-01-13 11:31:13 -03:00
Patricio Whittingslow df1242ef0e add benchmarks to readme 2026-01-13 11:21:36 -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
Patricio Whittingslow f51cdf74b6 fix couple bugs in ARP and add benchmarks 2026-01-13 10:15:18 -03:00
Patricio Whittingslow a5af5b58ce fix #5 2026-01-12 18:44:33 -03:00
Egon Elbre be2d380753 arp: fixes to implementation (#18)
* typo in error text
* compactQueries was keeping invalid queries
* compactQueries accidentally ended up creating shared slices
2026-01-12 17:27:26 -03:00
Patricio Whittingslow 1a427323f2 fix bug being unable to read from closed tcp.Conn 2026-01-12 11:05:10 -03:00
Patricio Whittingslow 0ca2eae4d2 fix dns Message.CopyFrom bug 2026-01-12 09:14:10 -03:00
Patricio Whittingslow c4ab7cd012 reproduce dns bug in test 2026-01-12 08:53:29 -03:00
Pat Whittingslow 151133dfb4 HTTP and Listener improvements and bugfixes (#17)
* listener revamp

* improvements to conn lifetimes
2026-01-11 10:29:16 -03:00
soypat be194ad7ea remove old examples and update readme 2026-01-08 12:52:51 -03:00
soypat 7cbf0fb301 add SYNCookie implementation (unused) 2026-01-08 11:25:11 -03:00
soypat 2e8b3e2ddd bugfix: fix doublelock in xnet.StackAsync 2026-01-07 19:41:43 -03:00
Patricio Whittingslow 88d5f111da add dns empty response error 2026-01-05 11:42:01 -03:00
Pat Whittingslow 7698b9fb81 do not rely on unspecified Go behaviour; fix TCP ring buffer bug (#16)
* do not rely on unspecified Go behaviour; fix TCP ring buffer bug

* even more stricter error handling on tcp connections

* stricter lock copying in tcp.Conn, even though likely not a problem

* add listener and tcp pool logging

* forgot reqAddr unused

* add logging to TCPConn and friends
2026-01-05 10:03:24 -03:00
Pat Whittingslow 018f9258ac Add tcp.Listener (#15)
* begin reviewing TCP listener

* begin adding listener tests

* adding TestExchange implementation

* split out legacy and Step tests

* move listener to tcp package

* fix up tcp tests taking very long

* add xnet.TCPPool and work on TCPPool semantics

* xnet: TCPPool only accepts established connections

* xnet: getting to bottom of panic in xnet.Listener

* xnet: improve listener tests

* fix several data races in testing fixtures

* fix more synchronization things in listener test

* finalize tcplistener test
2026-01-03 12:41:57 -03:00
Patricio Whittingslow 5731a378dd skip infinite loop in http parsing 2026-01-01 12:21:58 -03:00
Patricio Whittingslow c6e88b1c3b tcp.Conn:add Flush method and more lock protection 2026-01-01 10:32:13 -03:00
Pat Whittingslow f8166aea05 Fix slow exchanges on linux by adding polling and other improvements (#14)
* add prints to investigate slowness

* add loop sleep for blocking Stack

* add connection close http attribute and detect end of HTML page

* add timeout to bridge read

* examples/xnet: add ntp timestamp to prints and show output in readme

* add polling to http tap interface

* more digits in ntp format

* prevent crashes on non-8 timestamp
2026-01-01 09:35:35 -03:00
soypat 3cbef6fa92 add FieldClassOperation to pcap and associated formatting changes 2025-12-31 18:54:21 -03:00
soypat dc374169dc use lneto.ErrDropPacket where appropiate; clean up examples/xnet output 2025-12-31 18:15:34 -03:00
soypat 243d1a720d fix httptap incorrectly capturing GRO frames 2025-12-31 17:08:53 -03:00
soypat 7369ec0b7e add pcap printing to examples/xnet 2025-12-31 13:21:46 -03:00
Pat Whittingslow ed89f169d9 Merge pull request #13 from soypat/pcap-formatter
add pcap formatting
2025-12-31 12:06:06 -03:00
Pat Whittingslow 5b4dda851f Merge pull request #12 from soypat/local-arp-tcp
Fix Local ARP
2025-12-31 12:03:41 -03:00
Patricio Whittingslow 02ca576e14 fix bug in right aligned field extraction 2025-12-31 02:58:09 -03:00
Patricio Whittingslow 5f0edf62a9 add pcap formatting 2025-12-31 02:17:44 -03:00
Patricio Whittingslow 8307403c5c add subnet to StackAsync and add test for local arp resolving 2025-12-30 18:00:50 -03:00
Pat Whittingslow db8c7c1322 Merge pull request #11 from ddirect/local-arp-tcp-fixes
local-arp-tcp branch fixes
2025-12-30 16:30:20 -03:00
Patricio Whittingslow 890fd33b22 do not increment ARP connectionID on IP addr update 2025-12-28 15:43:12 -03:00
Patricio Whittingslow a2886423a2 fix StackAsync losing ARP handler on reset during DHCP result assimilation 2025-12-28 15:33:10 -03:00
ddirect b9fbe0d25d Minor fixes 2025-12-28 18:30:47 +02:00
ddirect 48847af1e4 Preliminary patch to avoid ARP to stop working after resetting it. 2025-12-28 18:13:40 +02: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
ddirect 6f3da983b0 Conn: fixed double mutex lock in SetDeadline 2025-11-30 16:51:42 +02:00
Patricio Whittingslow 7042a653a6 add lock to tcp.Conn; claude Fix ARP handler not responding after DHCP
Co-authored-by: Claude <noreply@anthropic.com>
2025-11-09 14:16:23 -03:00
Patricio Whittingslow e3c6d68288 rigurously fix all tests 2025-11-05 20:12:02 -03:00
Patricio Whittingslow f5157e7e4a huge fixes to ring buffer implementations and mostly passing tests 2025-11-05 19:21:30 -03:00
Patricio Whittingslow 5e5f21a2b8 rethinking ring buffer semantics and breaking everything in the process 2025-11-05 02:35:53 -03:00
Patricio Whittingslow 82bd54a6da add faulty appendString method to rtx 2025-11-04 00:52:02 -03:00
Patricio Whittingslow 2b79b6a314 use sentlist in ringTx implementation and back to square 1 2025-11-03 23:51:05 -03:00
soypat 72047b8ae9 add test for sentlist 2025-11-03 19:04:23 -03:00
Patricio Whittingslow 26ef39ecc3 add sentlist 2025-10-30 23:32:22 -03:00