\hypertarget{ng__pppoe_8c}{}\doxysection{netgraph/ng\+\_\+pppoe.c File Reference}
\label{ng__pppoe_8c}\index{netgraph/ng\_pppoe.c@{netgraph/ng\_pppoe.c}}
{\ttfamily \#include $<$sys/param.\+h$>$}\newline
{\ttfamily \#include $<$sys/systm.\+h$>$}\newline
{\ttfamily \#include $<$sys/kernel.\+h$>$}\newline
{\ttfamily \#include $<$sys/ktr.\+h$>$}\newline
{\ttfamily \#include $<$sys/mbuf.\+h$>$}\newline
{\ttfamily \#include $<$sys/malloc.\+h$>$}\newline
{\ttfamily \#include $<$sys/errno.\+h$>$}\newline
{\ttfamily \#include $<$sys/epoch.\+h$>$}\newline
{\ttfamily \#include $<$sys/syslog.\+h$>$}\newline
{\ttfamily \#include $<$net/ethernet.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+message.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/netgraph.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+parse.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+pppoe.\+h$>$}\newline
{\ttfamily \#include $<$netgraph/ng\+\_\+ether.\+h$>$}\newline
Include dependency graph for ng\+\_\+pppoe.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{df/de6/ng__pppoe_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structsess__neg}{sess\+\_\+neg}}
\item 
struct \mbox{\hyperlink{structsess__con}{sess\+\_\+con}}
\item 
struct \mbox{\hyperlink{structsess__hash__entry}{sess\+\_\+hash\+\_\+entry}}
\item 
struct \mbox{\hyperlink{structPPPoE}{PPPoE}}
\item 
union \mbox{\hyperlink{unionuniq}{uniq}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_a1459a834a5941f6c12332a755b70a49b}{M\+\_\+\+NETGRAPH\+\_\+\+PPPOE}}~M\+\_\+\+NETGRAPH
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_ab373896d3e3a4b3ee1529d383f0d8b52}{SIGNOFF}}~\char`\"{}session closed\char`\"{}
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_acade42f7b4edcfbbcebc00e2589e1e56}{NUMTAGS}}~20 /$\ast$ number of tags we are set up to work with $\ast$/
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_a6615eddd2308fa27b73373ac310ab21c}{SESSHASHSIZE}}~0x0100
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_a82fc45d68e72538c3986aa8218edcfcf}{SESSHASH}}(x)~(((x) $^\wedge$ ((x) $>$$>$ 8)) \& (\mbox{\hyperlink{ng__pptpgre_8c_a6615eddd2308fa27b73373ac310ab21c}{SESSHASHSIZE}} -\/ 1))
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_a678f30c81e89ed94377301a04a43416e}{COMPAT\+\_\+3\+COM}}~0x00000001
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_aae1233f77aa0adb81c4b32d87b5133ad}{COMPAT\+\_\+\+DLINK}}~0x00000002
\item 
\#define \mbox{\hyperlink{ng__pppoe_8c_a1ea81a52f514f7758e71fca08b038bf6}{LEAVE}}(x)~do \{ error = x; goto quit; \} while(0)
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef struct \mbox{\hyperlink{structsess__neg}{sess\+\_\+neg}} $\ast$ \mbox{\hyperlink{ng__pppoe_8c_a9eeacb4035c89b99f1d7bbf3d9a8f524}{negp}}
\item 
typedef struct \mbox{\hyperlink{structsess__con}{sess\+\_\+con}} $\ast$ \mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}
\item 
typedef struct \mbox{\hyperlink{structPPPoE}{PPPoE}} $\ast$ \mbox{\hyperlink{ng__pppoe_8c_a17f6abfa8d4d780f2448f6506e147204}{priv\+\_\+p}}
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90}{state}} \{ \newline
\mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a6ed962cbe8ef75d93c81b0d0de5dab2a}{PPPOE\+\_\+\+SNONE}} =0
, \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ad99f69c3e7ba206e04f4e9883d6434e6}{PPPOE\+\_\+\+LISTENING}}
, \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90abce7db6df3b3336b58aac2dc709eae8a}{PPPOE\+\_\+\+SINIT}}
, \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ad6677ab0255fdfa44c4a521177196093}{PPPOE\+\_\+\+PRIMED}}
, \newline
\mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a536520274a9f9359f0c7f0fa545fb734}{PPPOE\+\_\+\+SOFFER}}
, \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90aa1bc415759fb8cdf37ce1f647854558c}{PPPOE\+\_\+\+SREQ}}
, \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a110422095d7a14bc807d39e06449d834}{PPPOE\+\_\+\+NEWCONNECTED}}
, \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a87f08f94e8288911d467c925a248d928}{PPPOE\+\_\+\+CONNECTED}}
, \newline
\mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ae39dac9b571e6d480c45c559aadc32a5}{PPPOE\+\_\+\+DEAD}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\mbox{\hyperlink{ng__pppoe_8c_a1e55c627850430082e5d3a9e0b54ec97}{NETGRAPH\+\_\+\+INIT}} (pppoe, \&\mbox{\hyperlink{ng__vlan__rotate_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}})
\item 
static void \mbox{\hyperlink{ng__pppoe_8c_abba562aea9cdad23262f7e965d63bde3}{pppoe\+\_\+start}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp)
\item 
static void \mbox{\hyperlink{ng__pppoe_8c_afa3a5587fc09b4ea57d954ed91d068b0}{pppoe\+\_\+ticker}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, void $\ast$arg1, int arg2)
\item 
static const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$ \mbox{\hyperlink{ng__pppoe_8c_a7d80bec3ebc61330788ef50ca9034057}{scan\+\_\+tags}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp, const struct \mbox{\hyperlink{structpppoe__hdr}{pppoe\+\_\+hdr}} $\ast$ph)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a7f63b1db45ec2f3585bea152760fa91c}{pppoe\+\_\+send\+\_\+event}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp, enum \mbox{\hyperlink{ng__pppoe_8h_adfc5ba7e22f5e4a6221c12a70503bef3}{cmd}} cmdid)
\item 
static \+\_\+\+\_\+inline const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$ \mbox{\hyperlink{ng__pppoe_8c_aafdf07cced1e126fea9f8f3e0682f587}{next\+\_\+tag}} (const struct \mbox{\hyperlink{structpppoe__hdr}{pppoe\+\_\+hdr}} $\ast$ph)
\item 
static const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$ \mbox{\hyperlink{ng__pppoe_8c_aa887e13dd52964f75ac9f59301196944}{get\+\_\+tag}} (const struct \mbox{\hyperlink{structpppoe__hdr}{pppoe\+\_\+hdr}} $\ast$ph, uint16\+\_\+t idx)
\item 
static void \mbox{\hyperlink{ng__pppoe_8c_a197d647e712fe59b6e1781df4612805b}{init\+\_\+tags}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp)
\item 
static void \mbox{\hyperlink{ng__pppoe_8c_a78909a6ab9022eeb677226f01d9e410b}{insert\+\_\+tag}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tp)
\item 
static void \mbox{\hyperlink{ng__pppoe_8c_a63d11938f3f1ae308335fe07300d774f}{make\+\_\+packet}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp)
\item 
static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} \mbox{\hyperlink{ng__pppoe_8c_ab0b370298459490b8814bd861d8b90ea}{pppoe\+\_\+match\+\_\+svc}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tag)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a7ae0ae75aedf4a499759efbfdc654c41}{pppoe\+\_\+broadcast\+\_\+padi}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, struct mbuf $\ast$m0)
\item 
static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} \mbox{\hyperlink{ng__pppoe_8c_a2b7bcb986c8a28a16130242b83a74a17}{pppoe\+\_\+find\+\_\+svc}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const char $\ast$svc\+\_\+name, int svc\+\_\+len)
\item 
static uint16\+\_\+t \mbox{\hyperlink{ng__pppoe_8c_ae8924db103e99fb2a8c056d553e669fb}{pppoe\+\_\+getnewsession}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp)
\item 
static void \mbox{\hyperlink{ng__pppoe_8c_ab660096a894df8ce246d589fe958a66f}{pppoe\+\_\+addsession}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp)
\item 
static void \mbox{\hyperlink{ng__pppoe_8c_afc052746522ca460f79a6f5bb668d49f}{pppoe\+\_\+delsession}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp)
\item 
static \mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} \mbox{\hyperlink{ng__pppoe_8c_a5212df6c08b4b291466caaa2e0ef3496}{pppoe\+\_\+findsession}} (\mbox{\hyperlink{ng__netflow_8h_a20ac59de066baac8be85fa2d943b37a3}{priv\+\_\+p}} privp, const struct \mbox{\hyperlink{structpppoe__full__hdr}{pppoe\+\_\+full\+\_\+hdr}} $\ast$wh)
\item 
static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} \mbox{\hyperlink{ng__pppoe_8c_a1e2599642ebcdafbcf2afe3f5bad6948}{pppoe\+\_\+finduniq}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tag)
\item 
static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} \mbox{\hyperlink{ng__pppoe_8c_a10b4e9a643481b7c042a3b3bd1b3dd2f}{pppoe\+\_\+findcookie}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tag)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a01356ad3cbb2dbded0e751f1b5cc30a3}{ng\+\_\+pppoe\+\_\+constructor}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a7e9e23be90439b1e1b26e5aa56391555}{ng\+\_\+pppoe\+\_\+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__pppoe_8c_a4aa29a973e994687018f285e7c8e11bf}{ng\+\_\+pppoe\+\_\+connect}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a736fcc54565538b62057e70aa3dd8569}{ng\+\_\+pppoe\+\_\+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__pppoe_8c_a890d400c93a9a5a620eda2bf555f5b60}{send\+\_\+acname}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tag)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a5955e6e51ecd8989fafe634e2a9325b8}{send\+\_\+sessionid}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a8a26822d8c4b14d8bb1a1c25629a6778}{send\+\_\+maxp}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tag)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a20520861aa7bb00826436ccef6c314e6}{send\+\_\+hurl}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tag)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a9f1b70969d2ebe2ee35b9a97838f83ec}{send\+\_\+motm}} (\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} sp, const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$tag)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_ae726d1bd7390562135145b7890744482}{ng\+\_\+pppoe\+\_\+rcvdata}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_a6058aa995a795be39639b38515002337}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_ad79926dd13d22859324ff9c570d67f48}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+debug}} (\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} hook, \mbox{\hyperlink{netgraph_8h_ab848be155baf7e8b7ad0dd03893c1cac}{item\+\_\+p}} item)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_aff8ecb13465fd1017f0a9845f09e0ff9}{ng\+\_\+pppoe\+\_\+shutdown}} (\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}} node)
\item 
static int \mbox{\hyperlink{ng__pppoe_8c_aa950875cc950e36905933eb9499fade4}{ng\+\_\+pppoe\+\_\+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__pppoe_8c_a45520b43464686d4195590a6960d0b26}{ng\+\_\+pppoe\+\_\+constructor}}
\item 
static \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_a931dd604605a484a03964486f3a4843b}{ng\+\_\+pppoe\+\_\+rcvmsg}}
\item 
static \mbox{\hyperlink{netgraph_8h_aab0a679789a1af312a7f856b4668ad74}{ng\+\_\+shutdown\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_a1b6c594ed921d408eda25deae94cbff1}{ng\+\_\+pppoe\+\_\+shutdown}}
\item 
static \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_ab1803be9184b76f7bccea84a9d9cd074}{ng\+\_\+pppoe\+\_\+newhook}}
\item 
static \mbox{\hyperlink{netgraph_8h_a0e4a4a62e48409635e5f33c548baaea7}{ng\+\_\+connect\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_a13bb93dbe4614823975689a8a0d41e16}{ng\+\_\+pppoe\+\_\+connect}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_abb6de585a7d3e76319b91f2592a564c1}{ng\+\_\+pppoe\+\_\+rcvdata}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_a2ec731436c8c8dbf88c8b6a4856304f9}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether}}
\item 
static \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_afb2e20d22dc3910b5c294b7c838edfd9}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+debug}}
\item 
static \mbox{\hyperlink{netgraph_8h_a669e1783335f933b4a4f90f17d22f381}{ng\+\_\+disconnect\+\_\+t}} \mbox{\hyperlink{ng__pppoe_8c_a40a2ff206785a0531aa48d792e41bece}{ng\+\_\+pppoe\+\_\+disconnect}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__pppoe_8c_a9c4ef16ef1186c92484f11c797e15a6a}{ngpppoe\+\_\+init\+\_\+data\+\_\+type\+\_\+fields}} \mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__pppoe_8h_a7824063685cf7dc200853d4cd22f00c3}{NG\+\_\+\+PPPOE\+\_\+\+INIT\+\_\+\+DATA\+\_\+\+TYPE\+\_\+\+INFO}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__pppoe_8c_a136149e0410a240344867a7d965062e8}{ngpppoe\+\_\+init\+\_\+data\+\_\+state\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} \mbox{\hyperlink{ng__pppoe_8c_a8bd23917e1663ec5355e273b8118ff8d}{ng\+\_\+pppoe\+\_\+sts\+\_\+type\+\_\+fields}} \mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__pppoe_8h_a25c0c73688f3c5d54c7c7842e1829a63}{NG\+\_\+\+PPPOE\+\_\+\+STS\+\_\+\+TYPE\+\_\+\+INFO}}
\item 
static const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} \mbox{\hyperlink{ng__pppoe_8c_a8da420bc106672b51212262842458a3d}{ng\+\_\+pppoe\+\_\+sts\+\_\+state\+\_\+type}}
\item 
static const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} \mbox{\hyperlink{ng__pppoe_8c_a26d46fcb50270149b8fee54aadbf5a20}{ng\+\_\+pppoe\+\_\+cmds}} \mbox{[}$\,$\mbox{]}
\item 
static struct \mbox{\hyperlink{structng__type}{ng\+\_\+type}} \mbox{\hyperlink{ng__pppoe_8c_a80a131770518c7fa3758d85054006e7a}{typestruct}}
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{ng__pppoe_8c_a678f30c81e89ed94377301a04a43416e}\label{ng__pppoe_8c_a678f30c81e89ed94377301a04a43416e}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!COMPAT\_3COM@{COMPAT\_3COM}}
\index{COMPAT\_3COM@{COMPAT\_3COM}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{COMPAT\_3COM}{COMPAT\_3COM}}
{\footnotesize\ttfamily \#define COMPAT\+\_\+3\+COM~0x00000001}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00284}{284}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_aae1233f77aa0adb81c4b32d87b5133ad}\label{ng__pppoe_8c_aae1233f77aa0adb81c4b32d87b5133ad}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!COMPAT\_DLINK@{COMPAT\_DLINK}}
\index{COMPAT\_DLINK@{COMPAT\_DLINK}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{COMPAT\_DLINK}{COMPAT\_DLINK}}
{\footnotesize\ttfamily \#define COMPAT\+\_\+\+DLINK~0x00000002}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00285}{285}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a1ea81a52f514f7758e71fca08b038bf6}\label{ng__pppoe_8c_a1ea81a52f514f7758e71fca08b038bf6}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!LEAVE@{LEAVE}}
\index{LEAVE@{LEAVE}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{LEAVE}{LEAVE}}
{\footnotesize\ttfamily \#define LEAVE(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~do \{ error = x; goto quit; \} while(0)}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00298}{298}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a1459a834a5941f6c12332a755b70a49b}\label{ng__pppoe_8c_a1459a834a5941f6c12332a755b70a49b}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!M\_NETGRAPH\_PPPOE@{M\_NETGRAPH\_PPPOE}}
\index{M\_NETGRAPH\_PPPOE@{M\_NETGRAPH\_PPPOE}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{M\_NETGRAPH\_PPPOE}{M\_NETGRAPH\_PPPOE}}
{\footnotesize\ttfamily \#define M\+\_\+\+NETGRAPH\+\_\+\+PPPOE~M\+\_\+\+NETGRAPH}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00064}{64}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_acade42f7b4edcfbbcebc00e2589e1e56}\label{ng__pppoe_8c_acade42f7b4edcfbbcebc00e2589e1e56}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!NUMTAGS@{NUMTAGS}}
\index{NUMTAGS@{NUMTAGS}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{NUMTAGS}{NUMTAGS}}
{\footnotesize\ttfamily \#define NUMTAGS~20 /$\ast$ number of tags we are set up to work with $\ast$/}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00227}{227}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a82fc45d68e72538c3986aa8218edcfcf}\label{ng__pppoe_8c_a82fc45d68e72538c3986aa8218edcfcf}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!SESSHASH@{SESSHASH}}
\index{SESSHASH@{SESSHASH}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{SESSHASH}{SESSHASH}}
{\footnotesize\ttfamily \#define SESSHASH(\begin{DoxyParamCaption}\item[{}]{x }\end{DoxyParamCaption})~(((x) $^\wedge$ ((x) $>$$>$ 8)) \& (\mbox{\hyperlink{ng__pptpgre_8c_a6615eddd2308fa27b73373ac310ab21c}{SESSHASHSIZE}} -\/ 1))}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00267}{267}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a6615eddd2308fa27b73373ac310ab21c}\label{ng__pppoe_8c_a6615eddd2308fa27b73373ac310ab21c}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!SESSHASHSIZE@{SESSHASHSIZE}}
\index{SESSHASHSIZE@{SESSHASHSIZE}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{SESSHASHSIZE}{SESSHASHSIZE}}
{\footnotesize\ttfamily \#define SESSHASHSIZE~0x0100}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00266}{266}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_ab373896d3e3a4b3ee1529d383f0d8b52}\label{ng__pppoe_8c_ab373896d3e3a4b3ee1529d383f0d8b52}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!SIGNOFF@{SIGNOFF}}
\index{SIGNOFF@{SIGNOFF}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{SIGNOFF}{SIGNOFF}}
{\footnotesize\ttfamily \#define SIGNOFF~\char`\"{}session closed\char`\"{}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00067}{67}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{ng__pppoe_8c_a9eeacb4035c89b99f1d7bbf3d9a8f524}\label{ng__pppoe_8c_a9eeacb4035c89b99f1d7bbf3d9a8f524}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!negp@{negp}}
\index{negp@{negp}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{negp}{negp}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structsess__neg}{sess\+\_\+neg}}$\ast$ \mbox{\hyperlink{ng__pppoe_8c_a9eeacb4035c89b99f1d7bbf3d9a8f524}{negp}}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00250}{250}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a17f6abfa8d4d780f2448f6506e147204}\label{ng__pppoe_8c_a17f6abfa8d4d780f2448f6506e147204}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!priv\_p@{priv\_p}}
\index{priv\_p@{priv\_p}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{priv\_p}{priv\_p}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structPPPoE}{PPPoE}}$\ast$ \mbox{\hyperlink{ng__netflow_8h_a20ac59de066baac8be85fa2d943b37a3}{priv\+\_\+p}}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00291}{291}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}\label{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!sessp@{sessp}}
\index{sessp@{sessp}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{sessp}{sessp}}
{\footnotesize\ttfamily typedef struct \mbox{\hyperlink{structsess__con}{sess\+\_\+con}}$\ast$ \mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00264}{264}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!state@{state}}
\index{state@{state}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{state}{state}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90}{state}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_SNONE@{PPPOE\_SNONE}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_SNONE@{PPPOE\_SNONE}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a6ed962cbe8ef75d93c81b0d0de5dab2a}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a6ed962cbe8ef75d93c81b0d0de5dab2a}} 
PPPOE\+\_\+\+SNONE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_LISTENING@{PPPOE\_LISTENING}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_LISTENING@{PPPOE\_LISTENING}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ad99f69c3e7ba206e04f4e9883d6434e6}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ad99f69c3e7ba206e04f4e9883d6434e6}} 
PPPOE\+\_\+\+LISTENING&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_SINIT@{PPPOE\_SINIT}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_SINIT@{PPPOE\_SINIT}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90abce7db6df3b3336b58aac2dc709eae8a}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90abce7db6df3b3336b58aac2dc709eae8a}} 
PPPOE\+\_\+\+SINIT&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_PRIMED@{PPPOE\_PRIMED}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_PRIMED@{PPPOE\_PRIMED}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ad6677ab0255fdfa44c4a521177196093}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ad6677ab0255fdfa44c4a521177196093}} 
PPPOE\+\_\+\+PRIMED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_SOFFER@{PPPOE\_SOFFER}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_SOFFER@{PPPOE\_SOFFER}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a536520274a9f9359f0c7f0fa545fb734}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a536520274a9f9359f0c7f0fa545fb734}} 
PPPOE\+\_\+\+SOFFER&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_SREQ@{PPPOE\_SREQ}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_SREQ@{PPPOE\_SREQ}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90aa1bc415759fb8cdf37ce1f647854558c}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90aa1bc415759fb8cdf37ce1f647854558c}} 
PPPOE\+\_\+\+SREQ&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_NEWCONNECTED@{PPPOE\_NEWCONNECTED}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_NEWCONNECTED@{PPPOE\_NEWCONNECTED}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a110422095d7a14bc807d39e06449d834}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a110422095d7a14bc807d39e06449d834}} 
PPPOE\+\_\+\+NEWCONNECTED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_CONNECTED@{PPPOE\_CONNECTED}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_CONNECTED@{PPPOE\_CONNECTED}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a87f08f94e8288911d467c925a248d928}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90a87f08f94e8288911d467c925a248d928}} 
PPPOE\+\_\+\+CONNECTED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{PPPOE\_DEAD@{PPPOE\_DEAD}!ng\_pppoe.c@{ng\_pppoe.c}}\index{ng\_pppoe.c@{ng\_pppoe.c}!PPPOE\_DEAD@{PPPOE\_DEAD}}}\mbox{\Hypertarget{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ae39dac9b571e6d480c45c559aadc32a5}\label{ng__pppoe_8c_adc6e5733fc3c22f0a7b2914188c49c90ae39dac9b571e6d480c45c559aadc32a5}} 
PPPOE\+\_\+\+DEAD&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00215}{215}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{ng__pppoe_8c_aa887e13dd52964f75ac9f59301196944}\label{ng__pppoe_8c_aa887e13dd52964f75ac9f59301196944}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!get\_tag@{get\_tag}}
\index{get\_tag@{get\_tag}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{get\_tag()}{get\_tag()}}
{\footnotesize\ttfamily static const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$ get\+\_\+tag (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structpppoe__hdr}{pppoe\+\_\+hdr}} $\ast$}]{ph,  }\item[{uint16\+\_\+t}]{idx }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00326}{326}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00314}{next\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00231}{pppoe\+\_\+tag\+::tag\+\_\+type}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=228pt]{d5/d43/ng__pppoe_8c_aa887e13dd52964f75ac9f59301196944_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=306pt]{d5/d43/ng__pppoe_8c_aa887e13dd52964f75ac9f59301196944_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a197d647e712fe59b6e1781df4612805b}\label{ng__pppoe_8c_a197d647e712fe59b6e1781df4612805b}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!init\_tags@{init\_tags}}
\index{init\_tags@{init\_tags}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{init\_tags()}{init\_tags()}}
{\footnotesize\ttfamily static void init\+\_\+tags (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00364}{364}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00240}{sess\+\_\+neg\+::numtags}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{pppoe\+\_\+start()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a197d647e712fe59b6e1781df4612805b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a78909a6ab9022eeb677226f01d9e410b}\label{ng__pppoe_8c_a78909a6ab9022eeb677226f01d9e410b}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!insert\_tag@{insert\_tag}}
\index{insert\_tag@{insert\_tag}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{insert\_tag()}{insert\_tag()}}
{\footnotesize\ttfamily static void insert\+\_\+tag (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00371}{371}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00227}{NUMTAGS}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00240}{sess\+\_\+neg\+::numtags}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00241}{sess\+\_\+neg\+::tags}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{pppoe\+\_\+start()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l02149}{scan\+\_\+tags()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a78909a6ab9022eeb677226f01d9e410b_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a63d11938f3f1ae308335fe07300d774f}\label{ng__pppoe_8c_a63d11938f3f1ae308335fe07300d774f}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!make\_packet@{make\_packet}}
\index{make\_packet@{make\_packet}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{make\_packet()}{make\_packet()}}
{\footnotesize\ttfamily static void make\+\_\+packet (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00395}{395}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{netflow_8h_source_l00001}{count}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00001}{length}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00240}{pppoe\+\_\+hdr\+::length}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00236}{sess\+\_\+neg\+::m}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00227}{NUMTAGS}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00240}{sess\+\_\+neg\+::numtags}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00245}{pppoe\+\_\+full\+\_\+hdr\+::ph}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00237}{sess\+\_\+neg\+::pkt}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00249}{packet\+::pkt\+\_\+header}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00241}{sess\+\_\+neg\+::tags}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{pppoe\+\_\+start()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a63d11938f3f1ae308335fe07300d774f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a1e55c627850430082e5d3a9e0b54ec97}\label{ng__pppoe_8c_a1e55c627850430082e5d3a9e0b54ec97}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!NETGRAPH\_INIT@{NETGRAPH\_INIT}}
\index{NETGRAPH\_INIT@{NETGRAPH\_INIT}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{NETGRAPH\_INIT()}{NETGRAPH\_INIT()}}
{\footnotesize\ttfamily NETGRAPH\+\_\+\+INIT (\begin{DoxyParamCaption}\item[{pppoe}]{,  }\item[{\&}]{typestruct }\end{DoxyParamCaption})}

\mbox{\Hypertarget{ng__pppoe_8c_aafdf07cced1e126fea9f8f3e0682f587}\label{ng__pppoe_8c_aafdf07cced1e126fea9f8f3e0682f587}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!next\_tag@{next\_tag}}
\index{next\_tag@{next\_tag}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{next\_tag()}{next\_tag()}}
{\footnotesize\ttfamily static \+\_\+\+\_\+inline const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$ next\+\_\+tag (\begin{DoxyParamCaption}\item[{const struct \mbox{\hyperlink{structpppoe__hdr}{pppoe\+\_\+hdr}} $\ast$}]{ph }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00314}{314}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00240}{pppoe\+\_\+hdr\+::length}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l00326}{get\+\_\+tag()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l02149}{scan\+\_\+tags()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_aafdf07cced1e126fea9f8f3e0682f587_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a4aa29a973e994687018f285e7c8e11bf}\label{ng__pppoe_8c_a4aa29a973e994687018f285e7c8e11bf}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_connect@{ng\_pppoe\_connect}}
\index{ng\_pppoe\_connect@{ng\_pppoe\_connect}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_connect()}{ng\_pppoe\_connect()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+connect (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00729}{729}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__message_8h_source_l00378}{NG\+\_\+\+MKMESSAGE}}, \mbox{\hyperlink{netgraph_8h_source_l00605}{NG\+\_\+\+NODE\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00167}{NG\+\_\+\+PEER\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00990}{NG\+\_\+\+SEND\+\_\+\+MSG\+\_\+\+ID}}, \mbox{\hyperlink{ng__ether_8h_source_l00050}{NGM\+\_\+\+ETHER\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__ether_8h_source_l00062}{NGM\+\_\+\+ETHER\+\_\+\+GET\+\_\+\+ENADDR}}, and \mbox{\hyperlink{ng__netflow_8h_source_l00409}{netflow\+::node}}.

\mbox{\Hypertarget{ng__pppoe_8c_a01356ad3cbb2dbded0e751f1b5cc30a3}\label{ng__pppoe_8c_a01356ad3cbb2dbded0e751f1b5cc30a3}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_constructor@{ng\_pppoe\_constructor}}
\index{ng\_pppoe\_constructor@{ng\_pppoe\_constructor}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_constructor()}{ng\_pppoe\_constructor()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+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__pppoe_8c_source_l00656}{656}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00205}{ETHERTYPE\+\_\+\+PPPOE\+\_\+\+DISC}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00064}{M\+\_\+\+NETGRAPH\+\_\+\+PPPOE}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00608}{NG\+\_\+\+NODE\+\_\+\+SET\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__netflow_8h_source_l00409}{netflow\+::node}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00266}{SESSHASHSIZE}}.

\mbox{\Hypertarget{ng__pppoe_8c_aa950875cc950e36905933eb9499fade4}\label{ng__pppoe_8c_aa950875cc950e36905933eb9499fade4}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_disconnect@{ng\_pppoe\_disconnect}}
\index{ng\_pppoe\_disconnect@{ng\_pppoe\_disconnect}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_disconnect()}{ng\_pppoe\_disconnect()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+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__pppoe_8c_source_l02001}{2001}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00238}{pppoe\+\_\+hdr\+::code}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00244}{pppoe\+\_\+full\+\_\+hdr\+::eh}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00207}{ETHERTYPE\+\_\+\+PPPOE\+\_\+3\+COM\+\_\+\+DISC}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00208}{ETHERTYPE\+\_\+\+PPPOE\+\_\+3\+COM\+\_\+\+SESS}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00205}{ETHERTYPE\+\_\+\+PPPOE\+\_\+\+DISC}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00238}{sess\+\_\+neg\+::handle}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00240}{pppoe\+\_\+hdr\+::length}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00236}{sess\+\_\+neg\+::m}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00064}{M\+\_\+\+NETGRAPH\+\_\+\+PPPOE}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00333}{NG\+\_\+\+HOOK\+\_\+\+SET\+\_\+\+PRIVATE}}, \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{netgraph_8h_source_l00932}{NG\+\_\+\+SEND\+\_\+\+DATA\+\_\+\+ONLY}}, \mbox{\hyperlink{ng__base_8c_source_l03840}{ng\+\_\+uncallout()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00081}{NGM\+\_\+\+PPPOE\+\_\+\+CLOSE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00186}{PADT\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00245}{pppoe\+\_\+full\+\_\+hdr\+::ph}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00260}{sess\+\_\+con\+::pkt\+\_\+hdr}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00223}{PPPOE\+\_\+\+CONNECTED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00570}{pppoe\+\_\+delsession()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00217}{PPPOE\+\_\+\+LISTENING}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00222}{PPPOE\+\_\+\+NEWCONNECTED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02193}{pppoe\+\_\+send\+\_\+event()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00216}{PPPOE\+\_\+\+SNONE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00203}{PTT\+\_\+\+GEN\+\_\+\+ERR}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00067}{SIGNOFF}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00258}{sess\+\_\+con\+::state}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00231}{pppoe\+\_\+tag\+::tag\+\_\+type}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_aa950875cc950e36905933eb9499fade4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a7e9e23be90439b1e1b26e5aa56391555}\label{ng__pppoe_8c_a7e9e23be90439b1e1b26e5aa56391555}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_newhook@{ng\_pppoe\_newhook}}
\index{ng\_pppoe\_newhook@{ng\_pppoe\_newhook}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_newhook()}{ng\_pppoe\_newhook()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+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__pppoe_8c_source_l00694}{694}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00064}{M\+\_\+\+NETGRAPH\+\_\+\+PPPOE}}, \mbox{\hyperlink{ng__ppp_8c_source_l00261}{name}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00333}{NG\+\_\+\+HOOK\+\_\+\+SET\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00335}{NG\+\_\+\+HOOK\+\_\+\+SET\+\_\+\+RCVDATA}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00062}{NG\+\_\+\+PPPOE\+\_\+\+HOOK\+\_\+\+DEBUG}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00061}{NG\+\_\+\+PPPOE\+\_\+\+HOOK\+\_\+\+ETHERNET}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00081}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+debug}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00080}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether}}.

\mbox{\Hypertarget{ng__pppoe_8c_ae726d1bd7390562135145b7890744482}\label{ng__pppoe_8c_ae726d1bd7390562135145b7890744482}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_rcvdata@{ng\_pppoe\_rcvdata}}
\index{ng\_pppoe\_rcvdata@{ng\_pppoe\_rcvdata}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_rcvdata()}{ng\_pppoe\_rcvdata()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+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__pppoe_8c_source_l01412}{1412}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__cisco_8c_a1560ce29ccb13330fd78e854ec096aec}{\+\_\+\+\_\+packed}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00247}{sess\+\_\+neg\+::ac\+\_\+name}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00238}{pppoe\+\_\+hdr\+::code}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00002}{data}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00244}{pppoe\+\_\+full\+\_\+hdr\+::eh}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00326}{get\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00238}{sess\+\_\+neg\+::handle}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00254}{datatag\+::hdr}}, \mbox{\hyperlink{netgraph_8h_source_l00117}{ng\+\_\+hook\+::hk\+\_\+name}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00364}{init\+\_\+tags()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00371}{insert\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00298}{LEAVE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00240}{pppoe\+\_\+hdr\+::length}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00236}{sess\+\_\+neg\+::m}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00395}{make\+\_\+packet()}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{ng__base_8c_source_l03789}{ng\+\_\+callout()}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00914}{NG\+\_\+\+FWD\+\_\+\+NEW\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__base_8c_source_l03840}{ng\+\_\+uncallout()}}, \mbox{\hyperlink{netgraph_8h_source_l00852}{NGI\+\_\+\+GET\+\_\+M}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00182}{PADI\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00183}{PADO\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00245}{pppoe\+\_\+full\+\_\+hdr\+::ph}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00237}{sess\+\_\+neg\+::pkt}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00260}{sess\+\_\+con\+::pkt\+\_\+hdr}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00249}{packet\+::pkt\+\_\+header}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00223}{PPPOE\+\_\+\+CONNECTED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00222}{PPPOE\+\_\+\+NEWCONNECTED}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00178}{PPPOE\+\_\+\+OFFER\+\_\+\+TIMEOUT}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00219}{PPPOE\+\_\+\+PRIMED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00220}{PPPOE\+\_\+\+SOFFER}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00195}{PTT\+\_\+\+AC\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00194}{PTT\+\_\+\+HOST\+\_\+\+UNIQ}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00192}{PTT\+\_\+\+SRV\+\_\+\+NAME}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02149}{scan\+\_\+tags()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00246}{sess\+\_\+neg\+::service}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00258}{sess\+\_\+con\+::state}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00239}{sess\+\_\+neg\+::timeout}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_ae726d1bd7390562135145b7890744482_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_ad79926dd13d22859324ff9c570d67f48}\label{ng__pppoe_8c_ad79926dd13d22859324ff9c570d67f48}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_rcvdata\_debug@{ng\_pppoe\_rcvdata\_debug}}
\index{ng\_pppoe\_rcvdata\_debug@{ng\_pppoe\_rcvdata\_debug}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_rcvdata\_debug()}{ng\_pppoe\_rcvdata\_debug()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+rcvdata\+\_\+debug (\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__pppoe_8c_source_l01961}{1961}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{netgraph_8h_source_l00117}{ng\+\_\+hook\+::hk\+\_\+name}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{netgraph_8h_source_l00898}{NG\+\_\+\+FWD\+\_\+\+ITEM\+\_\+\+HOOK}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, and \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}.

\mbox{\Hypertarget{ng__pppoe_8c_a6058aa995a795be39639b38515002337}\label{ng__pppoe_8c_a6058aa995a795be39639b38515002337}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_rcvdata\_ether@{ng\_pppoe\_rcvdata\_ether}}
\index{ng\_pppoe\_rcvdata\_ether@{ng\_pppoe\_rcvdata\_ether}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_rcvdata\_ether()}{ng\_pppoe\_rcvdata\_ether()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether (\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__pppoe_8c_source_l01555}{1555}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00247}{sess\+\_\+neg\+::ac\+\_\+name}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00243}{sess\+\_\+neg\+::ac\+\_\+name\+\_\+len}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00238}{pppoe\+\_\+hdr\+::code}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00284}{COMPAT\+\_\+3\+COM}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00285}{COMPAT\+\_\+\+DLINK}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00255}{datatag\+::data}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00244}{pppoe\+\_\+full\+\_\+hdr\+::eh}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00207}{ETHERTYPE\+\_\+\+PPPOE\+\_\+3\+COM\+\_\+\+DISC}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00208}{ETHERTYPE\+\_\+\+PPPOE\+\_\+3\+COM\+\_\+\+SESS}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00205}{ETHERTYPE\+\_\+\+PPPOE\+\_\+\+DISC}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00206}{ETHERTYPE\+\_\+\+PPPOE\+\_\+\+SESS}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00326}{get\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00238}{sess\+\_\+neg\+::handle}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00254}{datatag\+::hdr}}, \mbox{\hyperlink{netgraph_8h_source_l00117}{ng\+\_\+hook\+::hk\+\_\+name}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00364}{init\+\_\+tags()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00371}{insert\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00298}{LEAVE}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00001}{length}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00240}{pppoe\+\_\+hdr\+::length}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00236}{sess\+\_\+neg\+::m}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00064}{M\+\_\+\+NETGRAPH\+\_\+\+PPPOE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00395}{make\+\_\+packet()}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{ng__base_8c_source_l03789}{ng\+\_\+callout()}}, \mbox{\hyperlink{netgraph_8h_source_l00847}{NG\+\_\+\+FREE\+\_\+\+ITEM}}, \mbox{\hyperlink{netgraph_8h_source_l00946}{NG\+\_\+\+FREE\+\_\+M}}, \mbox{\hyperlink{netgraph_8h_source_l00914}{NG\+\_\+\+FWD\+\_\+\+NEW\+\_\+\+DATA}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__base_8c_source_l01631}{ng\+\_\+rmhook\+\_\+self()}}, \mbox{\hyperlink{ng__base_8c_source_l03840}{ng\+\_\+uncallout()}}, \mbox{\hyperlink{netgraph_8h_source_l00852}{NGI\+\_\+\+GET\+\_\+M}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00079}{NGM\+\_\+\+PPPOE\+\_\+\+SUCCESS}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00182}{PADI\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00187}{PADM\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00183}{PADO\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00184}{PADR\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00185}{PADS\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00186}{PADT\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00245}{pppoe\+\_\+full\+\_\+hdr\+::ph}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00237}{sess\+\_\+neg\+::pkt}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00260}{sess\+\_\+con\+::pkt\+\_\+hdr}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00249}{packet\+::pkt\+\_\+header}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00558}{pppoe\+\_\+addsession()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00477}{pppoe\+\_\+broadcast\+\_\+padi()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00223}{PPPOE\+\_\+\+CONNECTED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00629}{pppoe\+\_\+findcookie()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00582}{pppoe\+\_\+findsession()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00604}{pppoe\+\_\+finduniq()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00522}{pppoe\+\_\+getnewsession()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00179}{PPPOE\+\_\+\+INITIAL\+\_\+\+TIMEOUT}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00440}{pppoe\+\_\+match\+\_\+svc()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00222}{PPPOE\+\_\+\+NEWCONNECTED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02193}{pppoe\+\_\+send\+\_\+event()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00218}{PPPOE\+\_\+\+SINIT}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00220}{PPPOE\+\_\+\+SOFFER}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00221}{PPPOE\+\_\+\+SREQ}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00195}{PTT\+\_\+\+AC\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00193}{PTT\+\_\+\+AC\+\_\+\+NAME}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00194}{PTT\+\_\+\+HOST\+\_\+\+UNIQ}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00198}{PTT\+\_\+\+HURL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00200}{PTT\+\_\+\+MAX\+\_\+\+PAYL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00199}{PTT\+\_\+\+MOTM}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00192}{PTT\+\_\+\+SRV\+\_\+\+NAME}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02149}{scan\+\_\+tags()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01299}{send\+\_\+acname()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01363}{send\+\_\+hurl()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01341}{send\+\_\+maxp()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01386}{send\+\_\+motm()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01322}{send\+\_\+sessionid()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00246}{sess\+\_\+neg\+::service}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00239}{pppoe\+\_\+hdr\+::sid}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00258}{sess\+\_\+con\+::state}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00239}{sess\+\_\+neg\+::timeout}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a6058aa995a795be39639b38515002337_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a736fcc54565538b62057e70aa3dd8569}\label{ng__pppoe_8c_a736fcc54565538b62057e70aa3dd8569}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_rcvmsg@{ng\_pppoe\_rcvmsg}}
\index{ng\_pppoe\_rcvmsg@{ng\_pppoe\_rcvmsg}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_rcvmsg()}{ng\_pppoe\_rcvmsg()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+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__pppoe_8c_source_l00763}{763}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00247}{sess\+\_\+neg\+::ac\+\_\+name}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00243}{sess\+\_\+neg\+::ac\+\_\+name\+\_\+len}}, \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__pppoe_8h_source_l00238}{pppoe\+\_\+hdr\+::code}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00284}{COMPAT\+\_\+3\+COM}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00285}{COMPAT\+\_\+\+DLINK}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00259}{sess\+\_\+con\+::creator}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00133}{ngpppoe\+\_\+init\+\_\+data\+::data}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00255}{datatag\+::data}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00132}{ngpppoe\+\_\+init\+\_\+data\+::data\+\_\+len}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00244}{pppoe\+\_\+full\+\_\+hdr\+::eh}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00207}{ETHERTYPE\+\_\+\+PPPOE\+\_\+3\+COM\+\_\+\+DISC}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00208}{ETHERTYPE\+\_\+\+PPPOE\+\_\+3\+COM\+\_\+\+SESS}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00205}{ETHERTYPE\+\_\+\+PPPOE\+\_\+\+DISC}}, \mbox{\hyperlink{ng__message_8h_source_l00064}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::flags}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00238}{sess\+\_\+neg\+::handle}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00254}{datatag\+::hdr}}, \mbox{\hyperlink{structng__mesg_a16ea313a1e38531a10a14902b7579210}{ng\+\_\+mesg\+::header}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00131}{ngpppoe\+\_\+init\+\_\+data\+::hook}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00248}{sess\+\_\+neg\+::host\+\_\+uniq}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00244}{sess\+\_\+neg\+::host\+\_\+uniq\+\_\+len}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00298}{LEAVE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00240}{pppoe\+\_\+hdr\+::length}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00236}{sess\+\_\+neg\+::m}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00064}{M\+\_\+\+NETGRAPH\+\_\+\+PPPOE}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{netgraph_8h_source_l01168}{ng\+\_\+callout\+\_\+init}}, \mbox{\hyperlink{ng__base_8c_source_l01129}{ng\+\_\+findhook()}}, \mbox{\hyperlink{netgraph_8h_source_l00938}{NG\+\_\+\+FREE\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__message_8h_source_l00396}{NG\+\_\+\+MKRESPONSE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00066}{NG\+\_\+\+PPPOE\+\_\+3\+COM}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00068}{NG\+\_\+\+PPPOE\+\_\+\+DLINK}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00065}{NG\+\_\+\+PPPOE\+\_\+\+STANDARD}}, \mbox{\hyperlink{netgraph_8h_source_l01025}{NG\+\_\+\+RESPOND\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00932}{NG\+\_\+\+SEND\+\_\+\+DATA\+\_\+\+ONLY}}, \mbox{\hyperlink{ng__message_8h_source_l00101}{NGF\+\_\+\+RESP}}, \mbox{\hyperlink{netgraph_8h_source_l00858}{NGI\+\_\+\+GET\+\_\+\+MSG}}, \mbox{\hyperlink{netgraph_8h_source_l00835}{NGI\+\_\+\+RETADDR}}, \mbox{\hyperlink{ng__ether_8h_source_l00050}{NGM\+\_\+\+ETHER\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__ether_8h_source_l00062}{NGM\+\_\+\+ETHER\+\_\+\+GET\+\_\+\+ENADDR}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00076}{NGM\+\_\+\+PPPOE\+\_\+\+CONNECT}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00053}{NGM\+\_\+\+PPPOE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00084}{NGM\+\_\+\+PPPOE\+\_\+\+GET\+\_\+\+STATUS}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00087}{NGM\+\_\+\+PPPOE\+\_\+\+GETMODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00077}{NGM\+\_\+\+PPPOE\+\_\+\+LISTEN}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00078}{NGM\+\_\+\+PPPOE\+\_\+\+OFFER}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00090}{NGM\+\_\+\+PPPOE\+\_\+\+SEND\+\_\+\+HURL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00092}{NGM\+\_\+\+PPPOE\+\_\+\+SEND\+\_\+\+MOTM}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00082}{NGM\+\_\+\+PPPOE\+\_\+\+SERVICE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00088}{NGM\+\_\+\+PPPOE\+\_\+\+SETENADDR}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00089}{NGM\+\_\+\+PPPOE\+\_\+\+SETMAXP}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00086}{NGM\+\_\+\+PPPOE\+\_\+\+SETMODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00187}{PADM\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00183}{PADO\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00186}{PADT\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00245}{pppoe\+\_\+full\+\_\+hdr\+::ph}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00237}{sess\+\_\+neg\+::pkt}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00260}{sess\+\_\+con\+::pkt\+\_\+hdr}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00249}{packet\+::pkt\+\_\+header}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00223}{PPPOE\+\_\+\+CONNECTED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00501}{pppoe\+\_\+find\+\_\+svc()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00217}{PPPOE\+\_\+\+LISTENING}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00222}{PPPOE\+\_\+\+NEWCONNECTED}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00058}{PPPOE\+\_\+\+PADM\+\_\+\+VALUE\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00219}{PPPOE\+\_\+\+PRIMED}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00057}{PPPOE\+\_\+\+SERVICE\+\_\+\+NAME\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00216}{PPPOE\+\_\+\+SNONE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{pppoe\+\_\+start()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00193}{PTT\+\_\+\+AC\+\_\+\+NAME}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00194}{PTT\+\_\+\+HOST\+\_\+\+UNIQ}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00198}{PTT\+\_\+\+HURL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00200}{PTT\+\_\+\+MAX\+\_\+\+PAYL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00199}{PTT\+\_\+\+MOTM}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00192}{PTT\+\_\+\+SRV\+\_\+\+NAME}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00246}{sess\+\_\+neg\+::service}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00242}{sess\+\_\+neg\+::service\+\_\+len}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00239}{pppoe\+\_\+hdr\+::sid}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00258}{sess\+\_\+con\+::state}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00231}{pppoe\+\_\+tag\+::tag\+\_\+type}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00239}{sess\+\_\+neg\+::timeout}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00237}{pppoe\+\_\+hdr\+::type}}, \mbox{\hyperlink{ng__message_8h_source_l00066}{ng\+\_\+mesg\+::ng\+\_\+msghdr\+::typecookie}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00236}{pppoe\+\_\+hdr\+::ver}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a736fcc54565538b62057e70aa3dd8569_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_aff8ecb13465fd1017f0a9845f09e0ff9}\label{ng__pppoe_8c_aff8ecb13465fd1017f0a9845f09e0ff9}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_shutdown@{ng\_pppoe\_shutdown}}
\index{ng\_pppoe\_shutdown@{ng\_pppoe\_shutdown}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_shutdown()}{ng\_pppoe\_shutdown()}}
{\footnotesize\ttfamily static int ng\+\_\+pppoe\+\_\+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__pppoe_8c_source_l01981}{1981}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00064}{M\+\_\+\+NETGRAPH\+\_\+\+PPPOE}}, \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__netflow_8h_source_l00409}{netflow\+::node}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00266}{SESSHASHSIZE}}.

\mbox{\Hypertarget{ng__pppoe_8c_ab660096a894df8ce246d589fe958a66f}\label{ng__pppoe_8c_ab660096a894df8ce246d589fe958a66f}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_addsession@{pppoe\_addsession}}
\index{pppoe\_addsession@{pppoe\_addsession}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_addsession()}{pppoe\_addsession()}}
{\footnotesize\ttfamily static void pppoe\+\_\+addsession (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00558}{558}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00267}{SESSHASH}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_ab660096a894df8ce246d589fe958a66f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a7ae0ae75aedf4a499759efbfdc654c41}\label{ng__pppoe_8c_a7ae0ae75aedf4a499759efbfdc654c41}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_broadcast\_padi@{pppoe\_broadcast\_padi}}
\index{pppoe\_broadcast\_padi@{pppoe\_broadcast\_padi}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_broadcast\_padi()}{pppoe\_broadcast\_padi()}}
{\footnotesize\ttfamily static int pppoe\+\_\+broadcast\+\_\+padi (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{struct mbuf $\ast$}]{m0 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00477}{477}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, and \mbox{\hyperlink{netgraph_8h_source_l00932}{NG\+\_\+\+SEND\+\_\+\+DATA\+\_\+\+ONLY}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a7ae0ae75aedf4a499759efbfdc654c41_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_afc052746522ca460f79a6f5bb668d49f}\label{ng__pppoe_8c_afc052746522ca460f79a6f5bb668d49f}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_delsession@{pppoe\_delsession}}
\index{pppoe\_delsession@{pppoe\_delsession}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_delsession()}{pppoe\_delsession()}}
{\footnotesize\ttfamily static void pppoe\+\_\+delsession (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00570}{570}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00267}{SESSHASH}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l02001}{ng\+\_\+pppoe\+\_\+disconnect()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=342pt]{d5/d43/ng__pppoe_8c_afc052746522ca460f79a6f5bb668d49f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a2b7bcb986c8a28a16130242b83a74a17}\label{ng__pppoe_8c_a2b7bcb986c8a28a16130242b83a74a17}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_find\_svc@{pppoe\_find\_svc}}
\index{pppoe\_find\_svc@{pppoe\_find\_svc}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_find\_svc()}{pppoe\_find\_svc()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} pppoe\+\_\+find\+\_\+svc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const char $\ast$}]{svc\+\_\+name,  }\item[{int}]{svc\+\_\+len }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00501}{501}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00255}{datatag\+::data}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00246}{sess\+\_\+neg\+::service}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00242}{sess\+\_\+neg\+::service\+\_\+len}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l00763}{ng\+\_\+pppoe\+\_\+rcvmsg()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=313pt]{d5/d43/ng__pppoe_8c_a2b7bcb986c8a28a16130242b83a74a17_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a10b4e9a643481b7c042a3b3bd1b3dd2f}\label{ng__pppoe_8c_a10b4e9a643481b7c042a3b3bd1b3dd2f}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_findcookie@{pppoe\_findcookie}}
\index{pppoe\_findcookie@{pppoe\_findcookie}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_findcookie()}{pppoe\_findcookie()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} pppoe\+\_\+findcookie (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00629}{629}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00294}{uniq\+::bytes}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00295}{uniq\+::pointer}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a10b4e9a643481b7c042a3b3bd1b3dd2f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a5212df6c08b4b291466caaa2e0ef3496}\label{ng__pppoe_8c_a5212df6c08b4b291466caaa2e0ef3496}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_findsession@{pppoe\_findsession}}
\index{pppoe\_findsession@{pppoe\_findsession}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_findsession()}{pppoe\_findsession()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}} pppoe\+\_\+findsession (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__netflow_8h_a20ac59de066baac8be85fa2d943b37a3}{priv\+\_\+p}}}]{privp,  }\item[{const struct \mbox{\hyperlink{structpppoe__full__hdr}{pppoe\+\_\+full\+\_\+hdr}} $\ast$}]{wh }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00582}{582}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00244}{pppoe\+\_\+full\+\_\+hdr\+::eh}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00245}{pppoe\+\_\+full\+\_\+hdr\+::ph}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00260}{sess\+\_\+con\+::pkt\+\_\+hdr}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00267}{SESSHASH}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00239}{pppoe\+\_\+hdr\+::sid}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a5212df6c08b4b291466caaa2e0ef3496_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a1e2599642ebcdafbcf2afe3f5bad6948}\label{ng__pppoe_8c_a1e2599642ebcdafbcf2afe3f5bad6948}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_finduniq@{pppoe\_finduniq}}
\index{pppoe\_finduniq@{pppoe\_finduniq}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_finduniq()}{pppoe\_finduniq()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} pppoe\+\_\+finduniq (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00604}{604}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00255}{datatag\+::data}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00248}{sess\+\_\+neg\+::host\+\_\+uniq}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00244}{sess\+\_\+neg\+::host\+\_\+uniq\+\_\+len}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{d5/d43/ng__pppoe_8c_a1e2599642ebcdafbcf2afe3f5bad6948_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_ae8924db103e99fb2a8c056d553e669fb}\label{ng__pppoe_8c_ae8924db103e99fb2a8c056d553e669fb}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_getnewsession@{pppoe\_getnewsession}}
\index{pppoe\_getnewsession@{pppoe\_getnewsession}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_getnewsession()}{pppoe\_getnewsession()}}
{\footnotesize\ttfamily static uint16\+\_\+t pppoe\+\_\+getnewsession (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00522}{522}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00267}{SESSHASH}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_ae8924db103e99fb2a8c056d553e669fb_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_ab0b370298459490b8814bd861d8b90ea}\label{ng__pppoe_8c_ab0b370298459490b8814bd861d8b90ea}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_match\_svc@{pppoe\_match\_svc}}
\index{pppoe\_match\_svc@{pppoe\_match\_svc}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_match\_svc()}{pppoe\_match\_svc()}}
{\footnotesize\ttfamily static \mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}} pppoe\+\_\+match\+\_\+svc (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00440}{440}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00255}{datatag\+::data}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00246}{sess\+\_\+neg\+::service}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00242}{sess\+\_\+neg\+::service\+\_\+len}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_ab0b370298459490b8814bd861d8b90ea_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a7f63b1db45ec2f3585bea152760fa91c}\label{ng__pppoe_8c_a7f63b1db45ec2f3585bea152760fa91c}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_send\_event@{pppoe\_send\_event}}
\index{pppoe\_send\_event@{pppoe\_send\_event}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_send\_event()}{pppoe\_send\_event()}}
{\footnotesize\ttfamily static int pppoe\+\_\+send\+\_\+event (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp,  }\item[{enum \mbox{\hyperlink{ng__pppoe_8h_adfc5ba7e22f5e4a6221c12a70503bef3}{cmd}}}]{cmdid }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l02193}{2193}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00259}{sess\+\_\+con\+::creator}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00149}{ngpppoe\+\_\+sts\+::hook}}, \mbox{\hyperlink{netgraph_8h_source_l00331}{NG\+\_\+\+HOOK\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__message_8h_source_l00049}{NG\+\_\+\+HOOKSIZ}}, \mbox{\hyperlink{ng__message_8h_source_l00378}{NG\+\_\+\+MKMESSAGE}}, \mbox{\hyperlink{netgraph_8h_source_l00990}{NG\+\_\+\+SEND\+\_\+\+MSG\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00053}{NGM\+\_\+\+PPPOE\+\_\+\+COOKIE}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l02001}{ng\+\_\+pppoe\+\_\+disconnect()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_a7f63b1db45ec2f3585bea152760fa91c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_abba562aea9cdad23262f7e965d63bde3}\label{ng__pppoe_8c_abba562aea9cdad23262f7e965d63bde3}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_start@{pppoe\_start}}
\index{pppoe\_start@{pppoe\_start}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_start()}{pppoe\_start()}}
{\footnotesize\ttfamily static void pppoe\+\_\+start (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{1261}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8h_source_l00238}{pppoe\+\_\+hdr\+::code}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00244}{pppoe\+\_\+full\+\_\+hdr\+::eh}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00238}{sess\+\_\+neg\+::handle}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00254}{datatag\+::hdr}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00248}{sess\+\_\+neg\+::host\+\_\+uniq}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00364}{init\+\_\+tags()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00371}{insert\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00236}{sess\+\_\+neg\+::m}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00395}{make\+\_\+packet()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{ng__base_8c_source_l03789}{ng\+\_\+callout()}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00932}{NG\+\_\+\+SEND\+\_\+\+DATA\+\_\+\+ONLY}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00182}{PADI\+\_\+\+CODE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00245}{pppoe\+\_\+full\+\_\+hdr\+::ph}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00237}{sess\+\_\+neg\+::pkt}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00249}{packet\+::pkt\+\_\+header}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00179}{PPPOE\+\_\+\+INITIAL\+\_\+\+TIMEOUT}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00218}{PPPOE\+\_\+\+SINIT}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00246}{sess\+\_\+neg\+::service}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00258}{sess\+\_\+con\+::state}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00239}{sess\+\_\+neg\+::timeout}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l00763}{ng\+\_\+pppoe\+\_\+rcvmsg()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_abba562aea9cdad23262f7e965d63bde3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_abba562aea9cdad23262f7e965d63bde3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_afa3a5587fc09b4ea57d954ed91d068b0}\label{ng__pppoe_8c_afa3a5587fc09b4ea57d954ed91d068b0}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!pppoe\_ticker@{pppoe\_ticker}}
\index{pppoe\_ticker@{pppoe\_ticker}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{pppoe\_ticker()}{pppoe\_ticker()}}
{\footnotesize\ttfamily static void pppoe\+\_\+ticker (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{netgraph_8h_ad0f21b90dd7f86636755bad189af6efd}{node\+\_\+p}}}]{node,  }\item[{\mbox{\hyperlink{netgraph_8h_ab3a2553a36b03752ec05a6d4ca11d8a3}{hook\+\_\+p}}}]{hook,  }\item[{void $\ast$}]{arg1,  }\item[{int}]{arg2 }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{2099}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00238}{sess\+\_\+neg\+::handle}}, \mbox{\hyperlink{netgraph_8h_source_l00117}{ng\+\_\+hook\+::hk\+\_\+name}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00236}{sess\+\_\+neg\+::m}}, \mbox{\hyperlink{netgraph_8h_source_l00371}{ng\+\_\+node\+::nd\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00261}{sess\+\_\+con\+::neg}}, \mbox{\hyperlink{ng__base_8c_source_l03789}{ng\+\_\+callout()}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{netgraph_8h_source_l00336}{NG\+\_\+\+HOOK\+\_\+\+PRIVATE}}, \mbox{\hyperlink{netgraph_8h_source_l00609}{NG\+\_\+\+NODE\+\_\+\+PRIVATE}}, \mbox{\hyperlink{ng__base_8c_source_l01631}{ng\+\_\+rmhook\+\_\+self()}}, \mbox{\hyperlink{netgraph_8h_source_l00932}{NG\+\_\+\+SEND\+\_\+\+DATA\+\_\+\+ONLY}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00219}{PPPOE\+\_\+\+PRIMED}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00218}{PPPOE\+\_\+\+SINIT}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00220}{PPPOE\+\_\+\+SOFFER}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00221}{PPPOE\+\_\+\+SREQ}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{pppoe\+\_\+start()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00177}{PPPOE\+\_\+\+TIMEOUT\+\_\+\+LIMIT}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00258}{sess\+\_\+con\+::state}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00239}{sess\+\_\+neg\+::timeout}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l01261}{pppoe\+\_\+start()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l02099}{pppoe\+\_\+ticker()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_afa3a5587fc09b4ea57d954ed91d068b0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d5/d43/ng__pppoe_8c_afa3a5587fc09b4ea57d954ed91d068b0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a7d80bec3ebc61330788ef50ca9034057}\label{ng__pppoe_8c_a7d80bec3ebc61330788ef50ca9034057}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!scan\_tags@{scan\_tags}}
\index{scan\_tags@{scan\_tags}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{scan\_tags()}{scan\_tags()}}
{\footnotesize\ttfamily static const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$ scan\+\_\+tags (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp,  }\item[{const struct \mbox{\hyperlink{structpppoe__hdr}{pppoe\+\_\+hdr}} $\ast$}]{ph }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l02149}{2149}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00371}{insert\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00314}{next\+\_\+tag()}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00195}{PTT\+\_\+\+AC\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00193}{PTT\+\_\+\+AC\+\_\+\+NAME}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00191}{PTT\+\_\+\+EOL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00203}{PTT\+\_\+\+GEN\+\_\+\+ERR}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00194}{PTT\+\_\+\+HOST\+\_\+\+UNIQ}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00198}{PTT\+\_\+\+HURL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00200}{PTT\+\_\+\+MAX\+\_\+\+PAYL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00199}{PTT\+\_\+\+MOTM}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00197}{PTT\+\_\+\+RELAY\+\_\+\+SID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00201}{PTT\+\_\+\+SRV\+\_\+\+ERR}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00192}{PTT\+\_\+\+SRV\+\_\+\+NAME}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00202}{PTT\+\_\+\+SYS\+\_\+\+ERR}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00196}{PTT\+\_\+\+VENDOR}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00231}{pppoe\+\_\+tag\+::tag\+\_\+type}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01412}{ng\+\_\+pppoe\+\_\+rcvdata()}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=246pt]{d5/d43/ng__pppoe_8c_a7d80bec3ebc61330788ef50ca9034057_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=318pt]{d5/d43/ng__pppoe_8c_a7d80bec3ebc61330788ef50ca9034057_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a890d400c93a9a5a620eda2bf555f5b60}\label{ng__pppoe_8c_a890d400c93a9a5a620eda2bf555f5b60}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!send\_acname@{send\_acname}}
\index{send\_acname@{send\_acname}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{send\_acname()}{send\_acname()}}
{\footnotesize\ttfamily static int send\+\_\+acname (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l01299}{1299}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00259}{sess\+\_\+con\+::creator}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00149}{ngpppoe\+\_\+sts\+::hook}}, \mbox{\hyperlink{ng__hci__cmds_8c_source_l00060}{min}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__message_8h_source_l00049}{NG\+\_\+\+HOOKSIZ}}, \mbox{\hyperlink{ng__message_8h_source_l00378}{NG\+\_\+\+MKMESSAGE}}, \mbox{\hyperlink{netgraph_8h_source_l00990}{NG\+\_\+\+SEND\+\_\+\+MSG\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00083}{NGM\+\_\+\+PPPOE\+\_\+\+ACNAME}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00053}{NGM\+\_\+\+PPPOE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=337pt]{d5/d43/ng__pppoe_8c_a890d400c93a9a5a620eda2bf555f5b60_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a20520861aa7bb00826436ccef6c314e6}\label{ng__pppoe_8c_a20520861aa7bb00826436ccef6c314e6}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!send\_hurl@{send\_hurl}}
\index{send\_hurl@{send\_hurl}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{send\_hurl()}{send\_hurl()}}
{\footnotesize\ttfamily static int send\+\_\+hurl (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l01363}{1363}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00259}{sess\+\_\+con\+::creator}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__hci__cmds_8c_source_l00060}{min}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00170}{ngpppoe\+\_\+padm\+::msg}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__message_8h_source_l00378}{NG\+\_\+\+MKMESSAGE}}, \mbox{\hyperlink{netgraph_8h_source_l00990}{NG\+\_\+\+SEND\+\_\+\+MSG\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00053}{NGM\+\_\+\+PPPOE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00091}{NGM\+\_\+\+PPPOE\+\_\+\+HURL}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00058}{PPPOE\+\_\+\+PADM\+\_\+\+VALUE\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=317pt]{d5/d43/ng__pppoe_8c_a20520861aa7bb00826436ccef6c314e6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a8a26822d8c4b14d8bb1a1c25629a6778}\label{ng__pppoe_8c_a8a26822d8c4b14d8bb1a1c25629a6778}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!send\_maxp@{send\_maxp}}
\index{send\_maxp@{send\_maxp}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{send\_maxp()}{send\_maxp()}}
{\footnotesize\ttfamily static int send\+\_\+maxp (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l01341}{1341}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00259}{sess\+\_\+con\+::creator}}, \mbox{\hyperlink{ng__ubt__var_8h_source_l00002}{data}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00163}{ngpppoe\+\_\+maxp\+::data}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00162}{ngpppoe\+\_\+maxp\+::hook}}, \mbox{\hyperlink{netgraph_8h_source_l00331}{NG\+\_\+\+HOOK\+\_\+\+NAME}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__message_8h_source_l00049}{NG\+\_\+\+HOOKSIZ}}, \mbox{\hyperlink{ng__message_8h_source_l00378}{NG\+\_\+\+MKMESSAGE}}, \mbox{\hyperlink{netgraph_8h_source_l00990}{NG\+\_\+\+SEND\+\_\+\+MSG\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00053}{NGM\+\_\+\+PPPOE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00089}{NGM\+\_\+\+PPPOE\+\_\+\+SETMAXP}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=326pt]{d5/d43/ng__pppoe_8c_a8a26822d8c4b14d8bb1a1c25629a6778_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a9f1b70969d2ebe2ee35b9a97838f83ec}\label{ng__pppoe_8c_a9f1b70969d2ebe2ee35b9a97838f83ec}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!send\_motm@{send\_motm}}
\index{send\_motm@{send\_motm}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{send\_motm()}{send\_motm()}}
{\footnotesize\ttfamily static int send\+\_\+motm (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp,  }\item[{const struct \mbox{\hyperlink{structpppoe__tag}{pppoe\+\_\+tag}} $\ast$}]{tag }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l01386}{1386}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00259}{sess\+\_\+con\+::creator}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{ng__hci__cmds_8c_source_l00060}{min}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00170}{ngpppoe\+\_\+padm\+::msg}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__message_8h_source_l00378}{NG\+\_\+\+MKMESSAGE}}, \mbox{\hyperlink{netgraph_8h_source_l00990}{NG\+\_\+\+SEND\+\_\+\+MSG\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00053}{NGM\+\_\+\+PPPOE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00093}{NGM\+\_\+\+PPPOE\+\_\+\+MOTM}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00058}{PPPOE\+\_\+\+PADM\+\_\+\+VALUE\+\_\+\+SIZE}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}, and \mbox{\hyperlink{ng__pppoe_8h_source_l00232}{pppoe\+\_\+tag\+::tag\+\_\+len}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=327pt]{d5/d43/ng__pppoe_8c_a9f1b70969d2ebe2ee35b9a97838f83ec_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{ng__pppoe_8c_a5955e6e51ecd8989fafe634e2a9325b8}\label{ng__pppoe_8c_a5955e6e51ecd8989fafe634e2a9325b8}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!send\_sessionid@{send\_sessionid}}
\index{send\_sessionid@{send\_sessionid}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{send\_sessionid()}{send\_sessionid()}}
{\footnotesize\ttfamily static int send\+\_\+sessionid (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{ng__pppoe_8c_ab6f5538b4d3aad6dad4791b291c08969}{sessp}}}]{sp }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l01322}{1322}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



References \mbox{\hyperlink{ng__pppoe_8c_source_l00259}{sess\+\_\+con\+::creator}}, \mbox{\hyperlink{ng__message_8h_source_l00069}{ng\+\_\+mesg\+::data}}, \mbox{\hyperlink{ng__pppoe_8c_source_l00256}{sess\+\_\+con\+::hook}}, \mbox{\hyperlink{netgraph_8h_source_l00339}{NG\+\_\+\+HOOK\+\_\+\+NODE}}, \mbox{\hyperlink{ng__message_8h_source_l00378}{NG\+\_\+\+MKMESSAGE}}, \mbox{\hyperlink{netgraph_8h_source_l00990}{NG\+\_\+\+SEND\+\_\+\+MSG\+\_\+\+ID}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00053}{NGM\+\_\+\+PPPOE\+\_\+\+COOKIE}}, \mbox{\hyperlink{ng__pppoe_8h_source_l00085}{NGM\+\_\+\+PPPOE\+\_\+\+SESSIONID}}, and \mbox{\hyperlink{ng__pppoe_8c_source_l00257}{sess\+\_\+con\+::\+Session\+\_\+\+ID}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l01555}{ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=344pt]{d5/d43/ng__pppoe_8c_a5955e6e51ecd8989fafe634e2a9325b8_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{ng__pppoe_8c_a26d46fcb50270149b8fee54aadbf5a20}\label{ng__pppoe_8c_a26d46fcb50270149b8fee54aadbf5a20}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_cmds@{ng\_pppoe\_cmds}}
\index{ng\_pppoe\_cmds@{ng\_pppoe\_cmds}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_cmds}{ng\_pppoe\_cmds}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__cmdlist}{ng\+\_\+cmdlist}} ng\+\_\+pppoe\+\_\+cmds\mbox{[}$\,$\mbox{]}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00101}{101}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a13bb93dbe4614823975689a8a0d41e16}\label{ng__pppoe_8c_a13bb93dbe4614823975689a8a0d41e16}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_connect@{ng\_pppoe\_connect}}
\index{ng\_pppoe\_connect@{ng\_pppoe\_connect}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_connect}{ng\_pppoe\_connect}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a0e4a4a62e48409635e5f33c548baaea7}{ng\+\_\+connect\+\_\+t}} ng\+\_\+pppoe\+\_\+connect\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00078}{78}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a45520b43464686d4195590a6960d0b26}\label{ng__pppoe_8c_a45520b43464686d4195590a6960d0b26}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_constructor@{ng\_pppoe\_constructor}}
\index{ng\_pppoe\_constructor@{ng\_pppoe\_constructor}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_constructor}{ng\_pppoe\_constructor}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_abb75b9ed2849e15851d6402d2ab5b899}{ng\+\_\+constructor\+\_\+t}} ng\+\_\+pppoe\+\_\+constructor\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00074}{74}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00082}{82}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_ab1803be9184b76f7bccea84a9d9cd074}\label{ng__pppoe_8c_ab1803be9184b76f7bccea84a9d9cd074}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_newhook@{ng\_pppoe\_newhook}}
\index{ng\_pppoe\_newhook@{ng\_pppoe\_newhook}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_newhook}{ng\_pppoe\_newhook}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_afa50639df4ed6eb400f8220a890d56e6}{ng\+\_\+newhook\+\_\+t}} ng\+\_\+pppoe\+\_\+newhook\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00077}{77}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

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



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00079}{79}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_afb2e20d22dc3910b5c294b7c838edfd9}\label{ng__pppoe_8c_afb2e20d22dc3910b5c294b7c838edfd9}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_rcvdata\_debug@{ng\_pppoe\_rcvdata\_debug}}
\index{ng\_pppoe\_rcvdata\_debug@{ng\_pppoe\_rcvdata\_debug}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_rcvdata\_debug}{ng\_pppoe\_rcvdata\_debug}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} ng\+\_\+pppoe\+\_\+rcvdata\+\_\+debug\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00081}{81}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l00694}{ng\+\_\+pppoe\+\_\+newhook()}}.

\mbox{\Hypertarget{ng__pppoe_8c_a2ec731436c8c8dbf88c8b6a4856304f9}\label{ng__pppoe_8c_a2ec731436c8c8dbf88c8b6a4856304f9}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_rcvdata\_ether@{ng\_pppoe\_rcvdata\_ether}}
\index{ng\_pppoe\_rcvdata\_ether@{ng\_pppoe\_rcvdata\_ether}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_rcvdata\_ether}{ng\_pppoe\_rcvdata\_ether}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aa87ef7415b345b801747ceaf99de6c43}{ng\+\_\+rcvdata\+\_\+t}} ng\+\_\+pppoe\+\_\+rcvdata\+\_\+ether\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00080}{80}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.



Referenced by \mbox{\hyperlink{ng__pppoe_8c_source_l00694}{ng\+\_\+pppoe\+\_\+newhook()}}.

\mbox{\Hypertarget{ng__pppoe_8c_a931dd604605a484a03964486f3a4843b}\label{ng__pppoe_8c_a931dd604605a484a03964486f3a4843b}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_rcvmsg@{ng\_pppoe\_rcvmsg}}
\index{ng\_pppoe\_rcvmsg@{ng\_pppoe\_rcvmsg}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_rcvmsg}{ng\_pppoe\_rcvmsg}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_a47b860e2900386e775707cc1ae661162}{ng\+\_\+rcvmsg\+\_\+t}} ng\+\_\+pppoe\+\_\+rcvmsg\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00075}{75}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a1b6c594ed921d408eda25deae94cbff1}\label{ng__pppoe_8c_a1b6c594ed921d408eda25deae94cbff1}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_shutdown@{ng\_pppoe\_shutdown}}
\index{ng\_pppoe\_shutdown@{ng\_pppoe\_shutdown}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_shutdown}{ng\_pppoe\_shutdown}}
{\footnotesize\ttfamily \mbox{\hyperlink{netgraph_8h_aab0a679789a1af312a7f856b4668ad74}{ng\+\_\+shutdown\+\_\+t}} ng\+\_\+pppoe\+\_\+shutdown\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00076}{76}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a8da420bc106672b51212262842458a3d}\label{ng__pppoe_8c_a8da420bc106672b51212262842458a3d}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_sts\_state\_type@{ng\_pppoe\_sts\_state\_type}}
\index{ng\_pppoe\_sts\_state\_type@{ng\_pppoe\_sts\_state\_type}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_sts\_state\_type}{ng\_pppoe\_sts\_state\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ng\+\_\+pppoe\+\_\+sts\+\_\+state\+\_\+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__pppoe_8c_a8bd23917e1663ec5355e273b8118ff8d}{ng\_pppoe\_sts\_type\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00095}{95}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a8bd23917e1663ec5355e273b8118ff8d}\label{ng__pppoe_8c_a8bd23917e1663ec5355e273b8118ff8d}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ng\_pppoe\_sts\_type\_fields@{ng\_pppoe\_sts\_type\_fields}}
\index{ng\_pppoe\_sts\_type\_fields@{ng\_pppoe\_sts\_type\_fields}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ng\_pppoe\_sts\_type\_fields}{ng\_pppoe\_sts\_type\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ng\+\_\+pppoe\+\_\+sts\+\_\+type\+\_\+fields\mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__pppoe_8h_a25c0c73688f3c5d54c7c7842e1829a63}{NG\+\_\+\+PPPOE\+\_\+\+STS\+\_\+\+TYPE\+\_\+\+INFO}}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00093}{93}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a136149e0410a240344867a7d965062e8}\label{ng__pppoe_8c_a136149e0410a240344867a7d965062e8}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ngpppoe\_init\_data\_state\_type@{ngpppoe\_init\_data\_state\_type}}
\index{ngpppoe\_init\_data\_state\_type@{ngpppoe\_init\_data\_state\_type}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ngpppoe\_init\_data\_state\_type}{ngpppoe\_init\_data\_state\_type}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__type}{ng\+\_\+parse\+\_\+type}} ngpppoe\+\_\+init\+\_\+data\+\_\+state\+\_\+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__pppoe_8c_a9c4ef16ef1186c92484f11c797e15a6a}{ngpppoe\_init\_data\_type\_fields}}}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00087}{87}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a9c4ef16ef1186c92484f11c797e15a6a}\label{ng__pppoe_8c_a9c4ef16ef1186c92484f11c797e15a6a}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!ngpppoe\_init\_data\_type\_fields@{ngpppoe\_init\_data\_type\_fields}}
\index{ngpppoe\_init\_data\_type\_fields@{ngpppoe\_init\_data\_type\_fields}!ng\_pppoe.c@{ng\_pppoe.c}}
\doxysubsubsection{\texorpdfstring{ngpppoe\_init\_data\_type\_fields}{ngpppoe\_init\_data\_type\_fields}}
{\footnotesize\ttfamily const struct \mbox{\hyperlink{structng__parse__struct__field}{ng\+\_\+parse\+\_\+struct\+\_\+field}} ngpppoe\+\_\+init\+\_\+data\+\_\+type\+\_\+fields\mbox{[}$\,$\mbox{]} = \mbox{\hyperlink{ng__pppoe_8h_a7824063685cf7dc200853d4cd22f00c3}{NG\+\_\+\+PPPOE\+\_\+\+INIT\+\_\+\+DATA\+\_\+\+TYPE\+\_\+\+INFO}}\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00085}{85}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

\mbox{\Hypertarget{ng__pppoe_8c_a80a131770518c7fa3758d85054006e7a}\label{ng__pppoe_8c_a80a131770518c7fa3758d85054006e7a}} 
\index{ng\_pppoe.c@{ng\_pppoe.c}!typestruct@{typestruct}}
\index{typestruct@{typestruct}!ng\_pppoe.c@{ng\_pppoe.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__pppoe_8h_ab8e3c2093792fb4fee5bd17ef89ab2e9}{NG\_PPPOE\_NODE\_TYPE}},}
\DoxyCodeLine{        .constructor =  \mbox{\hyperlink{ng__pppoe_8c_a45520b43464686d4195590a6960d0b26}{ng\_pppoe\_constructor}},}
\DoxyCodeLine{        .rcvmsg =       \mbox{\hyperlink{ng__pppoe_8c_a931dd604605a484a03964486f3a4843b}{ng\_pppoe\_rcvmsg}},}
\DoxyCodeLine{        .shutdown =     \mbox{\hyperlink{ng__pppoe_8c_a1b6c594ed921d408eda25deae94cbff1}{ng\_pppoe\_shutdown}},}
\DoxyCodeLine{        .newhook =      \mbox{\hyperlink{ng__pppoe_8c_ab1803be9184b76f7bccea84a9d9cd074}{ng\_pppoe\_newhook}},}
\DoxyCodeLine{        .connect =      \mbox{\hyperlink{ng__pppoe_8c_a13bb93dbe4614823975689a8a0d41e16}{ng\_pppoe\_connect}},}
\DoxyCodeLine{        .rcvdata =      \mbox{\hyperlink{ng__pppoe_8c_abb6de585a7d3e76319b91f2592a564c1}{ng\_pppoe\_rcvdata}},}
\DoxyCodeLine{        .disconnect =   \mbox{\hyperlink{ng__pppoe_8c_a40a2ff206785a0531aa48d792e41bece}{ng\_pppoe\_disconnect}},}
\DoxyCodeLine{        .cmdlist =      \mbox{\hyperlink{ng__pppoe_8c_a26d46fcb50270149b8fee54aadbf5a20}{ng\_pppoe\_cmds}},}
\DoxyCodeLine{\}}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{ng__pppoe_8c_source_l00197}{197}} of file \mbox{\hyperlink{ng__pppoe_8c_source}{ng\+\_\+pppoe.\+c}}.

