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}
......
......@@ -4,10 +4,44 @@
This tests aim at verifying the forwarding performance of the switch in terms of latency
and frame loss.
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{Test setup}
% \begin{table}[ht!]
% \begin{tabular}{r l l}
% WR Switch : & {\bf port 0} & connected to port 0 Networking tester\\
% WR Switch : & {\bf port 17} & connected to port 1 Networking tester\\
% WR Switch : & {\bf port 1} & connected to port 2 Networking tester\\
% WR Switch : & {\bf port 16} & connected to port 3 Networking tester\\
% \end{tabular}
% \end{table}
\begin{itemize*}
\item All connections shall be done with fibers of max 10m length (~50ns latency) - this
transletes max cable-latency-contribution of $\sim0.55 [us] = \sim50ns * 11 [cables]$
\end{itemize*}
\paragraph{Switch Configuration}
Default configuration.
Each test shall be performed for two switch configurations:
\begin{enumerate*}
\item Default configuration (PTPd ON)
\item With PTPd not running.
\end{enumerate*}
\paragraph{Tester Configuration}
......@@ -16,28 +50,86 @@ The configuration shall be changed to cover all the possible combinations:
\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 \\
& number & $10^9$ \\
\end{tabular}
\end{table}
\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 \\
& time of burst & 5 min\\
\end{tabular}
\end{table}
\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.
\paragraph{Parameters recorded}
For each test and each tested configuration, the following parameters should be recorded:
\begin{itemize*}
\item Frame loss in \% per port per stream per direction,
\item Frame latency (average, max, min),
\item Test result (for a given configuration): failed/passed.
\end{itemize*}
After each tested configuration (within the same test), the following should happen:
\begin{itemize*}
\item State of debug parameters (e.g.: free pages number, port states,....) shall
compared with the desired idle state
\item If the parameters indicate anormalies, the parameters shall be recorded and the switch
restarted.
\end{itemize*}
\newpage
\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.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Unicast -- one-to-one streams -- adjacent ports}
\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 \\
& bi-directional & port 16 $<->$ port 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*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Unicast}
\subsubsection{Unicast -- one-to-one streams -- extreme ports}
\paragraph{Description}
......@@ -59,13 +151,60 @@ VLAN & port 0: & VID=0, & QMODE=unqualified\\
\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 \\
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 17 \\
& bi-directional & port 1 $<->$ port 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\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*}
......@@ -75,14 +214,13 @@ TRAFFIC & send to: & port 0, 1,16,17 \\
\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.
Braodcast forwarding.
\paragraph{Switch Configuration}
......@@ -105,6 +243,8 @@ FRAME & 802.1Q: & port 0 \& 1 : VID=1, PRIO=0,VID-untagged=1, dstMAC=broa
& & \\
TRAFFIC & send to: & port 0, 1,16,17 \\
& receive on: & port 0, 1,16,17 \\
STREAMS & bi-directional & port 0 $<->$ port 17 \\
& bi-directional & port 1 $<->$ port 16 \\
\end{tabular}
\end{table}
......@@ -117,14 +257,13 @@ TRAFFIC & send to: & port 0, 1,16,17 \\
\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.
Broadcast forwarding.
\paragraph{Switch Configuration}
......@@ -146,8 +285,181 @@ FRAME & 802.1D: & no VLAN tag dstMAC=broadcast \\
& & \\
TRAFFIC & send to: & port 0, 1,16,17 \\
& receive on: & port 0, 1,16,17 \\
STREAMS & bi-directional & port 0 $<->$ port 17 \\
& bi-directional & port 1 $<->$ port 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{Snake}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Uniformly distributed load on all ports}
\paragraph{Description}
The test verifies performance of the switch under extreme load on all ports.
\paragraph{Switch Configuration}
\begin{table}[ht!]
\begin{tabular}{l l l l l}
VLAN & port 0: & VID=\{0, 1\}, & QMODE=access, FIX\_PRIO=0, PVID=1, VID-untagged=1\\
& port 1: & VID=\{0, 2\}, & QMODE=access, FIX\_PRIO=0, PVID=2, VID-untagged=2\\
& port 2: & VID=\{0, 2\}, & QMODE=access, FIX\_PRIO=0, PVID=2, VID-untagged=2\\
& port 3: & VID=\{0, 3\}, & QMODE=access, FIX\_PRIO=0, PVID=3, VID-untagged=3\\
& port 4: & VID=\{0, 3\}, & QMODE=access, FIX\_PRIO=0, PVID=3, VID-untagged=3\\
& port 5: & VID=\{0, 4\}, & QMODE=access, FIX\_PRIO=0, PVID=4, VID-untagged=4\\
& port 6: & VID=\{0, 4\}, & QMODE=access, FIX\_PRIO=0, PVID=4, VID-untagged=4\\
& port 7: & VID=\{0, 5\}, & QMODE=access, FIX\_PRIO=0, PVID=5, VID-untagged=5\\
& port 8: & VID=\{0, 5\}, & QMODE=access, FIX\_PRIO=0, PVID=5, VID-untagged=5\\
& port 9: & VID=\{0, 6\}, & QMODE=access, FIX\_PRIO=0, PVID=6, VID-untagged=6\\
& port 10: & VID=\{0, 6\}, & QMODE=access, FIX\_PRIO=0, PVID=6, VID-untagged=6\\
& port 11: & VID=\{0, 7\}, & QMODE=access, FIX\_PRIO=0, PVID=7, VID-untagged=7\\
& port 12: & VID=\{0, 7\}, & QMODE=access, FIX\_PRIO=0, PVID=7, VID-untagged=7\\
& port 13: & VID=\{0, 8\}, & QMODE=access, FIX\_PRIO=0, PVID=8, VID-untagged=8\\
& port 14: & VID=\{0, 8\}, & QMODE=access, FIX\_PRIO=0, PVID=8, VID-untagged=8\\
& port 15: & VID=\{0, 9\}, & QMODE=access, FIX\_PRIO=0, PVID=9, VID-untagged=9\\
& port 16: & VID=\{0, 9\}, & QMODE=access, FIX\_PRIO=0, PVID=9, VID-untagged=9\\
& port 17: & VID=\{0, 1\}, & QMODE=access, FIX\_PRIO=0, PVID=1, VID-untagged=1\\
\end{tabular}
\end{table}
\paragraph{Tester Configuration}
\begin{table}[ht!]
\begin{tabular}{ l l l }
FRAME & 802.1D: & no VLAN tag \\
& & \\
TRAFFIC & send to: & port 0,1,2,3 \\
& receive on: & port 0,1,2,3 \\
STREAMS & bi-directional & port 0 $<->$ port 17 \\
& bi-directional & port 1 $<->$ port 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
\item All received frames are untagged (i.e. 802.1 with no VLAN tag)
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Non uniformly distributed load on ports}
\paragraph{Description}
The test verifies how forwarding performance (latency, frame loss) is influenced by independent
streams on independent ports.
\paragraph{Switch Configuration}
\begin{table}[ht!]
\begin{tabular}{l l l l l}
VLAN & port 0: & VID=\{0, 1\}, & QMODE=access, FIX\_PRIO=0, PVID=1, VID-untagged=1\\
& port 1: & VID=\{0, 2\}, & QMODE=access, FIX\_PRIO=0, PVID=2, VID-untagged=2\\
& port 2: & VID=\{0, 2\}, & QMODE=access, FIX\_PRIO=0, PVID=2, VID-untagged=2\\
& port 3: & VID=\{0, 3\}, & QMODE=access, FIX\_PRIO=0, PVID=3, VID-untagged=3\\
& port 4: & VID=\{0, 3\}, & QMODE=access, FIX\_PRIO=0, PVID=3, VID-untagged=3\\
& port 5: & VID=\{0, 4\}, & QMODE=access, FIX\_PRIO=0, PVID=4, VID-untagged=4\\
& port 6: & VID=\{0, 4\}, & QMODE=access, FIX\_PRIO=0, PVID=4, VID-untagged=4\\
& port 7: & VID=\{0, 5\}, & QMODE=access, FIX\_PRIO=0, PVID=5, VID-untagged=5\\
& port 8: & VID=\{0, 5\}, & QMODE=access, FIX\_PRIO=0, PVID=5, VID-untagged=5\\
& port 9: & VID=\{0, 6\}, & QMODE=access, FIX\_PRIO=0, PVID=6, VID-untagged=6\\
& port 10: & VID=\{0, 6\}, & QMODE=access, FIX\_PRIO=0, PVID=6, VID-untagged=6\\
& port 11: & VID=\{0, 7\}, & QMODE=access, FIX\_PRIO=0, PVID=7, VID-untagged=7\\
& port 12: & VID=\{0, 7\}, & QMODE=access, FIX\_PRIO=0, PVID=7, VID-untagged=7\\
& port 13: & VID=\{0, 8\}, & QMODE=access, FIX\_PRIO=0, PVID=8, VID-untagged=8\\
& port 14: & VID=\{0, 8\}, & QMODE=access, FIX\_PRIO=0, PVID=8, VID-untagged=8\\
& port 15: & VID=\{0, 9\}, & QMODE=access, FIX\_PRIO=0, PVID=9, VID-untagged=9\\
& port 16: & VID=\{0, 9\}, & QMODE=access, FIX\_PRIO=0, PVID=9, VID-untagged=9\\
& port 17: & VID=\{0, 1\}, & QMODE=access, FIX\_PRIO=0, PVID=1, VID-untagged=1\\
\end{tabular}
\end{table}
\paragraph{Tester Configuration}
\begin{table}[ht!]
\begin{tabular}{ l l l }
FRAME & 802.1D: & no VLAN tag \\
& & \\
TRAFFIC & send to: & port 0,1,2,3 \\
& receive on: & port 0,1,2,3 \\
STREAMS & bi-directional & port 0 $<->$ port 17 \\
& bi-directional & port 1 $<->$ port 16 \\
\end{tabular}
\end{table}
Each combination of the following configuration :
\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}\\
shall be set for frame streams between ports 0 and 1 (direct connection). For each such
combination, all config combinations shall be sent on ports 2 and 3 (snake).
This way, influence of switch load of 16 ports on the reminding two ports can be observed.
\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
\item All received frames are untagged (i.e. 802.1 with no VLAN tag)
\end{itemize*}
\newpage
\subsection{Frame storms}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Unicast}
\paragraph{Description}
Unicast forwarding of a storm of unrecognized frames.
\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 17 \\
& bi-directional & port 1 $<->$ port 16 \\
\end{tabular}
\end{table}
No learnig performed before sending traffic !
Time of burst: 1min (override default test config).
\paragraph{Test passed if}
......@@ -158,4 +470,46 @@ TRAFFIC & send to: & port 0, 1,16,17 \\
\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.
\ No newline at end of file
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{VLAN, broadcast, tagging/untagging}
\paragraph{Description}
Broadcast forwarding of a storm of unrecognized frames.
\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 \\
STREAMS & bi-directional & port 0 $<->$ port 17 \\
& bi-directional & port 1 $<->$ port 16 \\
\end{tabular}
\end{table}
No learnig performed before sending traffic !
Time of burst: 1min (override default test config).
\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*}
\ No newline at end of file
......@@ -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