Patricio Whittingslow
76f896af40
use common internal logger among all implementations(debugheaplog build tag)
2026-02-26 17:06:47 -03:00
Pat Whittingslow
be949d960c
tcp: mss honoring; accept syn with ECE/CWR flags; add RSTQueue type ( #41 )
...
* tcp: mss honoring; accept syn with ECE/CWR flags; add RSTQueue type
* tcp: move option logic to own file
* remove prints in pcap
* add MSS send threshold inspired by linux/freebsd/lwip thresh
2026-02-25 12:58:55 -03:00
Patricio Whittingslow
58a9bf57e5
tcp: listener produces RST response when conns exhausted
2026-02-23 15:07:33 -03:00
Patricio Whittingslow
87a22441e7
rewrite tests to capture more finwait2 receive segment expected functionality
2026-02-23 13:39:12 -03:00
Patricio Whittingslow
f061cbd744
bugfix: bare-ack acceptance in finwait2
2026-02-23 13:28:47 -03:00
Pat Whittingslow
7d323aae19
Tcp rst handling ( #40 )
...
* claude suggests a way forward
* add timing to capture printer
* add pcap.Flags
* fix ICMP CRC calculation and add test
* bugfix: still send data on half-close state(close-wait)
* fix pcap test
2026-02-23 09:50:13 -03:00
Pat Whittingslow
08423d0dba
add proactive window update ( #39 )
...
* add proactive window update
* fix xnet tests due to runt padding bug
2026-02-22 12:02:53 -03:00
ddirect
1694e71e0c
Use backoff to wait until there is enough room in the TCP write buffer ( #34 )
2026-02-09 01:27:18 +01:00
ddirect
085c7033cd
TCP: advertising the currently available window size ( #35 )
2026-02-09 01:24:24 +01:00
ddirect
fba97c990a
Checksum simplification proposal ( #29 )
...
* Simplified checksum calculation and verification
* Fixed tests
* UDP: using NewBoundedFrame to create a Frame instance limited to the actual frame size.
* Minor: renamed some functions
* Commented and made more readable consecutive SetCRC calls.
* Fixed icmp checksum calculation after rebase
* Replaced NewBoundedFrame with explicit validation
2026-02-05 17:35:42 -03:00
soypat
cd51bd6c3f
fix #31 by maintaining conns on listener encapsulate no-op
2026-02-02 22:38:41 +01:00
ddirect
91fea9ae58
Maximum segment size fixes ( #25 )
...
* Fixed MSS sent in SYN and SYN-ACK
* Fixed tests
2026-01-25 02:37:17 -03:00
Patricio Whittingslow
0f10576521
forgot int64 wrap
2026-01-21 19:32:13 -03:00
Patricio Whittingslow
3396fd5265
phy: improvements and additions; document RMII
2026-01-21 18:54:45 -03:00
Pat Whittingslow
e13bb45854
attempt to fix #22 ( #23 )
2026-01-19 23:22:54 -03:00
Patricio Whittingslow
1a427323f2
fix bug being unable to read from closed tcp.Conn
2026-01-12 11:05:10 -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
7cbf0fb301
add SYNCookie implementation (unused)
2026-01-08 11:25:11 -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
c6e88b1c3b
tcp.Conn:add Flush method and more lock protection
2026-01-01 10:32:13 -03:00
ddirect
6f3da983b0
Conn: fixed double mutex lock in SetDeadline
2025-11-30 16:51:42 +02:00
Patricio Whittingslow
1554b89a08
StackNode refactor: add offsetToIP argument to Encapsulate
2025-12-19 00:38:28 -03: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
Patricio Whittingslow
71cf99dcb8
early return on partial packet ack
2025-10-29 18:06:38 -03:00
Patricio Whittingslow
46137bbbec
begin adding TxQueue failing multipacket test
2025-10-27 23:21:41 -03:00
Patricio Whittingslow
6b3a2c429c
found failing case for multipacket
2025-10-27 00:23:57 -03:00
Patricio Whittingslow
ed81d7446d
fix client reset state; add multi send tests
2025-10-26 20:45:23 -03:00
soypat
3fa2f32737
fix timewait not counting as closed state in listen open; add second part to test
2025-10-24 18:26:59 -03:00
Patricio Whittingslow
92a245957b
keep working on xnet TCP
2025-10-23 21:18:25 -03:00
soypat
407f4a08f1
enhance xnet StackAsync test and add non-linux stubs for Tap and Bridge
2025-10-21 21:46:44 -03:00
soypat
0f20090d78
bugfix: use ISS on active TCP connection
2025-08-16 18:26:50 -03:00
soypat
9cf4e35d2e
changes to TCP stack to enable xnet functionality
2025-08-16 15:17:46 -03:00
soypat
77bdc4c448
more consistent argument ordering for tcp.Conn.Open call; DHCP client now sets ClientID correctly from config
2025-07-21 18:39:31 -03:00
soypat
1fcde05284
begin touching up a DNS Client implementation; internal.GetIP/SetIP refactor
2025-06-21 01:29:38 -03:00
soypat
2133966a16
add dhcp failing test
2025-06-17 02:07:11 -03:00
soypat
29ac9a3a1a
begin adding NTP client node
2025-06-12 02:19:52 -03:00
soypat
6b511999d1
begin testing tcp listener (not working)
2025-06-09 20:38:40 -03:00
soypat
9a60642283
mega refactor internet.TCPConn->tcp.Conn
2025-06-07 20:43:20 -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
soypat
6ba727a0ef
more effort into understanding why TAP interface is so slow on my linux machine to no avail
2025-06-05 00:47:07 -03:00
soypat
2d71907241
fix TCP flags not being extracted from capture correctly
2025-06-03 00:45:11 -03:00
soypat
55bc765d92
begin adding packet capture functionality
2025-06-01 13:04:43 -03:00