serenity/Kernel/Net
Conrad Pankoff 73c998dbfc Kernel: Refactor TCP/IP stack
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_.
2019-08-06 16:21:17 +02:00
..
ARP.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
E1000NetworkAdapter.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
E1000NetworkAdapter.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
EthernetFrameHeader.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
EtherType.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
ICMP.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
IPv4.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
IPv4Socket.cpp Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
IPv4Socket.h Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
IPv4SocketTuple.h Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
LocalSocket.cpp Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
LocalSocket.h Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
LoopbackAdapter.cpp AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
LoopbackAdapter.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
MACAddress.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
NetworkAdapter.cpp Kernel: Make KBuffer a value-type wrapper around a KBufferImpl 2019-08-05 11:07:45 +02:00
NetworkAdapter.h Kernel: Make KBuffer a value-type wrapper around a KBufferImpl 2019-08-05 11:07:45 +02:00
NetworkTask.cpp Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
NetworkTask.h Kernel: Move networking related files into Kernel/Net/. 2019-04-02 19:54:38 +02:00
Routing.cpp Kernel: Run clang-format on everything. 2019-06-07 11:43:58 +02:00
Routing.h Kernel: Move networking related files into Kernel/Net/. 2019-04-02 19:54:38 +02:00
Socket.cpp Net: Let Socket have read/write wrappers around sendto/recvfrom 2019-08-05 10:03:19 +02:00
Socket.h Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
TCP.h Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
TCPSocket.cpp Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
TCPSocket.h Kernel: Refactor TCP/IP stack 2019-08-06 16:21:17 +02:00
UDP.h AK: Rename the common integer typedefs to make it obvious what they are. 2019-07-03 21:20:13 +02:00
UDPSocket.cpp IPv4: Remove an unnecessary copy of each outgoing IPv4 payload 2019-08-05 10:43:22 +02:00
UDPSocket.h IPv4: Use KBuffer instead of ByteBuffer for socket receive queues 2019-08-04 21:09:38 +02:00