log update

This commit is contained in:
Nico Schottelius 2019-07-21 14:08:47 +02:00
parent 89e0576d22
commit 2462356e68

View file

@ -987,7 +987,8 @@ PING 10.1.1.1 (10.1.1.1) 56(84) bytes of data.
rtt min/avg/max/mdev = 12.593/12.593/12.593/0.000 ms rtt min/avg/max/mdev = 12.593/12.593/12.593/0.000 ms
p4@ubuntu:~$ p4@ubuntu:~$
** TODO Implement ipv6<->ipv4 udp translation ** DONE Implement ipv6<->ipv4 udp translation
CLOSED: [2019-07-21 Sun 13:57]
*** DONE udp: ipv6->ipv4 *** DONE udp: ipv6->ipv4
p4@ubuntu:~$ mx h3 "echo V4-OK | socat - UDP-LISTEN:2342" p4@ubuntu:~$ mx h3 "echo V4-OK | socat - UDP-LISTEN:2342"
@ -1001,7 +1002,8 @@ V4-OK
p4@ubuntu:~$ p4@ubuntu:~$
**** pcap/v6_udp-2019-04-11-0840-h1.pcap **** pcap/v6_udp-2019-04-11-0840-h1.pcap
**** pcap/v6_udp-2019-04-11-0840-h3.pcap **** pcap/v6_udp-2019-04-11-0840-h3.pcap
*** TODO udp: ipv4->ipv6 *** DONE udp: ipv4->ipv6
CLOSED: [2019-07-21 Sun 13:57]
p4@ubuntu:~$ mx h3 "echo V4-OK | socat - UDP:10.1.1.1:2342" p4@ubuntu:~$ mx h3 "echo V4-OK | socat - UDP:10.1.1.1:2342"
/usr/bin/mx: line 25: [: too many arguments /usr/bin/mx: line 25: [: too many arguments
V6-OK V6-OK
@ -1039,8 +1041,10 @@ p4@ubuntu:~$
pcap/v4_tcp-2019-04-11-0853-h1.pcap | Bin 0 -> 1174 bytes pcap/v4_tcp-2019-04-11-0853-h1.pcap | Bin 0 -> 1174 bytes
pcap/v4_tcp-2019-04-11-0853-h3.pcap | Bin 0 -> 1070 bytes pcap/v4_tcp-2019-04-11-0853-h3.pcap | Bin 0 -> 1070 bytes
** TODO Update p4c to avoid compiler bug ** DONE Update p4c to avoid compiler bug
*** TODO Updating p4c CLOSED: [2019-07-21 Sun 13:59]
*** DONE Updating p4c
CLOSED: [2019-07-21 Sun 13:57]
**** DONE Try1 **** DONE Try1
p4@ubuntu:~/p4-learning/vm/bin$ sh update-p4c.sh p4@ubuntu:~/p4-learning/vm/bin$ sh update-p4c.sh
update-p4c.sh: 34: update-p4c.sh: Syntax error: "(" unexpected update-p4c.sh: 34: update-p4c.sh: Syntax error: "(" unexpected
@ -1107,12 +1111,15 @@ 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 [16:37] line:p4c% git describe --always
900557c5 900557c5
**** TODO Build on VM with 900557c5 after removing build/ **** DONE Build on VM with 900557c5 after removing build/: no, stay with old p4c
** TODO Get p4 VM / vagrant running CLOSED: [2019-07-21 Sun 13:57]
** DONE Get p4 VM / vagrant running: running on VM
CLOSED: [2019-07-21 Sun 13:57]
*** DONE install libvirtd-daemon *** DONE install libvirtd-daemon
*** DONE install ebtables *** DONE install ebtables
*** DONE install dnsmasq *** DONE install dnsmasq
** TODO Get p4c & co. running on the notebook ** DONE Get p4c & co. running eon the notebook: no, stay on VM
CLOSED: [2019-07-21 Sun 13:58]
*** DONE mininet via packages *** DONE mininet via packages
*** DONE p4c *** DONE p4c
(virtualenv-with-site) [17:43] line:build% make install (virtualenv-with-site) [17:43] line:build% make install
@ -1545,8 +1552,6 @@ Cannot find required executable simple_switch.
Please make sure that it is installed and available in your $PATH: Please make sure that it is installed and available in your $PATH:
(/home/nico/vcs/master-thesis/support/virtualenv-with-site/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/nico/vcs/master-thesis/support/p4c/build/) (/home/nico/vcs/master-thesis/support/virtualenv-with-site/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/nico/vcs/master-thesis/support/p4c/build/)
(virtualenv-with-site) root@line:/home/nico/vcs/master-thesis/p4app# (virtualenv-with-site) root@line:/home/nico/vcs/master-thesis/p4app#
** TODO Setup test VM [dual stack] for Jool:
** TODO Setup test VM [dual stack] for tayga:
** TODO Port to Hardware ** TODO Port to Hardware
*** NetPFGA documentation *** NetPFGA documentation
**** Port mapping **** Port mapping
@ -1569,7 +1574,8 @@ Cannot obtain license
make: *** [Makefile:67: compile_no_cpp_test] Error 1 make: *** [Makefile:67: compile_no_cpp_test] Error 1
nico@loch:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/switch_calc$ nico@loch:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/switch_calc$
**** TODO Testing / compiling / uploading stuff to the NetPFGA -- **** DONE Testing / compiling / uploading stuff to the NetPFGA --
CLOSED: [2019-07-21 Sun 13:56]
https://github.com/NetFPGA/P4-NetFPGA-public/wiki/Tutorial-Assignments https://github.com/NetFPGA/P4-NetFPGA-public/wiki/Tutorial-Assignments
***** DONE try 1 ***** DONE try 1
According to According to
@ -1654,7 +1660,8 @@ nico@loch:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/swit
****** DONE testdata: skipped ****** DONE testdata: skipped
****** DONE compile_cpp_test: ok ****** DONE compile_cpp_test: ok
****** DONE run_scripts: ok ****** DONE run_scripts: ok
****** TODO cpp_test: error ****** DONE cpp_test: error
CLOSED: [2019-07-21 Sun 13:59]
# Fix introduced for SDNet 2017.4 # Fix introduced for SDNet 2017.4
sed -i 's/xsim\.dir\/xsc\/dpi\.so/dpi\.so/g' nf_sume_sdnet_ip/SimpleSumeSwitch/vivado_sim.bash sed -i 's/xsim\.dir\/xsc\/dpi\.so/dpi\.so/g' nf_sume_sdnet_ip/SimpleSumeSwitch/vivado_sim.bash
sed -i 's/xsim\.dir\/xsc\/dpi\.so/dpi\.so/g' nf_sume_sdnet_ip/SimpleSumeSwitch/vivado_sim_waveform.bash sed -i 's/xsim\.dir\/xsc\/dpi\.so/dpi\.so/g' nf_sume_sdnet_ip/SimpleSumeSwitch/vivado_sim_waveform.bash
@ -1667,7 +1674,8 @@ make: *** [Makefile:23: cpp_test] Error 1
[23:12] loch:minip4% [23:12] loch:minip4%
******* DONE Removing cp of *tbl ******* DONE Removing cp of *tbl
******* DONE Removing pcap copy ******* DONE Removing pcap copy
******* TODO removing all cp's ******* DONE removing all cp's
CLOSED: [2019-07-21 Sun 13:59]
***** DONE try 3: good until step 4; broken at the simulation ***** DONE try 3: good until step 4; broken at the simulation
****** log 1 ****** log 1
[15:26] rainbow:~% echo $P4_PROJECT_DIR [15:26] rainbow:~% echo $P4_PROJECT_DIR
@ -1751,7 +1759,8 @@ root@rainbow:~# apt install libncurses5
****** command ****** command
cd $P4_PROJECT_DIR && make cd $P4_PROJECT_DIR && make
****** DONE commented out the test data step to progress ****** DONE commented out the test data step to progress
****** TODO re-enable test data cp step => data required later ****** DONE re-enable test data cp step => data required later
CLOSED: [2019-07-21 Sun 13:57]
all: clean frontend compile_no_cpp_test run_scripts all: clean frontend compile_no_cpp_test run_scripts
cp src/*.tbl ${SDNET_OUT_DIR}/${P4_SWITCH}/ cp src/*.tbl ${SDNET_OUT_DIR}/${P4_SWITCH}/
cp testdata/*.txt ${SDNET_OUT_DIR}/${P4_SWITCH}/ cp testdata/*.txt ${SDNET_OUT_DIR}/${P4_SWITCH}/
@ -1798,7 +1807,8 @@ make[1]: *** [Makefile:5: all] Error 1
make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/testdata' make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/testdata'
make: *** [Makefile:32: frontend] Error 2 make: *** [Makefile:32: frontend] Error 2
[15:47] rainbow:minip4% [15:47] rainbow:minip4%
****** TODO debug gen_testdata.py ****** DONE debug gen_testdata.py
CLOSED: [2019-07-21 Sun 13:57]
***** DONE Run step 5: ok ***** DONE Run step 5: ok
****** command ****** command
#+BEGIN_EXAMPLE #+BEGIN_EXAMPLE
@ -2027,7 +2037,8 @@ INFO: [Common 17-206] Exiting Vivado at Mon May 20 13:07:53 2019...
make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw' make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/hw'
[13:07] rainbow:simple_sume_switch% [13:07] rainbow:simple_sume_switch%
#+END_CENTER #+END_CENTER
******* TODO clarifying "simple_sume_switch.tcl" ******* DONE clarifying "simple_sume_switch.tcl"
CLOSED: [2019-07-21 Sun 13:59]
******** DONE What is it? ******** DONE What is it?
Seems to be some kind of batch system for vivado Seems to be some kind of batch system for vivado
******** DONE Who or what created it? ******** DONE Who or what created it?
@ -2308,7 +2319,6 @@ new dic: OrderedDict()
****** DONE try10: find out, why nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt has too less content ****** DONE try10: find out, why nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt has too less content
******* DONE find out what generates config_writes.txt ******* DONE find out what generates config_writes.txt
Seems to be step 5: Seems to be step 5:
#+BEGIN_CENTER #+BEGIN_CENTER
[14:22] rainbow:SimpleSumeSwitch% pwd [14:22] rainbow:SimpleSumeSwitch% pwd
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/nf_sume_sdnet_ip/SimpleSumeSwitch /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/nf_sume_sdnet_ip/SimpleSumeSwitch
@ -3020,7 +3030,8 @@ SimpleSumeSwitch(
TopDeparser() TopDeparser()
) main; ) main;
**** Understand the different switch models (?) **** Understand the different switch models (?)
*** TODO Find out whether delta based checksumming is feasible [in P4] *** DONE Find out whether delta based checksumming is feasible [in P4]
CLOSED: [2019-07-21 Sun 13:53]
**** DONE Analysing scapy **** DONE Analysing scapy
CLOSED: [2019-06-23 Sun 14:18] CLOSED: [2019-06-23 Sun 14:18]
#+BEGIN_CENTER #+BEGIN_CENTER
@ -3066,7 +3077,8 @@ else:
#+END_CENTER #+END_CENTER
**** TODO Trying to create a delta diff: AAAA vs. BBAA **** DONE Trying to create a delta diff: AAAA vs. BBAA
CLOSED: [2019-07-21 Sun 13:53]
#+BEGIN_CENTER #+BEGIN_CENTER
[14:17] line:bin% python3 checksum_from_scapy.py AAAA [14:17] line:bin% python3 checksum_from_scapy.py AAAA
b'AAAA' b'AAAA'
@ -3146,10 +3158,13 @@ sum=33667
#+END_CENTER #+END_CENTER
*** TODO Get ANY p4 program to successfully run on netpfga *** DONE Get ANY p4 program to successfully run on netpfga
**** TODO mirroring ethernet CLOSED: [2019-07-21 Sun 14:00]
**** DONE mirroring ethernet
CLOSED: [2019-07-21 Sun 14:00]
***** no packets seen on source interface ***** no packets seen on source interface
**** TODO sending data to switch port 1 **** DONE sending data to switch port 1
CLOSED: [2019-07-21 Sun 14:00]
***** DONE figuring out which is port 1: nf0 ***** DONE figuring out which is port 1: nf0
expected expected
actual actual
@ -3193,7 +3208,8 @@ listening on nf1, link-type EN10MB (Ethernet), capture size 262144 bytes
19:28:37.725181 IP6 2001:db8::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2001:db8::2, length 32 19:28:37.725181 IP6 2001:db8::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2001:db8::2, length 32
19:28:38.749195 IP6 2001:db8::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2001:db8::2, length 32 19:28:38.749195 IP6 2001:db8::1 > ff02::1:ff00:2: ICMP6, neighbor solicitation, who has 2001:db8::2, length 32
***** TODO Testing packets with send_packet.py: nothing arrives ***** DONE Testing packets with send_packet.py: nothing arrives: broken card problem
CLOSED: [2019-07-21 Sun 13:54]
root@rainbow:/home/nico/master-thesis/bin# python send_packet.py nf1 root@rainbow:/home/nico/master-thesis/bin# python send_packet.py nf1
. .
Sent 1 packets. Sent 1 packets.
@ -3204,7 +3220,8 @@ root@rainbow:/home/nico/master-thesis/bin#
-> only shows up on the interface that we send, not on nf0 if sending -> only shows up on the interface that we send, not on nf0 if sending
on nf1 on nf1
***** TODO Trying to add explicit table entry ***** DONE Trying to add explicit table entry: broken card problem
CLOSED: [2019-07-21 Sun 13:54]
#+BEGIN_CENTER #+BEGIN_CENTER
>> table_cam_add_entry lookup_table send_to_port1 ff:ff:ff:ff:ff:ff => >> table_cam_add_entry lookup_table send_to_port1 ff:ff:ff:ff:ff:ff =>
CAM_Init_ValidateContext() - done CAM_Init_ValidateContext() - done
@ -3214,7 +3231,8 @@ WROTE 0x44020080 = 0x0003
python: ioctl: Unknown error 512 python: ioctl: Unknown error 512
[20:27] rainbow:CLI% [20:27] rainbow:CLI%
#+END_CENTER #+END_CENTER
***** TODO Trying to read a table entry ***** DONE Trying to read a table entry: broken card problem
CLOSED: [2019-07-21 Sun 13:54]
#+BEGIN_CENTER #+BEGIN_CENTER
>> table_cam_read_entry lookup_table 0 >> table_cam_read_entry lookup_table 0
CAM_Init_ValidateContext() - done CAM_Init_ValidateContext() - done
@ -3243,14 +3261,19 @@ ERROR: failed to convert p.ethernet.dstAddr of type <type 'str'> to an integer
#+END_CENTER #+END_CENTER
*** TODO Create either HDL or PX for supporting payload checksum *** DONE Create either HDL or PX for supporting payload checksum: no, not doing payload
CLOSED: [2019-07-21 Sun 13:54]
https://github.com/NetFPGA/P4-NetFPGA-public/issues/13 https://github.com/NetFPGA/P4-NetFPGA-public/issues/13
https://github.com/NetFPGA/P4-NetFPGA-public/issues/13#issuecomment-490431016 https://github.com/NetFPGA/P4-NetFPGA-public/issues/13#issuecomment-490431016
**** TODO Explore HDL **** DONE Explore HDL: no, not needed
**** TODO Explore PX CLOSED: [2019-07-21 Sun 13:54]
*** TODO Integrate nat64 code into netfpga **** DONE Explore PX: no, not needed
**** figure out how to do ANY checksums CLOSED: [2019-07-21 Sun 13:54]
** TODO Diff / Delta based checksums *** Integrate nat64 code into netfpga: continue further down
**** DONE figure out how to do ANY checksums
CLOSED: [2019-07-21 Sun 13:55]
** DONE Diff / Delta based checksums
CLOSED: [2019-07-21 Sun 13:55]
*** DONE create test case / test theory *** DONE create test case / test theory
CLOSED: [2019-07-13 Sat 21:50] CLOSED: [2019-07-13 Sat 21:50]
*** Understand the complement implementation in P4/C *** Understand the complement implementation in P4/C
@ -3272,7 +3295,8 @@ checksum, should be zero if there is no corruption.
https://en.wikipedia.org/wiki/IPv4_header_checksum https://en.wikipedia.org/wiki/IPv4_header_checksum
**** TODO try first v6/v6 **** DONE try first v6/v6
CLOSED: [2019-07-21 Sun 14:00]
**** using python/struct **** using python/struct
***** find right byte orders ***** find right byte orders
**** using python/scapy **** using python/scapy
@ -3282,20 +3306,33 @@ https://en.wikipedia.org/wiki/IPv4_header_checksum
**** using p4 **** using p4
**** using p4/netpfga **** using p4/netpfga
** NAT64/NAT46 Features in jool and tayga ** DONE NAT64/NAT46 Features in jool and tayga
*** TODO Static 1:1 NAT46: translate from IPv4 to IPv6 with a table CLOSED: [2019-07-21 Sun 14:02]
**** TODO TCP *** DONE Static 1:1 NAT46: translate from IPv4 to IPv6 with a table
**** TODO UDP CLOSED: [2019-07-21 Sun 13:55]
**** TODO ICMP <-> ICMPv6 **** DONE TCP
*** TODO Stateless Prefix based NAT64: IPv6 to IPv4 translation prefix based CLOSED: [2019-07-21 Sun 13:55]
**** DONE UDP
CLOSED: [2019-07-21 Sun 13:55]
**** DONE ICMP <-> ICMPv6
CLOSED: [2019-07-21 Sun 13:55]
*** DONE Stateless Prefix based NAT64: IPv6 to IPv4 translation prefix based
CLOSED: [2019-07-21 Sun 13:55]
**** Allows IPv6 hosts to reach the IPv4 Internet **** Allows IPv6 hosts to reach the IPv4 Internet
*** See time table above *** See time table above
** Additional features queue (to be discussed) ** DONE Additional features queue (to be discussed)
*** TODO Offset based translation (v4->v6) -> same as range (?) CLOSED: [2019-07-21 Sun 14:01]
*** TODO IP address learning (v6/v4) for real life switch? How do hosts find it? *** DONE Offset based translation (v4->v6) -> same as range (?)
** Netpfga cabling CLOSED: [2019-07-21 Sun 14:00]
*** DONE IP address learning (v6/v4) for real life switch? How do hosts find it?
CLOSED: [2019-07-21 Sun 14:00]
** DONE Netpfga cabling
CLOSED: [2019-07-21 Sun 14:01]
| eth2 <--> nf0 | | eth2 <--> nf0 |
| eth1 <--> nf3 | | eth1 <--> nf3 |
** TODO Benchmark/comparison
*** TODO Setup / Benchmark Jool
*** TODO Setup / Benchmark tayga
* Thesis documentation * Thesis documentation
** Introduction ** Introduction
*** Related work *** Related work
@ -3349,7 +3386,8 @@ user@T:~# iptables -t mangle -A PREROUTING \
``` ```
5656 5656
*** Cisco (?) *** Cisco (?)
** TODO P4 based implementation ** DONE P4 based implementation
CLOSED: [2019-07-21 Sun 13:55]
*** General *** General
- IPv6 subnet 2001:db8::/32 - IPv6 subnet 2001:db8::/32
@ -3360,7 +3398,8 @@ user@T:~# iptables -t mangle -A PREROUTING \
- IPv4 hosts are in 10.0.4.0/24 - IPv4 hosts are in 10.0.4.0/24
- IPv6 in IPv4 mapped hosts are in 10.0.6.0/24 - IPv6 in IPv4 mapped hosts are in 10.0.6.0/24
- IPv4 default router = 10.0.0.42 - IPv4 default router = 10.0.0.42
*** TODO IPv4 embedding *** DONE IPv4 embedding
CLOSED: [2019-07-21 Sun 13:55]
RFC6052 RFC6052
@ -3704,7 +3743,8 @@ debug packets - analyse code - goto 1
[21:26] line:~% sudo apt install thrift-compiler [21:26] line:~% sudo apt install thrift-compiler
libnanomsg-dev libjudy-dev libnanomsg-dev libjudy-dev
*** TODO Session / dynamice mappings *** DONE Session / dynamice mappings
CLOSED: [2019-07-21 Sun 13:56]
**** General **** General
- Have 1..n session IPv4 addresses - Have 1..n session IPv4 addresses
- Handle outgoing IPv6: create new session - Handle outgoing IPv6: create new session
@ -3727,10 +3767,12 @@ libnanomsg-dev libjudy-dev
***** TODO Case IPv4 initiator ***** TODO Case IPv4 initiator
- Needs upper level protol - Needs upper level protol
**** TODO General network matching **** DONE General network matching
CLOSED: [2019-07-21 Sun 13:56]
***** DONE Create table(s) ***** DONE Create table(s)
***** DONE Fill it up from the controller: general network ***** DONE Fill it up from the controller: general network
***** TODO Create controller session handler ***** DONE Create controller session handler
CLOSED: [2019-07-21 Sun 13:55]
****** Controller Logic ****** Controller Logic
- controller selects "outgoing" IPv4 address range => base for sessions - controller selects "outgoing" IPv4 address range => base for sessions
- IPv4 addresses can be "random" (in our test case), but need - IPv4 addresses can be "random" (in our test case), but need
@ -3745,7 +3787,8 @@ libnanomsg-dev libjudy-dev
***** DONE Feed back to controller: implemented in switch ***** DONE Feed back to controller: implemented in switch
***** DONE Create ipv6 session in the controller ***** DONE Create ipv6 session in the controller
***** Create ipv4 session in the controller ***** Create ipv4 session in the controller
***** TODO Ensure translation code works ***** DONE Ensure translation code works
CLOSED: [2019-07-21 Sun 13:55]
>>> ipaddress.IPv6Network("2001:db8:100::/96")[int(ipaddress.IPv4Address("10.0.0.1"))] >>> ipaddress.IPv6Network("2001:db8:100::/96")[int(ipaddress.IPv4Address("10.0.0.1"))]
IPv6Address('2001:db8:100::a00:1') IPv6Address('2001:db8:100::a00:1')
@ -3757,9 +3800,12 @@ INFO:main:unhandled reassambled=<Ether dst=00:00:0a:00:00:42 src=00:00:0a:00:00
INFO:main:unhandled reassambled=<Ether dst=00:00:0a:00:00:42 src=00:00:0a:00:00:01 type=0x86dd |<IPv6 version=6 tc=0 fl=765494 plen=40 nh=TCP hlim=64 src=2001:db8::1 dst=2001:db8:100::a00:1 |<TCP sport=36458 dport=2342 seq=1287954527 ack=0 dataofs=10 reserved=0 flags=S window=28320 chksum=0xdce7 urgptr=0 options=[('MSS', 9440), ('SAckOK', ''), ('Timestamp', (795132605, 0)), ('NOP', None), ('WScale', 9)] |>>> from table TABLE_V6_NETWORKS INFO:main:unhandled reassambled=<Ether dst=00:00:0a:00:00:42 src=00:00:0a:00:00:01 type=0x86dd |<IPv6 version=6 tc=0 fl=765494 plen=40 nh=TCP hlim=64 src=2001:db8::1 dst=2001:db8:100::a00:1 |<TCP sport=36458 dport=2342 seq=1287954527 ack=0 dataofs=10 reserved=0 flags=S window=28320 chksum=0xdce7 urgptr=0 options=[('MSS', 9440), ('SAckOK', ''), ('Timestamp', (795132605, 0)), ('NOP', None), ('WScale', 9)] |>>> from table TABLE_V6_NETWORKS
****** DONE action nat64_tcp_session_create is called ****** DONE action nat64_tcp_session_create is called
**** TODO tcp session **** DONE tcp session
**** TODO udp session CLOSED: [2019-07-21 Sun 13:55]
**** TODO tcp session **** DONE udp session
CLOSED: [2019-07-21 Sun 13:55]
**** DONE tcp session
CLOSED: [2019-07-21 Sun 13:55]
** TODO Hardware port ** TODO Hardware port
*** Installation issues *** Installation issues
Installing vivado would stall/sleep/hang forverer due to missing Installing vivado would stall/sleep/hang forverer due to missing
@ -5281,7 +5327,8 @@ sum 0xc5f2 (incorrect -> 0xe7cf)
*** 2019-07-16: pcap for debugging udp *** 2019-07-16: pcap for debugging udp
pcap/tcp-udp-delta-2019-07-16-0856-h3.pcap pcap/tcp-udp-delta-2019-07-16-0856-h3.pcap
pcap/tcp-udp-delta-2019-07-16-0856-h1.pcap pcap/tcp-udp-delta-2019-07-16-0856-h1.pcap
*** 2019-07-16: testing with udp *** DONE 2019-07-16: testing with udp
CLOSED: [2019-07-21 Sun 14:08]
- suspicion: missing some cases in tcp6 - suspicion: missing some cases in tcp6
#+BEGIN_CENTER #+BEGIN_CENTER
@ -5302,8 +5349,10 @@ p4@ubuntu:~/master-thesis/bin$ mx h3 "echo V4-OK | socat - UDP:10.1.1.1:2342"
My code is +1 too high My code is +1 too high
*** 2019-07-17: continuing on wrap around issue *** DONE 2019-07-17: continuing on wrap around issue
*** 2019-07-17: connect new intel card: cable problem CLOSED: [2019-07-21 Sun 14:08]
*** DONE 2019-07-17: connect new intel card: cable problem
CLOSED: [2019-07-21 Sun 14:08]
#+BEGIN_CENTER #+BEGIN_CENTER
[ 37.557095] ixgbe 0000:02:00.0: failed to initialize because an unsupported SFP+ module type was detected. [ 37.557095] ixgbe 0000:02:00.0: failed to initialize because an unsupported SFP+ module type was detected.
@ -5633,7 +5682,8 @@ PCAP files to prove it works:
create mode 100644 pcap/tcp-udp-delta-2019-07-17-1558-h3.pcap create mode 100644 pcap/tcp-udp-delta-2019-07-17-1558-h3.pcap
#+END_CENTER #+END_CENTER
*** TODO 2019-07-21: fix "compilation error" on minip4 / netpfga *** DONE 2019-07-21: fix "compilation error" on minip4 / netpfga
CLOSED: [2019-07-21 Sun 12:29]
#+BEGIN_CENTER #+BEGIN_CENTER
source tcl/export_hardware.tcl source tcl/export_hardware.tcl
# set design [lindex $argv 0] # set design [lindex $argv 0]
@ -5660,7 +5710,8 @@ Vivado%
Vivado% Vivado%
#+END_CENTER #+END_CENTER
*** TODO 2019-07-21: whether or not to handle icmp(6) checksums *** TODO 2019-07-21: whether or not to handle icmp(6) checksums
*** TODO 2019-07-21: implement v6->v4 delta based *** DONE 2019-07-21: implement v6->v4 delta based
CLOSED: [2019-07-21 Sun 12:30]
#+BEGIN_CENTER #+BEGIN_CENTER
while true; do mx h3 "echo V4-OK | socat - TCP-LISTEN:2343"; sleep 2; while true; do mx h3 "echo V4-OK | socat - TCP-LISTEN:2343"; sleep 2;
done done
@ -5674,7 +5725,7 @@ TCP6:[2001:db8:1::a00:1]:2343"; sleep 2; done
Result: no reply, but translated packets seen on h3; wrong IPv4 Result: no reply, but translated packets seen on h3; wrong IPv4
checksum; tcp checksum is ok checksum; tcp checksum is ok
-> doing manual calculation to see where diff comes from -> doing manual calculation to see where diff comes from
*** DONE Shifting / compile errors *** DONE 2019-07-21: Shifting / compile errors
CLOSED: [2019-07-21 Sun 10:55] CLOSED: [2019-07-21 Sun 10:55]
v1: wrong parenthesis v1: wrong parenthesis
@ -5713,12 +5764,125 @@ p4c --target bmv2 --arch v1model --std p4-16 "../p4src/checksum_diff.p4" -o "/ho
#+END_CENTER #+END_CENTER
*** Proof of v6->v4 working delta based *** DONE 2019-07-21: Proof of v6->v4 working delta based
CLOSED: [2019-07-21 Sun 12:30]
#+BEGIN_CENTER #+BEGIN_CENTER
pcap/tcp-udp-delta-from-v6-2019-07-21-0853-h1.pcap | Bin 0 -> 4252 bytes pcap/tcp-udp-delta-from-v6-2019-07-21-0853-h1.pcap | Bin 0 -> 4252 bytes
pcap/tcp-udp-delta-from-v6-2019-07-21-0853-h3.pcap | Bin 0 -> 2544 bytes pcap/tcp-udp-delta-from-v6-2019-07-21-0853-h3.pcap | Bin 0 -> 2544 bytes
#+END_CENTER #+END_CENTER
*** TODO 2019-07-21: Porting to netfpga: found relevant EMPTY FILE CHECK / config writes
**** DONE try1: Initial log
CLOSED: [2019-07-21 Sun 14:03]
If
./projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/bitfiles/config_writes.sh
is empty -> compile will fail
This files is used by
simple_sume_switch/bitfiles/program_switch.sh:${SUME_SDNET}/tools/program_switch.sh
minip4.bit config_writes.sh
in
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$ grep config_writes.sh -r *
None of the previous compile runs has touched that file:
#+BEGIN_CENTER
nico@nsg-System:~$ cat ./projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/bitfiles/config_writes.sh
nico@nsg-System:~$ ls -alh ./projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/bitfiles
/config_writes.sh
-rw-rw-r-- 1 nico nico 13 Jun 24 15:40 ./projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/bitfiles/config_writes.sh
#+END_CENTER
Traversing back the tree again:
#+BEGIN_CENTER
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$ make config_writes
echo /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/bin/gen_config_writes.py nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt 0x44020000 testdata
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/bin/gen_config_writes.py nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt 0x44020000 testdata
#/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/bin/gen_config_writes.py nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt 0x44020000 testdata
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$
#+END_CENTER
Seems like output is really different from previous installation (?)
or previous compiles (?):
#+BEGIN_CENTER
[2260762] INFO: finished packet stimulus file
[3728508] INFO: packet 1 tuple OK < tuple_out_digest_data, tuple_out_standard_metadata > = < 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000001010000 >
[3728508] INFO: packet 1 data OK (tlast, tkeep, tdata) = (0, ffffffff, 0000000000000000000000000000000000000000081111111108082222222208)
[3731840] INFO: packet 1 data OK (tlast, tkeep, tdata) = (1, ffffffff, 0000000000000000000000000000000000000000000000000000000000000000)
[7067172] INFO: stopping simulation after 1000 idle cycles
[7067172] INFO: all expected data successfully received
[7067172] INFO: TEST PASSED
#+END_CENTER
vs before:
#+BEGIN_CENTER
projects/minip4/nf_sume_sdnet_ip/SimpleSumeSwitch/S_BRIDGERs.HDL/xpm_memory.sv
[SW] CAM_Init() - start
[SW] CAM_Init() - done
[SW] CAM_EnableDevice() - start
SV_write_control()- start
SV_write_control()- done
SV_read_control()- start
SV_read_control()- done
SV_write_control()- start
SV_write_control()- done
[SW] CAM_EnableDevice() - done
[2420698] INFO: finished packet stimulus file
[2735572] ERROR: tuple mismatch for packet 1
expected < tuple_out_digest_data, tuple_out_sume_metadata > = < 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000001010000 >
actual < tuple_out_digest_data, tuple_out_sume_metadata > = < 0000000000000000000000000000000000000000000000000000000000000000 00000000000000000000000000010000 >
$finish called at time : 2735572 ps : File "/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/nf_sume_sdnet_ip/SimpleSumeSwitch/Testbench/Check.v" Line 120
exit
INFO: [Common 17-206] Exiting xsim at Sat May 25 14:38:05 2019...
[14:38] rainbow:SimpleSumeSwitch% echo $?
0
[14:38] rainbow:SimpleSumeSwitch%
#+END_CENTER
As suspected, config_writes output is again "too less"
#+BEGIN_CENTER
+ make config_writes
/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/bin/gen_config_writes.py nf_sume_sdnet_ip/SimpleSumeSwitch/config_writes.txt 0x44020000 testdata
orig dic: OrderedDict([(0, ('00000020', '00000001')), (1, ('00000020', '00000000'))])
new dic: OrderedDict()
#+END_CENTER
**** DONE try2: finding out how/where/why the config_writes.py matters
CLOSED: [2019-07-21 Sun 14:07]
***** answer: step8 references the file, but it does not exist
#+BEGIN_CENTER
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default$ cd $NF_DESIGN_DIR/test/sim_switch_default && make 2>&1 | tee ~/master-thesis/netpfga/log/step8-$(date +%F-%H%M%S)
rm -f config_writes.py*
rm -f *.pyc
cp /home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/testdata/config_writes.py ./
cp: cannot stat '/home/nico/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/testdata/config_writes.py': No such file or directory
Makefile:36: recipe for target 'all' failed
make: *** [all] Error 1
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4/simple_sume_switch/test/sim_switch_default$
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$ ls ~/master-thesis/netpfga/log/
compile-20190713-1906-failure compile-20190713-2208-failure step4-2019-07-21-120937 step4-2019-07-21-122139 step5-2019-07-21-134905 step8-2019-07-21-140436
compile-20190713-1935-failure compile-2019-07-21-122852 step4-2019-07-21-121529 step4-2019-07-21-122730 step6-2019-07-21-135059 step8-2019-07-21-140549
nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/projects/minip4$
#+END_CENTER
**** TODO try3: find out again, what generates config_writes.py
*** TODO Further notes P4/master thesis
- Cannot easily run P4 on notebook - changes to the system very
invasive
- Varous compiler bugs/limitations
- Very very deep rabbithole problems
- Hanging/sleeping issue -- unclear whether it does something or not
** The NetPFGA saga ** The NetPFGA saga
Problems encountered: Problems encountered: