serenity/Kernel/Net
Idan Horowitz 743a9e9ebf Kernel: Stop including the ethernet header in LoopbackAdapter's mtu
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)
2023-11-25 16:34:38 +01:00
..
Intel Kernel: Use Processor::wait_check in loops waiting for HW to respond 2023-09-15 11:07:35 -06:00
Realtek Kernel: Use Processor::wait_check in loops waiting for HW to respond 2023-09-15 11:07:35 -06:00
VirtIO Kernel/VirtIO: Ensure proper error propagation in core methods 2023-09-24 19:54:23 -06:00
ARP.h
EthernetFrameHeader.h
EtherType.h
ICMP.h
IPv4.h
IPv4Socket.cpp
IPv4Socket.h
IPv4SocketTuple.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
LocalSocket.cpp
LocalSocket.h
LoopbackAdapter.cpp Kernel: Stop including the ethernet header in LoopbackAdapter's mtu 2023-11-25 16:34:38 +01:00
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 Kernel/Net: Implement TCP_NODELAY 2023-11-08 09:31:54 +01:00
TCPSocket.h Kernel/Net: Implement TCP_NODELAY 2023-11-08 09:31:54 +01:00
UDP.h
UDPSocket.cpp
UDPSocket.h