Add ping4 test from ipv4 host
This commit is contained in:
parent
771c12ccb7
commit
fc5e56e809
2 changed files with 43 additions and 25 deletions
59
doc/plan.org
59
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=<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
|
||||
|
|
|
@ -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++')
|
||||
|
|
Loading…
Reference in a new issue