\doxysection{src/ss7\+\_\+combined\+\_\+linkset.c File Reference}
\label{ss7__combined__linkset_8c}\index{src/ss7\_combined\_linkset.c@{src/ss7\_combined\_linkset.c}}
{\ttfamily \#include $<$errno.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+as.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+combined\+\_\+linkset.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+route.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+route\+\_\+table.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}ss7\+\_\+internal.\+h\char`\"{}}\newline
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \textbf{ ss7\+\_\+llist\+\_\+round\+\_\+robin}(list,  state,  struct\+\_\+type,  entry\+\_\+name)~ llist\+\_\+entry(\textbf{ \+\_\+ss7\+\_\+llist\+\_\+round\+\_\+robin}(list, state), struct\+\_\+type, entry\+\_\+name)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static struct llist\+\_\+head $\ast$ \textbf{ \+\_\+ss7\+\_\+llist\+\_\+round\+\_\+robin} (struct llist\+\_\+head $\ast$list, void $\ast$$\ast$state)
\item 
static void \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+insert} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset)
\begin{DoxyCompactList}\small\item\em Insert combined\+\_\+link into its routing table. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ pc}, uint32\+\_\+t mask, uint32\+\_\+t prio)
\item 
void \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+free} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset)
\item 
void \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+add\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset, struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt)
\item 
void \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+del\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$rt)
\item 
bool \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+is\+\_\+available} (const struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset)
\item 
static \textbf{ ext\+\_\+sls\+\_\+t} \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+calc\+\_\+itu\+\_\+ext\+\_\+sls} (const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$rtlabel)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ current\+\_\+rt} (const struct \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry} $\ast$eslse)
\item 
static struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+assign\+\_\+route\+\_\+roundrobin} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset)
\item 
static struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+select\+\_\+route\+\_\+roundrobin} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route} (struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$clset, const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$rtlabel)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\label{ss7__combined__linkset_8c_a017588d41453c4c03ea51bf6940a6fab}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_llist\_round\_robin@{ss7\_llist\_round\_robin}}
\index{ss7\_llist\_round\_robin@{ss7\_llist\_round\_robin}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_llist\_round\_robin}
{\footnotesize\ttfamily \#define ss7\+\_\+llist\+\_\+round\+\_\+robin(\begin{DoxyParamCaption}\item[{}]{list,  }\item[{}]{state,  }\item[{}]{struct\+\_\+type,  }\item[{}]{entry\+\_\+name }\end{DoxyParamCaption})~ llist\+\_\+entry(\textbf{ \+\_\+ss7\+\_\+llist\+\_\+round\+\_\+robin}(list, state), struct\+\_\+type, entry\+\_\+name)}



\doxysubsection{Function Documentation}
\mbox{\label{ss7__combined__linkset_8c_a83a54f300c1681b1ef4ecb5f85c2576f}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!\_ss7\_llist\_round\_robin@{\_ss7\_llist\_round\_robin}}
\index{\_ss7\_llist\_round\_robin@{\_ss7\_llist\_round\_robin}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{\_ss7\_llist\_round\_robin()}
{\footnotesize\ttfamily static struct llist\+\_\+head $\ast$ \+\_\+ss7\+\_\+llist\+\_\+round\+\_\+robin (\begin{DoxyParamCaption}\item[{struct llist\+\_\+head $\ast$}]{list,  }\item[{void $\ast$$\ast$}]{state }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [static]}}



References \textbf{ NULL}.

\mbox{\label{ss7__combined__linkset_8c_a5ad20023d53651698d0993a1586f447f}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!current\_rt@{current\_rt}}
\index{current\_rt@{current\_rt}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{current\_rt()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ current\+\_\+rt (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry} $\ast$}]{eslse }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::alt\+\_\+rt}, \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::normal\+\_\+rt}, \textbf{ NULL}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route()}.

\mbox{\label{ss7__combined__linkset_8c_a40e6759edb41b5b573eb64713bc300d0}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!osmo\_ss7\_instance\_calc\_itu\_ext\_sls@{osmo\_ss7\_instance\_calc\_itu\_ext\_sls}}
\index{osmo\_ss7\_instance\_calc\_itu\_ext\_sls@{osmo\_ss7\_instance\_calc\_itu\_ext\_sls}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{osmo\_ss7\_instance\_calc\_itu\_ext\_sls()}
{\footnotesize\ttfamily static \textbf{ ext\+\_\+sls\+\_\+t} osmo\+\_\+ss7\+\_\+instance\+\_\+calc\+\_\+itu\+\_\+ext\+\_\+sls (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$}]{rtlabel }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::dpc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::dpc\+\_\+shift}, \textbf{ NUM\+\_\+\+EXT\+\_\+\+SLS}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::opc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::opc\+\_\+shift}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::sls}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::sls\+\_\+shift}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route()}.

\mbox{\label{ss7__combined__linkset_8c_a9f9c073c41e30243718ddcf222c81567}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_add\_route@{ss7\_combined\_linkset\_add\_route}}
\index{ss7\_combined\_linkset\_add\_route@{ss7\_combined\_linkset\_add\_route}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_add\_route()}
{\footnotesize\ttfamily void ss7\+\_\+combined\+\_\+linkset\+\_\+add\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::num\+\_\+routes}, and \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+insert()}.

\mbox{\label{ss7__combined__linkset_8c_a443e145e027a08293f8129be66f17ac9}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_alloc@{ss7\_combined\_linkset\_alloc}}
\index{ss7\_combined\_linkset\_alloc@{ss7\_combined\_linkset\_alloc}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_alloc()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{pc,  }\item[{uint32\+\_\+t}]{mask,  }\item[{uint32\+\_\+t}]{prio }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::priority}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::rtable}, and \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+insert()}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+insert()}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create\+\_\+combined\+\_\+linkset()}.

\mbox{\label{ss7__combined__linkset_8c_a0924d130f776fa31f0037297e393ab33}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_assign\_route\_roundrobin@{ss7\_combined\_linkset\_assign\_route\_roundrobin}}
\index{ss7\_combined\_linkset\_assign\_route\_roundrobin@{ss7\_combined\_linkset\_assign\_route\_roundrobin}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_assign\_route\_roundrobin()}
{\footnotesize\ttfamily static struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+combined\+\_\+linkset\+\_\+assign\+\_\+route\+\_\+roundrobin (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::last\+\_\+route\+\_\+roundrobin\+\_\+ass}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::num\+\_\+routes}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+llist\+\_\+round\+\_\+robin}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route()}.

\mbox{\label{ss7__combined__linkset_8c_aa5fcbdd59e339e2f79c9e681489c0734}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_del\_route@{ss7\_combined\_linkset\_del\_route}}
\index{ss7\_combined\_linkset\_del\_route@{ss7\_combined\_linkset\_del\_route}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_del\_route()}
{\footnotesize\ttfamily void ss7\+\_\+combined\+\_\+linkset\+\_\+del\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$}]{rt }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::alt\+\_\+rt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::esls\+\_\+table}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::last\+\_\+route\+\_\+roundrobin\+\_\+ass}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::last\+\_\+route\+\_\+roundrobin\+\_\+tx}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::normal\+\_\+rt}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::num\+\_\+routes}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+free()}, and \textbf{ ss7\+\_\+llist\+\_\+round\+\_\+robin}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+destroy()}.

\mbox{\label{ss7__combined__linkset_8c_a0b41395057f848b2421552ab0cc9f1e1}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_free@{ss7\_combined\_linkset\_free}}
\index{ss7\_combined\_linkset\_free@{ss7\_combined\_linkset\_free}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_free()}
{\footnotesize\ttfamily void ss7\+\_\+combined\+\_\+linkset\+\_\+free (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+del\+\_\+route()}.

\mbox{\label{ss7__combined__linkset_8c_a2e757f17154c7441a5aff844642d5f86}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_insert@{ss7\_combined\_linkset\_insert}}
\index{ss7\_combined\_linkset\_insert@{ss7\_combined\_linkset\_insert}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_insert()}
{\footnotesize\ttfamily static void ss7\+\_\+combined\+\_\+linkset\+\_\+insert (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Insert combined\+\_\+link into its routing table. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em clset} & Combined link to be inserted into its routing table \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
0 on success, negative on error
\end{DoxyReturn}
A combined link is only really used once it has been inserted into its routing table.

insert the route in the ordered list of routes. The list is sorted by mask length, so that the more specific (longer mask) routes are first, while the less specific routes with shorter masks are last. Within the same mask length, the routes are ordered by priority (where lower value means higher prio). Hence, the first matching route in a linear iteration is the most specific match. 

References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::priority}, and \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::rtable}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc()}.

\mbox{\label{ss7__combined__linkset_8c_ab781acf4191f42e8e4c3bd3c25cf944e}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_is\_available@{ss7\_combined\_linkset\_is\_available}}
\index{ss7\_combined\_linkset\_is\_available@{ss7\_combined\_linkset\_is\_available}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_is\_available()}
{\footnotesize\ttfamily bool ss7\+\_\+combined\+\_\+linkset\+\_\+is\+\_\+available (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible()}, and \textbf{ vty\+\_\+dump\+\_\+rtable()}.

\mbox{\label{ss7__combined__linkset_8c_a047f8f44a19ab1b1f4a2c46869867119}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_lookup\_route@{ss7\_combined\_linkset\_lookup\_route}}
\index{ss7\_combined\_linkset\_lookup\_route@{ss7\_combined\_linkset\_lookup\_route}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_lookup\_route()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$}]{rtlabel }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::alt\+\_\+rt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::cfg}, \textbf{ current\+\_\+rt()}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::esls\+\_\+table}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ LOGPCLSET}, \textbf{ osmo\+\_\+ss7\+\_\+as\+::name}, \textbf{ osmo\+\_\+ss7\+\_\+esls\+\_\+entry\+::normal\+\_\+rt}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+\_\+calc\+\_\+itu\+\_\+ext\+\_\+sls()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::rtable}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+assign\+\_\+route\+\_\+roundrobin()}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+select\+\_\+route\+\_\+roundrobin()}, \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}, and \textbf{ ss7\+\_\+route\+\_\+label\+\_\+to\+\_\+str()}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route()}.

\mbox{\label{ss7__combined__linkset_8c_aa16f79f4b3dc3d3732c9fbd53225091d}} 
\index{ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}!ss7\_combined\_linkset\_select\_route\_roundrobin@{ss7\_combined\_linkset\_select\_route\_roundrobin}}
\index{ss7\_combined\_linkset\_select\_route\_roundrobin@{ss7\_combined\_linkset\_select\_route\_roundrobin}!ss7\_combined\_linkset.c@{ss7\_combined\_linkset.c}}
\doxysubsubsection{ss7\_combined\_linkset\_select\_route\_roundrobin()}
{\footnotesize\ttfamily static struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+combined\+\_\+linkset\+\_\+select\+\_\+route\+\_\+roundrobin (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$}]{clset }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::last\+\_\+route\+\_\+roundrobin\+\_\+tx}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::num\+\_\+routes}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, \textbf{ ss7\+\_\+llist\+\_\+round\+\_\+robin}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}.



Referenced by \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route()}.

