\doxysection{src/ss7\+\_\+route\+\_\+table.c File Reference}
\label{ss7__route__table_8c}\index{src/ss7\_route\_table.c@{src/ss7\_route\_table.c}}
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/linuxlist.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/core/logging.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/mtp\+\_\+sap.\+h$>$}\newline
{\ttfamily \#include $<$osmocom/sigtran/osmo\+\_\+ss7.\+h$>$}\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*{Functions}
\begin{DoxyCompactItemize}
\item 
char $\ast$ \textbf{ ss7\+\_\+route\+\_\+label\+\_\+to\+\_\+str} (char $\ast$buf, size\+\_\+t buf\+\_\+len, const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$rtlb)
\item 
static struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+alloc} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create} (struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$inst, const char $\ast$name)
\item 
void \textbf{ ss7\+\_\+route\+\_\+table\+\_\+destroy} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask, bool dynamic)
\begin{DoxyCompactList}\small\item\em Find a SS7 route for given destination point code + mask in given table. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask\+\_\+as} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask, const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, bool dynamic)
\begin{DoxyCompactList}\small\item\em Find a SS7 route for given destination point code + mask in given table via given AS. \end{DoxyCompactList}\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc})
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc\+\_\+mask} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, uint32\+\_\+t mask, uint32\+\_\+t prio)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create\+\_\+combined\+\_\+linkset} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtable, uint32\+\_\+t \textbf{ pc}, uint32\+\_\+t mask, uint32\+\_\+t prio)
\item 
void \textbf{ ss7\+\_\+route\+\_\+table\+\_\+update\+\_\+route\+\_\+status\+\_\+by\+\_\+as} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, enum \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+status} status, const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as, uint32\+\_\+t \textbf{ dpc})
\item 
void \textbf{ ss7\+\_\+route\+\_\+table\+\_\+del\+\_\+routes\+\_\+by\+\_\+as} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\item 
void \textbf{ ss7\+\_\+route\+\_\+table\+\_\+del\+\_\+routes\+\_\+by\+\_\+linkset} (struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$lset)
\item 
struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ \textbf{ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$rtlabel)
\item 
bool \textbf{ ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc})
\item 
bool \textbf{ ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible\+\_\+via\+\_\+as} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\item 
bool \textbf{ ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible\+\_\+skip\+\_\+as} (const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$rtbl, uint32\+\_\+t \textbf{ dpc}, const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$as)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\label{ss7__route__table_8c_a3263fc2bc9e3377269a4c0a41fdd0b8e}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_label\_to\_str@{ss7\_route\_label\_to\_str}}
\index{ss7\_route\_label\_to\_str@{ss7\_route\_label\_to\_str}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_label\_to\_str()}
{\footnotesize\ttfamily char $\ast$ ss7\+\_\+route\+\_\+label\+\_\+to\+\_\+str (\begin{DoxyParamCaption}\item[{char $\ast$}]{buf,  }\item[{size\+\_\+t}]{buf\+\_\+len,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$}]{rtlb }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::dpc}, \textbf{ MAX\+\_\+\+PC\+\_\+\+STR\+\_\+\+LEN}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::opc}, \textbf{ osmo\+\_\+ss7\+\_\+pointcode\+\_\+print\+\_\+buf()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::sls}.



Referenced by \textbf{ DEFUN()}, \textbf{ gen\+\_\+mtp\+\_\+transfer\+\_\+req\+\_\+xua()}, and \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route()}.

\mbox{\label{ss7__route__table_8c_a893939378e40f7ce00e6424fd2438d6a}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_alloc@{ss7\_route\_table\_alloc}}
\index{ss7\_route\_table\_alloc@{ss7\_route\_table\_alloc}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_alloc()}
{\footnotesize\ttfamily static struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+alloc (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list}, \textbf{ LOGSS7}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::name}, and \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}.

\mbox{\label{ss7__route__table_8c_a31366f9d23c4f7498118f19ce34ee49d}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_del\_routes\_by\_as@{ss7\_route\_table\_del\_routes\_by\_as}}
\index{ss7\_route\_table\_del\_routes\_by\_as@{ss7\_route\_table\_del\_routes\_by\_as}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_del\_routes\_by\_as()}
{\footnotesize\ttfamily void ss7\+\_\+route\+\_\+table\+\_\+del\+\_\+routes\+\_\+by\+\_\+as (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+route\+\_\+destroy()}.



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

\mbox{\label{ss7__route__table_8c_a6654b99144311dad1d260b18211870ef}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_del\_routes\_by\_linkset@{ss7\_route\_table\_del\_routes\_by\_linkset}}
\index{ss7\_route\_table\_del\_routes\_by\_linkset@{ss7\_route\_table\_del\_routes\_by\_linkset}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_del\_routes\_by\_linkset()}
{\footnotesize\ttfamily void ss7\+\_\+route\+\_\+table\+\_\+del\+\_\+routes\+\_\+by\+\_\+linkset (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+linkset} $\ast$}]{lset }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::linkset}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+route\+\_\+destroy()}.



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

\mbox{\label{ss7__route__table_8c_a954b58f587a98e6c5e92f1b7a73975e9}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_destroy@{ss7\_route\_table\_destroy}}
\index{ss7\_route\_table\_destroy@{ss7\_route\_table\_destroy}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_destroy()}
{\footnotesize\ttfamily void ss7\+\_\+route\+\_\+table\+\_\+destroy (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list}.

\mbox{\label{ss7__route__table_8c_a4994c5dabf05855fc2b563accc306655}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_dpc\_is\_accessible@{ss7\_route\_table\_dpc\_is\_accessible}}
\index{ss7\_route\_table\_dpc\_is\_accessible@{ss7\_route\_table\_dpc\_is\_accessible}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_dpc\_is\_accessible()}
{\footnotesize\ttfamily bool ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, and \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+is\+\_\+available()}.



Referenced by \textbf{ as\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ as\+\_\+snm\+\_\+pc\+\_\+unavailable()}, \textbf{ dpc\+\_\+accessible()}, and \textbf{ xua\+\_\+snm\+\_\+rx\+\_\+daud()}.

\mbox{\label{ss7__route__table_8c_a5becd54f98a8f2f30b28a8cac6859756}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_dpc\_is\_accessible\_skip\_as@{ss7\_route\_table\_dpc\_is\_accessible\_skip\_as}}
\index{ss7\_route\_table\_dpc\_is\_accessible\_skip\_as@{ss7\_route\_table\_dpc\_is\_accessible\_skip\_as}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_dpc\_is\_accessible\_skip\_as()}
{\footnotesize\ttfamily bool ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible\+\_\+skip\+\_\+as (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}.



Referenced by \textbf{ as\+\_\+snm\+\_\+pc\+\_\+available()}, \textbf{ as\+\_\+snm\+\_\+pc\+\_\+unavailable()}, and \textbf{ as\+\_\+tx\+\_\+duna\+\_\+during\+\_\+asp\+\_\+act()}.

\mbox{\label{ss7__route__table_8c_abdbe951142aff96f99ae6316149b3457}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_dpc\_is\_accessible\_via\_as@{ss7\_route\_table\_dpc\_is\_accessible\_via\_as}}
\index{ss7\_route\_table\_dpc\_is\_accessible\_via\_as@{ss7\_route\_table\_dpc\_is\_accessible\_via\_as}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_dpc\_is\_accessible\_via\_as()}
{\footnotesize\ttfamily bool ss7\+\_\+route\+\_\+table\+\_\+dpc\+\_\+is\+\_\+accessible\+\_\+via\+\_\+as (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+route\+\_\+is\+\_\+available()}.



Referenced by \textbf{ as\+\_\+snm\+\_\+pc\+\_\+available()}.

\mbox{\label{ss7__route__table_8c_aed9bc0d02f1541dd23f33b9183e70324}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find@{ss7\_route\_table\_find}}
\index{ss7\_route\_table\_find@{ss7\_route\_table\_find}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::name}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::rtable\+\_\+list}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create()}.

\mbox{\label{ss7__route__table_8c_a0276a5223f97cb389515ef8949d3538e}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find\_combined\_linkset@{ss7\_route\_table\_find\_combined\_linkset}}
\index{ss7\_route\_table\_find\_combined\_linkset@{ss7\_route\_table\_find\_combined\_linkset}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find\_combined\_linkset()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{mask,  }\item[{uint32\+\_\+t}]{prio }\end{DoxyParamCaption})}



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



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

\mbox{\label{ss7__route__table_8c_a8a94c8e41ae4b776c67a2e8a8d871ff3}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find\_combined\_linkset\_by\_dpc@{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc}}
\index{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc@{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, and \textbf{ ss7\+\_\+initialized}.

\mbox{\label{ss7__route__table_8c_a3116074e5aa3bb21f6cf394b9c49bb0a}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find\_combined\_linkset\_by\_dpc\_mask@{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc\_mask}}
\index{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc\_mask@{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc\_mask}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find\_combined\_linkset\_by\_dpc\_mask()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset\+\_\+by\+\_\+dpc\+\_\+mask (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{mask }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, and \textbf{ ss7\+\_\+initialized}.

\mbox{\label{ss7__route__table_8c_adec7dc12336efe6460d6e036dea8a7a1}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find\_or\_create@{ss7\_route\_table\_find\_or\_create}}
\index{ss7\_route\_table\_find\_or\_create@{ss7\_route\_table\_find\_or\_create}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find\_or\_create()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+instance} $\ast$}]{inst,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::name}, \textbf{ ss7\+\_\+initialized}, \textbf{ ss7\+\_\+route\+\_\+table\+\_\+alloc()}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find()}.



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

\mbox{\label{ss7__route__table_8c_a37c67807bf9770984ea349d998f45695}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find\_or\_create\_combined\_linkset@{ss7\_route\_table\_find\_or\_create\_combined\_linkset}}
\index{ss7\_route\_table\_find\_or\_create\_combined\_linkset@{ss7\_route\_table\_find\_or\_create\_combined\_linkset}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find\_or\_create\_combined\_linkset()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+or\+\_\+create\+\_\+combined\+\_\+linkset (\begin{DoxyParamCaption}\item[{struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtable,  }\item[{uint32\+\_\+t}]{pc,  }\item[{uint32\+\_\+t}]{mask,  }\item[{uint32\+\_\+t}]{prio }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ pc}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::rtable}, \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+alloc()}, and \textbf{ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+combined\+\_\+linkset()}.

\mbox{\label{ss7__route__table_8c_aa9f6d008e41828c1a589aa220eb8906d}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find\_route\_by\_dpc\_mask@{ss7\_route\_table\_find\_route\_by\_dpc\_mask}}
\index{ss7\_route\_table\_find\_route\_by\_dpc\_mask@{ss7\_route\_table\_find\_route\_by\_dpc\_mask}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find\_route\_by\_dpc\_mask()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{mask,  }\item[{bool}]{dynamic }\end{DoxyParamCaption})}



Find a SS7 route for given destination point code + mask in given table. 

This function is used for route management procedures, not for packet routing lookup procedures! 

References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dyn\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ DEFUN\+\_\+\+ATTR()}, \textbf{ handle\+\_\+rkey\+\_\+dereg()}, \textbf{ osmo\+\_\+sccp\+\_\+simple\+\_\+client\+\_\+on\+\_\+ss7\+\_\+id()}, and \textbf{ ss7\+\_\+route\+\_\+create()}.

\mbox{\label{ss7__route__table_8c_a60ae63f8abe5aea61b2088bceda73cd2}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_find\_route\_by\_dpc\_mask\_as@{ss7\_route\_table\_find\_route\_by\_dpc\_mask\_as}}
\index{ss7\_route\_table\_find\_route\_by\_dpc\_mask\_as@{ss7\_route\_table\_find\_route\_by\_dpc\_mask\_as}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_find\_route\_by\_dpc\_mask\_as()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+find\+\_\+route\+\_\+by\+\_\+dpc\+\_\+mask\+\_\+as (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{uint32\+\_\+t}]{dpc,  }\item[{uint32\+\_\+t}]{mask,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{bool}]{dynamic }\end{DoxyParamCaption})}



Find a SS7 route for given destination point code + mask in given table via given AS. 

This function is used for route management procedures, not for packet routing lookup procedures! 

References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dyn\+\_\+allocated}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::mask}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, and \textbf{ ss7\+\_\+initialized}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+srm\+\_\+pc\+\_\+available\+\_\+single()}.

\mbox{\label{ss7__route__table_8c_a9c4f581543c63f0bc56c3ae65bb9be1d}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_lookup\_route@{ss7\_route\_table\_lookup\_route}}
\index{ss7\_route\_table\_lookup\_route@{ss7\_route\_table\_lookup\_route}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_lookup\_route()}
{\footnotesize\ttfamily struct \textbf{ osmo\+\_\+ss7\+\_\+route} $\ast$ ss7\+\_\+route\+\_\+table\+\_\+lookup\+\_\+route (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label} $\ast$}]{rtlabel }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::dpc}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::inst}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::mask}, \textbf{ NULL}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::opc}, \textbf{ osmo\+\_\+ss7\+\_\+pc\+\_\+normalize()}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+instance\+::pc\+\_\+fmt}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+label\+::sls}, and \textbf{ ss7\+\_\+combined\+\_\+linkset\+\_\+lookup\+\_\+route()}.



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

\mbox{\label{ss7__route__table_8c_a36bc7ff49d2302f88453ecd727d73756}} 
\index{ss7\_route\_table.c@{ss7\_route\_table.c}!ss7\_route\_table\_update\_route\_status\_by\_as@{ss7\_route\_table\_update\_route\_status\_by\_as}}
\index{ss7\_route\_table\_update\_route\_status\_by\_as@{ss7\_route\_table\_update\_route\_status\_by\_as}!ss7\_route\_table.c@{ss7\_route\_table.c}}
\doxysubsubsection{ss7\_route\_table\_update\_route\_status\_by\_as()}
{\footnotesize\ttfamily void ss7\+\_\+route\+\_\+table\+\_\+update\+\_\+route\+\_\+status\+\_\+by\+\_\+as (\begin{DoxyParamCaption}\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table} $\ast$}]{rtbl,  }\item[{enum \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+status}}]{status,  }\item[{const struct \textbf{ osmo\+\_\+ss7\+\_\+as} $\ast$}]{as,  }\item[{uint32\+\_\+t}]{dpc }\end{DoxyParamCaption})}



References \textbf{ osmo\+\_\+ss7\+\_\+route\+::as}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::cfg}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::clset}, \textbf{ osmo\+\_\+ss7\+\_\+route\+\_\+table\+::combined\+\_\+linksets}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::dest}, \textbf{ dpc}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::list}, \textbf{ osmo\+\_\+ss7\+\_\+route\+::pc}, \textbf{ osmo\+\_\+ss7\+\_\+combined\+\_\+linkset\+::routes}, \textbf{ ss7\+\_\+route\+\_\+is\+\_\+summary()}, \textbf{ ss7\+\_\+route\+\_\+update\+\_\+route\+\_\+status()}, and \textbf{ osmo\+\_\+ss7\+\_\+route\+::status}.



Referenced by \textbf{ xua\+\_\+snm\+\_\+srm\+\_\+pc\+\_\+available\+\_\+single()}.

