\hypertarget{ng__vlan__rotate_8c}{}\doxysection{netgraph/ng\+\_\+vlan\+\_\+rotate.c File Reference}
\label{ng__vlan__rotate_8c}\index{netgraph/ng\_vlan\_rotate.c@{netgraph/ng\_vlan\_rotate.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/ctype.\+h$>$}\newline
{\ttfamily \#include $<$sys/errno.\+h$>$}\newline
{\ttfamily \#include $<$sys/syslog.\+h$>$}\newline
{\ttfamily \#include $<$sys/types.\+h$>$}\newline
{\ttfamily \#include $<$sys/counter.\+h$>$}\newline
{\ttfamily \#include $<$net/ethernet.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+message.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+parse.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+vlan\+\_\+rotate.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/netgraph.\+h$>$}\newline
Include dependency graph for ng\+\_\+vlan\+\_\+rotate.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dc/d2c/ng__vlan__rotate_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structng__vlanrotate__kernel__stats}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats}}
\item 
struct \mbox{\hyperlink{structvlanrotate}{vlanrotate}}
\item 
struct \mbox{\hyperlink{structether__vlan__stack__entry}{ether\+\_\+vlan\+\_\+stack\+\_\+entry}}
\item 
struct \mbox{\hyperlink{structether__vlan__stack__header}{ether\+\_\+vlan\+\_\+stack\+\_\+header}}
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{structvlanrotate}{vlanrotate}} $\ast$ \mbox{\hyperlink{ng__vlan__rotate_8c_a9262ef4001b0a86fe02aa28a4882510c}{vlanrotate\+\_\+p}}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{ng__vlan__rotate_8c_a35f2faed31c68a1597ccb3babab6d697}{NETGRAPH\+\_\+\+INIT}} (\mbox{\hyperlink{structvlanrotate}{vlanrotate}}, \&\mbox{\hyperlink{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}})
\item 
static int \mbox{\hyperlink{ng__vlan__rotate_8c_a01cf6edae4483a4ac00323775b5788d2}{ng\+\_\+vlanrotate\+\_\+constructor}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__vlan__rotate_8c_a771874cf1cd9472ad60793beff40a86f}{ng\+\_\+vlanrotate\+\_\+newhook}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, const char $\ast$\mbox{\hyperlink{ng__ppp_8c_ab2adbf48c2df32ccf9cced3bc8c3dc26}{name}})
\item 
static int \mbox{\hyperlink{ng__vlan__rotate_8c_aa7228b29a8c39ca7c571428aad04f653}{ng\+\_\+vlanrotate\+\_\+rcvmsg}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} lasthook)
\item 
static int \mbox{\hyperlink{ng__vlan__rotate_8c_a598686ac333cb7aba78084878eb94087}{ng\+\_\+vlanrotate\+\_\+gcd}} (int a, int b)
\item 
static void \mbox{\hyperlink{ng__vlan__rotate_8c_a7e2c879a8a3614a5a11cf383182fdf60}{ng\+\_\+vlanrotate\+\_\+rotate}} (struct \mbox{\hyperlink{structether__vlan__stack__entry}{ether\+\_\+vlan\+\_\+stack\+\_\+entry}} arr\mbox{[}$\,$\mbox{]}, int d, int n)
\item 
static int \mbox{\hyperlink{ng__vlan__rotate_8c_a43f6c966e2c46a605200d6452ca7bc59}{ng\+\_\+vlanrotate\+\_\+rcvdata}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static int \mbox{\hyperlink{ng__vlan__rotate_8c_a713a621d67f553b8468bde60ef80d9a9}{ng\+\_\+vlanrotate\+\_\+shutdown}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__vlan__rotate_8c_ae2d4032772422732c6224cd9bd79f079}{ng\+\_\+vlanrotate\+\_\+disconnect}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
static \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} \mbox{\hyperlink{ng__vlan__rotate_8c_a0a89d75cbf52d825f399a083220d0a0c}{ng\+\_\+vlanrotate\+\_\+constructor}}
\item 
static \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} \mbox{\hyperlink{ng__vlan__rotate_8c_a1c2f959d5e71ec3ab38dd76c9e8552c7}{ng\+\_\+vlanrotate\+\_\+rcvmsg}}
\item 
static \mbox{\hyperlink{netgraph_8h_aab0a679789a1af312a7f856b4668ad74}{ng\+\_\+shutdown\+\_\+t}} \mbox{\hyperlink{ng__vlan__rotate_8c_a12910a15d0bdb967de109c5df752737b}{ng\+\_\+vlanrotate\+\_\+shutdown}}
\item 
static \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} \mbox{\hyperlink{ng__vlan__rotate_8c_a80e5eba15b37268f4abb9fd1cce14968}{ng\+\_\+vlanrotate\+\_\+newhook}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__vlan__rotate_8c_a53d573b84a34d51eab22cc3c20e3b225}{ng\+\_\+vlanrotate\+\_\+rcvdata}}
\item 
static \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} \mbox{\hyperlink{ng__vlan__rotate_8c_afee9589ccada109b2a1b641e6d518b85}{ng\+\_\+vlanrotate\+\_\+disconnect}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__vlan__rotate_8c_aba893402a35b575f2e40211a086a9724}{ng\+\_\+vlanrotate\+\_\+conf\+\_\+fields}} \mbox{[}$\,$\mbox{]}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__vlan__rotate_8c_a90fff93b9d14fcd3e01d4d37bd964b14}{ng\+\_\+vlanrotate\+\_\+conf\+\_\+type}}
\item 
static struct \mbox{\hyperlink{structng__parse__fixedarray__info}{ng\+\_\+parse\+\_\+fixedarray\+\_\+info}} \mbox{\hyperlink{ng__vlan__rotate_8c_a12764622753929a4510d312d8a1ba608}{ng\+\_\+vlanrotate\+\_\+stat\+\_\+hist\+\_\+info}}
\item 
static struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__vlan__rotate_8c_a9ce76b0b926337c5975d529c36ae8d36}{ng\+\_\+vlanrotate\+\_\+stat\+\_\+hist}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__vlan__rotate_8c_a91dfd201699600a1c752a985133bd2f2}{ng\+\_\+vlanrotate\+\_\+stat\+\_\+fields}} \mbox{[}$\,$\mbox{]}
\item 
static struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__vlan__rotate_8c_a22b24bd67b29f8e9d734144b8886cc66}{ng\+\_\+vlanrotate\+\_\+stat\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} \mbox{\hyperlink{ng__vlan__rotate_8c_a7385fbd5700924cdebb378f05bf123fb}{ng\+\_\+vlanrotate\+\_\+cmdlist}} \mbox{[}$\,$\mbox{]}
\item 
static struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} \mbox{\hyperlink{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}}
\item 
struct \mbox{\hyperlink{structether__vlan__stack__entry}{ether\+\_\+vlan\+\_\+stack\+\_\+entry}} \mbox{\hyperlink{ng__vlan__rotate_8c_a1560ce29ccb13330fd78e854ec096aec}{\+\_\+\+\_\+packed}}
\end{DoxyCompactItemize}


\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{ng__vlan__rotate_8c_a9262ef4001b0a86fe02aa28a4882510c}\label{ng__vlan__rotate_8c_a9262ef4001b0a86fe02aa28a4882510c}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!vlanrotate\_p@{vlanrotate\_p}}
\index{vlanrotate\_p@{vlanrotate\_p}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{vlanrotate\_p}{vlanrotate\_p}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structvlanrotate}{vlanrotate}}$\ast$ \mbox{\hyperlink{ng__vlan__rotate_8c_a9262ef4001b0a86fe02aa28a4882510c}{vlanrotate\+\_\+p}}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00164}{164}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ng__vlan__rotate_8c_a35f2faed31c68a1597ccb3babab6d697}\label{ng__vlan__rotate_8c_a35f2faed31c68a1597ccb3babab6d697}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!NETGRAPH\_INIT@{NETGRAPH\_INIT}}
\index{NETGRAPH\_INIT@{NETGRAPH\_INIT}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{NETGRAPH\_INIT()}{NETGRAPH\_INIT()}}
{\footnotesize\ttfamily NETGRAPH\+\_\+\+INIT (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{structvlanrotate}{vlanrotate}}}]{,  }\item[{\&}]{typestruct }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__vlan__rotate_8c_a01cf6edae4483a4ac00323775b5788d2}\label{ng__vlan__rotate_8c_a01cf6edae4483a4ac00323775b5788d2}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_constructor@{ng\_vlanrotate\_constructor}}
\index{ng\_vlanrotate\_constructor@{ng\_vlanrotate\_constructor}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_constructor()}{ng\_vlanrotate\_constructor()}}
{\footnotesize\ttfamily static int ng\+\_\+vlanrotate\+\_\+constructor (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00170}{170}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00161}{vlanrotate\+::conf}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::drops}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::excessive}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00152}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::histogram}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::incomplete}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00050}{ng\+\_\+vlanrotate\+\_\+conf\+::max}}, \mbox{\hyperlink{netgraph_8h_source_l00608}{NG\+\_\+\+NODE\+\_\+\+SET\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00045}{NG\+\_\+\+VLANROTATE\+\_\+\+MAX\+\_\+\+VLANS}}, and \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00162}{vlanrotate\+::stats}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_ae2d4032772422732c6224cd9bd79f079}\label{ng__vlan__rotate_8c_ae2d4032772422732c6224cd9bd79f079}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_disconnect@{ng\_vlanrotate\_disconnect}}
\index{ng\_vlanrotate\_disconnect@{ng\_vlanrotate\_disconnect}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_disconnect()}{ng\_vlanrotate\_disconnect()}}
{\footnotesize\ttfamily static int ng\+\_\+vlanrotate\+\_\+disconnect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00492}{492}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00159}{vlanrotate\+::excessive\+\_\+hook}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00160}{vlanrotate\+::incomplete\+\_\+hook}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00610}{NG\+\_\+\+NODE\+\_\+\+IS\+\_\+\+VALID}}, \mbox{\hyperlink{netgraph_8h_source_l00615}{NG\+\_\+\+NODE\+\_\+\+NUMHOOKS}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__base_8c_source_l01609}{ng\+\_\+rmnode\+\_\+self()}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00158}{vlanrotate\+::ordered\+\_\+hook}}, and \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00157}{vlanrotate\+::original\+\_\+hook}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d28/ng__vlan__rotate_8c_ae2d4032772422732c6224cd9bd79f079_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__vlan__rotate_8c_a598686ac333cb7aba78084878eb94087}\label{ng__vlan__rotate_8c_a598686ac333cb7aba78084878eb94087}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_gcd@{ng\_vlanrotate\_gcd}}
\index{ng\_vlanrotate\_gcd@{ng\_vlanrotate\_gcd}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_gcd()}{ng\_vlanrotate\_gcd()}}
{\footnotesize\ttfamily static int ng\+\_\+vlanrotate\+\_\+gcd (\begin{DoxyParamCaption}\item[{int}]{a,  }\item[{int}]{b }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00338}{338}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00338}{ng\+\_\+vlanrotate\+\_\+gcd()}}.



Referenced by \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00338}{ng\+\_\+vlanrotate\+\_\+gcd()}}, and \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00347}{ng\+\_\+vlanrotate\+\_\+rotate()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=187pt]{d5/d28/ng__vlan__rotate_8c_a598686ac333cb7aba78084878eb94087_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d28/ng__vlan__rotate_8c_a598686ac333cb7aba78084878eb94087_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__vlan__rotate_8c_a771874cf1cd9472ad60793beff40a86f}\label{ng__vlan__rotate_8c_a771874cf1cd9472ad60793beff40a86f}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_newhook@{ng\_vlanrotate\_newhook}}
\index{ng\_vlanrotate\_newhook@{ng\_vlanrotate\_newhook}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_newhook()}{ng\_vlanrotate\_newhook()}}
{\footnotesize\ttfamily static int ng\+\_\+vlanrotate\+\_\+newhook (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{const char $\ast$}]{name }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00192}{192}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00159}{vlanrotate\+::excessive\+\_\+hook}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00160}{vlanrotate\+::incomplete\+\_\+hook}}, \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00041}{NG\+\_\+\+VLANROTATE\+\_\+\+HOOK\+\_\+\+EXCESSIVE}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00042}{NG\+\_\+\+VLANROTATE\+\_\+\+HOOK\+\_\+\+INCOMPLETE}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00039}{NG\+\_\+\+VLANROTATE\+\_\+\+HOOK\+\_\+\+ORDERED}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00040}{NG\+\_\+\+VLANROTATE\+\_\+\+HOOK\+\_\+\+ORIGINAL}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00158}{vlanrotate\+::ordered\+\_\+hook}}, and \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00157}{vlanrotate\+::original\+\_\+hook}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a43f6c966e2c46a605200d6452ca7bc59}\label{ng__vlan__rotate_8c_a43f6c966e2c46a605200d6452ca7bc59}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_rcvdata@{ng\_vlanrotate\_rcvdata}}
\index{ng\_vlanrotate\_rcvdata@{ng\_vlanrotate\_rcvdata}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_rcvdata()}{ng\_vlanrotate\_rcvdata()}}
{\footnotesize\ttfamily static int ng\+\_\+vlanrotate\+\_\+rcvdata (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00373}{373}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00161}{vlanrotate\+::conf}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::drops}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::excessive}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00159}{vlanrotate\+::excessive\+\_\+hook}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00152}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::histogram}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::incomplete}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00160}{vlanrotate\+::incomplete\+\_\+hook}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00050}{ng\+\_\+vlanrotate\+\_\+conf\+::max}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00914}{NG\+\_\+\+FWD\+\_\+\+NEW\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00045}{NG\+\_\+\+VLANROTATE\+\_\+\+MAX\+\_\+\+VLANS}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00347}{ng\+\_\+vlanrotate\+\_\+rotate()}}, \mbox{\hyperlink{netgraph_8h_source_l00852}{NGI\+\_\+\+GET\+\_\+M}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00158}{vlanrotate\+::ordered\+\_\+hook}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00157}{vlanrotate\+::original\+\_\+hook}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00327}{ether\+\_\+vlan\+\_\+stack\+\_\+entry\+::proto}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00049}{ng\+\_\+vlanrotate\+\_\+conf\+::rot}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00162}{vlanrotate\+::stats}}, and \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00334}{ether\+\_\+vlan\+\_\+stack\+\_\+header\+::vlan\+\_\+stack}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d28/ng__vlan__rotate_8c_a43f6c966e2c46a605200d6452ca7bc59_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__vlan__rotate_8c_aa7228b29a8c39ca7c571428aad04f653}\label{ng__vlan__rotate_8c_aa7228b29a8c39ca7c571428aad04f653}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_rcvmsg@{ng\_vlanrotate\_rcvmsg}}
\index{ng\_vlanrotate\_rcvmsg@{ng\_vlanrotate\_rcvmsg}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_rcvmsg()}{ng\_vlanrotate\_rcvmsg()}}
{\footnotesize\ttfamily static int ng\+\_\+vlanrotate\+\_\+rcvmsg (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}}}]{item,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{lasthook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00220}{220}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__message_8h_source_l00062}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::arglen}}, \mbox{\hyperlink{ng__message_8h_source_l00063}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::cmd}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00161}{vlanrotate\+::conf}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::drops}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00054}{ng\+\_\+vlanrotate\+\_\+stat\+::drops}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::excessive}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00054}{ng\+\_\+vlanrotate\+\_\+stat\+::excessive}}, \mbox{\hyperlink{structng__mesg_a16ea313a1e38531a10a14902b7579210}{ng\+\_\+mesg\+::header}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00152}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::histogram}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00055}{ng\+\_\+vlanrotate\+\_\+stat\+::histogram}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::incomplete}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00054}{ng\+\_\+vlanrotate\+\_\+stat\+::incomplete}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00050}{ng\+\_\+vlanrotate\+\_\+conf\+::max}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00050}{ng\+\_\+vlanrotate\+\_\+conf\+::min}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{ng__message_8h_source_l00396}{NG\+\_\+\+MKRESPONSE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l01025}{NG\+\_\+\+RESPOND\+\_\+\+MSG}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00045}{NG\+\_\+\+VLANROTATE\+\_\+\+MAX\+\_\+\+VLANS}}, \mbox{\hyperlink{netgraph_8h_source_l00858}{NGI\+\_\+\+GET\+\_\+\+MSG}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00063}{NGM\+\_\+\+VLANROTATE\+\_\+\+CLR\+\_\+\+STAT}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00036}{NGM\+\_\+\+VLANROTATE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00060}{NGM\+\_\+\+VLANROTATE\+\_\+\+GET\+\_\+\+CONF}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00062}{NGM\+\_\+\+VLANROTATE\+\_\+\+GET\+\_\+\+STAT}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00064}{NGM\+\_\+\+VLANROTATE\+\_\+\+GETCLR\+\_\+\+STAT}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00061}{NGM\+\_\+\+VLANROTATE\+\_\+\+SET\+\_\+\+CONF}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00049}{ng\+\_\+vlanrotate\+\_\+conf\+::rot}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00162}{vlanrotate\+::stats}}, and \mbox{\hyperlink{ng__message_8h_source_l00066}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::typecookie}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a7e2c879a8a3614a5a11cf383182fdf60}\label{ng__vlan__rotate_8c_a7e2c879a8a3614a5a11cf383182fdf60}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_rotate@{ng\_vlanrotate\_rotate}}
\index{ng\_vlanrotate\_rotate@{ng\_vlanrotate\_rotate}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_rotate()}{ng\_vlanrotate\_rotate()}}
{\footnotesize\ttfamily static void ng\+\_\+vlanrotate\+\_\+rotate (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structether__vlan__stack__entry}{ether\+\_\+vlan\+\_\+stack\+\_\+entry}}}]{arr\mbox{[}$\,$\mbox{]},  }\item[{int}]{d,  }\item[{int}]{n }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00347}{347}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00338}{ng\+\_\+vlanrotate\+\_\+gcd()}}.



Referenced by \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00373}{ng\+\_\+vlanrotate\+\_\+rcvdata()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=342pt]{d5/d28/ng__vlan__rotate_8c_a7e2c879a8a3614a5a11cf383182fdf60_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d28/ng__vlan__rotate_8c_a7e2c879a8a3614a5a11cf383182fdf60_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__vlan__rotate_8c_a713a621d67f553b8468bde60ef80d9a9}\label{ng__vlan__rotate_8c_a713a621d67f553b8468bde60ef80d9a9}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_shutdown@{ng\_vlanrotate\_shutdown}}
\index{ng\_vlanrotate\_shutdown@{ng\_vlanrotate\_shutdown}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_shutdown()}{ng\_vlanrotate\_shutdown()}}
{\footnotesize\ttfamily static int ng\+\_\+vlanrotate\+\_\+shutdown (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00468}{468}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.



References \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::drops}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::excessive}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00152}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::histogram}}, \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00151}{ng\+\_\+vlanrotate\+\_\+kernel\+\_\+stats\+::incomplete}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00608}{NG\+\_\+\+NODE\+\_\+\+SET\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00607}{NG\+\_\+\+NODE\+\_\+\+UNREF}}, \mbox{\hyperlink{ng__vlan__rotate_8h_source_l00045}{NG\+\_\+\+VLANROTATE\+\_\+\+MAX\+\_\+\+VLANS}}, and \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00162}{vlanrotate\+::stats}}.



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ng__vlan__rotate_8c_a1560ce29ccb13330fd78e854ec096aec}\label{ng__vlan__rotate_8c_a1560ce29ccb13330fd78e854ec096aec}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!\_\_packed@{\_\_packed}}
\index{\_\_packed@{\_\_packed}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{\_\_packed}{\_\_packed}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structether__vlan__stack__header}{ether\+\_\+vlan\+\_\+stack\+\_\+header}} \+\_\+\+\_\+packed}

\mbox{\Hypertarget{ng__vlan__rotate_8c_a7385fbd5700924cdebb378f05bf123fb}\label{ng__vlan__rotate_8c_a7385fbd5700924cdebb378f05bf123fb}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_cmdlist@{ng\_vlanrotate\_cmdlist}}
\index{ng\_vlanrotate\_cmdlist@{ng\_vlanrotate\_cmdlist}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_cmdlist}{ng\_vlanrotate\_cmdlist}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} ng\+\_\+vlanrotate\+\_\+cmdlist\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00097}{97}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_aba893402a35b575f2e40211a086a9724}\label{ng__vlan__rotate_8c_aba893402a35b575f2e40211a086a9724}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_conf\_fields@{ng\_vlanrotate\_conf\_fields}}
\index{ng\_vlanrotate\_conf\_fields@{ng\_vlanrotate\_conf\_fields}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_conf\_fields}{ng\_vlanrotate\_conf\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+vlanrotate\+\_\+conf\+\_\+fields\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{\textcolor{stringliteral}{"{}rot"{}}, \&\mbox{\hyperlink{ng__parse_8c_a819676cfdd299c1393586f63f529a867}{ng\_parse\_int8\_type}}\},}
\DoxyCodeLine{        \{\textcolor{stringliteral}{"{}min"{}}, \&\mbox{\hyperlink{ng__parse_8c_ad9b579abf3953b9655aec194529ddc1d}{ng\_parse\_uint8\_type}}\},}
\DoxyCodeLine{        \{\textcolor{stringliteral}{"{}max"{}}, \&\mbox{\hyperlink{ng__parse_8c_ad9b579abf3953b9655aec194529ddc1d}{ng\_parse\_uint8\_type}}\},}
\DoxyCodeLine{        \{NULL\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00063}{63}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a90fff93b9d14fcd3e01d4d37bd964b14}\label{ng__vlan__rotate_8c_a90fff93b9d14fcd3e01d4d37bd964b14}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_conf\_type@{ng\_vlanrotate\_conf\_type}}
\index{ng\_vlanrotate\_conf\_type@{ng\_vlanrotate\_conf\_type}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_conf\_type}{ng\_vlanrotate\_conf\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+vlanrotate\+\_\+conf\+\_\+type\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_aa8b7049fbd698972a3d2ce77dfd7d079}{ng\_parse\_struct\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__vlan__rotate_8c_aba893402a35b575f2e40211a086a9724}{ng\_vlanrotate\_conf\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00069}{69}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a0a89d75cbf52d825f399a083220d0a0c}\label{ng__vlan__rotate_8c_a0a89d75cbf52d825f399a083220d0a0c}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_constructor@{ng\_vlanrotate\_constructor}}
\index{ng\_vlanrotate\_constructor@{ng\_vlanrotate\_constructor}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_constructor}{ng\_vlanrotate\_constructor}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} ng\+\_\+vlanrotate\+\_\+constructor\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00055}{55}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_afee9589ccada109b2a1b641e6d518b85}\label{ng__vlan__rotate_8c_afee9589ccada109b2a1b641e6d518b85}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_disconnect@{ng\_vlanrotate\_disconnect}}
\index{ng\_vlanrotate\_disconnect@{ng\_vlanrotate\_disconnect}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_disconnect}{ng\_vlanrotate\_disconnect}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} ng\+\_\+vlanrotate\+\_\+disconnect\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00060}{60}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a80e5eba15b37268f4abb9fd1cce14968}\label{ng__vlan__rotate_8c_a80e5eba15b37268f4abb9fd1cce14968}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_newhook@{ng\_vlanrotate\_newhook}}
\index{ng\_vlanrotate\_newhook@{ng\_vlanrotate\_newhook}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_newhook}{ng\_vlanrotate\_newhook}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} ng\+\_\+vlanrotate\+\_\+newhook\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00058}{58}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a53d573b84a34d51eab22cc3c20e3b225}\label{ng__vlan__rotate_8c_a53d573b84a34d51eab22cc3c20e3b225}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_rcvdata@{ng\_vlanrotate\_rcvdata}}
\index{ng\_vlanrotate\_rcvdata@{ng\_vlanrotate\_rcvdata}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_rcvdata}{ng\_vlanrotate\_rcvdata}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} ng\+\_\+vlanrotate\+\_\+rcvdata\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00059}{59}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a1c2f959d5e71ec3ab38dd76c9e8552c7}\label{ng__vlan__rotate_8c_a1c2f959d5e71ec3ab38dd76c9e8552c7}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_rcvmsg@{ng\_vlanrotate\_rcvmsg}}
\index{ng\_vlanrotate\_rcvmsg@{ng\_vlanrotate\_rcvmsg}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_rcvmsg}{ng\_vlanrotate\_rcvmsg}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} ng\+\_\+vlanrotate\+\_\+rcvmsg\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00056}{56}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a12910a15d0bdb967de109c5df752737b}\label{ng__vlan__rotate_8c_a12910a15d0bdb967de109c5df752737b}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_shutdown@{ng\_vlanrotate\_shutdown}}
\index{ng\_vlanrotate\_shutdown@{ng\_vlanrotate\_shutdown}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_shutdown}{ng\_vlanrotate\_shutdown}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aab0a679789a1af312a7f856b4668ad74}{ng\+\_\+shutdown\+\_\+t}} ng\+\_\+vlanrotate\+\_\+shutdown\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00057}{57}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a91dfd201699600a1c752a985133bd2f2}\label{ng__vlan__rotate_8c_a91dfd201699600a1c752a985133bd2f2}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_stat\_fields@{ng\_vlanrotate\_stat\_fields}}
\index{ng\_vlanrotate\_stat\_fields@{ng\_vlanrotate\_stat\_fields}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_stat\_fields}{ng\_vlanrotate\_stat\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+vlanrotate\+\_\+stat\+\_\+fields\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \{\textcolor{stringliteral}{"{}drops"{}}, \&\mbox{\hyperlink{ng__parse_8c_a2efc35331c0407f6367763b8bb9fda94}{ng\_parse\_uint64\_type}}\},}
\DoxyCodeLine{        \{\textcolor{stringliteral}{"{}excessive"{}}, \&\mbox{\hyperlink{ng__parse_8c_a2efc35331c0407f6367763b8bb9fda94}{ng\_parse\_uint64\_type}}\},}
\DoxyCodeLine{        \{\textcolor{stringliteral}{"{}incomplete"{}}, \&\mbox{\hyperlink{ng__parse_8c_a2efc35331c0407f6367763b8bb9fda94}{ng\_parse\_uint64\_type}}\},}
\DoxyCodeLine{        \{\textcolor{stringliteral}{"{}histogram"{}}, \&\mbox{\hyperlink{ng__vlan__rotate_8c_a9ce76b0b926337c5975d529c36ae8d36}{ng\_vlanrotate\_stat\_hist}}\},}
\DoxyCodeLine{        \{NULL\}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00083}{83}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a9ce76b0b926337c5975d529c36ae8d36}\label{ng__vlan__rotate_8c_a9ce76b0b926337c5975d529c36ae8d36}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_stat\_hist@{ng\_vlanrotate\_stat\_hist}}
\index{ng\_vlanrotate\_stat\_hist@{ng\_vlanrotate\_stat\_hist}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_stat\_hist}{ng\_vlanrotate\_stat\_hist}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+vlanrotate\+\_\+stat\+\_\+hist\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_a752f8efa9316ec01f55c30403511e6e9}{ng\_parse\_fixedarray\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__vlan__rotate_8c_a12764622753929a4510d312d8a1ba608}{ng\_vlanrotate\_stat\_hist\_info}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00079}{79}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a12764622753929a4510d312d8a1ba608}\label{ng__vlan__rotate_8c_a12764622753929a4510d312d8a1ba608}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_stat\_hist\_info@{ng\_vlanrotate\_stat\_hist\_info}}
\index{ng\_vlanrotate\_stat\_hist\_info@{ng\_vlanrotate\_stat\_hist\_info}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_stat\_hist\_info}{ng\_vlanrotate\_stat\_hist\_info}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__parse__fixedarray__info}{ng\+\_\+parse\+\_\+fixedarray\+\_\+info}} ng\+\_\+vlanrotate\+\_\+stat\+\_\+hist\+\_\+info\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_a2efc35331c0407f6367763b8bb9fda94}{ng\_parse\_uint64\_type}},}
\DoxyCodeLine{        \mbox{\hyperlink{ng__vlan__rotate_8h_a7b21f3a58d13aa24d3da61229ba03b0d}{NG\_VLANROTATE\_MAX\_VLANS}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00075}{75}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a22b24bd67b29f8e9d734144b8886cc66}\label{ng__vlan__rotate_8c_a22b24bd67b29f8e9d734144b8886cc66}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!ng\_vlanrotate\_stat\_type@{ng\_vlanrotate\_stat\_type}}
\index{ng\_vlanrotate\_stat\_type@{ng\_vlanrotate\_stat\_type}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{ng\_vlanrotate\_stat\_type}{ng\_vlanrotate\_stat\_type}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+vlanrotate\+\_\+stat\+\_\+type\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__parse_8c_aa8b7049fbd698972a3d2ce77dfd7d079}{ng\_parse\_struct\_type}},}
\DoxyCodeLine{        \&\mbox{\hyperlink{ng__vlan__rotate_8c_a91dfd201699600a1c752a985133bd2f2}{ng\_vlanrotate\_stat\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00090}{90}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

\mbox{\Hypertarget{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}\label{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}} 
\index{ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}!typestruct@{typestruct}}
\index{typestruct@{typestruct}!ng\_vlan\_rotate.c@{ng\_vlan\_rotate.c}}
\doxysubsubsection{\texorpdfstring{typestruct}{typestruct}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} typestruct\hspace{0.3cm}{\ttfamily [static]}}

{\bfseries Initial value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{= \{}
\DoxyCodeLine{        .version = \mbox{\hyperlink{netgraph_8h_acc6b5f853e8058f4d5a8ca825ee60c97}{NG\_ABI\_VERSION}},}
\DoxyCodeLine{        .name = \mbox{\hyperlink{ng__vlan__rotate_8h_ab8b8347bc35d38d4c897b93e814bb17b}{NG\_VLANROTATE\_NODE\_TYPE}},}
\DoxyCodeLine{        .constructor = \mbox{\hyperlink{ng__vlan__rotate_8c_a0a89d75cbf52d825f399a083220d0a0c}{ng\_vlanrotate\_constructor}},}
\DoxyCodeLine{        .rcvmsg = \mbox{\hyperlink{ng__vlan__rotate_8c_a1c2f959d5e71ec3ab38dd76c9e8552c7}{ng\_vlanrotate\_rcvmsg}},}
\DoxyCodeLine{        .shutdown = \mbox{\hyperlink{ng__vlan__rotate_8c_a12910a15d0bdb967de109c5df752737b}{ng\_vlanrotate\_shutdown}},}
\DoxyCodeLine{        .newhook = \mbox{\hyperlink{ng__vlan__rotate_8c_a80e5eba15b37268f4abb9fd1cce14968}{ng\_vlanrotate\_newhook}},}
\DoxyCodeLine{        .rcvdata = \mbox{\hyperlink{ng__vlan__rotate_8c_a53d573b84a34d51eab22cc3c20e3b225}{ng\_vlanrotate\_rcvdata}},}
\DoxyCodeLine{        .disconnect = \mbox{\hyperlink{ng__vlan__rotate_8c_afee9589ccada109b2a1b641e6d518b85}{ng\_vlanrotate\_disconnect}},}
\DoxyCodeLine{        .cmdlist = \mbox{\hyperlink{ng__vlan__rotate_8c_a7385fbd5700924cdebb378f05bf123fb}{ng\_vlanrotate\_cmdlist}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__vlan__rotate_8c_source_l00137}{137}} of file \mbox{\hyperlink{ng__vlan__rotate_8c_source}{ng\+\_\+vlan\+\_\+rotate.\+c}}.

