\doxysection{osmo\+\_\+netdev Struct Reference}
\label{structosmo__netdev}\index{osmo\_netdev@{osmo\_netdev}}
\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct \textbf{ llist\+\_\+head} \textbf{ entry}
\item 
struct \textbf{ netdev\+\_\+netns\+\_\+ctx} $\ast$ \textbf{ netns\+\_\+ctx}
\item 
char $\ast$ \textbf{ name}
\item 
unsigned int \textbf{ ifindex}
\item 
char $\ast$ \textbf{ dev\+\_\+name}
\item 
char $\ast$ \textbf{ netns\+\_\+name}
\item 
void $\ast$ \textbf{ priv\+\_\+data}
\item 
bool \textbf{ registered}
\item 
\textbf{ osmo\+\_\+netdev\+\_\+ifupdown\+\_\+ind\+\_\+cb\+\_\+t} \textbf{ ifupdown\+\_\+ind\+\_\+cb}
\item 
\textbf{ osmo\+\_\+netdev\+\_\+dev\+\_\+name\+\_\+chg\+\_\+cb\+\_\+t} \textbf{ dev\+\_\+name\+\_\+chg\+\_\+cb}
\item 
\textbf{ osmo\+\_\+netdev\+\_\+mtu\+\_\+chg\+\_\+cb\+\_\+t} \textbf{ mtu\+\_\+chg\+\_\+cb}
\item 
bool \textbf{ if\+\_\+up}
\item 
bool \textbf{ if\+\_\+up\+\_\+known}
\item 
uint32\+\_\+t \textbf{ if\+\_\+mtu}
\item 
bool \textbf{ if\+\_\+mtu\+\_\+known}
\end{DoxyCompactItemize}


\doxysubsection{Field Documentation}
\mbox{\label{structosmo__netdev_ad16c9582c105f350696defa0b5a0c5e2}} 
\index{osmo\_netdev@{osmo\_netdev}!dev\_name@{dev\_name}}
\index{dev\_name@{dev\_name}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{dev\_name}
{\footnotesize\ttfamily char$\ast$ osmo\+\_\+netdev\+::dev\+\_\+name}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+addr()}, \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+route()}, \textbf{ osmo\+\_\+netdev\+\_\+get\+\_\+dev\+\_\+name()}, \textbf{ osmo\+\_\+netdev\+\_\+ifupdown()}, and \textbf{ osmo\+\_\+netdev\+\_\+register()}.

\mbox{\label{structosmo__netdev_a268b70df124df1925a71fe077b7f2ae5}} 
\index{osmo\_netdev@{osmo\_netdev}!dev\_name\_chg\_cb@{dev\_name\_chg\_cb}}
\index{dev\_name\_chg\_cb@{dev\_name\_chg\_cb}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{dev\_name\_chg\_cb}
{\footnotesize\ttfamily \textbf{ osmo\+\_\+netdev\+\_\+dev\+\_\+name\+\_\+chg\+\_\+cb\+\_\+t} osmo\+\_\+netdev\+::dev\+\_\+name\+\_\+chg\+\_\+cb}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+dev\+\_\+name\+\_\+chg\+\_\+cb()}.

\mbox{\label{structosmo__netdev_a71779bedbecfc9bebe2d9985c5b4b5d2}} 
\index{osmo\_netdev@{osmo\_netdev}!entry@{entry}}
\index{entry@{entry}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{entry}
{\footnotesize\ttfamily struct \textbf{ llist\+\_\+head} osmo\+\_\+netdev\+::entry}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+alloc()}, and \textbf{ osmo\+\_\+netdev\+\_\+free()}.

\mbox{\label{structosmo__netdev_ae290ac5cb89093bb90ac9b8a3bb32b21}} 
\index{osmo\_netdev@{osmo\_netdev}!if\_mtu@{if\_mtu}}
\index{if\_mtu@{if\_mtu}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{if\_mtu}
{\footnotesize\ttfamily uint32\+\_\+t osmo\+\_\+netdev\+::if\+\_\+mtu}

\mbox{\label{structosmo__netdev_ae1708cf565cc472a8ee92211aee74b97}} 
\index{osmo\_netdev@{osmo\_netdev}!if\_mtu\_known@{if\_mtu\_known}}
\index{if\_mtu\_known@{if\_mtu\_known}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{if\_mtu\_known}
{\footnotesize\ttfamily bool osmo\+\_\+netdev\+::if\+\_\+mtu\+\_\+known}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+unregister()}.

\mbox{\label{structosmo__netdev_ab698fd22fd07e5dca94531dd6a6da863}} 
\index{osmo\_netdev@{osmo\_netdev}!if\_up@{if\_up}}
\index{if\_up@{if\_up}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{if\_up}
{\footnotesize\ttfamily bool osmo\+\_\+netdev\+::if\+\_\+up}

\mbox{\label{structosmo__netdev_acd8f434ed5476df3c602c26920983bd3}} 
\index{osmo\_netdev@{osmo\_netdev}!if\_up\_known@{if\_up\_known}}
\index{if\_up\_known@{if\_up\_known}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{if\_up\_known}
{\footnotesize\ttfamily bool osmo\+\_\+netdev\+::if\+\_\+up\+\_\+known}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+unregister()}.

\mbox{\label{structosmo__netdev_a8aa968b0e048890060c371ebb52cc39b}} 
\index{osmo\_netdev@{osmo\_netdev}!ifindex@{ifindex}}
\index{ifindex@{ifindex}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{ifindex}
{\footnotesize\ttfamily unsigned int osmo\+\_\+netdev\+::ifindex}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+addr()}, \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+route()}, \textbf{ osmo\+\_\+netdev\+\_\+get\+\_\+ifindex()}, \textbf{ osmo\+\_\+netdev\+\_\+ifupdown()}, \textbf{ osmo\+\_\+netdev\+\_\+register()}, and \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+ifindex()}.

\mbox{\label{structosmo__netdev_afff9640591b00a179c10dbc399dc9f00}} 
\index{osmo\_netdev@{osmo\_netdev}!ifupdown\_ind\_cb@{ifupdown\_ind\_cb}}
\index{ifupdown\_ind\_cb@{ifupdown\_ind\_cb}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{ifupdown\_ind\_cb}
{\footnotesize\ttfamily \textbf{ osmo\+\_\+netdev\+\_\+ifupdown\+\_\+ind\+\_\+cb\+\_\+t} osmo\+\_\+netdev\+::ifupdown\+\_\+ind\+\_\+cb}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+ifupdown\+\_\+ind\+\_\+cb()}.

\mbox{\label{structosmo__netdev_a7bc53da7a3b02f02a778230c12c058c0}} 
\index{osmo\_netdev@{osmo\_netdev}!mtu\_chg\_cb@{mtu\_chg\_cb}}
\index{mtu\_chg\_cb@{mtu\_chg\_cb}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{mtu\_chg\_cb}
{\footnotesize\ttfamily \textbf{ osmo\+\_\+netdev\+\_\+mtu\+\_\+chg\+\_\+cb\+\_\+t} osmo\+\_\+netdev\+::mtu\+\_\+chg\+\_\+cb}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+mtu\+\_\+chg\+\_\+cb()}.

\mbox{\label{structosmo__netdev_aa05e8130a453ba05e3d97b0f35f8bf42}} 
\index{osmo\_netdev@{osmo\_netdev}!name@{name}}
\index{name@{name}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{name}
{\footnotesize\ttfamily char$\ast$ osmo\+\_\+netdev\+::name}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+alloc()}, and \textbf{ osmo\+\_\+netdev\+\_\+get\+\_\+name()}.

\mbox{\label{structosmo__netdev_a0ed1cadb59bf61dbaf4430f440468237}} 
\index{osmo\_netdev@{osmo\_netdev}!netns\_ctx@{netns\_ctx}}
\index{netns\_ctx@{netns\_ctx}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{netns\_ctx}
{\footnotesize\ttfamily struct \textbf{ netdev\+\_\+netns\+\_\+ctx}$\ast$ osmo\+\_\+netdev\+::netns\+\_\+ctx}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+addr()}, \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+route()}, \textbf{ osmo\+\_\+netdev\+\_\+ifupdown()}, \textbf{ osmo\+\_\+netdev\+\_\+register()}, and \textbf{ osmo\+\_\+netdev\+\_\+unregister()}.

\mbox{\label{structosmo__netdev_a494314c92e18d12927e9685e7f2114eb}} 
\index{osmo\_netdev@{osmo\_netdev}!netns\_name@{netns\_name}}
\index{netns\_name@{netns\_name}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{netns\_name}
{\footnotesize\ttfamily char$\ast$ osmo\+\_\+netdev\+::netns\+\_\+name}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+get\+\_\+netns\+\_\+name()}, \textbf{ osmo\+\_\+netdev\+\_\+register()}, and \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+netns\+\_\+name()}.

\mbox{\label{structosmo__netdev_ad066720ee7d4a397bea2efccad72d628}} 
\index{osmo\_netdev@{osmo\_netdev}!priv\_data@{priv\_data}}
\index{priv\_data@{priv\_data}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{priv\_data}
{\footnotesize\ttfamily void$\ast$ osmo\+\_\+netdev\+::priv\+\_\+data}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+get\+\_\+priv\+\_\+data()}, and \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+priv\+\_\+data()}.

\mbox{\label{structosmo__netdev_abd5cd3efaa09bb617adfd53a5ae72971}} 
\index{osmo\_netdev@{osmo\_netdev}!registered@{registered}}
\index{registered@{registered}!osmo\_netdev@{osmo\_netdev}}
\doxysubsubsection{registered}
{\footnotesize\ttfamily bool osmo\+\_\+netdev\+::registered}



Referenced by \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+addr()}, \textbf{ osmo\+\_\+netdev\+\_\+add\+\_\+route()}, \textbf{ osmo\+\_\+netdev\+\_\+ifupdown()}, \textbf{ osmo\+\_\+netdev\+\_\+is\+\_\+registered()}, \textbf{ osmo\+\_\+netdev\+\_\+register()}, \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+ifindex()}, \textbf{ osmo\+\_\+netdev\+\_\+set\+\_\+netns\+\_\+name()}, and \textbf{ osmo\+\_\+netdev\+\_\+unregister()}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
src/core/\textbf{ netdev.\+c}\end{DoxyCompactItemize}
