* begin working on netdev solution
* need to roll back some assumptions in next commit
* dual poll/async mode for netdev.Runner
* add wake on rx semantics
* remove TODO
* more reworking of Runner
* work on applying @MDr164 suggestions and a couple extra revamps
* add newline to end of test file
* feat: add xcurl port and debug flag
Update the docs and add new flags to xcurl to aid debugging under an OS
like Linux.
Signed-off-by: Marvin Drees <marvin.drees@9elements.com>
* drop debugtcp flag from xcurl again
Signed-off-by: Marvin Drees <marvin.drees@9elements.com>
---------
Signed-off-by: Marvin Drees <marvin.drees@9elements.com>
* good code today
* add netdev.Runner
* round off APIs more
* better interface method documentation
* improve DHCP netstack API
* add pico w netdev example
* remove temp file
* keep thinking about this. this is hard :/
* fix ci
* small fixer
* working dhcp
* fix rebase API mismatches
* begin adding espradio example
* keep working on espradio, icmp not working
* fix icmp by fixing dhcp
* add ipv6 to xnet.StackAsync
* dns improvements
* improve DNS workings of StackAsync
* add tentative ICMPv6
* work on prefixes and fix some small bugs, plan UDP/TCP6
* fix bugs in StackAsync and ipv4.Prefix.Contains
* update arpsubtable
* completely remove legacy internet.StackIP for StackIPv4/v6
* ipv4/ipv6 tcp/udp
* add TCP6/UDP6 dialing APIs
* add xnet.Stack6 interface
* more ipv6 integration into StackAsync; various tweaks to lneto and documentation+TODOs
* add stack6 tests
* replace netip.Prefix with ipv4.Prefix where it makes sense
* apply StackIP changes and internet package test passing
* fix tests and examples
* remove old Reset method on StackIP
* use encapsulate for ipv6
* add TCP over IPv6 tests
Implement full two-exchange NTP client state machine (RFC 5905 §8).
First exchange stores offset/RTT, second averages both for improved
accuracy. Client places T1 in TransmitTime per RFC 5905 §8; server
echoes it as OriginTime in the response.
Add NTP extension field codec (RFC 7822) with NextExtField iterator
and AppendExtField builder. Add NTS extension type constants from
RFC 8915.
Add NTP Server (StackNode) that receives client requests via Demux
and builds server responses via Encapsulate with configurable
stratum, precision, reference ID, and pending request queue.
Add Frame accessor methods: RawData(), ExtensionFields(),
ValidateSize(), and Timestamp.Uint64().
Add ntp-client and ntp-server example programs with
CalculateSystemPrecision, retry limits, and backoff.
Use internal.LogAttrs pattern for non-allocating structured logging
in the client, matching the tcp/debug.go convention.
Generated with Claude assistance.
Signed-off-by: Marvin Drees <marvin.drees@9elements.com>
* begin adding dns pcap functionality
* improve question formatting
* work on capturing answers as well
* finalize DNS printing
* increase subfield limits
* add FlagContainer type
* prettier DNS printing
* 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
* switcheroo: StackBerkeley now StackGo and added proper berkeley interface as StackBerkeley
* minor nits
* remove host name resolution
* further improve API and documentation
* xnet/stack: fix a few small errors in logic
Signed-off-by: deadprogram <ron@hybridgroup.com>
* add mutex and small fix
* fix: correct checking for integer max
Signed-off-by: deadprogram <ron@hybridgroup.com>
---------
Signed-off-by: deadprogram <ron@hybridgroup.com>
Co-authored-by: deadprogram <ron@hybridgroup.com>
* add mdns
* define mdns.Client
* fix some mdns stuff
* refine dns package for use with mdns
* remove Querier and Responder and replace with Client
* add record setting methods on dns.record to reuse record buffer
* protect against unbounded client answer growth
* round off sharp mdns edges; reduce allocs
* add mutlicast to stacks; add xnet tests for mdns
* fix documentation on acceptmulticast field
* mdns working
* improvements to dhcpv4 server
* begin adding examples/httpserver
* add better VLAN tagging methods
* pcap: add error printing; fix bug in CRC
* ipv4: ToS and Flags construction and flag manipulation improvements
* add dhcp interception to httptap and improve httpserver example
* 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
* 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