\section{Forwarding performance}
\label{chap:fwd-performance}


This tests aim at verifying the forwarding performance of the switch in terms of latency
and frame loss.

\paragraph{Switch Configuration}

Default configuration.

\paragraph{Tester Configuration}

The configuration shall be changed to cover all the possible combinations:
\begin{table}[ht!]
\begin{tabular}{ l  l l l}
FRAME  & increment size [bytes]   & 64-1522 with step of 1  \\
       & loads [\%]               & 10, 30, 50, 70, 80, 85, 90, 92,95,97,99,100  \\
       & number                   & 10\^9    \\
\end{tabular}
\end{table}
Additionlly, the following configurations shall be tested:
\begin{table}[ht!]
\begin{tabular}{ l  l l }
FRAME  & increment size [bytes]   & 64,65, 700,701, 1521, 1522\\
       & loads [\%]               & 50, 80, 95,100  \\
       & time of burst            & 5 min    \\
\end{tabular}
\end{table}

Before the tests, learning process shall be perform to learn MAC addresses of the tester's ports.
The learning process is not part of the test.

\subsection{4 ports}

The purpose of the test is to check forwarding performance of the switch forwarding
traffic point to point (only 4 ports busy) - light stress tests.

\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Unicast}

\paragraph{Description} 

Unicast forwarding.

\paragraph{Switch Configuration} 

\begin{table}[ht!]
\begin{tabular}{ l  l l l}
VLAN  & port 0:      & VID=0, & QMODE=unqualified\\
      & port 1:      & VID=0, & QMODE=unqualified\\
      & port 16:     & VID=0, & QMODE=unqualified\\
      & port 17:     & VID=0, & QMODE=unqualified\\
      & other ports: & VID=0, & QMODE=trunk (to avoid loops)\\
\end{tabular}
\end{table}

\paragraph{Tester Configuration} 

\begin{table}[ht!]
\begin{tabular}{ l  l l }
FRAME   & 802.1D:     & no VLAN tag, dstMAC=unicast  \\
        &             &                  \\ 
TRAFFIC & send to:    & port 0, 1,16,17  \\
        & receive on: & port 0, 1,16,17  \\
\end{tabular}
\end{table}

\paragraph{Test passed if}

\begin{itemize*}
\item All frames sent to port 0 are received only on port 17
\item All frames sent to port 17 are received only on port 0
\item All frames sent to port 1 are received only on port 16
\item All frames sent to port 16 are received only on port 1
\end{itemize*}

The latency for each configuration-step shall be noted and reported. 

\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{VLAN, broadcast}

\paragraph{Description} 

Unicast forwarding.

\paragraph{Switch Configuration} 

\begin{table}[ht!]
\begin{tabular}{ l  l l l}
VLAN  & port 0:      & VID=\{0, 1\}, & QMODE=trunk\\
      & port 1:      & VID=\{0, 1\}, & QMODE=trunk\\
      & port 16:     & VID=\{0, 2\}, & QMODE=trunk\\
      & port 17:     & VID=\{0, 2\}, & QMODE=trunk\\
      & other ports: & VID=0,        & QMODE=trunk\\
\end{tabular}
\end{table}

\paragraph{Tester Configuration} 

\begin{table}[ht!]
\begin{tabular}{ l  l l }
FRAME   & 802.1Q:     & port 0  \& 1 : VID=1, PRIO=0,VID-untagged=1, dstMAC=broadcast \\
        &             & port 16 \& 17: VID=2, PRIO=0,VID-untagged=2, dstMAC=broadcast \\
        &             &                  \\ 
TRAFFIC & send to:    & port 0, 1,16,17  \\
        & receive on: & port 0, 1,16,17  \\
\end{tabular}
\end{table}

\paragraph{Test passed if}

\begin{itemize*}
\item All frames sent to port 0 are received only on port 17
\item All frames sent to port 17 are received only on port 0
\item All frames sent to port 1 are received only on port 16
\item All frames sent to port 16 are received only on port 1
\end{itemize*}

The latency for each configuration-step shall be noted and reported. 

\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{VLAN, broadcast, tagging/untagging}

\paragraph{Description} 

Unicast forwarding.

\paragraph{Switch Configuration} 

\begin{table}[ht!]
\begin{tabular}{ l  l l l}
VLAN  & port 0:      & VID=\{0, 1\}, & QMODE=access, VID-untagged=1\\
      & port 1:      & VID=\{0, 1\}, & QMODE=access, VID-untagged=1\\
      & port 16:     & VID=\{0, 2\}, & QMODE=access, VID-untagged=2\\\
      & port 17:     & VID=\{0, 2\}, & QMODE=access, VID-untagged=2\\
      & other ports: & VID=0,        & QMODE=trunk\\
\end{tabular}
\end{table}

\paragraph{Tester Configuration} 

\begin{table}[ht!]
\begin{tabular}{ l  l l }
FRAME   & 802.1D:     & no VLAN tag dstMAC=broadcast \\
        &             &                  \\ 
TRAFFIC & send to:    & port 0, 1,16,17  \\
        & receive on: & port 0, 1,16,17  \\
\end{tabular}
\end{table}

\paragraph{Test passed if}

\begin{itemize*}
\item All frames sent to port 0 are received only on port 17
\item All frames sent to port 17 are received only on port 0
\item All frames sent to port 1 are received only on port 16
\item All frames sent to port 16 are received only on port 1
\end{itemize*}

The latency for each configuration-step shall be noted and reported. 