Andreas Kling
bc1da7f1fd
Kernel: Snooze the NetworkTask until there are incoming packets to process.
...
This is accomplished using a new Alarm class and a BlockedSnoozing state.
Basically, you call Process::snooze_until(some_alarm) and then the scheduler
won't wake up the process until some_alarm.is_ringing() returns true.
2019-03-20 17:09:46 +01:00
Andreas Kling
313ee8dd19
Move Lock from AK to Kernel, since it only works inside the kernel.
2019-03-16 13:18:22 +01:00
Andreas Kling
7bcd386338
NetworkAdapter: Use a ByteBuffer instead of kmalloc/kfree in send().
2019-03-13 13:12:29 +01:00
Andreas Kling
8e667747f0
Kernel: Add a way to look up NetworkAdapters by IPv4 address.
2019-03-12 13:30:36 +01:00
Andreas Kling
87ecf290f4
Kernel: More work on the ICMP and IPv4 support.
2019-03-12 12:43:30 +01:00
Andreas Kling
9858be636f
Kernel: Fix up the ICMP implementation to generate correct Echo replies.
...
Serenity now responds to ping. :^)
2019-03-12 11:44:38 +01:00
Andreas Kling
5bd9844dd6
Kernel: Start adding IPv4 support, starting with ICMP echo messages.
...
This doesn't work correctly yet, but it's getting nice enough to commit.
2019-03-12 04:11:20 +01:00
Andreas Kling
d5dbb602b8
Kernel: Tidy up networking code with some named constants.
2019-03-12 01:30:49 +01:00
Andreas Kling
318b01e055
Kernel: Bring up enough networking code that we can respond to ARP requests.
...
This is all pretty rickety but we can now respond to "arping" from the host
while running inside QEMU. Very cool. :^)
2019-03-11 23:21:38 +01:00
Andreas Kling
35098cbde1
Kernel: Add a NetworkTask and a received network packet queue.
...
It will be easier to deal with incoming packets in a separate task.
2019-03-11 12:43:45 +01:00
Andreas Kling
1678ac69ef
Kernel: More work on Ethernet support.
2019-03-10 23:40:09 +01:00
Andreas Kling
4641ee49b5
Kernel: Add a simple MACAddress class.
2019-03-10 19:15:22 +01:00
Andreas Kling
405413c354
Kernel: Start adding support for E1000 network adapters.
2019-03-10 15:25:33 +01:00