Update doc

This commit is contained in:
Nico Schottelius 2019-08-07 15:55:53 +02:00
commit e19e8cc32a
18 changed files with 317 additions and 183 deletions

View file

@ -619,7 +619,8 @@ DEBUG:main:o=<Ether dst=33:33:ff:00:00:42 src=00:00:0a:00:00:01 type=0x86dd |<I
DEBUG:main:Doing neighbor solicitation
**** DONE For other nodes -> multicast
**** TODO Maybe implement link local addresses (missing at the moment)
**** DONE Maybe implement link local addresses (missing at the moment): no
CLOSED: [2019-08-07 Wed 13:59]
***** ff02::/??
***** rfc4861
"Neighbor Solicitation messages are multicast to the solicited-node
@ -842,9 +843,12 @@ rtt min/avg/max/mdev = 6.304/6.304/6.304/0.000 ms
***** TODO Correct IPv4 header checksum
***** TODO Correct ICMP header checksum
***** TODO Fix length issue
***** DONE Correct IPv4 header checksum
CLOSED: [2019-08-07 Wed 14:00]
***** DONE Correct ICMP header checksum
CLOSED: [2019-08-07 Wed 14:00]
***** DONE Fix length issue
CLOSED: [2019-08-07 Wed 14:00]
- Seems like total_len is too short - but why?
**** DONE try5: packet is good, but routing is "strange": default route == 10.0.0.66
root@ubuntu:~# ip r
@ -902,9 +906,11 @@ PING 192.168.4.1 (192.168.4.1) 56(84) bytes of data.
rtt min/avg/max/mdev = 15.533/15.533/15.533/0.000 ms
root@line:~#
**** TODO Implement default route handling, maybe implement ARP?
**** DONE Implement default route handling, maybe implement ARP?
CLOSED: [2019-08-07 Wed 14:00]
***** DONE create arp table
***** TODO Multiple tables not supported
***** DONE Multiple tables not supported
CLOSED: [2019-08-07 Wed 14:00]
p4c --target bmv2 --arch v1model --std p4-16 "../p4src/static-mapping.p4" -o "/home/p4/master-thesis/p4src"
../p4src/static-mapping.p4(366): error: Program is not supported by this target, because table MyIngress.v6_networks has multiple successors
table v6_networks {
@ -3346,7 +3352,7 @@ https://en.wikipedia.org/wiki/IPv4_header_checksum
** TODO Benchmark/comparison
*** TODO Setup / Benchmark Jool
*** TODO Setup / Benchmark tayga
* Thesis documentation
* TODO Thesis documentation
** Introduction
*** Related work
**** RFC6052
@ -3819,7 +3825,8 @@ INFO:main:unhandled reassambled=<Ether dst=00:00:0a:00:00:42 src=00:00:0a:00:00
CLOSED: [2019-07-21 Sun 13:55]
**** DONE tcp session
CLOSED: [2019-07-21 Sun 13:55]
** TODO Hardware port
** DONE Hardware port
CLOSED: [2019-08-07 Wed 14:00]
*** Installation issues
Installing vivado would stall/sleep/hang forverer due to missing
system library, no error output.
@ -3838,7 +3845,8 @@ what.
- non fatal/fatal errors cannot be distinguished
grep: ../../../RELEASE_NOTES: No such file or directory
** TODO Comparison with existing tools (Performance, Features)
** DONE Comparison with existing tools (Performance, Features)
CLOSED: [2019-08-07 Wed 14:00]
*** Features
| What? | Description | State in P4 | References |
|---------------------+------------------------------------------+-------------------+---------------------------------------------------------------------------------|
@ -4116,7 +4124,8 @@ Fragmented ICMP/ICMPv6 packets will not be translated by IP/ICMP translators.
**** TODO Security issue: not checking checksums before
- Could be implemented
** TODO Log various
** DONE Log various
CLOSED: [2019-08-07 Wed 14:00]
*** 2019-06-06
No device seen after loading modules after reboot - netfpga.
Trying to reprogram
@ -5722,7 +5731,8 @@ ERROR: [Common 17-69] Command failed: Run 'impl_1' has not been launched. Unable
Vivado%
Vivado%
#+END_CENTER
*** TODO 2019-07-21: whether or not to handle icmp(6) checksums
*** DONE 2019-07-21: whether or not to handle icmp(6) checksums: no
CLOSED: [2019-08-07 Wed 14:00]
*** DONE 2019-07-21: implement v6->v4 delta based
CLOSED: [2019-07-21 Sun 12:30]
#+BEGIN_CENTER
@ -6119,7 +6129,8 @@ nico@nsg-System:~/master-thesis/netpfga/minip4/simple_sume_switch/test/sim_switc
CLOSED: [2019-07-24 Wed 12:21]
*** DONE 2019-07-23: merge/migrate code into switch calc until it breaks
CLOSED: [2019-07-24 Wed 12:21]
*** TODO 2019-07-23: install xilinx & co. to eth2.nico.ungleich.cloud -> 2nd compiler [MANUAL]
*** DONE 2019-07-23: install xilinx & co. to eth2.nico.ungleich.cloud -> 2nd compiler [MANUAL]
CLOSED: [2019-08-07 Wed 14:00]
**** DONE Install SDNET via xsetup
CLOSED: [2019-07-23 Tue 11:03]
**** DONE Not enough space for installing vivado (40g+ required)
@ -6408,7 +6419,8 @@ make[1]: Leaving directory '/home/nico/projects/P4-NetFPGA/contrib-projects/sume
Makefile:31: recipe for target 'frontend' failed
#+END_CENTER
*** TODO Further notes P4/master thesis
*** DONE *Further notes P4/master thesis*
CLOSED: [2019-08-07 Wed 14:01]
- Cannot easily run P4 on notebook - changes to the system very
invasive
- Varous compiler bugs/limitations
@ -6447,8 +6459,10 @@ release, use 'get_user_parameters' instead
messages that actually constitute ERROR messages, but are not
flagged as such nor do they cause the build process to abort.
*** TODO 2019-07-24: setup VM in DCL as third compiler [INSTALL MANUAL]
**** TODO install mate for getting xlibraries
*** DONE 2019-07-24: setup VM in DCL as third compiler [INSTALL MANUAL]: no
CLOSED: [2019-08-07 Wed 14:01]
**** DONE install mate for getting xlibraries
CLOSED: [2019-08-07 Wed 14:01]
**** Install sdnet
*** DONE 2019-07-24: LIMIT add features to netpfga: LPM tables cannot be 64
@ -6907,8 +6921,10 @@ nico@nsg-System:~/master-thesis/netpfga$
nico@nsg-System:~/master-thesis/netpfga$
#+END_CENTER
*** 2019-07-27
*** TODO 2019-07-27: test output ports / connection to 2nd computer / dst_addr / exact
*** DONE 2019-07-27
CLOSED: [2019-08-07 Wed 14:01]
*** DONE 2019-07-27: test output ports / connection to 2nd computer / dst_addr / exact
CLOSED: [2019-08-07 Wed 14:01]
- action: TopPipe.realmain.set_egress_port
- IPv6 address: 42540766411362381960998550477184434178
- Table: realmain_v6_networks_0
@ -6928,7 +6944,8 @@ ERROR: TopPipe.set_egress_port is not a recognized action for table realmain_v6_
ERROR: not enough fields provided to complete _hexify()
#+END_CENTER
*** TODO 2019-07-27: find out where the _hexify() error comes from
*** DONE 2019-07-27: find out where the _hexify() error comes from
CLOSED: [2019-08-07 Wed 14:01]
- no raise() in the code -> just sys.exit...
- using table_tcam_write_entry
- 6 arguments are parsed:
@ -7030,7 +7047,8 @@ nico@ESPRIMO-P956:~$
#+END_CENTER
*** TODO 2019-07-27: also write output port for ::3
*** DONE 2019-07-27: also write output port for ::3
CLOSED: [2019-08-07 Wed 14:01]
#+BEGIN_CENTER
>> table_cam_add_entry realmain_v6_networks_0 realmain.set_egress_port 42540766411362381960998550477184434179 => 1 1 0 0 0
@ -7073,8 +7091,10 @@ nico@nsg-System:~/master-thesis/netpfga/minip4/sw/CLI$
#+END_CENTER
*** DONE 2019-07-27: fix broken python code for deleting table entry: p4_px_tables.py on nsg
CLOSED: [2019-07-27 Sat 21:28]
*** TODO 2019-07-27: find out, why more parameters are required for table_cam_add_entry
*** TODO 2019-07-27: receiving any packet from the card
*** DONE 2019-07-27: find out, why more parameters are required for table_cam_add_entry
CLOSED: [2019-08-07 Wed 14:01]
*** DONE 2019-07-27: receiving any packet from the card
CLOSED: [2019-08-07 Wed 14:01]
#+BEGIN_CENTER
nico@ESPRIMO-P956:~$ sudo ip l s enp2s0f0 up
nico@ESPRIMO-P956:~$ sudo ip l s enp2s0f1 up
@ -7124,7 +7144,8 @@ PARAMS:
#+END_CENTER
*** TODO 2019-07-27: try adding table entries / running ipv6/ipv4 nat code
*** DONE 2019-07-27: try adding table entries / running ipv6/ipv4 nat code
CLOSED: [2019-08-07 Wed 14:01]
#+BEGIN_CENTER
nico@nsg-System:~/master-thesis$ ls
u'type': u'bits'}],
@ -8268,8 +8289,10 @@ listening on enp2s0f0, link-type EN10MB (Ethernet), capture size 262144 bytes
table_cam_add_entry realmain_nat64_0 realmain.nat64_static 42540766411362381960998550477352206378 => 42540766411362381960998550477184434176 167772160 42540766411362381960998550477184434176 0
#+END_CENTER
*** TODO 2019-08-02: ipv4 checksum after nat64 is empty!
*** TODO 2019-08-04: test nat64: ipv4 checksums
*** DONE 2019-08-02: ipv4 checksum after nat64 is empty!
CLOSED: [2019-08-07 Wed 14:01]
*** DONE 2019-08-04: test nat64: ipv4 checksums
CLOSED: [2019-08-07 Wed 14:01]
**** DONE Setting table entries: ok
CLOSED: [2019-08-04 Sun 08:55]
#+BEGIN_CENTER
@ -8471,11 +8494,13 @@ trace:
create mode 100644 pcap/netfpga-nat64-udp-2019-08-04-0913-enp2s0f0.pcap
create mode 100644 pcap/netfpga-nat64-udp-2019-08-04-0913-enp2s0f1.pcap
**** TODO NOTE: outgoing ipv4 checksum incorrect -> doesn't make sense
**** DONE NOTE: outgoing ipv4 checksum incorrect -> doesn't make sense
CLOSED: [2019-08-07 Wed 14:01]
As this one is generated by socat, no nat64 involed. Maybe tcp
offloading is active.
*** TODO 2019-08-04: Testing more traffic: fails. trace:
*** DONE 2019-08-04: Testing more traffic: fails. trace:
CLOSED: [2019-08-07 Wed 14:01]
#+BEGIN_CENTER
nico@ESPRIMO-P956:~/master-thesis/bin$ xxd /dev/urandom | socat - UDP:10.0.0.66:2345
nico@ESPRIMO-P956:~/master-thesis/bin$ while true; do xxd /dev/urandom | socat - UDP6-LISTEN:2345; sleep 0.2; done
@ -8515,14 +8540,16 @@ Ubuntu 16.04.5 LTS \n \l
but no passwd!
*** TODO IPv6 options (fragments) set that were not set before!
*** DONE IPv6 options (fragments) set that were not set before!
CLOSED: [2019-08-07 Wed 14:01]
Trace:
#+BEGIN_CENTER
create mode 100644 pcap/netfpga-nat64-tcp-xxd-2019-08-04-0930-enp2s0f0.pcap
create mode 100644 pcap/netfpga-nat64-tcp-xxd-2019-08-04-0930-enp2s0f1.pcap
#+END_CENTER
*** TODO retry manually: long packets break
*** DONE retry manually: long packets break
CLOSED: [2019-08-07 Wed 14:01]
#+BEGIN_CENTER
nico@ESPRIMO-P956:~/master-thesis/pcap$ ~/master-thesis/bin/sniff-intf.sh enp2s0f0 netfpga-nat64-udp-manually
nico@ESPRIMO-P956:~/master-thesis/bin$ socat - UDP6-LISTEN:2345
@ -8695,7 +8722,8 @@ Cannot get device udp-fragmentation-offload settings: Operation not supported
root@ESPRIMO-P956:~#
#+END_CENTER
*** TODO 2019-08-04: post tuning test
*** DONE 2019-08-04: post tuning test
CLOSED: [2019-08-07 Wed 14:02]
v4 side:
@ -9196,7 +9224,7 @@ nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/project
#+END_CENTER
** References / Follow up
** TODO References / Follow up
*** TODO Board
*** RFC 791 IPv4 https://tools.ietf.org/html/rfc791
*** RFC 792 ICMP https://tools.ietf.org/html/rfc792
@ -9239,6 +9267,30 @@ nico@nsg-System:~/projects/P4-NetFPGA/contrib-projects/sume-sdnet-switch/project
*** V1 model: https://github.com/p4lang/p4c/blob/master/p4include/v1model.p4
*** Cisco NAT64 https://www.cisco.com/c/en/us/td/docs/ios-xml/ios/ipaddr_nat/configuration/xe-3s/nat-xe-3s-book/iadnat-stateful-nat64.pdf
*** Wiki_mac: https://en.wikipedia.org/wiki/MAC_address
** TODO Writing Thesis
*** TODO Introduction: 1-2 pages
*** TODO Fill out background sectio
*** TODO Read through/add all points from plan.org
*** TODO Update doc from input Tobias (2019-08-05)
*** TODO Add graphs from benchmark
*** TODO Ensure bibiography is containing everything
*** TODO Add the final declaration of conformity
*** TODO Don't order by time, but show a procss
*** TODO Send for review to Tobias/Thilo
*** TODO Add plots!
*** TODO Create graph of with and without router
*** TODO Add comparison with other solutions (Results?)
*** TODO Show / create graph of a bigger network
*** Rough time table / effort
| | | Status |
| Abstract | 1 day | |
| Introduction | 1 day | |
| Background | 1 day | |
| Design | 1-2 days | |
| Results | 2-3 days | |
| Conclusion | 1 day | |
| Proof reading | 2-3 days | |
| SUM(max) | 12d | |
* DONE Initial administration
** DONE Clarify PDF / form with Denise Spicher: free form description
** DONE Create task description to be handed in mystudies