Add ping4 test from ipv4 host

This commit is contained in:
Nico Schottelius 2019-04-03 12:50:19 +02:00
parent 771c12ccb7
commit fc5e56e809
2 changed files with 43 additions and 25 deletions

View file

@ -308,8 +308,8 @@ Not sure what I meant to do here - closing.
**** DONE Create table entry for mapping v4->v6 [net]
**** DONE Create table entry for mapping v6->v4 [net]
*** TODO Implement ICMP <-> ICMP6 translation
**** 2019-02-28 / icmp testing / first NDP steps
***** pinging in router mode: nothing shown in the controller, multicast forwarded -> "ok"
**** DONE 2019-02-28 / icmp testing / first NDP steps
***** DONE pinging in router mode: nothing shown in the controller, multicast forwarded -> "ok"
root@ubuntu:~/master-thesis/p4app# ping6 -c1 2001:db8:61::42
PING 2001:db8:61::42(2001:db8:61::42) 56 data bytes
@ -469,7 +469,7 @@ sudo: unable to resolve host ubuntu
fe80::/64 dev h1-eth0 proto kernel metric 256 pref medium
default via 2001:db8::42 dev h1-eth0 metric 1024 pref medium
p4@ubuntu:~/master-thesis$
**** TODO TEST ping6ing an emulated ipv6 host / Translate icmp <-> icmp6: test v6_static_mapping
**** DONE TEST ping6ing an emulated ipv6 host / Translate icmp <-> icmp6: test v6_static_mapping
***** DONE try1: only packets on h1 + controller -> wrong checksum 2019-03-25
+ filename=static_nat64-2019-03-25-1121-h1.pcap
+ intf=h1-eth0
@ -690,7 +690,7 @@ INFO:main:unhandled reassambled=<Ether dst=00:00:0a:00:00:42 src=00:00:0a:00:00
**** DONE Solve logic problem: Valid headers
- If ipv6 header is valid && nat64 will be made and afterwards v4 egress needs to be applied
- If ipv4 header is valid && nat46 will be made and afterwards v6 egress needs to be applied
**** TODO Check translated fields
**** DONE Check translated fields
***** DONE source correctly translated to 10.1.1.1
***** DONE destination correctly translated to 10.0.0.1 -> pings h3
***** DONE egress is correct, comes out at h3
@ -733,29 +733,38 @@ Entry has been added with handle 0
[09:57:31.415] [bmv2] [D] [thread 9332] [105.0] [cxt 0] Table 'MyIngress.v6_networks': miss
***** TODO transform protocol specific: icmp -> icmp6
***** DONE transform protocol specific: icmp -> icmp6
****** DONE Make switch answer IPv4 icmp echo request for
******* DONE Make switch respond to ARP
******* DONE Make switch respond to icmp echo request w/ correct checksum (2019-04-03)
******* TODO Correct icmp6 checksum
******* DONE Correct icmp6 checksum
******** DONE Checksum is SET, but not correct!
**** TODO Add / check default route for v4 hosts
**** TODO Update p4c to avoid compiler bug
***** TODO Updating p4c
****** DONE Try1
p4@ubuntu:~/p4-learning/vm/bin$ sh update-p4c.sh
update-p4c.sh: 34: update-p4c.sh: Syntax error: "(" unexpected
p4@ubuntu:~/p4-learning/vm/bin$ git pull
Already up-to-date.
p4@ubuntu:~/p4-learning/vm/bin$ git describe --always
fb9d0ea
p4@ubuntu:~/p4-learning/vm/bin$
***** DONE Test result (2019-04-03)
p4@ubuntu:~$ python ~/master-thesis/p4app/test.py -m v6_static_mapping
PING 2001:db8:1::a00:1(2001:db8:1::a00:1) 56 data bytes
64 bytes from 2001:db8:1::a00:1: icmp_seq=1 ttl=64 time=14.7 ms
p4@ubuntu:~/p4-tools/p4c$ git checkout 1ab1c796677a3a2349df9619d82831a39a6e4437
p4@ubuntu:~/p4-tools/p4c/build$ cmake ..
p4@ubuntu:~/p4-tools/p4c/build$ make -j8
****** DONE Need to upgrade RAM / c++ errors / killed
****** DONE Compile error from 1ab1c79
--- 2001:db8:1::a00:1 ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 14.750/14.750/14.750/0.000 ms
p4@ubuntu:~$
**** DONE Add / check default route for v4 hosts
*** TODO Update p4c to avoid compiler bug
**** TODO Updating p4c
***** DONE Try1
p4@ubuntu:~/p4-learning/vm/bin$ sh update-p4c.sh
update-p4c.sh: 34: update-p4c.sh: Syntax error: "(" unexpected
p4@ubuntu:~/p4-learning/vm/bin$ git pull
Already up-to-date.
p4@ubuntu:~/p4-learning/vm/bin$ git describe --always
fb9d0ea
p4@ubuntu:~/p4-learning/vm/bin$
p4@ubuntu:~/p4-tools/p4c$ git checkout 1ab1c796677a3a2349df9619d82831a39a6e4437
p4@ubuntu:~/p4-tools/p4c/build$ cmake ..
p4@ubuntu:~/p4-tools/p4c/build$ make -j8
***** DONE Need to upgrade RAM / c++ errors / killed
***** DONE Compile error from 1ab1c79
[ 33%] Building CXX object frontends/CMakeFiles/frontend.dir/unified_frontend_sources_4.cpp.o
[ 37%] Building CXX object frontends/CMakeFiles/frontend.dir/__/ir/ir-generated.cpp.o
[ 35%] Building CXX object frontends/CMakeFiles/frontend.dir/unified_frontend_sources_2.cpp.o
@ -777,7 +786,7 @@ p4@ubuntu:~/p4-tools/p4c/build$ cd ..
p4@ubuntu:~/p4-tools/p4c$ git describe --always
1ab1c79
p4@ubuntu:~/p4-tools/p4c$
****** DONE Upgrading to latest master: 46609cd -> fails
***** DONE Upgrading to latest master: 46609cd -> fails
p4@ubuntu:~/p4-tools/p4c$ git describe --always
46609cd
@ -805,10 +814,10 @@ Scanning dependencies of target bmv2backend
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
p4@ubuntu:~/p4-tools/p4c/build$
****** DONE Build on notebook succeeds 900557c5
***** DONE Build on notebook succeeds 900557c5
[16:37] line:p4c% git describe --always
900557c5
****** TODO Build on VM with 900557c5 after removing build/
***** TODO Build on VM with 900557c5 after removing build/
*** TODO Get p4 VM / vagrant running
**** DONE install libvirtd-daemon
**** DONE install ebtables

View file

@ -45,6 +45,15 @@ class TestStuff(object):
return cmd
def test_v4_static_mapping(self):
host = "h3"
dst_ipv4 = ipaddress.ip_address("10.1.1.1")
log.info("Trying to reach {} from {}".format(dst_ipv4, host))
cmd = "mx {} ping -c1 {}".format(host, dst_ipv4).split(" ")
return cmd
def commandline(self):
parser = argparse.ArgumentParser(description='controller++')