\hypertarget{lio__rxtx_8c}{}\doxysection{dev/liquidio/lio\+\_\+rxtx.c File Reference}
\label{lio__rxtx_8c}\index{dev/liquidio/lio\_rxtx.c@{dev/liquidio/lio\_rxtx.c}}
{\ttfamily \#include \char`\"{}lio\+\_\+bsd.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+common.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+droq.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+iq.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+response\+\_\+manager.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+device.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+ctrl.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+main.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+network.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}lio\+\_\+rxtx.\+h\char`\"{}}\newline
Include dependency graph for lio\+\_\+rxtx.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d6/dfa/lio__rxtx_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{lio__rxtx_8c_a357e0a6229c74147b38de453604e3a2b}{lio\+\_\+xmit}} (struct \mbox{\hyperlink{structlio}{lio}} $\ast$\mbox{\hyperlink{structlio}{lio}}, struct \mbox{\hyperlink{structlio__instr__queue}{lio\+\_\+instr\+\_\+queue}} $\ast$iq, struct mbuf $\ast$$\ast$m\+\_\+headp)
\item 
int \mbox{\hyperlink{lio__rxtx_8c_a61ddde62ce3624ee8e0fc182077e3862}{lio\+\_\+mq\+\_\+start\+\_\+locked}} (struct ifnet $\ast$ifp, struct \mbox{\hyperlink{structlio__instr__queue}{lio\+\_\+instr\+\_\+queue}} $\ast$iq)
\item 
int \mbox{\hyperlink{lio__rxtx_8c_a9df63599d6f995462dca5a547fd2dbd6}{lio\+\_\+mq\+\_\+start}} (struct ifnet $\ast$ifp, struct mbuf $\ast$m)
\item 
void \mbox{\hyperlink{lio__rxtx_8c_a05d8ae514c414dd15157920756336af0}{lio\+\_\+qflush}} (struct ifnet $\ast$ifp)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\mbox{\Hypertarget{lio__rxtx_8c_a9df63599d6f995462dca5a547fd2dbd6}\label{lio__rxtx_8c_a9df63599d6f995462dca5a547fd2dbd6}} 
\index{lio\_rxtx.c@{lio\_rxtx.c}!lio\_mq\_start@{lio\_mq\_start}}
\index{lio\_mq\_start@{lio\_mq\_start}!lio\_rxtx.c@{lio\_rxtx.c}}
\doxysubsubsection{\texorpdfstring{lio\_mq\_start()}{lio\_mq\_start()}}
{\footnotesize\ttfamily int lio\+\_\+mq\+\_\+start (\begin{DoxyParamCaption}\item[{struct ifnet $\ast$}]{ifp,  }\item[{struct mbuf $\ast$}]{m }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{lio__rxtx_8c_source_l00263}{263}} of file \mbox{\hyperlink{lio__rxtx_8c_source}{lio\+\_\+rxtx.\+c}}.



References \mbox{\hyperlink{lio__iq_8h_source_l00158}{lio\+\_\+instr\+\_\+queue\+::br}}, \mbox{\hyperlink{lio__iq_8h_source_l00109}{lio\+\_\+instr\+\_\+queue\+::enq\+\_\+lock}}, \mbox{\hyperlink{lio__network_8h_source_l00098}{lio\+::ifp}}, \mbox{\hyperlink{lio__device_8h_source_l00426}{octeon\+\_\+device\+::instr\+\_\+queue}}, \mbox{\hyperlink{lio__bsd_8h_source_l00110}{lio\+\_\+dev\+\_\+dbg}}, \mbox{\hyperlink{lio__rxtx_8c_source_l00231}{lio\+\_\+mq\+\_\+start\+\_\+locked()}}, \mbox{\hyperlink{lio__device_8h_source_l00420}{octeon\+\_\+device\+::num\+\_\+iqs}}, and \mbox{\hyperlink{lio__network_8h_source_l00096}{lio\+::oct\+\_\+dev}}.



Referenced by \mbox{\hyperlink{lio__main_8c_source_l01131}{lio\+\_\+init\+\_\+ifnet()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d25/lio__rxtx_8c_a9df63599d6f995462dca5a547fd2dbd6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d25/lio__rxtx_8c_a9df63599d6f995462dca5a547fd2dbd6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{lio__rxtx_8c_a61ddde62ce3624ee8e0fc182077e3862}\label{lio__rxtx_8c_a61ddde62ce3624ee8e0fc182077e3862}} 
\index{lio\_rxtx.c@{lio\_rxtx.c}!lio\_mq\_start\_locked@{lio\_mq\_start\_locked}}
\index{lio\_mq\_start\_locked@{lio\_mq\_start\_locked}!lio\_rxtx.c@{lio\_rxtx.c}}
\doxysubsubsection{\texorpdfstring{lio\_mq\_start\_locked()}{lio\_mq\_start\_locked()}}
{\footnotesize\ttfamily int lio\+\_\+mq\+\_\+start\+\_\+locked (\begin{DoxyParamCaption}\item[{struct ifnet $\ast$}]{ifp,  }\item[{struct \mbox{\hyperlink{structlio__instr__queue}{lio\+\_\+instr\+\_\+queue}} $\ast$}]{iq }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{lio__rxtx_8c_source_l00231}{231}} of file \mbox{\hyperlink{lio__rxtx_8c_source}{lio\+\_\+rxtx.\+c}}.



References \mbox{\hyperlink{lio__iq_8h_source_l00158}{lio\+\_\+instr\+\_\+queue\+::br}}, \mbox{\hyperlink{lio__network_8h_source_l00098}{lio\+::ifp}}, \mbox{\hyperlink{lio__network_8h_source_l00103}{lio\+::linfo}}, \mbox{\hyperlink{lio__common_8h_source_l00671}{octeon\+\_\+link\+\_\+info\+::link}}, \mbox{\hyperlink{lio__common_8h_source_l00601}{octeon\+\_\+link\+\_\+status\+::link\+\_\+up}}, \mbox{\hyperlink{lio__rxtx_8c_source_l00047}{lio\+\_\+xmit()}}, and \mbox{\hyperlink{unionocteon__link__status_ae37b5eac8622127d61e40081d5e5f4ed}{octeon\+\_\+link\+\_\+status\+::s}}.



Referenced by \mbox{\hyperlink{lio__request__manager_8c_source_l00540}{\+\_\+\+\_\+lio\+\_\+check\+\_\+db\+\_\+timeout()}}, \mbox{\hyperlink{lio__rxtx_8c_source_l00263}{lio\+\_\+mq\+\_\+start()}}, and \mbox{\hyperlink{lio__core_8c_source_l00497}{lio\+\_\+msix\+\_\+intr\+\_\+handler()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d25/lio__rxtx_8c_a61ddde62ce3624ee8e0fc182077e3862_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d25/lio__rxtx_8c_a61ddde62ce3624ee8e0fc182077e3862_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{lio__rxtx_8c_a05d8ae514c414dd15157920756336af0}\label{lio__rxtx_8c_a05d8ae514c414dd15157920756336af0}} 
\index{lio\_rxtx.c@{lio\_rxtx.c}!lio\_qflush@{lio\_qflush}}
\index{lio\_qflush@{lio\_qflush}!lio\_rxtx.c@{lio\_rxtx.c}}
\doxysubsubsection{\texorpdfstring{lio\_qflush()}{lio\_qflush()}}
{\footnotesize\ttfamily void lio\+\_\+qflush (\begin{DoxyParamCaption}\item[{struct ifnet $\ast$}]{ifp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{lio__rxtx_8c_source_l00303}{303}} of file \mbox{\hyperlink{lio__rxtx_8c_source}{lio\+\_\+rxtx.\+c}}.



References \mbox{\hyperlink{lio__main_8h_source_l00134}{BIT\+\_\+\+ULL}}, \mbox{\hyperlink{lio__iq_8h_source_l00158}{lio\+\_\+instr\+\_\+queue\+::br}}, \mbox{\hyperlink{lio__iq_8h_source_l00109}{lio\+\_\+instr\+\_\+queue\+::enq\+\_\+lock}}, \mbox{\hyperlink{lio__network_8h_source_l00098}{lio\+::ifp}}, \mbox{\hyperlink{lio__device_8h_source_l00426}{octeon\+\_\+device\+::instr\+\_\+queue}}, \mbox{\hyperlink{lio__device_8h_source_l00436}{octeon\+\_\+device\+::io\+\_\+qmask}}, \mbox{\hyperlink{lio__device_8h_source_l00181}{lio\+\_\+io\+\_\+enable\+::iq}}, \mbox{\hyperlink{lio__config_8h_source_l00434}{LIO\+\_\+\+MAX\+\_\+\+INSTR\+\_\+\+QUEUES}}, and \mbox{\hyperlink{lio__network_8h_source_l00096}{lio\+::oct\+\_\+dev}}.



Referenced by \mbox{\hyperlink{lio__main_8c_source_l01131}{lio\+\_\+init\+\_\+ifnet()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d25/lio__rxtx_8c_a05d8ae514c414dd15157920756336af0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{lio__rxtx_8c_a357e0a6229c74147b38de453604e3a2b}\label{lio__rxtx_8c_a357e0a6229c74147b38de453604e3a2b}} 
\index{lio\_rxtx.c@{lio\_rxtx.c}!lio\_xmit@{lio\_xmit}}
\index{lio\_xmit@{lio\_xmit}!lio\_rxtx.c@{lio\_rxtx.c}}
\doxysubsubsection{\texorpdfstring{lio\_xmit()}{lio\_xmit()}}
{\footnotesize\ttfamily int lio\+\_\+xmit (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structlio}{lio}} $\ast$}]{lio,  }\item[{struct \mbox{\hyperlink{structlio__instr__queue}{lio\+\_\+instr\+\_\+queue}} $\ast$}]{iq,  }\item[{struct mbuf $\ast$$\ast$}]{m\+\_\+headp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{lio__rxtx_8c_source_l00047}{47}} of file \mbox{\hyperlink{lio__rxtx_8c_source}{lio\+\_\+rxtx.\+c}}.



References \mbox{\hyperlink{lio__ctrl_8h_source_l00092}{lio\+\_\+data\+\_\+pkt\+::buf}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00101}{lio\+\_\+data\+\_\+pkt\+::cmd}}, \mbox{\hyperlink{lio__iq_8h_source_l00225}{lio\+\_\+instr\+\_\+64\+B\+::cmd3}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00128}{lio\+\_\+cmd\+\_\+setup\+::cmd\+\_\+setup64}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00098}{lio\+\_\+data\+\_\+pkt\+::datasize}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00123}{lio\+\_\+cmd\+\_\+setup\+::datasize}}, \mbox{\hyperlink{lio__iq_8h_source_l00199}{lio\+\_\+instr3\+\_\+64\+B\+::dptr}}, \mbox{\hyperlink{lio__iq_8h_source_l00075}{lio\+\_\+request\+\_\+list\+::finfo}}, \mbox{\hyperlink{lio__iq_8h_source_l00066}{lio\+\_\+mbuf\+\_\+free\+\_\+info\+::g}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00115}{lio\+\_\+cmd\+\_\+setup\+::gather}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00124}{lio\+\_\+cmd\+\_\+setup\+::gatherptrs}}, \mbox{\hyperlink{lio__network_8h_source_l00090}{lio\+::ghead}}, \mbox{\hyperlink{lio__network_8h_source_l00077}{lio\+::glist\+\_\+lock}}, \mbox{\hyperlink{lio__rxtx_8h_source_l00071}{lio\+\_\+tx\+\_\+info\+::gso\+\_\+segs}}, \mbox{\hyperlink{lio__rxtx_8h_source_l00070}{lio\+\_\+tx\+\_\+info\+::gso\+\_\+size}}, \mbox{\hyperlink{lio__iq_8h_source_l00133}{lio\+\_\+instr\+\_\+queue\+::host\+\_\+write\+\_\+index}}, \mbox{\hyperlink{lio__network_8h_source_l00059}{lio\+::ifstate}}, \mbox{\hyperlink{lio__device_8h_source_l00426}{octeon\+\_\+device\+::instr\+\_\+queue}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00117}{lio\+\_\+cmd\+\_\+setup\+::ip\+\_\+csum}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00114}{lio\+\_\+cmd\+\_\+setup\+::iq\+\_\+no}}, \mbox{\hyperlink{lio__iq_8h_source_l00208}{lio\+\_\+instr3\+\_\+64\+B\+::irh}}, \mbox{\hyperlink{lio__network_8h_source_l00103}{lio\+::linfo}}, \mbox{\hyperlink{lio__common_8h_source_l00671}{octeon\+\_\+link\+\_\+info\+::link}}, \mbox{\hyperlink{lio__common_8h_source_l00601}{octeon\+\_\+link\+\_\+status\+::link\+\_\+up}}, \mbox{\hyperlink{lio__common_8h_source_l00172}{lio\+\_\+add\+\_\+sg\+\_\+size()}}, \mbox{\hyperlink{lio__main_8h_source_l00046}{LIO\+\_\+\+CAST64}}, \mbox{\hyperlink{lio__bsd_8h_source_l00119}{lio\+\_\+delete\+\_\+first\+\_\+node()}}, \mbox{\hyperlink{lio__bsd_8h_source_l00110}{lio\+\_\+dev\+\_\+dbg}}, \mbox{\hyperlink{lio__bsd_8h_source_l00103}{lio\+\_\+dev\+\_\+err}}, \mbox{\hyperlink{lio__bsd_8h_source_l00099}{lio\+\_\+dev\+\_\+info}}, \mbox{\hyperlink{lio__rxtx_8h_source_l00041}{LIO\+\_\+\+IFSTATE\+\_\+\+RUNNING}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00133}{lio\+\_\+iq\+\_\+is\+\_\+full()}}, \mbox{\hyperlink{lio__iq_8h_source_l00046}{LIO\+\_\+\+IQ\+\_\+\+SEND\+\_\+\+FAILED}}, \mbox{\hyperlink{lio__network_8h_source_l00047}{LIO\+\_\+\+MAX\+\_\+\+SG}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00214}{lio\+\_\+prepare\+\_\+pci\+\_\+cmd()}}, \mbox{\hyperlink{lio__iq_8h_source_l00051}{LIO\+\_\+\+REQTYPE\+\_\+\+NORESP\+\_\+\+NET}}, \mbox{\hyperlink{lio__iq_8h_source_l00052}{LIO\+\_\+\+REQTYPE\+\_\+\+NORESP\+\_\+\+NET\+\_\+\+SG}}, \mbox{\hyperlink{lio__ctrl_8c_source_l00045}{lio\+\_\+send\+\_\+data\+\_\+pkt()}}, \mbox{\hyperlink{lio__iq_8h_source_l00068}{lio\+\_\+mbuf\+\_\+free\+\_\+info\+::map}}, \mbox{\hyperlink{lio__iq_8h_source_l00074}{lio\+\_\+request\+\_\+list\+::map}}, \mbox{\hyperlink{lio__iq_8h_source_l00063}{lio\+\_\+mbuf\+\_\+free\+\_\+info\+::mb}}, \mbox{\hyperlink{lio__iq_8h_source_l00093}{lio\+\_\+iq\+\_\+stats\+::mbuf\+\_\+defrag\+\_\+failed}}, \mbox{\hyperlink{lio__iq_8h_source_l00103}{lio\+\_\+instr\+\_\+queue\+::oct\+\_\+dev}}, \mbox{\hyperlink{lio__iq_8h_source_l00211}{lio\+\_\+instr3\+\_\+64\+B\+::ossp}}, \mbox{\hyperlink{lio__common_8h_source_l00449}{octeon\+\_\+instr\+\_\+irh\+::priority}}, \mbox{\hyperlink{lio__common_8h_source_l00630}{octeon\+\_\+txpciq\+::q\+\_\+no}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00104}{lio\+\_\+data\+\_\+pkt\+::q\+\_\+no}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00095}{lio\+\_\+data\+\_\+pkt\+::reqtype}}, \mbox{\hyperlink{lio__iq_8h_source_l00156}{lio\+\_\+instr\+\_\+queue\+::request\+\_\+list}}, \mbox{\hyperlink{unionocteon__link__status_ae37b5eac8622127d61e40081d5e5f4ed}{octeon\+\_\+link\+\_\+status\+::s}}, \mbox{\hyperlink{unionocteon__txpciq_a6d4c2fdb74975a61c5ff707a70b8b277}{octeon\+\_\+txpciq\+::s}}, \mbox{\hyperlink{unionlio__cmd__setup_a4fa45a2b072aab999adc5e82c6c2ea53}{lio\+\_\+cmd\+\_\+setup\+::s}}, \mbox{\hyperlink{unionlio__tx__info_a6f756d9441accbb54f1ee1dc410f15f5}{lio\+\_\+tx\+\_\+info\+::s}}, \mbox{\hyperlink{lio__rxtx_8h_source_l00061}{lio\+\_\+gather\+::sg}}, \mbox{\hyperlink{lio__rxtx_8h_source_l00063}{lio\+\_\+gather\+::sg\+\_\+dma\+\_\+ptr}}, \mbox{\hyperlink{lio__rxtx_8h_source_l00055}{lio\+\_\+gather\+::sg\+\_\+size}}, \mbox{\hyperlink{lio__iq_8h_source_l00179}{lio\+\_\+instr\+\_\+queue\+::stats}}, \mbox{\hyperlink{lio__ctrl_8h_source_l00118}{lio\+\_\+cmd\+\_\+setup\+::transport\+\_\+csum}}, \mbox{\hyperlink{lio__iq_8h_source_l00091}{lio\+\_\+iq\+\_\+stats\+::tx\+\_\+dmamap\+\_\+fail}}, \mbox{\hyperlink{lio__iq_8h_source_l00085}{lio\+\_\+iq\+\_\+stats\+::tx\+\_\+done}}, \mbox{\hyperlink{lio__iq_8h_source_l00087}{lio\+\_\+iq\+\_\+stats\+::tx\+\_\+dropped}}, \mbox{\hyperlink{lio__iq_8h_source_l00089}{lio\+\_\+iq\+\_\+stats\+::tx\+\_\+gso}}, \mbox{\hyperlink{lio__iq_8h_source_l00086}{lio\+\_\+iq\+\_\+stats\+::tx\+\_\+iq\+\_\+busy}}, \mbox{\hyperlink{lio__iq_8h_source_l00088}{lio\+\_\+iq\+\_\+stats\+::tx\+\_\+tot\+\_\+bytes}}, \mbox{\hyperlink{lio__iq_8h_source_l00123}{lio\+\_\+instr\+\_\+queue\+::txpciq}}, \mbox{\hyperlink{lio__iq_8h_source_l00154}{lio\+\_\+instr\+\_\+queue\+::txtag}}, \mbox{\hyperlink{unionlio__cmd__setup_af6077ded8535c2255a9aefc7edf1ad3b}{lio\+\_\+cmd\+\_\+setup\+::u}}, and \mbox{\hyperlink{lio__common_8h_source_l00448}{octeon\+\_\+instr\+\_\+irh\+::vlan}}.



Referenced by \mbox{\hyperlink{lio__rxtx_8c_source_l00231}{lio\+\_\+mq\+\_\+start\+\_\+locked()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d25/lio__rxtx_8c_a357e0a6229c74147b38de453604e3a2b_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d25/lio__rxtx_8c_a357e0a6229c74147b38de453604e3a2b_icgraph}
\end{center}
\end{figure}
