Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Switch - Testing
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Switch - Testing
Commits
064b3afb
Commit
064b3afb
authored
Mar 21, 2014
by
Maciej Lipinski
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
testDoc: added forwarding functional/performance tests, configuration info to the introduction
parent
75823d50
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
579 additions
and
26 deletions
+579
-26
forwarding-functional.tex
doc/spec/switch-release-tests/src/forwarding-functional.tex
+127
-8
forwarding-performance.tex
doc/spec/switch-release-tests/src/forwarding-performance.tex
+370
-16
introduction.tex
doc/spec/switch-release-tests/src/introduction.tex
+17
-1
synchronization-performance.tex
.../switch-release-tests/src/synchronization-performance.tex
+65
-1
No files found.
doc/spec/switch-release-tests/src/forwarding-functional.tex
View file @
064b3afb
...
...
@@ -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
}
...
...
doc/spec/switch-release-tests/src/forwarding-performance.tex
View file @
064b3afb
...
...
@@ -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
$
\sim
0
.
55
[
us
]
=
\sim
50
ns
*
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
}
Uni
cast forwarding.
Braod
cast 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
}
Uni
cast forwarding.
Broad
cast 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
doc/spec/switch-release-tests/src/introduction.tex
View file @
064b3afb
...
...
@@ -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").
doc/spec/switch-release-tests/src/synchronization-performance.tex
View file @
064b3afb
...
...
@@ -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*}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment