diff --git a/doc/Background.tex b/doc/Background.tex index a0cabfe..72af543 100644 --- a/doc/Background.tex +++ b/doc/Background.tex @@ -488,3 +488,29 @@ eventually will need to support IPv6 and secondly IPv6 hosts can address the whole 32 bit IPv4 Internet mapped in a single /96 IPv6 network. IPv6 only networks also allow the operators to focus on one IP stack. +% ---------------------------------------------------------------------- +\section{\label{background:netfpga}NetFPGA} +\begin{figure}[h] + \includegraphics[scale=0.4]{sumeboard} + \centering + \caption{NetFPGA Board, \cite{zilberman:_netfp_sume}} + \label{fig:netfpga} +\end{figure} +The NetFPGA~\cite{zilberman:_netfp_sume} +is an FPGA card featuring four 10 Gbit/s SFP+ ports. It +includes the Xilinx Virtex-7 690T FPGA on board, 27 MB of storage, +allowing to save table data, and 8 GB of DDR3 RAM. The NetFPGA can be +run inside a host (connected by PCI-E, gen 3) or as a standalone +card. + +It can be used as a ``traditional'' FPGA, with the focus on designing +the logic. However, the NetFPGA also supports the P4 programming +language~\cite{netfpga:_p4_netpf_public_github} and thus abstracts +away the low level logic by providing a higher level interface. +For the purpose of this thesis we treat the NetFPGA as a standard P4 +target, similar to other available P4 +targets~\cite{networks:_tofin}, +~\cite{networks:_tofin1}, +~\cite{networks:_arist_series}. In particular, we treat the NetFPGA as a +P4 capable, four port 10 Gbit/s network switch that allows us to +process packets at line speed. diff --git a/doc/Thesis.pdf b/doc/Thesis.pdf index 60dbdc9..bfec764 100644 Binary files a/doc/Thesis.pdf and b/doc/Thesis.pdf differ diff --git a/doc/images/sumeboard.png b/doc/images/sumeboard.png new file mode 100644 index 0000000..1c68e19 Binary files /dev/null and b/doc/images/sumeboard.png differ diff --git a/doc/refs/refs.bib b/doc/refs/refs.bib index 17fdea2..f9dbc24 100644 --- a/doc/refs/refs.bib +++ b/doc/refs/refs.bib @@ -61,9 +61,20 @@ @Misc{networks:_tofin, author = {Barefoot Networks}, - title = {Tofino2}, + title = {Barefoot Tofino2}, howpublished = {\url{https://barefootnetworks.com/products/brief-tofino-2/}}} +@Misc{networks:_tofin1, + author = {Barefoot Networks}, + title = {Barefoot Tofino}, + howpublished = {\url{https://www.barefootnetworks.com/products/brief-tofino/}}} + +@Misc{networks:_arist_series, + author = {Arista Networks}, + title = {Arista 7170 Series}, + howpublished = {\url{https://www.arista.com/en/products/7170-series}}, + note = {Requested on 2019-08-21}} + @Misc{lutchansky:_tayga_simpl_nat64_linux, author = {Nathan Lutchansky}, title = {TAYGA - Simple, no-fuss NAT64 for Linux}, @@ -181,3 +192,8 @@ title = {Should I use Python 2 or Python 3 for my development activity?}, howpublished = {\url{https://wiki.python.org/moin/Python2orPython3}}, note = {Requested on 2019-08-19}} + +@Misc{zilberman:_netfp_sume, + author = {Noa Zilberman and Yury Audzevich and G. Adam Covington and Andrew W. Moore}, + title = {NetFPGA SUME: Toward 100 Gbps as Research Commodity}, + howpublished = {IEEE Micro, vol.34, no.5, pp.32-41, Sept.-Oct. 2014, doi: 10.1109/MM.2014.61}}