mirror of
https://github.com/SerenityOS/serenity
synced 2024-10-08 00:50:32 +00:00
73c998dbfc
This has several significant changes to the networking stack. * Significant refactoring of the TCP state machine. Right now it's probably more fragile than it used to be, but handles quite a lot more of the handshake process. * `TCPSocket` holds a `NetworkAdapter*`, assigned during `connect()` or `bind()`, whichever comes first. * `listen()` is now virtual in `Socket` and intended to be implemented in its child classes * `listen()` no longer works without `bind()` - this is a bit of a regression, but listening sockets didn't work at all before, so it's not possible to observe the regression. * A file is exposed at `/proc/net_tcp`, which is a JSON document listing the current TCP sockets with a bit of metadata. * There's an `ETHERNET_VERY_DEBUG` flag for dumping packet's content out to `kprintf`. It is, indeed, _very debug_. |
||
---|---|---|
.. | ||
ARP.h | ||
E1000NetworkAdapter.cpp | ||
E1000NetworkAdapter.h | ||
EthernetFrameHeader.h | ||
EtherType.h | ||
ICMP.h | ||
IPv4.h | ||
IPv4Socket.cpp | ||
IPv4Socket.h | ||
IPv4SocketTuple.h | ||
LocalSocket.cpp | ||
LocalSocket.h | ||
LoopbackAdapter.cpp | ||
LoopbackAdapter.h | ||
MACAddress.h | ||
NetworkAdapter.cpp | ||
NetworkAdapter.h | ||
NetworkTask.cpp | ||
NetworkTask.h | ||
Routing.cpp | ||
Routing.h | ||
Socket.cpp | ||
Socket.h | ||
TCP.h | ||
TCPSocket.cpp | ||
TCPSocket.h | ||
UDP.h | ||
UDPSocket.cpp | ||
UDPSocket.h |