\hypertarget{sfxge__tx_8h}{}\doxysection{dev/sfxge/sfxge\+\_\+tx.h File Reference}
\label{sfxge__tx_8h}\index{dev/sfxge/sfxge\_tx.h@{dev/sfxge/sfxge\_tx.h}}
{\ttfamily \#include $<$netinet/in.\+h$>$}\newline
{\ttfamily \#include $<$netinet/ip.\+h$>$}\newline
{\ttfamily \#include $<$netinet/tcp.\+h$>$}\newline
Include dependency graph for sfxge\+\_\+tx.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=338pt]{d7/daf/sfxge__tx_8h__incl}
\end{center}
\end{figure}
This graph shows which files directly or indirectly include this file\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/d4c/sfxge__tx_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structsfxge__tx__mapping}{sfxge\+\_\+tx\+\_\+mapping}}
\item 
struct \mbox{\hyperlink{structsfxge__tx__dpl}{sfxge\+\_\+tx\+\_\+dpl}}
\item 
struct \mbox{\hyperlink{structsfxge__txq}{sfxge\+\_\+txq}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_aa0c2b8c627ba5951f1f385e9542737e0}{SFXGE\+\_\+\+TX\+\_\+\+PARSE\+\_\+\+EARLY}}~1
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_aadc3bece8a70eda311f5b2a89ff9c373}{SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SIZE}}~(65535)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a1babf45ca3cb1db24a868d1291b83c28}{SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SEGS}}~howmany(\mbox{\hyperlink{sfxge__tx_8h_aadc3bece8a70eda311f5b2a89ff9c373}{SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SIZE}}, 512)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a335d7962e252d3e432cb22e3d08347fb}{SFXGE\+\_\+\+TX\+\_\+\+MAPPING\+\_\+\+MAX\+\_\+\+SEG}}~ (2 + howmany(\mbox{\hyperlink{sfxge__tx_8h_aadc3bece8a70eda311f5b2a89ff9c373}{SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SIZE}}, MCLBYTES) + 1)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a665ebe80b10310a7336e54cf878fc071}{SFXGE\+\_\+\+TX\+\_\+\+DPL\+\_\+\+GET\+\_\+\+PKT\+\_\+\+LIMIT\+\_\+\+DEFAULT}}~(64 $\ast$ 1024)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a971f3c468d1c3fdc5a23670f45f82299}{SFXGE\+\_\+\+TX\+\_\+\+DPL\+\_\+\+GET\+\_\+\+NON\+\_\+\+TCP\+\_\+\+PKT\+\_\+\+LIMIT\+\_\+\+DEFAULT}}~1024
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_ac25f9b3a5a3cba3ced467e4c6e25276e}{SFXGE\+\_\+\+TX\+\_\+\+DPL\+\_\+\+PUT\+\_\+\+PKT\+\_\+\+LIMIT\+\_\+\+DEFAULT}}~1024
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a87f4c96d64c6e8c7014045e6c21f148d}{SFXGE\+\_\+\+TX\+\_\+\+BUFFER\+\_\+\+SIZE}}~0x400
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_ac4b4b00da382cb2e247b955287fe9e4d}{SFXGE\+\_\+\+TX\+\_\+\+HEADER\+\_\+\+SIZE}}~0x100
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a8076f00bd4c0d285dce6a126d7d62c85}{SFXGE\+\_\+\+TX\+\_\+\+COPY\+\_\+\+THRESHOLD}}~0x200
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_abedc03d80e0cb6b84a0ad1dc1db3b4b8}{SFXGE\+\_\+\+EVQ0\+\_\+\+N\+\_\+\+TXQ}}(\+\_\+sc)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a72e7353898bbc2393cb88743fd6a021b}{SFXGE\+\_\+\+TXQ\+\_\+\+UNBLOCK\+\_\+\+LEVEL}}(\+\_\+entries)~(\mbox{\hyperlink{efx_8h_ab34439bbb6c68ec8182b532ecd8aacb8}{EFX\+\_\+\+TXQ\+\_\+\+LIMIT}}(\+\_\+entries) / 4)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a9078ee4203dc2927141d1d1a80eebda0}{SFXGE\+\_\+\+TX\+\_\+\+BATCH}}~64
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_aa8b84b4b2c7dc03020d466f9b4fc982f}{SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+INIT}}(\+\_\+txq,  \+\_\+ifname,  \+\_\+txq\+\_\+index)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a0b01e44836c5f84f81a94b3ff728bda6}{SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+DESTROY}}(\+\_\+txq)~ mtx\+\_\+destroy(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a12bf4a0f21ec6ee3eb594ab4b3521a78}{SFXGE\+\_\+\+TXQ\+\_\+\+LOCK}}(\+\_\+txq)~ mtx\+\_\+lock(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a026298bafa6a8d5466757099bc154e04}{SFXGE\+\_\+\+TXQ\+\_\+\+TRYLOCK}}(\+\_\+txq)~ mtx\+\_\+trylock(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a1fb1382b6f381a92dd9b5ef7a70a63be}{SFXGE\+\_\+\+TXQ\+\_\+\+UNLOCK}}(\+\_\+txq)~ mtx\+\_\+unlock(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a0c6918d43010b5fa2c0fb360880a347a}{SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+ASSERT\+\_\+\+OWNED}}(\+\_\+txq)~ mtx\+\_\+assert(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}}, MA\+\_\+\+OWNED)
\item 
\#define \mbox{\hyperlink{sfxge__tx_8h_a93e8d361885587b359345e444e8bba61}{SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+ASSERT\+\_\+\+NOTOWNED}}(\+\_\+txq)~ mtx\+\_\+assert(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}}, MA\+\_\+\+NOTOWNED)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \mbox{\hyperlink{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49}{sfxge\+\_\+tx\+\_\+buf\+\_\+flags}} \{ \mbox{\hyperlink{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49ad5ab94f5c40cd4b8450f3a5a067eb5a3}{TX\+\_\+\+BUF\+\_\+\+UNMAP}} = 1
, \mbox{\hyperlink{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49aca9d3b0dbbe1905aa6b56c3673379388}{TX\+\_\+\+BUF\+\_\+\+MBUF}} = 2
 \}
\item 
enum \mbox{\hyperlink{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969}{sfxge\+\_\+txq\+\_\+state}} \{ \mbox{\hyperlink{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969a63183c47f256cd235ac45e0b34c01d08}{SFXGE\+\_\+\+TXQ\+\_\+\+UNINITIALIZED}} = 0
, \mbox{\hyperlink{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969a4df290b112c7772af6964c6c3744b38e}{SFXGE\+\_\+\+TXQ\+\_\+\+INITIALIZED}}
, \mbox{\hyperlink{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969aeeaa35b3c0565ddcf5f0adcc4ee320d0}{SFXGE\+\_\+\+TXQ\+\_\+\+STARTED}}
 \}
\item 
enum \mbox{\hyperlink{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebf}{sfxge\+\_\+txq\+\_\+type}} \{ \mbox{\hyperlink{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfacf839b613ce2103617d90a96f2558075}{SFXGE\+\_\+\+TXQ\+\_\+\+NON\+\_\+\+CKSUM}} = 0
, \mbox{\hyperlink{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfa0b92d65a1890854b170a58d942a5a97d}{SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+CKSUM}}
, \mbox{\hyperlink{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfa3236a122efc85803d87293fc182f2bbf}{SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+TCP\+\_\+\+UDP\+\_\+\+CKSUM}}
, \mbox{\hyperlink{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfaec5fc85af2f5bbdb9ff629afbd5d937a}{SFXGE\+\_\+\+TXQ\+\_\+\+NTYPES}}
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
uint64\+\_\+t \mbox{\hyperlink{sfxge__tx_8h_a88710f452a88661460b3266e5136bd56}{sfxge\+\_\+tx\+\_\+get\+\_\+drops}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}})
\item 
int \mbox{\hyperlink{sfxge__tx_8h_a742e1da3921a29214fbee6ff472b6010}{sfxge\+\_\+tx\+\_\+init}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}})
\item 
void \mbox{\hyperlink{sfxge__tx_8h_a013969ddfbb51e4f5f9f01eaa92d22f2}{sfxge\+\_\+tx\+\_\+fini}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}})
\item 
int \mbox{\hyperlink{sfxge__tx_8h_adf0a8a29f683aac814ce750a1447266a}{sfxge\+\_\+tx\+\_\+start}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}})
\item 
void \mbox{\hyperlink{sfxge__tx_8h_a889ec0ca9edaf9109254ad0396175b79}{sfxge\+\_\+tx\+\_\+stop}} (struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$\mbox{\hyperlink{sfxge_8h_a0fdd68fb60df8c76625b73b761e9b8d0}{sc}})
\item 
void \mbox{\hyperlink{sfxge__tx_8h_a975d5d301084fc878ef5db145331c5fa}{sfxge\+\_\+tx\+\_\+qcomplete}} (struct \mbox{\hyperlink{structsfxge__txq}{sfxge\+\_\+txq}} $\ast$\mbox{\hyperlink{sfxge_8h_a37641b94275b12629054892aa86b18ea}{txq}}, struct \mbox{\hyperlink{structsfxge__evq}{sfxge\+\_\+evq}} $\ast$evq)
\item 
void \mbox{\hyperlink{sfxge__tx_8h_a6fdaa34260f9de52867d131a9c48e519}{sfxge\+\_\+tx\+\_\+qflush\+\_\+done}} (struct \mbox{\hyperlink{structsfxge__txq}{sfxge\+\_\+txq}} $\ast$\mbox{\hyperlink{sfxge_8h_a37641b94275b12629054892aa86b18ea}{txq}})
\item 
void \mbox{\hyperlink{sfxge__tx_8h_a331dc4cefcad5a95cdd2af2fed7bf990}{sfxge\+\_\+if\+\_\+qflush}} (struct ifnet $\ast$ifp)
\item 
int \mbox{\hyperlink{sfxge__tx_8h_a5844465cf4e898c5542b83c42b52dae7}{sfxge\+\_\+if\+\_\+transmit}} (struct ifnet $\ast$ifp, struct mbuf $\ast$m)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{sfxge__tx_8h_abedc03d80e0cb6b84a0ad1dc1db3b4b8}\label{sfxge__tx_8h_abedc03d80e0cb6b84a0ad1dc1db3b4b8}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_EVQ0\_N\_TXQ@{SFXGE\_EVQ0\_N\_TXQ}}
\index{SFXGE\_EVQ0\_N\_TXQ@{SFXGE\_EVQ0\_N\_TXQ}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_EVQ0\_N\_TXQ}{SFXGE\_EVQ0\_N\_TXQ}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+EVQ0\+\_\+\+N\+\_\+\+TXQ(\begin{DoxyParamCaption}\item[{}]{\+\_\+sc }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        ((\_sc)-\/>txq\_dynamic\_cksum\_toggle\_supported ?                    \(\backslash\)}
\DoxyCodeLine{        1 : \mbox{\hyperlink{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfaec5fc85af2f5bbdb9ff629afbd5d937a}{SFXGE\_TXQ\_NTYPES}})}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00141}{141}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a1babf45ca3cb1db24a868d1291b83c28}\label{sfxge__tx_8h_a1babf45ca3cb1db24a868d1291b83c28}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TSO\_MAX\_SEGS@{SFXGE\_TSO\_MAX\_SEGS}}
\index{SFXGE\_TSO\_MAX\_SEGS@{SFXGE\_TSO\_MAX\_SEGS}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TSO\_MAX\_SEGS}{SFXGE\_TSO\_MAX\_SEGS}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SEGS~howmany(\mbox{\hyperlink{sfxge__tx_8h_aadc3bece8a70eda311f5b2a89ff9c373}{SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SIZE}}, 512)}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00057}{57}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_aadc3bece8a70eda311f5b2a89ff9c373}\label{sfxge__tx_8h_aadc3bece8a70eda311f5b2a89ff9c373}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TSO\_MAX\_SIZE@{SFXGE\_TSO\_MAX\_SIZE}}
\index{SFXGE\_TSO\_MAX\_SIZE@{SFXGE\_TSO\_MAX\_SIZE}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TSO\_MAX\_SIZE}{SFXGE\_TSO\_MAX\_SIZE}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SIZE~(65535)}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00051}{51}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a9078ee4203dc2927141d1d1a80eebda0}\label{sfxge__tx_8h_a9078ee4203dc2927141d1d1a80eebda0}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_BATCH@{SFXGE\_TX\_BATCH}}
\index{SFXGE\_TX\_BATCH@{SFXGE\_TX\_BATCH}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_BATCH}{SFXGE\_TX\_BATCH}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+BATCH~64}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00147}{147}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a87f4c96d64c6e8c7014045e6c21f148d}\label{sfxge__tx_8h_a87f4c96d64c6e8c7014045e6c21f148d}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_BUFFER\_SIZE@{SFXGE\_TX\_BUFFER\_SIZE}}
\index{SFXGE\_TX\_BUFFER\_SIZE@{SFXGE\_TX\_BUFFER\_SIZE}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_BUFFER\_SIZE}{SFXGE\_TX\_BUFFER\_SIZE}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+BUFFER\+\_\+\+SIZE~0x400}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00124}{124}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a8076f00bd4c0d285dce6a126d7d62c85}\label{sfxge__tx_8h_a8076f00bd4c0d285dce6a126d7d62c85}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_COPY\_THRESHOLD@{SFXGE\_TX\_COPY\_THRESHOLD}}
\index{SFXGE\_TX\_COPY\_THRESHOLD@{SFXGE\_TX\_COPY\_THRESHOLD}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_COPY\_THRESHOLD}{SFXGE\_TX\_COPY\_THRESHOLD}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+COPY\+\_\+\+THRESHOLD~0x200}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00126}{126}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a971f3c468d1c3fdc5a23670f45f82299}\label{sfxge__tx_8h_a971f3c468d1c3fdc5a23670f45f82299}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_DPL\_GET\_NON\_TCP\_PKT\_LIMIT\_DEFAULT@{SFXGE\_TX\_DPL\_GET\_NON\_TCP\_PKT\_LIMIT\_DEFAULT}}
\index{SFXGE\_TX\_DPL\_GET\_NON\_TCP\_PKT\_LIMIT\_DEFAULT@{SFXGE\_TX\_DPL\_GET\_NON\_TCP\_PKT\_LIMIT\_DEFAULT}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_DPL\_GET\_NON\_TCP\_PKT\_LIMIT\_DEFAULT}{SFXGE\_TX\_DPL\_GET\_NON\_TCP\_PKT\_LIMIT\_DEFAULT}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+DPL\+\_\+\+GET\+\_\+\+NON\+\_\+\+TCP\+\_\+\+PKT\+\_\+\+LIMIT\+\_\+\+DEFAULT~1024}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00098}{98}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a665ebe80b10310a7336e54cf878fc071}\label{sfxge__tx_8h_a665ebe80b10310a7336e54cf878fc071}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_DPL\_GET\_PKT\_LIMIT\_DEFAULT@{SFXGE\_TX\_DPL\_GET\_PKT\_LIMIT\_DEFAULT}}
\index{SFXGE\_TX\_DPL\_GET\_PKT\_LIMIT\_DEFAULT@{SFXGE\_TX\_DPL\_GET\_PKT\_LIMIT\_DEFAULT}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_DPL\_GET\_PKT\_LIMIT\_DEFAULT}{SFXGE\_TX\_DPL\_GET\_PKT\_LIMIT\_DEFAULT}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+DPL\+\_\+\+GET\+\_\+\+PKT\+\_\+\+LIMIT\+\_\+\+DEFAULT~(64 $\ast$ 1024)}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00097}{97}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_ac25f9b3a5a3cba3ced467e4c6e25276e}\label{sfxge__tx_8h_ac25f9b3a5a3cba3ced467e4c6e25276e}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_DPL\_PUT\_PKT\_LIMIT\_DEFAULT@{SFXGE\_TX\_DPL\_PUT\_PKT\_LIMIT\_DEFAULT}}
\index{SFXGE\_TX\_DPL\_PUT\_PKT\_LIMIT\_DEFAULT@{SFXGE\_TX\_DPL\_PUT\_PKT\_LIMIT\_DEFAULT}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_DPL\_PUT\_PKT\_LIMIT\_DEFAULT}{SFXGE\_TX\_DPL\_PUT\_PKT\_LIMIT\_DEFAULT}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+DPL\+\_\+\+PUT\+\_\+\+PKT\+\_\+\+LIMIT\+\_\+\+DEFAULT~1024}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00099}{99}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_ac4b4b00da382cb2e247b955287fe9e4d}\label{sfxge__tx_8h_ac4b4b00da382cb2e247b955287fe9e4d}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_HEADER\_SIZE@{SFXGE\_TX\_HEADER\_SIZE}}
\index{SFXGE\_TX\_HEADER\_SIZE@{SFXGE\_TX\_HEADER\_SIZE}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_HEADER\_SIZE}{SFXGE\_TX\_HEADER\_SIZE}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+HEADER\+\_\+\+SIZE~0x100}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00125}{125}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a335d7962e252d3e432cb22e3d08347fb}\label{sfxge__tx_8h_a335d7962e252d3e432cb22e3d08347fb}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_MAPPING\_MAX\_SEG@{SFXGE\_TX\_MAPPING\_MAX\_SEG}}
\index{SFXGE\_TX\_MAPPING\_MAX\_SEG@{SFXGE\_TX\_MAPPING\_MAX\_SEG}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_MAPPING\_MAX\_SEG}{SFXGE\_TX\_MAPPING\_MAX\_SEG}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+MAPPING\+\_\+\+MAX\+\_\+\+SEG~ (2 + howmany(\mbox{\hyperlink{sfxge__tx_8h_aadc3bece8a70eda311f5b2a89ff9c373}{SFXGE\+\_\+\+TSO\+\_\+\+MAX\+\_\+\+SIZE}}, MCLBYTES) + 1)}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00068}{68}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_aa0c2b8c627ba5951f1f385e9542737e0}\label{sfxge__tx_8h_aa0c2b8c627ba5951f1f385e9542737e0}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TX\_PARSE\_EARLY@{SFXGE\_TX\_PARSE\_EARLY}}
\index{SFXGE\_TX\_PARSE\_EARLY@{SFXGE\_TX\_PARSE\_EARLY}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TX\_PARSE\_EARLY}{SFXGE\_TX\_PARSE\_EARLY}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TX\+\_\+\+PARSE\+\_\+\+EARLY~1}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00048}{48}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a12bf4a0f21ec6ee3eb594ab4b3521a78}\label{sfxge__tx_8h_a12bf4a0f21ec6ee3eb594ab4b3521a78}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_LOCK@{SFXGE\_TXQ\_LOCK}}
\index{SFXGE\_TXQ\_LOCK@{SFXGE\_TXQ\_LOCK}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_LOCK}{SFXGE\_TXQ\_LOCK}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+LOCK(\begin{DoxyParamCaption}\item[{}]{\+\_\+txq }\end{DoxyParamCaption})~ mtx\+\_\+lock(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00161}{161}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a93e8d361885587b359345e444e8bba61}\label{sfxge__tx_8h_a93e8d361885587b359345e444e8bba61}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_LOCK\_ASSERT\_NOTOWNED@{SFXGE\_TXQ\_LOCK\_ASSERT\_NOTOWNED}}
\index{SFXGE\_TXQ\_LOCK\_ASSERT\_NOTOWNED@{SFXGE\_TXQ\_LOCK\_ASSERT\_NOTOWNED}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_LOCK\_ASSERT\_NOTOWNED}{SFXGE\_TXQ\_LOCK\_ASSERT\_NOTOWNED}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+ASSERT\+\_\+\+NOTOWNED(\begin{DoxyParamCaption}\item[{}]{\+\_\+txq }\end{DoxyParamCaption})~ mtx\+\_\+assert(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}}, MA\+\_\+\+NOTOWNED)}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00169}{169}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a0c6918d43010b5fa2c0fb360880a347a}\label{sfxge__tx_8h_a0c6918d43010b5fa2c0fb360880a347a}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_LOCK\_ASSERT\_OWNED@{SFXGE\_TXQ\_LOCK\_ASSERT\_OWNED}}
\index{SFXGE\_TXQ\_LOCK\_ASSERT\_OWNED@{SFXGE\_TXQ\_LOCK\_ASSERT\_OWNED}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_LOCK\_ASSERT\_OWNED}{SFXGE\_TXQ\_LOCK\_ASSERT\_OWNED}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+ASSERT\+\_\+\+OWNED(\begin{DoxyParamCaption}\item[{}]{\+\_\+txq }\end{DoxyParamCaption})~ mtx\+\_\+assert(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}}, MA\+\_\+\+OWNED)}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00167}{167}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a0b01e44836c5f84f81a94b3ff728bda6}\label{sfxge__tx_8h_a0b01e44836c5f84f81a94b3ff728bda6}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_LOCK\_DESTROY@{SFXGE\_TXQ\_LOCK\_DESTROY}}
\index{SFXGE\_TXQ\_LOCK\_DESTROY@{SFXGE\_TXQ\_LOCK\_DESTROY}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_LOCK\_DESTROY}{SFXGE\_TXQ\_LOCK\_DESTROY}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+DESTROY(\begin{DoxyParamCaption}\item[{}]{\+\_\+txq }\end{DoxyParamCaption})~ mtx\+\_\+destroy(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00159}{159}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_aa8b84b4b2c7dc03020d466f9b4fc982f}\label{sfxge__tx_8h_aa8b84b4b2c7dc03020d466f9b4fc982f}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_LOCK\_INIT@{SFXGE\_TXQ\_LOCK\_INIT}}
\index{SFXGE\_TXQ\_LOCK\_INIT@{SFXGE\_TXQ\_LOCK\_INIT}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_LOCK\_INIT}{SFXGE\_TXQ\_LOCK\_INIT}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+LOCK\+\_\+\+INIT(\begin{DoxyParamCaption}\item[{}]{\+\_\+txq,  }\item[{}]{\+\_\+ifname,  }\item[{}]{\+\_\+txq\+\_\+index }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keywordflow}{do} \{                                                            \(\backslash\)}
\DoxyCodeLine{                struct \mbox{\hyperlink{structsfxge__txq}{sfxge\_txq}}  *\_\_txq = (\_txq);                     \(\backslash\)}
\DoxyCodeLine{                                                                        \(\backslash\)}
\DoxyCodeLine{                snprintf((\_\_txq)-\/>\mbox{\hyperlink{sfxge_8h_ac5b2dd9976bf3597fa540259c348f829}{lock\_name}},                           \(\backslash\)}
\DoxyCodeLine{                         \textcolor{keyword}{sizeof}((\_\_txq)-\/>\mbox{\hyperlink{sfxge_8h_ac5b2dd9976bf3597fa540259c348f829}{lock\_name}}),                   \(\backslash\)}
\DoxyCodeLine{                         \textcolor{stringliteral}{"{}\%s:txq\%u"{}}, (\_ifname), (\_txq\_index));          \(\backslash\)}
\DoxyCodeLine{                mtx\_init(\&(\_\_txq)-\/>\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}}, (\_\_txq)-\/>\mbox{\hyperlink{sfxge_8h_ac5b2dd9976bf3597fa540259c348f829}{lock\_name}},               \(\backslash\)}
\DoxyCodeLine{                         NULL, MTX\_DEF);                                \(\backslash\)}
\DoxyCodeLine{        \} \textcolor{keywordflow}{while} (B\_FALSE)}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00149}{149}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a026298bafa6a8d5466757099bc154e04}\label{sfxge__tx_8h_a026298bafa6a8d5466757099bc154e04}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_TRYLOCK@{SFXGE\_TXQ\_TRYLOCK}}
\index{SFXGE\_TXQ\_TRYLOCK@{SFXGE\_TXQ\_TRYLOCK}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_TRYLOCK}{SFXGE\_TXQ\_TRYLOCK}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+TRYLOCK(\begin{DoxyParamCaption}\item[{}]{\+\_\+txq }\end{DoxyParamCaption})~ mtx\+\_\+trylock(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00163}{163}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a72e7353898bbc2393cb88743fd6a021b}\label{sfxge__tx_8h_a72e7353898bbc2393cb88743fd6a021b}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_UNBLOCK\_LEVEL@{SFXGE\_TXQ\_UNBLOCK\_LEVEL}}
\index{SFXGE\_TXQ\_UNBLOCK\_LEVEL@{SFXGE\_TXQ\_UNBLOCK\_LEVEL}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_UNBLOCK\_LEVEL}{SFXGE\_TXQ\_UNBLOCK\_LEVEL}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+UNBLOCK\+\_\+\+LEVEL(\begin{DoxyParamCaption}\item[{}]{\+\_\+entries }\end{DoxyParamCaption})~(\mbox{\hyperlink{efx_8h_ab34439bbb6c68ec8182b532ecd8aacb8}{EFX\+\_\+\+TXQ\+\_\+\+LIMIT}}(\+\_\+entries) / 4)}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00145}{145}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a1fb1382b6f381a92dd9b5ef7a70a63be}\label{sfxge__tx_8h_a1fb1382b6f381a92dd9b5ef7a70a63be}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_UNLOCK@{SFXGE\_TXQ\_UNLOCK}}
\index{SFXGE\_TXQ\_UNLOCK@{SFXGE\_TXQ\_UNLOCK}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{SFXGE\_TXQ\_UNLOCK}{SFXGE\_TXQ\_UNLOCK}}
{\footnotesize\ttfamily \#define SFXGE\+\_\+\+TXQ\+\_\+\+UNLOCK(\begin{DoxyParamCaption}\item[{}]{\+\_\+txq }\end{DoxyParamCaption})~ mtx\+\_\+unlock(\&(\+\_\+txq)-\/$>$\mbox{\hyperlink{sfxge_8h_a62a876178ad5d97d65732d21f1afd004}{lock}})}



Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00165}{165}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49}\label{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_buf\_flags@{sfxge\_tx\_buf\_flags}}
\index{sfxge\_tx\_buf\_flags@{sfxge\_tx\_buf\_flags}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_buf\_flags}{sfxge\_tx\_buf\_flags}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49}{sfxge\+\_\+tx\+\_\+buf\+\_\+flags}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{TX\_BUF\_UNMAP@{TX\_BUF\_UNMAP}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!TX\_BUF\_UNMAP@{TX\_BUF\_UNMAP}}}\mbox{\Hypertarget{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49ad5ab94f5c40cd4b8450f3a5a067eb5a3}\label{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49ad5ab94f5c40cd4b8450f3a5a067eb5a3}} 
TX\+\_\+\+BUF\+\_\+\+UNMAP&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{TX\_BUF\_MBUF@{TX\_BUF\_MBUF}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!TX\_BUF\_MBUF@{TX\_BUF\_MBUF}}}\mbox{\Hypertarget{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49aca9d3b0dbbe1905aa6b56c3673379388}\label{sfxge__tx_8h_ace0a48bd718811eb4bafc398c25ede49aca9d3b0dbbe1905aa6b56c3673379388}} 
TX\+\_\+\+BUF\+\_\+\+MBUF&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00080}{80}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969}\label{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_txq\_state@{sfxge\_txq\_state}}
\index{sfxge\_txq\_state@{sfxge\_txq\_state}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_txq\_state}{sfxge\_txq\_state}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969}{sfxge\+\_\+txq\+\_\+state}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{SFXGE\_TXQ\_UNINITIALIZED@{SFXGE\_TXQ\_UNINITIALIZED}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_UNINITIALIZED@{SFXGE\_TXQ\_UNINITIALIZED}}}\mbox{\Hypertarget{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969a63183c47f256cd235ac45e0b34c01d08}\label{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969a63183c47f256cd235ac45e0b34c01d08}} 
SFXGE\+\_\+\+TXQ\+\_\+\+UNINITIALIZED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SFXGE\_TXQ\_INITIALIZED@{SFXGE\_TXQ\_INITIALIZED}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_INITIALIZED@{SFXGE\_TXQ\_INITIALIZED}}}\mbox{\Hypertarget{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969a4df290b112c7772af6964c6c3744b38e}\label{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969a4df290b112c7772af6964c6c3744b38e}} 
SFXGE\+\_\+\+TXQ\+\_\+\+INITIALIZED&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SFXGE\_TXQ\_STARTED@{SFXGE\_TXQ\_STARTED}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_STARTED@{SFXGE\_TXQ\_STARTED}}}\mbox{\Hypertarget{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969aeeaa35b3c0565ddcf5f0adcc4ee320d0}\label{sfxge__tx_8h_a1cf6d17c032abe42abbfe290f07dc969aeeaa35b3c0565ddcf5f0adcc4ee320d0}} 
SFXGE\+\_\+\+TXQ\+\_\+\+STARTED&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00128}{128}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.

\mbox{\Hypertarget{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebf}\label{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebf}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_txq\_type@{sfxge\_txq\_type}}
\index{sfxge\_txq\_type@{sfxge\_txq\_type}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_txq\_type}{sfxge\_txq\_type}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebf}{sfxge\+\_\+txq\+\_\+type}}}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{SFXGE\_TXQ\_NON\_CKSUM@{SFXGE\_TXQ\_NON\_CKSUM}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_NON\_CKSUM@{SFXGE\_TXQ\_NON\_CKSUM}}}\mbox{\Hypertarget{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfacf839b613ce2103617d90a96f2558075}\label{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfacf839b613ce2103617d90a96f2558075}} 
SFXGE\+\_\+\+TXQ\+\_\+\+NON\+\_\+\+CKSUM&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SFXGE\_TXQ\_IP\_CKSUM@{SFXGE\_TXQ\_IP\_CKSUM}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_IP\_CKSUM@{SFXGE\_TXQ\_IP\_CKSUM}}}\mbox{\Hypertarget{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfa0b92d65a1890854b170a58d942a5a97d}\label{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfa0b92d65a1890854b170a58d942a5a97d}} 
SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+CKSUM&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SFXGE\_TXQ\_IP\_TCP\_UDP\_CKSUM@{SFXGE\_TXQ\_IP\_TCP\_UDP\_CKSUM}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_IP\_TCP\_UDP\_CKSUM@{SFXGE\_TXQ\_IP\_TCP\_UDP\_CKSUM}}}\mbox{\Hypertarget{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfa3236a122efc85803d87293fc182f2bbf}\label{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfa3236a122efc85803d87293fc182f2bbf}} 
SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+TCP\+\_\+\+UDP\+\_\+\+CKSUM&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{SFXGE\_TXQ\_NTYPES@{SFXGE\_TXQ\_NTYPES}!sfxge\_tx.h@{sfxge\_tx.h}}\index{sfxge\_tx.h@{sfxge\_tx.h}!SFXGE\_TXQ\_NTYPES@{SFXGE\_TXQ\_NTYPES}}}\mbox{\Hypertarget{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfaec5fc85af2f5bbdb9ff629afbd5d937a}\label{sfxge__tx_8h_a2f6a08b4da55b736428e3025131ecebfaec5fc85af2f5bbdb9ff629afbd5d937a}} 
SFXGE\+\_\+\+TXQ\+\_\+\+NTYPES&\\
\hline

\end{DoxyEnumFields}


Definition at line \mbox{\hyperlink{sfxge__tx_8h_source_l00134}{134}} of file \mbox{\hyperlink{sfxge__tx_8h_source}{sfxge\+\_\+tx.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{sfxge__tx_8h_a331dc4cefcad5a95cdd2af2fed7bf990}\label{sfxge__tx_8h_a331dc4cefcad5a95cdd2af2fed7bf990}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_if\_qflush@{sfxge\_if\_qflush}}
\index{sfxge\_if\_qflush@{sfxge\_if\_qflush}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_if\_qflush()}{sfxge\_if\_qflush()}}
{\footnotesize\ttfamily void sfxge\+\_\+if\+\_\+qflush (\begin{DoxyParamCaption}\item[{struct ifnet $\ast$}]{ifp }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l00783}{783}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00762}{sfxge\+\_\+tx\+\_\+qdpl\+\_\+flush()}}, \mbox{\hyperlink{sfxge_8h_source_l00315}{sfxge\+\_\+softc\+::txq}}, and \mbox{\hyperlink{sfxge_8h_source_l00327}{sfxge\+\_\+softc\+::txq\+\_\+count}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00584}{sfxge\+\_\+ifnet\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a331dc4cefcad5a95cdd2af2fed7bf990_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a331dc4cefcad5a95cdd2af2fed7bf990_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_a5844465cf4e898c5542b83c42b52dae7}\label{sfxge__tx_8h_a5844465cf4e898c5542b83c42b52dae7}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_if\_transmit@{sfxge\_if\_transmit}}
\index{sfxge\_if\_transmit@{sfxge\_if\_transmit}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_if\_transmit()}{sfxge\_if\_transmit()}}
{\footnotesize\ttfamily int sfxge\+\_\+if\+\_\+transmit (\begin{DoxyParamCaption}\item[{struct ifnet $\ast$}]{ifp,  }\item[{struct mbuf $\ast$}]{m }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l00875}{875}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{sfxge_8h_source_l00274}{sfxge\+\_\+softc\+::if\+\_\+flags}}, \mbox{\hyperlink{sfxge_8h_source_l00003}{index}}, \mbox{\hyperlink{sfxge_8h_source_l00313}{sfxge\+\_\+softc\+::rx\+\_\+indir\+\_\+table}}, \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00808}{sfxge\+\_\+parse\+\_\+tx\+\_\+packet()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00717}{sfxge\+\_\+tx\+\_\+packet\+\_\+add()}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00136}{SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+CKSUM}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00137}{SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+TCP\+\_\+\+UDP\+\_\+\+CKSUM}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00135}{SFXGE\+\_\+\+TXQ\+\_\+\+NON\+\_\+\+CKSUM}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00138}{SFXGE\+\_\+\+TXQ\+\_\+\+NTYPES}}, \mbox{\hyperlink{sfxge_8h_source_l00013}{txq}}, \mbox{\hyperlink{sfxge_8h_source_l00315}{sfxge\+\_\+softc\+::txq}}, \mbox{\hyperlink{sfxge_8h_source_l00327}{sfxge\+\_\+softc\+::txq\+\_\+count}}, and \mbox{\hyperlink{sfxge_8h_source_l00291}{sfxge\+\_\+softc\+::txq\+\_\+dynamic\+\_\+cksum\+\_\+toggle\+\_\+supported}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00584}{sfxge\+\_\+ifnet\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a5844465cf4e898c5542b83c42b52dae7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a5844465cf4e898c5542b83c42b52dae7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_a013969ddfbb51e4f5f9f01eaa92d22f2}\label{sfxge__tx_8h_a013969ddfbb51e4f5f9f01eaa92d22f2}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_fini@{sfxge\_tx\_fini}}
\index{sfxge\_tx\_fini@{sfxge\_tx\_fini}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_fini()}{sfxge\_tx\_fini()}}
{\footnotesize\ttfamily void sfxge\+\_\+tx\+\_\+fini (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l01992}{1992}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{sfxge_8h_source_l00003}{index}}, \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01775}{sfxge\+\_\+tx\+\_\+qfini()}}, and \mbox{\hyperlink{sfxge_8h_source_l00327}{sfxge\+\_\+softc\+::txq\+\_\+count}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00893}{sfxge\+\_\+destroy()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a013969ddfbb51e4f5f9f01eaa92d22f2_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a013969ddfbb51e4f5f9f01eaa92d22f2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_a88710f452a88661460b3266e5136bd56}\label{sfxge__tx_8h_a88710f452a88661460b3266e5136bd56}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_get\_drops@{sfxge\_tx\_get\_drops}}
\index{sfxge\_tx\_get\_drops@{sfxge\_tx\_get\_drops}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_get\_drops()}{sfxge\_tx\_get\_drops()}}
{\footnotesize\ttfamily uint64\+\_\+t sfxge\+\_\+tx\+\_\+get\+\_\+drops (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l01969}{1969}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{sfxge__tx_8h_source_l00221}{sfxge\+\_\+txq\+::drops}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00223}{sfxge\+\_\+txq\+::get\+\_\+non\+\_\+tcp\+\_\+overflow}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00222}{sfxge\+\_\+txq\+::get\+\_\+overflow}}, \mbox{\hyperlink{sfxge_8h_source_l00003}{index}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00225}{sfxge\+\_\+txq\+::netdown\+\_\+drops}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00224}{sfxge\+\_\+txq\+::put\+\_\+overflow}}, \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00227}{sfxge\+\_\+txq\+::tso\+\_\+pdrop\+\_\+no\+\_\+rsrc}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00226}{sfxge\+\_\+txq\+::tso\+\_\+pdrop\+\_\+too\+\_\+many}}, \mbox{\hyperlink{sfxge_8h_source_l00013}{txq}}, \mbox{\hyperlink{sfxge_8h_source_l00315}{sfxge\+\_\+softc\+::txq}}, and \mbox{\hyperlink{sfxge_8h_source_l00327}{sfxge\+\_\+softc\+::txq\+\_\+count}}.



Referenced by \mbox{\hyperlink{sfxge__port_8c_source_l00105}{sfxge\+\_\+get\+\_\+counter()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a88710f452a88661460b3266e5136bd56_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_a742e1da3921a29214fbee6ff472b6010}\label{sfxge__tx_8h_a742e1da3921a29214fbee6ff472b6010}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_init@{sfxge\_tx\_init}}
\index{sfxge\_tx\_init@{sfxge\_tx\_init}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_init()}{sfxge\_tx\_init()}}
{\footnotesize\ttfamily int sfxge\+\_\+tx\+\_\+init (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l02004}{2004}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{sfxge_8h_source_l00269}{sfxge\+\_\+softc\+::dev}}, \mbox{\hyperlink{efx_8h_source_l01264}{EFX\+\_\+\+FEATURE\+\_\+\+FW\+\_\+\+ASSISTED\+\_\+\+TSO}}, \mbox{\hyperlink{efx_8h_source_l01265}{EFX\+\_\+\+FEATURE\+\_\+\+FW\+\_\+\+ASSISTED\+\_\+\+TSO\+\_\+\+V2}}, \mbox{\hyperlink{efx__nic_8c_source_l00621}{efx\+\_\+nic\+\_\+cfg\+\_\+get()}}, \mbox{\hyperlink{efx_8h_source_l01296}{efx\+\_\+nic\+\_\+cfg\+\_\+s\+::enc\+\_\+features}}, \mbox{\hyperlink{efx_8h_source_l01382}{efx\+\_\+nic\+\_\+cfg\+\_\+s\+::enc\+\_\+fw\+\_\+assisted\+\_\+tso\+\_\+enabled}}, \mbox{\hyperlink{efx_8h_source_l01383}{efx\+\_\+nic\+\_\+cfg\+\_\+s\+::enc\+\_\+fw\+\_\+assisted\+\_\+tso\+\_\+v2\+\_\+enabled}}, \mbox{\hyperlink{sfxge_8h_source_l00288}{sfxge\+\_\+softc\+::enp}}, \mbox{\hyperlink{sfxge_8h_source_l00003}{index}}, \mbox{\hyperlink{sfxge_8h_source_l00299}{sfxge\+\_\+softc\+::intr}}, \mbox{\hyperlink{sfxge_8h_source_l00207}{sfxge\+\_\+intr\+::n\+\_\+alloc}}, \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00141}{SFXGE\+\_\+\+EVQ0\+\_\+\+N\+\_\+\+TXQ}}, \mbox{\hyperlink{sfxge_8h_source_l00192}{SFXGE\+\_\+\+INTR\+\_\+\+INITIALIZED}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00095}{SFXGE\+\_\+\+PARAM\+\_\+\+TX\+\_\+\+DPL\+\_\+\+GET\+\_\+\+MAX}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00102}{SFXGE\+\_\+\+PARAM\+\_\+\+TX\+\_\+\+DPL\+\_\+\+GET\+\_\+\+NON\+\_\+\+TCP\+\_\+\+MAX}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00111}{SFXGE\+\_\+\+PARAM\+\_\+\+TX\+\_\+\+DPL\+\_\+\+PUT\+\_\+\+MAX}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00119}{sfxge\+\_\+tso\+\_\+fw\+\_\+assisted}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00096}{sfxge\+\_\+tx\+\_\+dpl\+\_\+get\+\_\+max}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00104}{sfxge\+\_\+tx\+\_\+dpl\+\_\+get\+\_\+non\+\_\+tcp\+\_\+max}}, \mbox{\hyperlink{sfxge__tx_8c_source_l00112}{sfxge\+\_\+tx\+\_\+dpl\+\_\+put\+\_\+max}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01775}{sfxge\+\_\+tx\+\_\+qfini()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01806}{sfxge\+\_\+tx\+\_\+qinit()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01952}{sfxge\+\_\+tx\+\_\+stat\+\_\+init()}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00136}{SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+CKSUM}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00137}{SFXGE\+\_\+\+TXQ\+\_\+\+IP\+\_\+\+TCP\+\_\+\+UDP\+\_\+\+CKSUM}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00135}{SFXGE\+\_\+\+TXQ\+\_\+\+NON\+\_\+\+CKSUM}}, \mbox{\hyperlink{sfxge_8h_source_l00204}{sfxge\+\_\+intr\+::state}}, \mbox{\hyperlink{sfxge_8h_source_l00329}{sfxge\+\_\+softc\+::tso\+\_\+fw\+\_\+assisted}}, \mbox{\hyperlink{sfxge_8h_source_l00327}{sfxge\+\_\+softc\+::txq\+\_\+count}}, \mbox{\hyperlink{sfxge_8h_source_l00291}{sfxge\+\_\+softc\+::txq\+\_\+dynamic\+\_\+cksum\+\_\+toggle\+\_\+supported}}, and \mbox{\hyperlink{sfxge_8h_source_l00279}{sfxge\+\_\+softc\+::txqs\+\_\+node}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00677}{sfxge\+\_\+create()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a742e1da3921a29214fbee6ff472b6010_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a742e1da3921a29214fbee6ff472b6010_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_a975d5d301084fc878ef5db145331c5fa}\label{sfxge__tx_8h_a975d5d301084fc878ef5db145331c5fa}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_qcomplete@{sfxge\_tx\_qcomplete}}
\index{sfxge\_tx\_qcomplete@{sfxge\_tx\_qcomplete}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_qcomplete()}{sfxge\_tx\_qcomplete()}}
{\footnotesize\ttfamily void sfxge\+\_\+tx\+\_\+qcomplete (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__txq}{sfxge\+\_\+txq}} $\ast$}]{txq,  }\item[{struct \mbox{\hyperlink{structsfxge__evq}{sfxge\+\_\+evq}} $\ast$}]{evq }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l00220}{220}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{sfxge__tx_8h_source_l00206}{sfxge\+\_\+txq\+::added}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00233}{sfxge\+\_\+txq\+::completed}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00182}{sfxge\+\_\+txq\+::entries}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00094}{sfxge\+\_\+tx\+\_\+mapping\+::flags}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00091}{sfxge\+\_\+tx\+\_\+mapping\+::heap\+\_\+buf}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00093}{sfxge\+\_\+tx\+\_\+mapping\+::map}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00090}{sfxge\+\_\+tx\+\_\+mapping\+::mbuf}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00187}{sfxge\+\_\+txq\+::packet\+\_\+dma\+\_\+tag}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00183}{sfxge\+\_\+txq\+::ptr\+\_\+mask}}, \mbox{\hyperlink{sfxge_8h_source_l00483}{SFXGE\+\_\+\+EVQ\+\_\+\+LOCK\+\_\+\+ASSERT\+\_\+\+OWNED}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01433}{sfxge\+\_\+tx\+\_\+qunblock()}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00145}{SFXGE\+\_\+\+TXQ\+\_\+\+UNBLOCK\+\_\+\+LEVEL}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00186}{sfxge\+\_\+txq\+::stmp}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00082}{TX\+\_\+\+BUF\+\_\+\+MBUF}}, \mbox{\hyperlink{sfxge__tx_8h_source_l00081}{TX\+\_\+\+BUF\+\_\+\+UNMAP}}, \mbox{\hyperlink{sfxge_8h_source_l00013}{txq}}, and \mbox{\hyperlink{structsfxge__tx__mapping_ae9f3a5cbc605ff26c1b7fecc1ea75656}{sfxge\+\_\+tx\+\_\+mapping\+::u}}.



Referenced by \mbox{\hyperlink{sfxge__ev_8c_source_l00052}{sfxge\+\_\+ev\+\_\+qcomplete()}}, \mbox{\hyperlink{sfxge__ev_8c_source_l00283}{sfxge\+\_\+ev\+\_\+tx()}}, and \mbox{\hyperlink{sfxge__tx_8c_source_l01471}{sfxge\+\_\+tx\+\_\+qstop()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a975d5d301084fc878ef5db145331c5fa_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a975d5d301084fc878ef5db145331c5fa_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_a6fdaa34260f9de52867d131a9c48e519}\label{sfxge__tx_8h_a6fdaa34260f9de52867d131a9c48e519}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_qflush\_done@{sfxge\_tx\_qflush\_done}}
\index{sfxge\_tx\_qflush\_done@{sfxge\_tx\_qflush\_done}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_qflush\_done()}{sfxge\_tx\_qflush\_done()}}
{\footnotesize\ttfamily void sfxge\+\_\+tx\+\_\+qflush\+\_\+done (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__txq}{sfxge\+\_\+txq}} $\ast$}]{txq }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l01464}{1464}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{sfxge__tx_8h_source_l00176}{sfxge\+\_\+txq\+::flush\+\_\+state}}, \mbox{\hyperlink{sfxge__rx_8h_source_l00142}{SFXGE\+\_\+\+FLUSH\+\_\+\+DONE}}, and \mbox{\hyperlink{sfxge_8h_source_l00013}{txq}}.



Referenced by \mbox{\hyperlink{sfxge__ev_8c_source_l00358}{sfxge\+\_\+ev\+\_\+software()}}, and \mbox{\hyperlink{sfxge__ev_8c_source_l00324}{sfxge\+\_\+ev\+\_\+txq\+\_\+flush\+\_\+done()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a6fdaa34260f9de52867d131a9c48e519_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_adf0a8a29f683aac814ce750a1447266a}\label{sfxge__tx_8h_adf0a8a29f683aac814ce750a1447266a}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_start@{sfxge\_tx\_start}}
\index{sfxge\_tx\_start@{sfxge\_tx\_start}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_start()}{sfxge\_tx\_start()}}
{\footnotesize\ttfamily int sfxge\+\_\+tx\+\_\+start (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l01723}{1723}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{efx__tx_8c_source_l00311}{efx\+\_\+tx\+\_\+fini()}}, \mbox{\hyperlink{efx__tx_8c_source_l00237}{efx\+\_\+tx\+\_\+init()}}, \mbox{\hyperlink{sfxge_8h_source_l00288}{sfxge\+\_\+softc\+::enp}}, \mbox{\hyperlink{sfxge_8h_source_l00003}{index}}, \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01612}{sfxge\+\_\+tx\+\_\+qstart()}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01471}{sfxge\+\_\+tx\+\_\+qstop()}}, and \mbox{\hyperlink{sfxge_8h_source_l00327}{sfxge\+\_\+softc\+::txq\+\_\+count}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00215}{sfxge\+\_\+start()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_adf0a8a29f683aac814ce750a1447266a_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_adf0a8a29f683aac814ce750a1447266a_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{sfxge__tx_8h_a889ec0ca9edaf9109254ad0396175b79}\label{sfxge__tx_8h_a889ec0ca9edaf9109254ad0396175b79}} 
\index{sfxge\_tx.h@{sfxge\_tx.h}!sfxge\_tx\_stop@{sfxge\_tx\_stop}}
\index{sfxge\_tx\_stop@{sfxge\_tx\_stop}!sfxge\_tx.h@{sfxge\_tx.h}}
\doxysubsubsection{\texorpdfstring{sfxge\_tx\_stop()}{sfxge\_tx\_stop()}}
{\footnotesize\ttfamily void sfxge\+\_\+tx\+\_\+stop (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structsfxge__softc}{sfxge\+\_\+softc}} $\ast$}]{sc }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{sfxge__tx_8c_source_l01710}{1710}} of file \mbox{\hyperlink{sfxge__tx_8c_source}{sfxge\+\_\+tx.\+c}}.



References \mbox{\hyperlink{efx__tx_8c_source_l00311}{efx\+\_\+tx\+\_\+fini()}}, \mbox{\hyperlink{sfxge_8h_source_l00288}{sfxge\+\_\+softc\+::enp}}, \mbox{\hyperlink{sfxge_8h_source_l00003}{index}}, \mbox{\hyperlink{sfxge_8h_source_l00001}{sc}}, \mbox{\hyperlink{sfxge__tx_8c_source_l01471}{sfxge\+\_\+tx\+\_\+qstop()}}, and \mbox{\hyperlink{sfxge_8h_source_l00327}{sfxge\+\_\+softc\+::txq\+\_\+count}}.



Referenced by \mbox{\hyperlink{sfxge_8c_source_l00298}{sfxge\+\_\+stop()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a889ec0ca9edaf9109254ad0396175b79_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d82/sfxge__tx_8h_a889ec0ca9edaf9109254ad0396175b79_icgraph}
\end{center}
\end{figure}
