diff --git a/doc/Abstract.tex b/doc/Abstract.tex index 8c01506..a33ba90 100644 --- a/doc/Abstract.tex +++ b/doc/Abstract.tex @@ -3,18 +3,39 @@ \vfil % or it might be \null \thispagestyle{plain} -%** Abstract.tex: Contains a brief description -% of what the reader may expect \begin{center}\textbf{Abstract}\end{center} Due to the lack of IPv4 addresses, IPv6 deployements have recently -gained in importance in the Internet. However even IPv6 only network -deployments usually need connectivity towards the legacy IP (IPv4) -networks. To allow legacy IP and IPv6 devices to communicate with each -other a transition mechanism named ``NAT64'' is usually -deployed. However NAT64 solutions in software often don't reach line -rate. Programmable switches offer a possibility to implement NAT64 in -the network. This master thesis shows the design, feasibility and -scalability of NAT64 on programmable switches. +gained in importance in the Internet. +Several transition mechanism exist that allow translating IPv6 +packets into IPv4 packets, thus enabling the coexistence +and interoperability of both protocols. + +This thesis describes an implementation of the transition mechanism +NAT64 implemented in P4. Using the P4 programming language +a software emulated switch was created that translates IPv4 to IPv6 and vice versa. +Due to the target independence of P4 the same code can be compiled +for and deployed to on the FPGA hardware platform ``NetFPGA''. + +Within the NetFPGA the NAT64 implementation achieves a stable throughput of +9.29 Gigabit/s and allows in network translations without a router. + +%% P4. P4 is protocol and target independent and allo +%% P4 is a protocol independent programming language that allows programming network +%% However even IPv6 only network +%% deployments usually need connectivity towards the legacy IP (IPv4) +%% networks. To allow legacy IP and IPv6 devices to communicate with each +%% other a transition mechanism named ``NAT64'' is usually +%% deployed. However NAT64 solutions in software often don't reach line +%% rate. Programmable switches offer a possibility to implement NAT64 in +%% the network. This master thesis shows the design, feasibility and +%% scalability of NAT64 on programmable switches. \vfil \clearpage + +\begin{verbatim} + +***** Mehr was ich gemacht habe +***** 2-3 keys & numbers hinzufügen, 30% netpfga, 10gbit/s line rate +***** weniger das warum +\end{verbatim} diff --git a/doc/Background.tex b/doc/Background.tex new file mode 100644 index 0000000..6e18b17 --- /dev/null +++ b/doc/Background.tex @@ -0,0 +1,15 @@ +\chapter{\label{background}Background} +\section{\label{background:P4}P4} +\section{\label{background:ipv6}IPv6} + +***** Für IPv6, NAT64, transitation mechanism +***** RFC hinzufügen +***** P4 kurz erwähnen + +growth + +\section{\label{background:transition}Transition Mechanisms} +proxying +translations + +\section{\label{background:ipv6}IPv6} diff --git a/doc/Conclusion.tex b/doc/Conclusion.tex new file mode 100644 index 0000000..34efeb0 --- /dev/null +++ b/doc/Conclusion.tex @@ -0,0 +1,41 @@ +\chapter{\label{summary}Conclusion} +%** Summary.tex: What have you achieved, what have you presented in this +% document. What are the highlights of your work. +% It should conclude by a conclusion. + +Sum up what you have done and recapitulate your key findings. + +%\section{\label{conclusion:overall}Overall} + +\section{\label{conclusion:bmv2}BMV2} +maybe remove + +\section{\label{conclusion:P4}P4} +Many possibilities +Protocol independent +Easy architecture + +Limitations in + +\section{\label{conclusion:netpfga}NetFGPA} +personal note here + +\section{\label{conclusion:realworld}Real world applications} +Can be deployed using the netpfga. Or Barefoot or Arista. + +\section{\label{conclusion:outlook}Outlook} + +%** Outlook.tex: What needs to be done further, what is planed +% +What are the consequences of your work for future work? + +Different HW + +Speed only limited to line speed. Could be running at 100 Gbit/s +without modifications. + +\section{todo} +\begin{verbatim} +***** Summary eher kurz +***** Outlook als subsection! +\end{verbatim} diff --git a/doc/Design.tex b/doc/Design.tex index 117d544..f73be7c 100644 --- a/doc/Design.tex +++ b/doc/Design.tex @@ -19,3 +19,12 @@ Netpfga live, Vivado SDNET xx k lines of supporting code + +\section{todo} + +\begin{verbatim} +***** Verschiedene design Möglichkeiten +***** Proxy und co. +***** Generell vs. spefizisch + +\end{verbatim} diff --git a/doc/Introduction.tex b/doc/Introduction.tex index 0ec98b2..10e3467 100644 --- a/doc/Introduction.tex +++ b/doc/Introduction.tex @@ -39,8 +39,38 @@ Not only faster, but also more convienient. Describe your task. -\section{\label{introduction:relatedwork}Related Work} -A relevant work was~\cite{Lamport:LaTeX} (this citation is just an example...) - \section{\label{introduction:overview}Overview} Chapter 2 describes... Chapter 3 presents... + + +%** Problem.tex: Documentation in own words of the problem to +% be addressed in this document: +% What is the challenge, why is it useful what you +% plan to do. + + +%% In \ref{introduction} we start with our introduction to the problem that we +%% are going to address. Since we do not want to waste the readers time we +%% go and show the essential issues of latex in section +%% \ref{chapter2:essentials}. + +\section{\label{chapter2:linespeed}Line Speed NAT64} +NAT64 in software is CPU bound. Hardware can potentially do this at +line speed. + +\section{\label{chapter2:transitition}Simplify IPv6 deployments} +Currently network operators have to focus on two network stacks when +designing networks: IPv6 and IPv4. As To simplify network setups + + +\section{todo} +\begin{verbatim} + +***** Motivation zeigen +***** IPv6, NetPFGA mehr Möglichketien +***** P4 erwähnen +***** Task gut zu zeigen, alles erreicht + use cases / sample applications + + +\end{verbatim} diff --git a/doc/Makefile b/doc/Makefile index f5deefd..5c2b305 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -3,7 +3,7 @@ FILE = Thesis all: pdflatex $(FILE) - bibtex $(FILE) +# bibtex $(FILE) pdflatex $(FILE) pdflatex $(FILE) diff --git a/doc/Originalproblem.tex b/doc/Originalproblem.tex deleted file mode 100644 index c46b080..0000000 --- a/doc/Originalproblem.tex +++ /dev/null @@ -1,6 +0,0 @@ -\chapter{\label{originalproblem}Original Problem} - -Here comes the original task description that you agreed on with your -supervisor/tutor. - --> stuff from mystudies diff --git a/doc/Outlook.tex b/doc/Outlook.tex deleted file mode 100644 index e0a17cd..0000000 --- a/doc/Outlook.tex +++ /dev/null @@ -1,7 +0,0 @@ -\chapter{\label{outlook}Outlook} - -%** Outlook.tex: What needs to be done further, what is planed -% -What are the consequences of your work for future work? - -Different HW diff --git a/doc/Problem.tex b/doc/Problem.tex index 93588c1..e69de29 100644 --- a/doc/Problem.tex +++ b/doc/Problem.tex @@ -1,99 +0,0 @@ -\chapter{\label{chapter2}Problem} - -%** Problem.tex: Documentation in own words of the problem to -% be addressed in this document: -% What is the challenge, why is it useful what you -% plan to do. - - -%% In \ref{introduction} we start with our introduction to the problem that we -%% are going to address. Since we do not want to waste the readers time we -%% go and show the essential issues of latex in section -%% \ref{chapter2:essentials}. - -\section{\label{chapter2:linespeed}Line Speed NAT64} -NAT64 in software is CPU bound. Hardware can potentially do this at -line speed. - -\section{\label{chapter2:transitition}Simplify IPv6 deployments} -Currently network operators have to focus on two network stacks when -designing networks: IPv6 and IPv4. As To simplify network setups - -%% Well this section can be further subdivided into subsection. We present -%% this in subsection \ref{chapter2:essentials:subsections}. - -%% \subsection{\label{chapter2:essentials:subsections}Subsections} - -%% \paragraph{\label{introduction:essentials:subsections:paragraph}Paragraphs} -%% can be specially referenced as well. - -%% Of further importance is the understanding of the following environments: - -%% %*** itemized lists -%% \begin{itemize} -%% \item This shows an itemized bullet list -%% \begin{itemize} -%% \item Which can be used for several levels\ldots -%% \end{itemize} -%% \end{itemize} - -%% %*** enumerated lists -%% \begin{enumerate} -%% \item The same applies to enumerated lists. -%% \end{enumerate} - - -%% %** figures -%% \begin{figure}[!hbt] -%% \begin{center} -%% % \includegraphics[width=\textwidth, angle=90]{file_name.eps} -%% \caption{This is a figure to be printed in a float} -%% \label{file_name} -%% \end{center} -%% \end{figure} - -%% By figure \ref{file_name}, we show some funny figures. - - -%% Table with caption and footnotes below the table. - -%% \begin{table}[htbp] -%% \begin{center}\begin{minipage}{\textwidth} -%% \begin{tabular}{| c | p{130pt} | l |} -%% \hline -%% Column 1 & Column 2 \newline (additional line) & Column 3 \\ -%% \hline -%% C1,R2 & C2,R2 & C2,R3 \\ -%% \hline -%% C1,R3 & \multicolumn{2}{| c |}{C2\&C3,R3} \\ -%% \hline -%% C1,R4 & C2,R4\footnote{Footnote to table~\ref{tab:table1}} & C3,R4\\ -%% \hline -%% \end{tabular} -%% \end{minipage} -%% \caption{Table 1} -%% \label{tab:table1} -%% \end{center} -%% \end{table} - -%% Examples of different text sizes: - -%% \small Small \\ -%% \scriptsize Script size \\ -%% \normalsize Normal \\ -%% \large Large \\ -%% \huge Huge \\ -%% \normalsize - -%% \CHECK -%% If we reference to another document, we cite the document \cite{Lamport:LaTeX}. - -%% %** landscape -%% \NEW -%% \begin{landscape} -%% Of some interest is also the landscape environment: -%% \end{landscape} - -%% \verbatiminput{filename.txt} -%% Even though we don't think full listings are useful in documents, -%% you can easily insert complete files by the verbatiminput{}-command. diff --git a/doc/Results.tex b/doc/Results.tex index c45d34b..194c39e 100644 --- a/doc/Results.tex +++ b/doc/Results.tex @@ -20,7 +20,11 @@ test framework openvswitch \section{\label{Results:NetPFGA}NetFPGA} General result: limited NAT64 is working, however -\subsection{\label{Results:NetPFGA:challenge-checksum}No Payload checksumming} +\subsection{\label{Results:NetPFGA:challenge-checksum}No Payload + checksumming} + +Hash funktion in Arbeit + \subsection{\label{Results:NetPFGA:challenges}Other Challenges} Many workarounds @@ -45,3 +49,11 @@ Reproducibility: \section{\label{Results:P4}P4} Limits if in actions + +\section{todo} + +\begin{verbatim} +***** Dorth eher detailiertes Drawing +***** Längste Section! + +\end{verbatim} diff --git a/doc/Summary.tex b/doc/Summary.tex deleted file mode 100644 index 6e15234..0000000 --- a/doc/Summary.tex +++ /dev/null @@ -1,10 +0,0 @@ -\chapter{\label{summary}Summary} -%** Summary.tex: What have you achieved, what have you presented in this -% document. What are the highlights of your work. -% It should conclude by a conclusion. - -Sum up what you have done and recapitulate your key findings. - -\section{\label{summary:overall}Overall} -\section{\label{summary:bmv2}BMV2} -\section{\label{summary:netpfga}NetFGPA} diff --git a/doc/Thesis.tex b/doc/Thesis.tex index b28bca9..901cf6f 100644 --- a/doc/Thesis.tex +++ b/doc/Thesis.tex @@ -33,15 +33,14 @@ \include{Abstract} \tableofcontents -\listoffigures +%\listoffigures \listoftables \include{Introduction} -\include{Problem} +\include{Background} \include{Design} \include{Results} -\include{Outlook} -\include{Summary} +\include{Conclusion} \appendix \renewcommand{\thepart}{\Alph{part}} @@ -50,8 +49,6 @@ % simulation data, additional theoretical disquisitions, ... % \include{appendix} -\include{Timetable} -\include{Originalproblem} %** bibtex is used to automatically generate the bibliography % references are stored in refs/refs.bib diff --git a/doc/Timetable.tex b/doc/Timetable.tex deleted file mode 100644 index 2acb15b..0000000 --- a/doc/Timetable.tex +++ /dev/null @@ -1,3 +0,0 @@ -\chapter{\label{timetable}Timetable} -Here may come your thesis schedule (the original plan and ev. the actual outcome). --> can be from plan.org diff --git a/doc/Title.tex b/doc/Title.tex index ca40dc3..c24b763 100644 --- a/doc/Title.tex +++ b/doc/Title.tex @@ -16,11 +16,11 @@ \vspace{\fill} - Master Thesis MA-2019S\\ + Master Thesis MA-2019-19\\ February 2019 to August 2019\\ \vspace{1cm} - Tutors: Alexander Dietmüller, Edgar Costa Molero\\ + Tutors: Alexander Dietmüller, Edgar Costa Molero, Tobias Bühler\\ Supervisor: Prof. Dr. Laurent Vanbever\\ \end{titlepage} diff --git a/doc/appendix.tex b/doc/appendix.tex index e852287..25588d2 100644 --- a/doc/appendix.tex +++ b/doc/appendix.tex @@ -54,6 +54,15 @@ Sample code for installation: sed -i 's/\(P4_PROJECT_NAME=\).*/\1minip4/' ~/projects/P4-NetFPGA/tools/settings.sh \end{verbatim} +Version \textbf{v1.3.1-46-g97d3aaa} of the P4-NetPFGA repository was +used for creating the bitfiles of this project. + + +\begin{verbatim} +nico@nsg-System:~/projects/P4-NetFPGA$ git describe --always +v1.3.1-46-g97d3aaa +\end{verbatim} + % ---------------------------------------------------------------------- \chapter{\label{appendix0}BMV2 environment and tests} All BMV2 based compilations were made with the following compiler: diff --git a/doc/conclusion.tex b/doc/conclusion.tex deleted file mode 100644 index 5bb7a73..0000000 --- a/doc/conclusion.tex +++ /dev/null @@ -1,5 +0,0 @@ -\chapter{\label{conclusionoutlook}Conclusion and Outlook} - -\section{\label{conclusionoutlook:conclusion}Conclusion} - -\section{\label{conclusionoutlook:outlook}Outlook} diff --git a/doc/plan.org b/doc/plan.org index aeb47ea..8dc4636 100644 --- a/doc/plan.org +++ b/doc/plan.org @@ -619,7 +619,8 @@ DEBUG:main:o= 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=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 diff --git a/doc/samples.tex b/doc/samples.tex new file mode 100644 index 0000000..94637ed --- /dev/null +++ b/doc/samples.tex @@ -0,0 +1,78 @@ +%% Well this section can be further subdivided into subsection. We present +%% this in subsection \ref{chapter2:essentials:subsections}. + +%% \subsection{\label{chapter2:essentials:subsections}Subsections} + +%% \paragraph{\label{introduction:essentials:subsections:paragraph}Paragraphs} +%% can be specially referenced as well. + +%% Of further importance is the understanding of the following environments: + +%% %*** itemized lists +%% \begin{itemize} +%% \item This shows an itemized bullet list +%% \begin{itemize} +%% \item Which can be used for several levels\ldots +%% \end{itemize} +%% \end{itemize} + +%% %*** enumerated lists +%% \begin{enumerate} +%% \item The same applies to enumerated lists. +%% \end{enumerate} + + +%% %** figures +%% \begin{figure}[!hbt] +%% \begin{center} +%% % \includegraphics[width=\textwidth, angle=90]{file_name.eps} +%% \caption{This is a figure to be printed in a float} +%% \label{file_name} +%% \end{center} +%% \end{figure} + +%% By figure \ref{file_name}, we show some funny figures. + + +%% Table with caption and footnotes below the table. + +%% \begin{table}[htbp] +%% \begin{center}\begin{minipage}{\textwidth} +%% \begin{tabular}{| c | p{130pt} | l |} +%% \hline +%% Column 1 & Column 2 \newline (additional line) & Column 3 \\ +%% \hline +%% C1,R2 & C2,R2 & C2,R3 \\ +%% \hline +%% C1,R3 & \multicolumn{2}{| c |}{C2\&C3,R3} \\ +%% \hline +%% C1,R4 & C2,R4\footnote{Footnote to table~\ref{tab:table1}} & C3,R4\\ +%% \hline +%% \end{tabular} +%% \end{minipage} +%% \caption{Table 1} +%% \label{tab:table1} +%% \end{center} +%% \end{table} + +%% Examples of different text sizes: + +%% \small Small \\ +%% \scriptsize Script size \\ +%% \normalsize Normal \\ +%% \large Large \\ +%% \huge Huge \\ +%% \normalsize + +%% \CHECK +%% If we reference to another document, we cite the document \cite{Lamport:LaTeX}. + +%% %** landscape +%% \NEW +%% \begin{landscape} +%% Of some interest is also the landscape environment: +%% \end{landscape} + +%% \verbatiminput{filename.txt} +%% Even though we don't think full listings are useful in documents, +%% you can easily insert complete files by the verbatiminput{}-command.