diff --git a/doc/Design.tex b/doc/Design.tex index 79e5239..117d544 100644 --- a/doc/Design.tex +++ b/doc/Design.tex @@ -6,8 +6,13 @@ Description of the theory/software/hardware that you designed. Maybe figures here? controller, \section{\label{Design:General}General} +There are a variety of possible network layouts for realising +NAT64. In this thesis two different layouts where taken into account: +routed translation and transparent in network translation. + \section{\label{Design:BMV2}BMV2} + \section{\label{Design:NetPFGA}NetFPGA} Netpfga live, diff --git a/doc/appendix.tex b/doc/appendix.tex index 8b7b6b3..c9a18ba 100644 --- a/doc/appendix.tex +++ b/doc/appendix.tex @@ -1,6 +1,13 @@ \chapter{\label{appendixminus1}Resources and code repositories} The following sections describe how to acquire the resources -to reproduce the test results. +to reproduce the test results. All compilations were made on Ubuntu +16.04 with kernels + +\begin{itemize} +\item 4.15.0-54-generic (Supporting Desktop), +\item 4.4.0-143-generic (BMV2 test VM) +\item 4.15.0-55-generic (Desktop with NetFPGA +\end{itemize} \section{\label{chapterminus1:thesis}Master Thesis} The master thesis including all self developed source code is @@ -24,7 +31,7 @@ Both tools need to be installed to /opt/Xilinx/, as paths are hardcoded in various places. % ---------------------------------------------------------------------- -\section{\label{chapterminus1:thesis}NetFGPA} +\section{\label{chapterminus1:thesis}NetFGPA support scripts} To be able to compile P4 source code to the NetFPGA the collection of scripts, Makefiles and sample code of P4-NetFGPA is required. @@ -35,7 +42,7 @@ compile the source code. Access to the repository is granted after applying for access as described on \url{https://github.com/NetFPGA/P4-NetFPGA-public/wiki}. After that the variable \verb=P4_PROJECT_NAME= in -\url{~/projects/P4-NetFPGA/tools/settings.sh} needs to be modified to +\texttt{~/projects/P4-NetFPGA/tools/settings.sh} needs to be modified to read \verb|export P4_PROJECT_NAME=minip4| instead of \verb|export P4_PROJECT_NAME=switch_calc|. @@ -49,11 +56,40 @@ Sample code for installation: % ---------------------------------------------------------------------- \chapter{\label{appendix0}BMV2 environment and tests} -\section{\label{chapter0:bmv2-diff}Diff based checksumming} +All BMV2 based compilations were made with the following compiler: \begin{verbatim} +p4@ubuntu:~$ p4c --version +p4c 0.5 (SHA: 5ae30ee) \end{verbatim} +The installation is based on the vagrant files that were provided in +the +``Advanced Topics in +Communication Networks Fall 2018'' course of +ETHZ (\url{https://adv-net.ethz.ch/2018/}) and contains p4tools as +well as all utilities that came with the vagrant installation. + +\section{\label{chapter0:bmv2-diff}Diff based checksumming} +For running the diff based checksum code, the following steps are +necessary: + +Compiling the p4 code and starting the switch: + +\begin{verbatim} +cd ~/master-thesis/p4app +sudo p4run --config nat64-diff.json +\end{verbatim} + +Starting the controller which sets up the required table entries: + +\begin{verbatim} +cd ~/master-thesis/p4app +sudo python ./controller.py --mode range_router +\end{verbatim} + + +% ---------------------------------------------------------------------- \chapter{\label{appendixA}NetFPGA environment and tests} \section{\label{chapterA:netpfga-setup}NetFPGA Setup} Description of installation, commit of netpfga-live diff --git a/doc/plan.org b/doc/plan.org index e0ab291..18cfe35 100644 --- a/doc/plan.org +++ b/doc/plan.org @@ -8810,8 +8810,36 @@ frame 6: v4 546 bytes, v6 566 bytes: 20 byte difference, udp checksum broken *** TODO 2019-08-04: compare netfpga behaviour with bmv2 +**** DONE cat of /etc/passwd works + CLOSED: [2019-08-04 Sun 12:00] +**** DONE BMV2: 503 character test: works! + CLOSED: [2019-08-04 Sun 12:19] +#+BEGIN_CENTER +mx h3 "printf %0500d\\\\n 42 + +mx h3 "printf %0500d\\\\n 42 | socat - UDP-LISTEN:2342" +mx h1 "printf %0500d\\\\n 42 | socat - UDP6:[2001:db8:1::a00:1]:2342 +#+END_CENTER + +trace: + + create mode 100644 pcap/bmv2-500char-2019-08-04-1006-h1.pcap + create mode 100644 pcap/bmv2-500char-2019-08-04-1006-h3.pcap +**** DONE NetPFGA: 503 character test: fails: wrong checksum + CLOSED: [2019-08-04 Sun 12:45] + +#+BEGIN_CENTER +printf %0500d\\\\n 42 + +printf %0500d\\n 42 | socat - UDP6-LISTEN:2345 +printf %0500d\\n 42 | socat - UDP:10.0.0.66:2345 + + +#+END_CENTER +**** TODO Netpfga: analysing wireguard + - Content changes + -*** ** The NetPFGA saga Problems encountered: - The logfile for a compile run is 10k+ lines diff --git a/netpfga/log/netpfga-9.2-different-payload.png b/netpfga/netpfga-9.2-different-payload.png similarity index 100% rename from netpfga/log/netpfga-9.2-different-payload.png rename to netpfga/netpfga-9.2-different-payload.png