mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-22 17:31:58 -05:00
743a9e9ebf
The networking subsystem currently assumes all adapters are Ethernet adapters, including the LoopbackAdapter, so all packets are pre-pended with an Ethernet Frame header. Since the MTU must not include any overhead added by the data-link (Ethernet in this case) or physical layers, we need to subtract it from the MTU. This fixes a kernel panic which occurs when sending a packet that is at least 65523 bytes long through the loopback adapter, which results in the kernel "receiving" a packet which is larger than the support MTU out the other end. (As the actual final size was increased by the addition of the ethernet frame header) |
||
---|---|---|
.. | ||
Intel | ||
Realtek | ||
VirtIO | ||
ARP.h | ||
EthernetFrameHeader.h | ||
EtherType.h | ||
ICMP.h | ||
IPv4.h | ||
IPv4Socket.cpp | ||
IPv4Socket.h | ||
IPv4SocketTuple.h | ||
LocalSocket.cpp | ||
LocalSocket.h | ||
LoopbackAdapter.cpp | ||
LoopbackAdapter.h | ||
NetworkAdapter.cpp | ||
NetworkAdapter.h | ||
NetworkingManagement.cpp | ||
NetworkingManagement.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 |