diff --git a/doc/plan.org b/doc/plan.org index 8973091..304d81a 100644 --- a/doc/plan.org +++ b/doc/plan.org @@ -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= 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 diff --git a/p4app/test.py b/p4app/test.py index f2d8526..355d64b 100755 --- a/p4app/test.py +++ b/p4app/test.py @@ -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++')