1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-10-31 15:52:43 +00:00
serenity/Kernel/Net
Gunnar Beutner 49dd4e5193 Kernel: Block when writing to TCP sockets when the send window is full
Previously we'd just dump those packets into the network adapter's
send queue and hope for the best. Instead we should wait until the peer
has sent TCP ACK packets.

Ideally this would parse the TCP window size option from the SYN or
SYN|ACK packet, but for now we just assume the window size is 64 kB.
2021-05-26 23:09:28 +02:00
..
ARP.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
E1000NetworkAdapter.cpp Kernel/Net: Make interfaces to have persistent names 2021-05-22 11:19:50 +01:00
E1000NetworkAdapter.h Kernel: static vs non-static constexpr variables 2021-05-19 21:21:47 +01:00
EthernetFrameHeader.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
EtherType.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ICMP.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IPv4.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
IPv4Socket.cpp Kernel: Avoid allocations when sending IP packets 2021-05-26 23:09:28 +02:00
IPv4Socket.h Kernel: Avoid allocating KBuffers for TCP packets 2021-05-12 13:47:07 +02:00
IPv4SocketTuple.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
LocalSocket.cpp Kernel: Switch LocalSocket to IntrusiveList from InlineLinkedList 2021-05-26 20:24:32 +02:00
LocalSocket.h Kernel: Switch LocalSocket to IntrusiveList from InlineLinkedList 2021-05-26 20:24:32 +02:00
LoopbackAdapter.cpp Kernel/Net: Make interfaces to have persistent names 2021-05-22 11:19:50 +01:00
LoopbackAdapter.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
NE2000NetworkAdapter.cpp Kernel/Net: Make interfaces to have persistent names 2021-05-22 11:19:50 +01:00
NE2000NetworkAdapter.h Everywhere: Use "the SerenityOS developers." in copyright headers 2021-04-29 00:59:26 +02:00
NetworkAdapter.cpp Kernel: Avoid allocations when sending IP packets 2021-05-26 23:09:28 +02:00
NetworkAdapter.h Kernel: Avoid allocations when sending IP packets 2021-05-26 23:09:28 +02:00
NetworkTask.cpp Kernel: Avoid allocations when sending IP packets 2021-05-26 23:09:28 +02:00
NetworkTask.h Kernel: Avoid deadlock when trying to send packets from the NetworkTask 2021-04-30 23:11:56 +02:00
Routing.cpp Kernel: Ignore interfaces without an IP address when routing packages 2021-05-21 21:55:52 +02:00
Routing.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
RTL8139NetworkAdapter.cpp Kernel/Net: Make interfaces to have persistent names 2021-05-22 11:19:50 +01:00
RTL8139NetworkAdapter.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
Socket.cpp Kernel: Harden Socket Vector usage against OOM 2021-05-01 09:10:30 +02:00
Socket.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
TCP.h Kernel: Set MSS option for outbound TCP SYN packets 2021-05-12 13:47:07 +02:00
TCPSocket.cpp Kernel: Block when writing to TCP sockets when the send window is full 2021-05-26 23:09:28 +02:00
TCPSocket.h Kernel: Block when writing to TCP sockets when the send window is full 2021-05-26 23:09:28 +02:00
UDP.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
UDPSocket.cpp Kernel: Avoid allocations when sending IP packets 2021-05-26 23:09:28 +02:00
UDPSocket.h Kernel: Make UDPSocket::create() API OOM safe 2021-05-13 16:21:53 +02:00