I need help for three things:
- How can I draw from NFVI to OSS. I tried this, but I think I'm missing something
- How can I change the starting and end point of my draw? I know how to make an arrow [...,->]. I tried this but doesn't work
- Finally, how can I add a perpendicular draw (as show in the legend of the picture)
My code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta,
backgrounds, bending,
calc,
decorations.pathmorphing,
fit,
petri,
positioning}
\usepackage[margin=2.5cm]{geometry}
\usetikzlibrary{arrows.meta}
\definecolor{darkblue}{RGB}{31,22,70}
\definecolor{darkblue2}{RGB}{21,126,251}
\begin{document}
\begin{tikzpicture}[
transform shape,
%show background rectangle,
background rectangle/.style={fill=gray!20},
box/.style={draw, font=\itshape}
]
\coordinate (b) at (current page.center);
\node[rounded corners=3mm, label=center:{OSS/BSS}, fill=darkblue2!20] (OSS)at (b) [draw,minimum width=1.5cm,minimum height=2.4cm] {};
\node[below=5 cm of OSS,rounded corners=3mm, label=center:{EMS}, fill=darkblue2!20] (ems) [draw,minimum width=2.5cm,minimum height=1.4cm] {};
\node[below=of ems,rounded corners=3mm, label=center:{VNF}, fill=darkblue2!20] (VNF) [draw,minimum width=2.5cm,minimum height=2.4cm] {};
\node[below = of VNF,rounded corners=3mm, label=center:{NFVI}, fill=darkblue2!20] (NFVI) [draw,minimum width=3.5cm,minimum height=2.4cm] {};
\node[below = of VNF,rounded corners=3mm, label=center:{NFVI}, fill=darkblue2!20] (NFVI) [draw,minimum width=3.5cm,minimum height=2.4cm] {};
\node[right= 2cm of OSS,rounded corners=3mm, label=center:{NFV Orchestrator}, fill=darkblue!20] (NFVO) [draw,minimum width=12cm,minimum height=2.4cm] {};
\node[below left = 0.5cm and -2cm of NFVO,rounded corners=3mm, label=center:{NS Catalog}, fill=darkblue!20] (NSC) [draw,minimum width=2cm,minimum height=2.4cm] {};
\node[right= 0.5 cm of NSC,rounded corners=3mm, label=center:{VNF Catalog}, fill=darkblue!20] (VNFC) [draw,minimum width=2cm,minimum height=2.4cm] {};
\node[below right = 0.5cm and -3cm of NFVO,rounded corners=3mm, label=center:{NFVI ressources}, fill=darkblue!20] (NFVIR) [draw,minimum width=3cm,minimum height=2.4cm] {};
\node[left= 0.5 cm of NFVIR,rounded corners=3mm, label=center:{NFV Instances}, fill=darkblue!20] (NFVI1) [draw,minimum width=2.5cm,minimum height=2.4cm] {};
\node[right= 2.5 cm of ems,rounded corners=3mm, label=center:{VNF Manager (VNFM)}, fill=darkblue!20] (VNFM) [draw,minimum width=9cm,minimum height=2.4cm] {};
\node[right= 2cmof NFVI,rounded corners=3mm, label=center:{Virtualised infrastructure manager (VIM)}, fill=darkblue!20] (VIM) [draw,minimum width=8cm,minimum height=2.4cm] {};
%Draw form OSS
\draw[thick,darkblue, dashed](OSS)--(ems);
\draw[thick,darkblue, dashed](OSS)
%to [out=180](8,0)
%to [in=180](NFVI) ;
--(NFVI);
\draw[thick,darkblue, dashed](OSS)--(NFVO)node [midway, above]{Os-Ma-nfvo};
%Draw form ems
\draw[thick,darkblue, dashed](ems)--(VNF);
\draw[thick,darkblue, dashed](ems)--(VNFM)node [midway, above]{Ve-En-Vnfm};
%Draw from VNF
\draw[thick,darkblue, dashed, circle](VNF)--(NFVI)node [midway, right]{Vn-Nf};
%Draw from VNFC
\draw[thick,darkblue, dashed](VNFC)--(NFVO);
%Draw from VNFM
\draw[thick,darkblue, dashed](VNFM)--(VNF)node [midway, below]{VeNf-Vnfm};
% to [out=270](NFVI)node [midway, right]{Vn-Nf};
\draw[thick,darkblue, dashed](VNFM)--(NFVO)node [midway, right]{Or-Vnfm};
\draw[thick,darkblue, dashed](VNFM)--(VIM)node [midway, right]{Vnfm-VI};
%Draw from NFVI
\draw[thick,darkblue, dashed](NFVI)--(VIM)node [midway, above]{Nf-VI};
%draw from vim
\draw[thick,darkblue, dashed](VIM)--(NFVO)node [midway, right]{Or-Vnfm};
%draw form nfvo
\draw[thick,darkblue, dashed](NFVO)--(NSC);
\draw[thick,darkblue, dashed](NFVO)--(NFVI1);
\draw[thick,darkblue, dashed](NFVO)--(NFVIR);
\node[fit=(NFVO)(VIM), draw, dashed] {};
\end{tikzpicture}
\end{document}


