1
0
mirror of https://github.com/SerenityOS/serenity synced 2024-07-09 10:40:45 +00:00
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 Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
EthernetFrameHeader.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
EtherType.h Everything: Move to SPDX license identifiers in all files. 2021-04-22 11:22:27 +02:00
ICMP.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IPv4.h Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
IPv4Socket.cpp Kernel: Use FixedStringBuffer for fixed-length strings in syscalls 2023-08-09 21:06:54 -06:00
IPv4Socket.h Kernel/Net: Rework ephemeral port allocation 2023-07-29 16:51:58 -06:00
IPv4SocketTuple.h AK: Rename GenericTraits to DefaultTraits 2023-11-09 10:05:51 -05:00
LocalSocket.cpp Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
LocalSocket.h Everywhere: Move global Kernel pattern code to Kernel/Library directory 2023-06-04 21:32:34 +02:00
LoopbackAdapter.cpp Kernel: Stop including the ethernet header in LoopbackAdapter's mtu 2023-11-25 16:34:38 +01:00
LoopbackAdapter.h Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkAdapter.cpp Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkAdapter.h Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkingManagement.cpp Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkingManagement.h Kernel/Net: Don't allocate memory for adapters' names 2023-08-12 11:48:48 -06:00
NetworkTask.cpp Kernel: Don't allocate memory for names of processes and threads 2023-08-09 21:06:54 -06:00
NetworkTask.h Kernel: Avoid deadlock when trying to send packets from the NetworkTask 2021-04-30 23:11:56 +02:00
Routing.cpp Everywhere: Run clang-format 2023-07-08 10:32:56 +01:00
Routing.h Kernel: Move all tasks-related code to the Tasks subdirectory 2023-06-04 21:32:34 +02:00
Socket.cpp Kernel: Use FixedStringBuffer for fixed-length strings in syscalls 2023-08-09 21:06:54 -06:00
Socket.h Kernel: Use UnixDateTime wherever applicable 2023-05-24 23:18:07 +02:00
TCP.h Everywhere: Remove unused includes of AK/StdLibExtras.h 2023-01-02 20:27:20 -05:00
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 Everywhere: Run clang-format 2022-04-01 21:24:45 +01:00
UDPSocket.cpp Kernel/Net: Rework ephemeral port allocation 2023-07-29 16:51:58 -06:00
UDPSocket.h Kernel/Net: Rework ephemeral port allocation 2023-07-29 16:51:58 -06:00