|
|
|
@ -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. |
|
|
|
|