\hypertarget{structfs__base}{}\doxysection{fs\+\_\+base Struct Reference}
\label{structfs__base}\index{fs\_base@{fs\_base}}


{\ttfamily \#include $<$fs\+\_\+core.\+h$>$}



Collaboration diagram for fs\+\_\+base\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=187pt]{d8/d08/structfs__base__coll__graph}
\end{center}
\end{figure}
\doxysubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
struct list\+\_\+head \mbox{\hyperlink{structfs__base_a27b9163ad41bb22c82cf131ceb334e9b}{list}}
\item 
struct \mbox{\hyperlink{structfs__base}{fs\+\_\+base}} $\ast$ \mbox{\hyperlink{structfs__base_a44a0b2821343ff33cad4e377070bf97e}{parent}}
\item 
enum \mbox{\hyperlink{fs__core_8h_a45147e528b9243fa8842d38163498449}{fs\+\_\+type}} \mbox{\hyperlink{structfs__base_a06b175b99b418b9007c118fa14362d55}{type}}
\item 
struct kref \mbox{\hyperlink{structfs__base_a10609d20ff960ea60bd33b09c084dd9a}{refcount}}
\item 
struct mutex \mbox{\hyperlink{structfs__base_add3615e8edc2a0a4e0effdf29ffa0ce4}{lock}}
\item 
struct \mbox{\hyperlink{en_8h_a6fc0fa1f0612e13dbe945b303fc27c3e}{completion}} \mbox{\hyperlink{structfs__base_a286b02936a17fd39e25e32650db4fec9}{complete}}
\item 
atomic\+\_\+t \mbox{\hyperlink{structfs__base_aaeac278fe1eb2bab815f0767e826c557}{users\+\_\+refcount}}
\item 
const char $\ast$ \mbox{\hyperlink{structfs__base_ab1cabdf17da10c6aa0b6b49692b05509}{name}}
\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}


Definition at line \mbox{\hyperlink{fs__core_8h_source_l00059}{59}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



\doxysubsection{Field Documentation}
\mbox{\Hypertarget{structfs__base_a286b02936a17fd39e25e32650db4fec9}\label{structfs__base_a286b02936a17fd39e25e32650db4fec9}} 
\index{fs\_base@{fs\_base}!complete@{complete}}
\index{complete@{complete}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{complete}{complete}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{en_8h_a6fc0fa1f0612e13dbe945b303fc27c3e}{completion}} fs\+\_\+base\+::complete}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00066}{66}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00230}{\+\_\+\+\_\+fs\+\_\+remove\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00174}{fs\+\_\+init\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00291}{fs\+\_\+remove\+\_\+node()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00299}{fs\+\_\+remove\+\_\+node\+\_\+parent\+\_\+locked()}}.

\mbox{\Hypertarget{structfs__base_a27b9163ad41bb22c82cf131ceb334e9b}\label{structfs__base_a27b9163ad41bb22c82cf131ceb334e9b}} 
\index{fs\_base@{fs\_base}!list@{list}}
\index{list@{list}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{list}{list}}
{\footnotesize\ttfamily struct list\+\_\+head fs\+\_\+base\+::list}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00060}{60}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00771}{\+\_\+create\+\_\+ft\+\_\+common()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01312}{\+\_\+find\+\_\+first\+\_\+ft\+\_\+in\+\_\+prio()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01211}{\+\_\+find\+\_\+first\+\_\+ft\+\_\+in\+\_\+prio\+\_\+reverse()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01568}{\+\_\+fs\+\_\+add\+\_\+dst\+\_\+fte()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00260}{\+\_\+fs\+\_\+put()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01670}{add\+\_\+rule\+\_\+to\+\_\+tree()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00330}{alloc\+\_\+star\+\_\+ft\+\_\+entry()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01928}{cleanup\+\_\+root\+\_\+ns()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01977}{cleanup\+\_\+single\+\_\+prio\+\_\+root\+\_\+ns()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00468}{connect\+\_\+prev\+\_\+fts()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01404}{create\+\_\+autogroup()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01383}{find\+\_\+next\+\_\+ft()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01282}{find\+\_\+prev\+\_\+ft()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00371}{free\+\_\+star\+\_\+fte\+\_\+entry()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01751}{fs\+\_\+add\+\_\+dst\+\_\+fg()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01058}{fs\+\_\+create\+\_\+fg()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02135}{fs\+\_\+create\+\_\+namespace()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01905}{fs\+\_\+create\+\_\+prio()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01683}{fs\+\_\+del\+\_\+dst()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01631}{fs\+\_\+get\+\_\+free\+\_\+fg\+\_\+index()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00174}{fs\+\_\+init\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00418}{fs\+\_\+set\+\_\+star\+\_\+rule()}}, \mbox{\hyperlink{mlx5__fs__cmd_8c_source_l00163}{mlx5\+\_\+cmd\+\_\+fs\+\_\+set\+\_\+fte()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02376}{mlx5\+\_\+get\+\_\+flow\+\_\+namespace()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00961}{update\+\_\+root\+\_\+ft\+\_\+destroy()}}.

\mbox{\Hypertarget{structfs__base_add3615e8edc2a0a4e0effdf29ffa0ce4}\label{structfs__base_add3615e8edc2a0a4e0effdf29ffa0ce4}} 
\index{fs\_base@{fs\_base}!lock@{lock}}
\index{lock@{lock}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{lock}{lock}}
{\footnotesize\ttfamily struct mutex fs\+\_\+base\+::lock}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00065}{65}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00677}{\+\_\+\+\_\+alloc\+\_\+new\+\_\+level()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00230}{\+\_\+\+\_\+fs\+\_\+remove\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00703}{\+\_\+alloc\+\_\+new\+\_\+level()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00260}{\+\_\+fs\+\_\+put()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00468}{connect\+\_\+prev\+\_\+fts()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01356}{find\+\_\+first\+\_\+ft\+\_\+in\+\_\+ns()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01255}{find\+\_\+first\+\_\+ft\+\_\+in\+\_\+ns\+\_\+reverse()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01341}{find\+\_\+first\+\_\+ft\+\_\+in\+\_\+prio()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01240}{find\+\_\+first\+\_\+ft\+\_\+in\+\_\+prio\+\_\+reverse()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01751}{fs\+\_\+add\+\_\+dst\+\_\+fg()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01808}{fs\+\_\+add\+\_\+dst\+\_\+ft()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01058}{fs\+\_\+create\+\_\+fg()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01683}{fs\+\_\+del\+\_\+dst()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00174}{fs\+\_\+init\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02542}{iterate\+\_\+rules\+\_\+in\+\_\+ft()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02603}{iterate\+\_\+rules\+\_\+in\+\_\+ns()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02580}{iterate\+\_\+rules\+\_\+in\+\_\+prio()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}.

\mbox{\Hypertarget{structfs__base_ab1cabdf17da10c6aa0b6b49692b05509}\label{structfs__base_ab1cabdf17da10c6aa0b6b49692b05509}} 
\index{fs\_base@{fs\_base}!name@{name}}
\index{name@{name}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{name}{name}}
{\footnotesize\ttfamily const char$\ast$ fs\+\_\+base\+::name}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00068}{68}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00771}{\+\_\+create\+\_\+ft\+\_\+common()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00184}{\+\_\+fs\+\_\+add\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00946}{\+\_\+fs\+\_\+del\+\_\+ft()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00246}{\+\_\+fs\+\_\+remove\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00608}{destroy\+\_\+star\+\_\+rule()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01683}{fs\+\_\+del\+\_\+dst()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01727}{fs\+\_\+del\+\_\+fte()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00291}{fs\+\_\+remove\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00299}{fs\+\_\+remove\+\_\+node\+\_\+parent\+\_\+locked()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}.

\mbox{\Hypertarget{structfs__base_a44a0b2821343ff33cad4e377070bf97e}\label{structfs__base_a44a0b2821343ff33cad4e377070bf97e}} 
\index{fs\_base@{fs\_base}!parent@{parent}}
\index{parent@{parent}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{parent}{parent}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{structfs__base}{fs\+\_\+base}}$\ast$ fs\+\_\+base\+::parent}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00061}{61}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00230}{\+\_\+\+\_\+fs\+\_\+remove\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00184}{\+\_\+fs\+\_\+add\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00260}{\+\_\+fs\+\_\+put()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00330}{alloc\+\_\+star\+\_\+ft\+\_\+entry()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00146}{find\+\_\+root()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01476}{get\+\_\+ns\+\_\+with\+\_\+notifiers()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02324}{mlx5\+\_\+get\+\_\+match\+\_\+criteria()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02297}{mlx5\+\_\+get\+\_\+match\+\_\+criteria\+\_\+enable()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02311}{mlx5\+\_\+get\+\_\+match\+\_\+value()}}.

\mbox{\Hypertarget{structfs__base_a10609d20ff960ea60bd33b09c084dd9a}\label{structfs__base_a10609d20ff960ea60bd33b09c084dd9a}} 
\index{fs\_base@{fs\_base}!refcount@{refcount}}
\index{refcount@{refcount}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{refcount}{refcount}}
{\footnotesize\ttfamily struct kref fs\+\_\+base\+::refcount}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00063}{63}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00230}{\+\_\+\+\_\+fs\+\_\+remove\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00260}{\+\_\+fs\+\_\+put()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00246}{\+\_\+fs\+\_\+remove\+\_\+node()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00174}{fs\+\_\+init\+\_\+node()}}.

\mbox{\Hypertarget{structfs__base_a06b175b99b418b9007c118fa14362d55}\label{structfs__base_a06b175b99b418b9007c118fa14362d55}} 
\index{fs\_base@{fs\_base}!type@{type}}
\index{type@{type}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{type}{type}}
{\footnotesize\ttfamily enum \mbox{\hyperlink{fs__core_8h_a45147e528b9243fa8842d38163498449}{fs\+\_\+type}} fs\+\_\+base\+::type}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00062}{62}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00703}{\+\_\+alloc\+\_\+new\+\_\+level()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00771}{\+\_\+create\+\_\+ft\+\_\+common()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01312}{\+\_\+find\+\_\+first\+\_\+ft\+\_\+in\+\_\+prio()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01211}{\+\_\+find\+\_\+first\+\_\+ft\+\_\+in\+\_\+prio\+\_\+reverse()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01568}{\+\_\+fs\+\_\+add\+\_\+dst\+\_\+fte()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00210}{cmd\+\_\+remove\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00146}{find\+\_\+root()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00389}{fs\+\_\+alloc\+\_\+fg()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00307}{fs\+\_\+alloc\+\_\+fte()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01905}{fs\+\_\+create\+\_\+prio()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02005}{fs\+\_\+init\+\_\+namespace()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01476}{get\+\_\+ns\+\_\+with\+\_\+notifiers()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02580}{iterate\+\_\+rules\+\_\+in\+\_\+prio()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02244}{sum\+\_\+max\+\_\+ft\+\_\+in\+\_\+prio()}}.

\mbox{\Hypertarget{structfs__base_aaeac278fe1eb2bab815f0767e826c557}\label{structfs__base_aaeac278fe1eb2bab815f0767e826c557}} 
\index{fs\_base@{fs\_base}!users\_refcount@{users\_refcount}}
\index{users\_refcount@{users\_refcount}!fs\_base@{fs\_base}}
\doxysubsubsection{\texorpdfstring{users\_refcount}{users\_refcount}}
{\footnotesize\ttfamily atomic\+\_\+t fs\+\_\+base\+::users\+\_\+refcount}



Definition at line \mbox{\hyperlink{fs__core_8h_source_l00067}{67}} of file \mbox{\hyperlink{fs__core_8h_source}{fs\+\_\+core.\+h}}.



Referenced by \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00184}{\+\_\+fs\+\_\+add\+\_\+node()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00260}{\+\_\+fs\+\_\+put()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00255}{fs\+\_\+get()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00174}{fs\+\_\+init\+\_\+node()}}.



The documentation for this struct was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
dev/mlx5/mlx5\+\_\+core/\mbox{\hyperlink{fs__core_8h}{fs\+\_\+core.\+h}}\end{DoxyCompactItemize}
