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 @@
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.
\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}
Default configuration.
......@@ -17,12 +37,105 @@ FRAME & size & 64bytes \\
\end{tabular}
\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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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}
......@@ -62,7 +175,7 @@ TRAFFIC & send to: & port 0, 1 \\
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Trival-2}
\subsubsection{VLAN separation of traffic}
\paragraph{Description}
......@@ -100,15 +213,21 @@ TRAFFIC & send to: & port 0, 1 \\
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Trival-3}
\subsubsection{Output priority queuing}
\paragraph{Description}
Check whether overriding of priority per VLAN works - don't know yet how, possibly
using HP detection
Need to set EP apprpriately
Verify that frames with different priorities are queued properly - probably need to define
many STREAMS with traffic of different priorities between the same ports of Spirent tester.
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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Tagging}
......
......@@ -6,7 +6,23 @@
\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
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*}
\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}
This section states specifically the condition to render the test successfull ("passed").
\ No newline at end of file
This section states specifically the condition to render the test successfull ("passed").
......@@ -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\\
& receive on: & WR Switch 2, port 17\\
{\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\\
& time of burst per load & 5 min\\
\end{tabular}
......@@ -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
\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