\chapter{\label{results}Results}
%** Results.tex: What were the results achieved including an evaluation
%

\section{\label{results:general}General}
Parser for all protocols (udp,tcp,icmp,icmp6)

BMV2: more feature rich, but software only solution
NetFPGA: capabale of line speed Nat64, focused port on nat64

Both support EAMT as defined by RFC7757 \cite{rfc7757}.

\section{\label{Results:BMV2}BMV2}

Responds to icmp, icmp6
ndp \cite{rfc4861}
arp

test framework openvswitch

Fully functional host
Can compute checksums on its own.

focus on typical use cases of icmp, icmp6, the software implementation
supports translating echo request and echo reply messages, but does
not support all ICMP/ICMP6 translations that are defined in
RFC6145\cite{rfc6145}.

Stateful : no automatic removal


\section{\label{results:tayga}Tayga}

3gbit

\section{\label{results:jool}Jool}


% ----------------------------------------------------------------------
\section{\label{Results:NetPFGA}NetFPGA}
\subsection{\label{results:netpfga:checksum}Checksum computation}
\subsection{\label{results:netpfga:general}to be named}


Trace files
\begin{verbatim}
 create mode 100644 pcap/tcp-udp-delta-2019-07-17-1555-h1.pcap
 create mode 100644 pcap/tcp-udp-delta-2019-07-17-1555-h3.pcap
 create mode 100644 pcap/tcp-udp-delta-2019-07-17-1557-h1.pcap
 create mode 100644 pcap/tcp-udp-delta-2019-07-17-1558-h3.pcap


\end{verbatim}

\begin{verbatim}
*** DONE 2019-07-21: Proof of v6->v4 working delta based
    CLOSED: [2019-07-21 Sun 12:30]
#+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-h3.pcap | Bin 0 -> 2544 bytes
#+END_CENTER

\end{verbatim}

\begin{verbatim}
**** DONE Testing v4->v6 tcp: ok (version 10.0)
     CLOSED: [2019-08-04 Sun 09:15]
#+BEGIN_CENTER
nico@ESPRIMO-P956:~/master-thesis/bin$ ./socat-connect-tcp-v4
+ echo from-v4-ok
+ socat - TCP:10.0.0.66:2345
TCPv6-ok
nico@ESPRIMO-P956:~/master-thesis/bin$ ./socat-listen-tcp-v6
from-v4-ok

#+END_CENTER

trace:
netfpga-nat64-2019-08-04-0907-enp2s0f0.pcap
netfpga-nat64-2019-08-04-0907-enp2s0f1.pcap

**** DONE Testing v4->v6 udp: ok (version 10.1)
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

\end{verbatim}

\begin{verbatim}
*** DONE 2019-08-04: version 10.1/10.2: new maxpacketregion: v4->v6 works
    CLOSED: [2019-08-04 Sun 19:42]
#+BEGIN_CENTER
nico@ESPRIMO-P956:~/master-thesis/bin$ ./init_ipv4_esprimo.sh
nico@ESPRIMO-P956:~/master-thesis/bin$ ./set_ipv4_neighbor.sh

#+END_CENTER

Test 20 first:

- Does't work -> missed to add table entries
- Does work after setting table entries
- 300 works
- 1450 works
- 1500 does not work

Proof:

 create mode 100644 pcap/netfpga-10.2-maxpacket-2019-08-04-1931-enp2s0f0.pcap
 create mode 100644 pcap/netfpga-10.2-maxpacket-2019-08-04-1931-enp2s0f1.pcap

\end{verbatim}

\begin{verbatim}
*** DONE 2019-08-04: test v6 -> v4: works for 1420
    CLOSED: [2019-08-04 Sun 20:30]

Proof:
#+BEGIN_CENTER
 create mode 100644 pcap/netfpga-10.2-fromv6tov4-2019-08-04-1943-enp2s0f0.pcap
 create mode 100644 pcap/netfpga-10.2-fromv6tov4-2019-08-04-1943-enp2s0f1.pcap


\end{verbatim}

General result: limited NAT64 is working, however

  No Payload
  checksumming - requires controller

  Hash funktion in Arbeit

  No NDP, no ARP - focused on key factors of NAT64 translation,
  other features can be supported by controller

\section{\label{results:softwarenat64}NAT64 in Software}
Tayga, Jool

tayga: Single threaded
fork:

\begin{verbatim}
| What?               | Description                              | State in P4       | References                                                                      |
|---------------------+------------------------------------------+-------------------+---------------------------------------------------------------------------------|

| Jool EAMT           | Mapping with tables, multiple entries    | Supported         | https://www.jool.mx/en/eamt.html, https://www.jool.mx/en/run-eam.html, RFC 7757 |
| Jool SIIT           | Mapping IPv6 to range of IPv4, one entry | Supported by EAMT |                                                                                 |

\end{verbatim}


\section{\label{results:features}Feature comparison}

speed - sessions - eamt
can act as host
lpm tables
ping
ping6 support
ndp
controller support

\section{todo - FIXME: remove}

\begin{verbatim}
***** Dorth eher detailiertes Drawing
***** Längste Section!

\end{verbatim}
