Begin to introduce arp support

This commit is contained in:
Nico Schottelius 2019-03-31 15:48:00 +02:00
commit 07f0867175
4 changed files with 100 additions and 7 deletions

View file

@ -603,7 +603,7 @@ root@ubuntu:~# ip r
default via 10.0.0.66 dev h3-eth0
10.0.0.0/24 dev h3-eth0 proto kernel scope link src 10.0.0.1
root@ubuntu:~#
***** TODO try6: host sees packet, but does not react on it
***** DONE try6: host sees packet, but does not react on it, manually tring gateway ping
p4@ubuntu:~$ mx h3 tcpdump -lni h3-eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
@ -630,9 +630,31 @@ no arp entries:
root@ubuntu:~# arp -an
root@ubuntu:~#
root@ubuntu:~# ping -c1 10.0.0.66
PING 10.0.0.66 (10.0.0.66) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=1 Destination Host Unreachable
***** TODO Implement default route handling, maybe implement ARP
******
--- 10.0.0.66 ping statistics ---
1 packets transmitted, 0 received, +1 errors, 100% packet loss, time 0ms
root@ubuntu:~#
***** DONE try7: checkout dump from ping4_gw-2019-03-31-0916-h3.pcap: regular arp
***** TODO Get a real world arp trace
root@line:/home/nico/vcs/master-thesis/pcap# tcpdump -ni wlan0 -w ping4_realworld_p7 icmp or arp or host 192.168.4.1
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
root@line:~# arp -an
? (192.168.4.188) at 00:0d:b9:46:3b:d4 [ether] on wlan0
root@line:~# ping -c1 192.168.4.1
PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data.
64 bytes from 192.168.4.1: icmp_seq=1 ttl=64 time=15.5 ms
--- 192.168.4.1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 15.533/15.533/15.533/0.000 ms
root@line:~#
***** TODO Implement default route handling, maybe implement ARP?
****** Entry in v4_networks?
**** DONE Add table name support in debug messages
**** DONE Why getting IPv6 packets in
@ -1726,6 +1748,7 @@ used only in one network.
*** References / Follow up
**** RFC 791 IPv4 https://tools.ietf.org/html/rfc791
**** RFC 792 ICMP https://tools.ietf.org/html/rfc792
**** RFC 826 ARP https://tools.ietf.org/html/rfc826
**** RFC 1017 ICMP checksum https://tools.ietf.org/html/rfc1071
**** RFC 2460 IPv6 (Checksum https://tools.ietf.org/html/rfc2460#section-8.1)
**** RFC 3810 MLD2 https://tools.ietf.org/html/rfc3810