Commit f4d4a55d authored by Maciej Lipinski's avatar Maciej Lipinski

started document describing automated testes to be performend before each release of the switch

parent f7551b6f
all : switch-release-tests.pdf
.PHONY : all clean
switch-release-tests.pdf : switch-release-tests.tex #, introduction.tex, forwarding-functional.tex, forwarding-performance.tex, synchronization-functional.tex, synchronization-performance.tex
latex $^
latex $^
dvips switch-release-tests
ps2pdf -dPDFX -dEmbedAllFonts=true -dSubsetFonts=true -dEPSCrop=true switch-release-tests.ps
cp switch-release-tests.pdf ../
clean :
rm -f *.eps *.pdf *.dat *.log *.out *.aux *.dvi *.ps *.toc *~
\section{Forwarding functional}
\label{chap:fwd-functional}
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{Switch Configuration}
Default configuration.
\paragraph{Tester Configuration}
\begin{table}[ht!]
\begin{tabular}{ l l l l}
FRAME & size & 64bytes \\
& load & 10 \% \\
& number & 1000 \\
\end{tabular}
\end{table}
\subsection{VLANs}
This tests serve the purpose of verifying that basic VLAN-related functions work.
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Trival}
\paragraph{Description}
The test verifies whether basic forwarding within VLAN works (i.e. frames are forwarded to
the ports only in the specified VLAN).
\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\\
& other ports: & VID=0, & QMODE=trunk\\
\end{tabular}
\end{table}
\paragraph{Tester Configuration}
\begin{table}[ht!]
\begin{tabular}{ l l l }
FRAME & 802.1Q: & VID=1, PRIO=0 \\
& & \\
TRAFFIC & send to: & port 0, 1 \\
& receive on: & port 0, 1 \\
& monitor: & other ports \\
\end{tabular}
\end{table}
\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 All received frames are tagged with VID 1 and priority 0
\item No frames received on ports other than 0 \& 1
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Tagging}
\paragraph{Description}
The test verifies whether tagging, untagging and basic forwarding within VLAN works
\paragraph{Switch Configuration}
\begin{table}[ht!]
\begin{tabular}{l l l l l}
VLAN & port 0: & VID=\{0, 1\}, & QMODE=access, FIX\_PRIO=1, PRIO\_VAL=3, PVID=1\\
& port 1: & VID=\{0, 1\}, & QMODE=access, FIX\_PRIO=1, PRIO\_VAL=3, PVID=1\\
& 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 \\
& & \\
TRAFFIC & send to: & port 0, 1 \\
& receive on: & port 0, 1 \\
& monitor: & other ports \\
\end{tabular}
\end{table}
\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 All received frames are tagged with VID 1 and priority 3
\item No frames received on ports other than 0 \& 1
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Untagging}
\paragraph{Description}
The test verifies whether tagging, untagging and basic forwarding within VLAN works
\paragraph{Switch Configuration}
\begin{table}[ht!]
\begin{tabular}{l l l l l}
VLAN & port 0: & VID=\{0, 1\}, & QMODE=trunk, VID-untagged=1\\
& port 1: & VID=\{0, 1\}, & QMODE=trunk, VID-untagged=1\\
& other ports: & VID=0, & QMODE=trunk\\
\end{tabular}
\end{table}
\paragraph{Tester Configuration}
\begin{table}[ht!]
\begin{tabular}{ l l l }
FRAME & 802.1Q: & VID=1, PRIO=0 \\
& & \\
TRAFFIC & send to: & port 0,1 \\
& receive on: & port 0,1 \\
& monitor: & other ports \\
\end{tabular}
\end{table}
\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 All received frames are untagged (i.e. 802.1 with no VLAN tag)
\item No frames received on ports other than 0 \& 1
\end{itemize*}
\newpage %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\subsubsection{Snake}
\paragraph{Description}
The test verifies whether tagging, untagging and basic forwarding within VLAN works
\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 \\
\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*}
\ No newline at end of file
\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.
\ No newline at end of file
\section{Introduction}
\label{chap:intro}
\paragraph{Configuration rules}
\begin{itemize*}
\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,
\end{itemize*}
\paragraph{Test passed if}
This section states specifically the condition to render the test successfull ("passed").
\ No newline at end of file
%
% switch-release-tests.tex
%
\def\us{\char`\_}
\documentclass[a4paper, 12pt]{article}
%\documentclass{article}
\usepackage{fullpage}
\usepackage{pgf}
\usepackage{tikz}
\usetikzlibrary{arrows,automata,shapes}
\usepackage{multirow}
\usepackage{color}
\usepackage[latin1]{inputenc}
\usepackage{verbatim}
\usepackage{amsmath}
\usepackage{times,mathptmx}
\usepackage{chngcntr}
\usepackage{mdwlist}
%%%%%5% used in Tomeks %%%%%%%
\usepackage{listings}
\usepackage{cancel}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% fig/tomeksDrawings
\usepackage{listings}
\usepackage{color}
\definecolor{dkgreen}{rgb}{0,0.6,0}
\definecolor{gray}{rgb}{0.5,0.5,0.5}
\definecolor{mauve}{rgb}{0.58,0,0.82}
\lstset{frame=tb,
language=Java,
aboveskip=3mm,
belowskip=3mm,
showstringspaces=false,
columns=flexible,
%basicstyle={\scriptsize},
basicstyle={\footnotesize},
numbers=none,
numberstyle=\tiny\color{gray},
keywordstyle=\color{blue},
commentstyle=\color{dkgreen},
stringstyle=\color{mauve},
breaklines=false,
breakatwhitespace=false
tabsize=3
}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% creating subsubsubsection notation
% src: http://www.latex-community.org/forum/viewtopic.php?f=5&t=791
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\setcounter{secnumdepth}{6}
\renewcommand\theparagraph{\Alph{paragraph}}
\makeatletter
\renewcommand\paragraph{\@startsection{paragraph}{4}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{0.0001pt \@plus .2ex}%
{\normalfont\normalsize\bfseries}}
\renewcommand\subparagraph{\@startsection{subparagraph}{5}{\z@}%
{-3.25ex\@plus -1ex \@minus -.2ex}%
{0.0001pt \@plus .2ex}%
{\normalfont\normalsize\bfseries}}
%\renewcommand{\thefootnote}{\fnsymbol{footnote}}
\renewcommand{\thefootnote}{\alph{footnote}}
\counterwithin{paragraph}{subsubsection}
\counterwithin{subparagraph}{paragraph}
\makeatother
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newcommand{\eqoffset}[1]{%
{\ensuremath{%
{\text{offset}}_{#1}}%
}%
}
\newcommand{\eqdelay}[1]{{\text{delay}}_{#1}}
\newcommand{\eqasymm}{{\text{asymmetry}}}
%\renewcommand*{\refname}{\vspace*{-3em}}
\begin{document}
\title{White Rabbit Switch \\ pre-release tests}
\author{Grzegorze Daniluk, Maciej Lipinski\\CERN}
% \date
\maketitle
% \thispagestyle{empty}
\newpage
\tableofcontents
\newpage
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\newpage
\input{introduction}
\newpage
\input{forwarding-functional}
\newpage
\input{forwarding-performance}
\newpage
\input{synchronization-functional}
\newpage
\input{synchronization-performance}
% \newpage
% \input{}
\newpage
\begin{thebibliography}{9}
\footnotesize
\bibitem{WRPTP} %done x
Emilio G. Cota, Maciej Lipinski, Tomasz Wostowski, Erik van der Bij, Javier
Serrano
\emph{White Rabbit Specification: Draft for Comments}.
CERN, Geneva
07/2011.\\
\vspace*{-2em}
\bibitem{PTPv2} %done x
IEEE Instrumentation and Measurement Society
\emph{IEEE Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems}.
IEEE Std 1588TM-2008,
2008, New York, USA\\
\vspace*{-2em}
\bibitem{SynchE}
ITU-T G.8262/Y.1362
\emph{Timing characteristics of a synchronous
Ethernet equipment slave clock}.
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU,
07/2010.\\
\vspace*{-2em}
\bibitem{SynchE2}
ITU-T G.8264/Y.1364
\emph{Distribution of timing information through packet network}.
TELECOMMUNICATION STANDARDIZATION SECTOR OF ITU,
10/2008.\\
\vspace*{-2em}
\bibitem{IEEE802.3}
IEEE Std 802.3-2008
\emph{IEEE Standard for Information technology -- Telecommunications and information exchange
between systems -- Local and Metropolitan area networks -- Specific requirements}.
IEEE Computer Society, New York,
2008.\\
\vspace*{-2em}
\end{thebibliography}
\end{document}
\section{Synchronization functional}
\label{chap:synch-functional}
\ No newline at end of file
\section{Synchronization performance}
\label{chap:synch-performance}
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