\hypertarget{ng__ip__input_8c}{}\doxysection{netgraph/ng\+\_\+ip\+\_\+input.c File Reference}
\label{ng__ip__input_8c}\index{netgraph/ng\_ip\_input.c@{netgraph/ng\_ip\_input.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/socket.\+h$>$}\newline
{\ttfamily \#include $<$sys/proc.\+h$>$}\newline
{\ttfamily \#include $<$net/if.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+types.\+h$>$}\newline
{\ttfamily \#include $<$net/if\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$netinet/in.\+h$>$}\newline
{\ttfamily \#include $<$netinet/in\+\_\+var.\+h$>$}\newline
{\ttfamily \#include $<$net/netisr.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+message.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/netgraph.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+ip\+\_\+input.\+h$>$}\newline
Include dependency graph for ng\+\_\+ip\+\_\+input.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/df2/ng__ip__input_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{ng__ip__input_8c_af43360830518ffdeabe0b669827946c8}{NETGRAPH\+\_\+\+INIT}} (ip\+\_\+input, \&\mbox{\hyperlink{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}})
\item 
static int \mbox{\hyperlink{ng__ip__input_8c_a7b1386bfad2ea8c96e215ac8c2c34f78}{ngipi\+\_\+cons}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__ip__input_8c_a17600b8aa3d367723a33abc8e9b55163}{ngipi\+\_\+rcvdata}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static int \mbox{\hyperlink{ng__ip__input_8c_a1e9e83c2477cdbaa0ff0c015e55795c3}{ngipi\+\_\+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__ip__input_8c_a5afc84e31cf1cd20c565980dc10bd6f1}{ngipi\+\_\+cons}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__ip__input_8c_a7ea743460697bddc2e998622d232be36}{ngipi\+\_\+rcvdata}}
\item 
static \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} \mbox{\hyperlink{ng__ip__input_8c_a38e2b348e1867365ee3f9ac89d8616ac}{ngipi\+\_\+disconnect}}
\item 
static struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} \mbox{\hyperlink{ng__ip__input_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}}
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ng__ip__input_8c_af43360830518ffdeabe0b669827946c8}\label{ng__ip__input_8c_af43360830518ffdeabe0b669827946c8}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!NETGRAPH\_INIT@{NETGRAPH\_INIT}}
\index{NETGRAPH\_INIT@{NETGRAPH\_INIT}!ng\_ip\_input.c@{ng\_ip\_input.c}}
\doxysubsubsection{\texorpdfstring{NETGRAPH\_INIT()}{NETGRAPH\_INIT()}}
{\footnotesize\ttfamily NETGRAPH\+\_\+\+INIT (\begin{DoxyParamCaption}\item[{ip\+\_\+input}]{,  }\item[{\&}]{typestruct }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__ip__input_8c_a7b1386bfad2ea8c96e215ac8c2c34f78}\label{ng__ip__input_8c_a7b1386bfad2ea8c96e215ac8c2c34f78}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!ngipi\_cons@{ngipi\_cons}}
\index{ngipi\_cons@{ngipi\_cons}!ng\_ip\_input.c@{ng\_ip\_input.c}}
\doxysubsubsection{\texorpdfstring{ngipi\_cons()}{ngipi\_cons()}}
{\footnotesize\ttfamily static int ngipi\+\_\+cons (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ip__input_8c_source_l00111}{111}} of file \mbox{\hyperlink{ng__ip__input_8c_source}{ng\+\_\+ip\+\_\+input.\+c}}.

\mbox{\Hypertarget{ng__ip__input_8c_a1e9e83c2477cdbaa0ff0c015e55795c3}\label{ng__ip__input_8c_a1e9e83c2477cdbaa0ff0c015e55795c3}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!ngipi\_disconnect@{ngipi\_disconnect}}
\index{ngipi\_disconnect@{ngipi\_disconnect}!ng\_ip\_input.c@{ng\_ip\_input.c}}
\doxysubsubsection{\texorpdfstring{ngipi\_disconnect()}{ngipi\_disconnect()}}
{\footnotesize\ttfamily static int ngipi\+\_\+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__ip__input_8c_source_l00142}{142}} of file \mbox{\hyperlink{ng__ip__input_8c_source}{ng\+\_\+ip\+\_\+input.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00615}{NG\+\_\+\+NODE\+\_\+\+NUMHOOKS}}, and \mbox{\hyperlink{ng__base_8c_source_l01609}{ng\+\_\+rmnode\+\_\+self()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d7/dac/ng__ip__input_8c_a1e9e83c2477cdbaa0ff0c015e55795c3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__ip__input_8c_a17600b8aa3d367723a33abc8e9b55163}\label{ng__ip__input_8c_a17600b8aa3d367723a33abc8e9b55163}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!ngipi\_rcvdata@{ngipi\_rcvdata}}
\index{ngipi\_rcvdata@{ngipi\_rcvdata}!ng\_ip\_input.c@{ng\_ip\_input.c}}
\doxysubsubsection{\texorpdfstring{ngipi\_rcvdata()}{ngipi\_rcvdata()}}
{\footnotesize\ttfamily static int ngipi\+\_\+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__ip__input_8c_source_l00120}{120}} of file \mbox{\hyperlink{ng__ip__input_8c_source}{ng\+\_\+ip\+\_\+input.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, and \mbox{\hyperlink{netgraph_8h_source_l00852}{NGI\+\_\+\+GET\+\_\+M}}.



\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ng__ip__input_8c_a5afc84e31cf1cd20c565980dc10bd6f1}\label{ng__ip__input_8c_a5afc84e31cf1cd20c565980dc10bd6f1}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!ngipi\_cons@{ngipi\_cons}}
\index{ngipi\_cons@{ngipi\_cons}!ng\_ip\_input.c@{ng\_ip\_input.c}}
\doxysubsubsection{\texorpdfstring{ngipi\_cons}{ngipi\_cons}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} ngipi\+\_\+cons\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ip__input_8c_source_l00094}{94}} of file \mbox{\hyperlink{ng__ip__input_8c_source}{ng\+\_\+ip\+\_\+input.\+c}}.

\mbox{\Hypertarget{ng__ip__input_8c_a38e2b348e1867365ee3f9ac89d8616ac}\label{ng__ip__input_8c_a38e2b348e1867365ee3f9ac89d8616ac}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!ngipi\_disconnect@{ngipi\_disconnect}}
\index{ngipi\_disconnect@{ngipi\_disconnect}!ng\_ip\_input.c@{ng\_ip\_input.c}}
\doxysubsubsection{\texorpdfstring{ngipi\_disconnect}{ngipi\_disconnect}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} ngipi\+\_\+disconnect\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ip__input_8c_source_l00096}{96}} of file \mbox{\hyperlink{ng__ip__input_8c_source}{ng\+\_\+ip\+\_\+input.\+c}}.

\mbox{\Hypertarget{ng__ip__input_8c_a7ea743460697bddc2e998622d232be36}\label{ng__ip__input_8c_a7ea743460697bddc2e998622d232be36}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!ngipi\_rcvdata@{ngipi\_rcvdata}}
\index{ngipi\_rcvdata@{ngipi\_rcvdata}!ng\_ip\_input.c@{ng\_ip\_input.c}}
\doxysubsubsection{\texorpdfstring{ngipi\_rcvdata}{ngipi\_rcvdata}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} ngipi\+\_\+rcvdata\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__ip__input_8c_source_l00095}{95}} of file \mbox{\hyperlink{ng__ip__input_8c_source}{ng\+\_\+ip\+\_\+input.\+c}}.

\mbox{\Hypertarget{ng__ip__input_8c_a80a131770518c7fa3758d85054006e7a}\label{ng__ip__input_8c_a80a131770518c7fa3758d85054006e7a}} 
\index{ng\_ip\_input.c@{ng\_ip\_input.c}!typestruct@{typestruct}}
\index{typestruct@{typestruct}!ng\_ip\_input.c@{ng\_ip\_input.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__ip__input_8h_a8e04785aa65ad6cfa99b384e9375d438}{NG\_IP\_INPUT\_NODE\_TYPE}},}
\DoxyCodeLine{        .constructor =  \mbox{\hyperlink{ng__ip__input_8c_a5afc84e31cf1cd20c565980dc10bd6f1}{ngipi\_cons}},}
\DoxyCodeLine{        .rcvdata =      \mbox{\hyperlink{ng__ip__input_8c_a7ea743460697bddc2e998622d232be36}{ngipi\_rcvdata}},}
\DoxyCodeLine{        .disconnect =   \mbox{\hyperlink{ng__ip__input_8c_a38e2b348e1867365ee3f9ac89d8616ac}{ngipi\_disconnect}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__ip__input_8c_source_l00098}{98}} of file \mbox{\hyperlink{ng__ip__input_8c_source}{ng\+\_\+ip\+\_\+input.\+c}}.

