Andreas Kling
649c81a714
Kernel: Move networking related files into Kernel/Net/.
2019-04-02 19:54:38 +02:00
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
8e667747f0
Kernel: Add a way to look up NetworkAdapters by IPv4 address.
2019-03-12 13:30:36 +01:00
Andreas Kling
c6a2012fe9
Kernel: Collect IPv4 stuff in IPv4.h and ARP stuff in ARP.h.
2019-03-12 12:49:01 +01:00
Andreas Kling
87ecf290f4
Kernel: More work on the ICMP and IPv4 support.
2019-03-12 12:43:30 +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
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
97664fad60
Kernel: A bunch of hacking towards initial Ethernet support.
2019-03-10 20:59:23 +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