ddirect
3c6882b4b3
Repeating select call on Bridge when interrupted ( #20 )
...
* Repeating select if it is interrupted
* Restrict retries for syscall.EINTR to 10
Limit the number of retries on syscall.EINTR to 10.
---------
Co-authored-by: Pat Whittingslow <graded.sp@gmail.com >
2026-01-18 14:05:43 -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
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
243d1a720d
fix httptap incorrectly capturing GRO frames
2025-12-31 17:08:53 -03:00
Patricio Whittingslow
f6bc73ee6c
apply some of @ddirect suggestions
2025-12-22 18:41:14 -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
soypat
407f4a08f1
enhance xnet StackAsync test and add non-linux stubs for Tap and Bridge
2025-10-21 21:46:44 -03:00
soypat
d254f3ae80
dhcp subnet prefix fix
2025-08-20 19:25:08 -03:00
soypat
23212d8dc6
CopyFrom pattern for DNS and use it for Cookie
2025-06-25 09:32:35 -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
dcc7a95e62
huge tap/bridge overhaul; udp node; dhcp node; DHCP example
2025-06-15 18:01:04 -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
bc14ed395d
tap program output much more readable
2025-06-04 01:13:26 -03:00
soypat
589c9d3013
update README with pcap and fix innaccuracies
2025-06-04 00:14:27 -03:00
soypat
7c5b427b14
refactor http packet capture
2025-06-03 23:48:51 -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
soypat
a29bad9ac9
begin working on making response quicker (why is tap interface so slow?)
2025-06-01 01:29:07 -03:00
soypat
1ae8fab210
receive HTTP request success; still working on response
2025-05-31 14:08:32 -03:00
soypat
0008791bd8
fix ethernet gateway addr not being set; add IPID field; hardware addr support of tap; better tap interface
2025-05-31 12:47:09 -03:00
soypat
a967f083cb
add TCPConn Read+Write and ancilliary methods; looks like IP mux is broken
2025-05-25 18:30:55 -03:00
soypat
70a3bbbe2f
add stackbasic test
2025-04-05 17:17:32 -03:00
soypat
ba9124b079
fix basicstack example
2025-04-05 10:43:01 -03:00
soypat
39d5e4290e
add TCPConn type
2025-04-04 19:16:26 -03:00
soypat
d5d729b961
refactor lneto2->lneto package
2025-03-06 23:11:42 -03:00
soypat
f86bb6f01a
remove legacy remnants and move ip,udp,ethernet logic into subpackages
2025-02-20 16:00:55 -03:00
soypat
6e9aafc1e0
add ARP; add tap internal calls; more lneto2 additions
2025-02-17 23:49:37 -03:00
soypat
64a7102064
continue adding Handler logic; remove unused TxQueue tests
2025-02-09 23:43:30 -03:00
soypat
6a30268f83
done for today :)
2025-01-26 19:02:16 -03:00
soypat
94c59ee84e
segment Ring tests more: add TwoWrite,Empty,NonEmpty
2025-01-26 12:19:29 -03:00
soypat
c9aca77641
more defined semantics for low level Ring buffer indices
2025-01-26 10:37:04 -03:00
soypat
b40927ebcd
huge improvements to stack example
2025-01-24 17:30:23 -03:00
soypat
f2ce6312d3
round most of stack example
2025-01-21 10:33:00 -03:00
soypat
51ca0a95b5
rephrase tcp.Value methods; add Ring.FreeLimited; work on TxQueue
2025-01-18 09:30:36 -03:00
soypat
8b64181167
add TestRingWriteLimited
2025-01-14 07:55:22 -03:00
soypat
0a75ef4670
txqueue work
2025-01-13 19:36:17 -03:00
soypat
9abf0c11b9
restructure package, rename module/repo
2025-01-07 11:34:35 -03:00
soypat
73f0b547b3
add tcp ringtx
2025-01-06 07:15:35 -03:00
soypat
17d2987367
add ring buffer implementation
2025-01-05 18:35:56 -03:00
soypat
ba81dfac58
add tests for TCP and lneto along with TCB control logic
2024-12-27 17:27:28 -03:00