Commit 064b3afb authored by Maciej Lipinski's avatar Maciej Lipinski

testDoc: added forwarding functional/performance tests, configuration info to the introduction

parent 75823d50
...@@ -4,6 +4,26 @@ ...@@ -4,6 +4,26 @@
This tests aims at verifying simple forwarding capabilities of the switch. The configuration This tests aims at verifying simple forwarding capabilities of the switch. The configuration
that should be used throughout all the tests in this section, unless explicitly stated. that should be used throughout all the tests in this section, unless explicitly stated.
\paragraph{Test setup}
Spirent tester (sTester) and WR Switch (wrSwitch) under test with ports connected in the following way
\begin{table}[ht!]
\begin{tabular}{ l l l}
sTester-port:0 & to & wrSwitch-port:0 \\
sTester-port:1 & to & wrSwitch-port:17 \\
sTester-port:2 & to & wrSwitch-port:1 \\
sTester-port:3 & to & wrSwitch-port:16 \\
wrSwitch-port:2 & to & wrSwitch-port:3 \\
wrSwitch-port:4 & to & wrSwitch-port:5 \\
wrSwitch-port:6 & to & wrSwitch-port:7 \\
wrSwitch-port:8 & to & wrSwitch-port:9 \\
wrSwitch-port:10 & to & wrSwitch-port:11 \\
wrSwitch-port:12 & to & wrSwitch-port:13 \\
wrSwitch-port:14 & to & wrSwitch-port:16 \\
\end{tabular}
\end{table}
\paragraph{Switch Configuration} \paragraph{Switch Configuration}
Default configuration. Default configuration.
...@@ -17,12 +37,105 @@ FRAME & size & 64bytes \\ ...@@ -17,12 +37,105 @@ FRAME & size & 64bytes \\
\end{tabular} \end{tabular}
\end{table} \end{table}
\subsection{VLANs} \newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Unicast}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
No learning shall be performed before this tests.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Unicast -- one-to-one stream}
\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 \\
STREAMS & bi-directional & port 0 $<->$ port 1 \\
\end{tabular}
\end{table}
This tests serve the purpose of verifying that basic VLAN-related functions work.
\paragraph{Test passed if}
\begin{itemize*}
\item All frames sent to port 0 are received only on port 1
\item All frames sent to port 1 are received only on port 0
\item A limited number of frames from ports 0 and 1 received on ports 16 and 17 (unrecognized
broadcast before learnt by RTUd)
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Trival-1} \subsubsection{Unicast -- many-to-many stream}
\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 \\
STREAMS & uni-directional & port 0 $<->$ port 1, 16, 17 \\
& uni-directional & port 1 $<->$ port 0, 16, 17 \\
& uni-directional & port 16 $<->$ port 0, 1, 17 \\
& uni-directional & port 17 $<->$ port 0, 1, 16 \\
\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*}
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{VLANs}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
This tests serve the purpose of verifying that basic VLAN-related functions work.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{VLAN-limited forwardng}
\paragraph{Description} \paragraph{Description}
...@@ -62,7 +175,7 @@ TRAFFIC & send to: & port 0, 1 \\ ...@@ -62,7 +175,7 @@ TRAFFIC & send to: & port 0, 1 \\
\end{itemize*} \end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Trival-2} \subsubsection{VLAN separation of traffic}
\paragraph{Description} \paragraph{Description}
...@@ -100,15 +213,21 @@ TRAFFIC & send to: & port 0, 1 \\ ...@@ -100,15 +213,21 @@ TRAFFIC & send to: & port 0, 1 \\
\end{itemize*} \end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Trival-3} \subsubsection{Output priority queuing}
\paragraph{Description} \paragraph{Description}
Check whether overriding of priority per VLAN works - don't know yet how, possibly Verify that frames with different priorities are queued properly - probably need to define
using HP detection many STREAMS with traffic of different priorities between the same ports of Spirent tester.
Need to set EP apprpriately It might be that Spirent has such tests.
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Per-VLAN prio override}
\paragraph{Description}
Check whether overriding of priority per VLAN works - possibly by using HP detection or
pStats counters. TODO
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Tagging} \subsubsection{Tagging}
......
...@@ -6,7 +6,23 @@ ...@@ -6,7 +6,23 @@
\item All the configuration that is not mention should be set to default \item All the configuration that is not mention should be set to default
\item Each section specifies section-wide configuration that can be overriden by \item Each section specifies section-wide configuration that can be overriden by
a specific test, a specific test,
\item Before each test (but not between different configuration seeting of the same
test), the switch shall be restarted and configured from scratch,
\item If a test failure is detected (e.g. for a particular configuration of a test:
given frame load and size), the switch shall be restarted with the next configuration
listed in the test description.
\end{itemize*} \end{itemize*}
\paragraph{Default configuration}
\begin{table}[ht!]
\begin{tabular}{ l l l l}
PTP & ON & free running BC\\
VLAN & all ports & VID=0, & QMODE=unqualified,PRIO mapping: 0-0,1-1,...7-7 \\
... & ... & ...\\
\end{tabular}
\end{table}
\paragraph{Test passed if} \paragraph{Test passed if}
This section states specifically the condition to render the test successfull ("passed"). This section states specifically the condition to render the test successfull ("passed").
\ No newline at end of file
...@@ -205,7 +205,7 @@ synchronization when a background, non-PTP traffic of various loads is present. ...@@ -205,7 +205,7 @@ synchronization when a background, non-PTP traffic of various loads is present.
{\bf Traffic} & send to: & WR Switch 1, port 17\\ {\bf Traffic} & send to: & WR Switch 1, port 17\\
& receive on: & WR Switch 2, port 17\\ & receive on: & WR Switch 2, port 17\\
{\bf Frames} & broadcast & dstMAC = \emph{FF:FF:FF:FF:FF:FF}\\ {\bf Frames} & broadcast & dstMAC = \emph{FF:FF:FF:FF:FF:FF}\\
& size [bytes] & 64\\ & size [bytes] & 64, 65, 700,701, 1521, 1522\\
& loads [\%] & 10, 20, 30, 40, 50, 60, 70, 80, 90, 100\\ & loads [\%] & 10, 20, 30, 40, 50, 60, 70, 80, 90, 100\\
& time of burst per load & 5 min\\ & time of burst per load & 5 min\\
\end{tabular} \end{tabular}
...@@ -224,3 +224,67 @@ synchronization when a background, non-PTP traffic of various loads is present. ...@@ -224,3 +224,67 @@ synchronization when a background, non-PTP traffic of various loads is present.
\item \emph{cko} always in a range -50ps; +50ps \item \emph{cko} always in a range -50ps; +50ps
\end{itemize} \end{itemize}
\end{itemize*} \end{itemize*}
\paragraph{Recorded parameters}
\begin{itemize*}
\item accuracy (average) and precision (sdev) measured by Oscilloscope measurement of PPS
\item latency of frames (avg, max, min) and frame loss (\%)
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsection{Synchronization with high switch load}
The test verifies if two WR Switches are able to perform stable, sub-nanosecond
synchronization when a background, non-PTP traffic of various loads is present.
\paragraph{Test setup}
\vspace{12pt}
\begin{table}[ht!]
\begin{tabular}{r l l}
WR Switch 1: & {\bf port 17} & -- Networking tester device\\
WR Switch 1: & {\bf port 2} & -- port 0 of WR Switch 2\\
WR Switch 2: & {\bf port 0} & -- port 2 of WR Switch 1\\
WR Switch 2: & {\bf port 17} & -- Networking tester device\\
WR Switch 1: & {\bf 1-PPS out} & -- channel 1 of the oscilloscope\\
WR Switch 2: & {\bf 1-PPS out} & -- channel 2 of the oscilloscope\\
\end{tabular}
\end{table}
\paragraph{Oscilloscope setup}
\vspace{12pt}
\begin{table}[ht!]
\begin{tabular}{l l}
{\bf channel 1, 2} & 200mV/div, offset 800mV, DC 50Ohm\\
{\bf timescale} & 1ns/div\\
{\bf persistent mode} & ON\\
\end{tabular}
\end{table}
\paragraph{Networking tester setup}
\vspace{12pt}
\begin{table}[ht!]
\begin{tabular}{l l l}
{\bf Traffic} & send to: & WR Switch 1, port 17\\
& receive on: & WR Switch 2, port 17\\
{\bf Frames} & broadcast & dstMAC = \emph{FF:FF:FF:FF:FF:FF}\\
& size [bytes] & 64, 65, 700,701, 1521, 1522\\
& loads [\%] & 10, 20, 30, 40, 50, 60, 70, 80, 90, 100\\
& time of burst per load & 5 min\\
\end{tabular}
\end{table}
\paragraph{Test passed if}
\begin{itemize*}
\item For each load of non-PTP frames Oscilloscope in persistent mode shows
stable 1-PPS relation between two WR Switches\\
\item \emph{wr\_mon} tool on WR Switch 2 reports through the test period for
each frames load:
\begin{itemize}
\item \emph{lock} always 1
\item \emph{servo state} always \emph{TRACK\_PHASE}
\item \emph{mu} changes without any sudden, few-ns jumps
\item \emph{cko} always in a range -50ps; +50ps
\end{itemize}
\end{itemize*}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment