\hypertarget{eswitch_8h}{}\doxysection{dev/mlx5/mlx5\+\_\+core/eswitch.h File Reference}
\label{eswitch_8h}\index{dev/mlx5/mlx5\_core/eswitch.h@{dev/mlx5/mlx5\_core/eswitch.h}}
{\ttfamily \#include $<$linux/if\+\_\+ether.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/device.\+h$>$}\newline
Include dependency graph for eswitch.\+h\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d4/de7/eswitch_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]{d2/d9f/eswitch_8h__dep__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structl2addr__node}{l2addr\+\_\+node}}
\item 
struct \mbox{\hyperlink{structvport__ingress}{vport\+\_\+ingress}}
\item 
struct \mbox{\hyperlink{structvport__egress}{vport\+\_\+egress}}
\item 
struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}}
\item 
struct \mbox{\hyperlink{structmlx5__l2__table}{mlx5\+\_\+l2\+\_\+table}}
\item 
struct \mbox{\hyperlink{structmlx5__eswitch__fdb}{mlx5\+\_\+eswitch\+\_\+fdb}}
\item 
struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}}
\item 
struct \mbox{\hyperlink{structmlx5__esw__vport__info}{mlx5\+\_\+esw\+\_\+vport\+\_\+info}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{eswitch_8h_a21ccd5f3f13b3bb0982f780080562bc2}{MLX5\+\_\+\+MAX\+\_\+\+UC\+\_\+\+PER\+\_\+\+VPORT}}(dev)~ (1 $<$$<$ \mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}(dev, log\+\_\+max\+\_\+current\+\_\+uc\+\_\+list))
\item 
\#define \mbox{\hyperlink{eswitch_8h_a9f23d2266996b48795fbdc0f1545212f}{MLX5\+\_\+\+MAX\+\_\+\+MC\+\_\+\+PER\+\_\+\+VPORT}}(dev)~ (1 $<$$<$ \mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}(dev, log\+\_\+max\+\_\+current\+\_\+mc\+\_\+list))
\item 
\#define \mbox{\hyperlink{eswitch_8h_a669d4925f0b52290a6bd3fb001315e4a}{MLX5\+\_\+\+L2\+\_\+\+ADDR\+\_\+\+HASH\+\_\+\+SIZE}}~(BIT(BITS\+\_\+\+PER\+\_\+\+BYTE))
\item 
\#define \mbox{\hyperlink{eswitch_8h_af70075462ad60201966da3f9cf2c697f}{MLX5\+\_\+\+L2\+\_\+\+ADDR\+\_\+\+HASH}}(addr)~(addr\mbox{[}5\mbox{]})
\item 
\#define \mbox{\hyperlink{eswitch_8h_aee9a7eba31456cfd476acf7a8aee56cb}{for\+\_\+each\+\_\+l2hash\+\_\+node}}(hn,  tmp,  hash,  i)
\item 
\#define \mbox{\hyperlink{eswitch_8h_aa69a18679dfc6e50f57bb64e4dd69cc6}{l2addr\+\_\+hash\+\_\+find}}(hash,  mac,  type)
\item 
\#define \mbox{\hyperlink{eswitch_8h_ac0244363f0f4ea92cbd6f3f703495d85}{l2addr\+\_\+hash\+\_\+add}}(hash,  mac,  type,  gfp)
\item 
\#define \mbox{\hyperlink{eswitch_8h_a071b84f005c1ed71b8f8fb5ef436bf24}{l2addr\+\_\+hash\+\_\+del}}(ptr)
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
int \mbox{\hyperlink{eswitch_8h_a26f9ac558284dfa0c878db41e813acc3}{mlx5\+\_\+eswitch\+\_\+init}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, int total\+\_\+vports)
\item 
void \mbox{\hyperlink{eswitch_8h_af4ee0523a44216f602955f10ceda8f23}{mlx5\+\_\+eswitch\+\_\+cleanup}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw)
\item 
void \mbox{\hyperlink{eswitch_8h_aa8bf34fe99da7cf334618ab1bbc12917}{mlx5\+\_\+eswitch\+\_\+vport\+\_\+event}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__eqe}{mlx5\+\_\+eqe}} $\ast$eqe)
\item 
int \mbox{\hyperlink{eswitch_8h_adae5b7b4f78a67ff26d2a4eac47d92a5}{mlx5\+\_\+eswitch\+\_\+enable\+\_\+sriov}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int nvfs)
\item 
void \mbox{\hyperlink{eswitch_8h_a3f620248bb6a102997a1566b0d34f3b0}{mlx5\+\_\+eswitch\+\_\+disable\+\_\+sriov}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw)
\item 
int \mbox{\hyperlink{eswitch_8h_a92494f11529c02721cf65de31291a0bb}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+mac}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport, u8 mac\mbox{[}ETH\+\_\+\+ALEN\mbox{]})
\item 
int \mbox{\hyperlink{eswitch_8h_ad3ce4a6f6736fa9f1dfbd4c2c494972e}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+state}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport, int link\+\_\+state)
\item 
int \mbox{\hyperlink{eswitch_8h_a46e8ec40871eda1abfe6dfb7ff9536d8}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+vlan}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport, u16 vlan, u8 qos)
\item 
int \mbox{\hyperlink{eswitch_8h_a338d26a3b2a50b61126799b15d2473f9}{mlx5\+\_\+eswitch\+\_\+get\+\_\+vport\+\_\+config}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport, struct \mbox{\hyperlink{structmlx5__esw__vport__info}{mlx5\+\_\+esw\+\_\+vport\+\_\+info}} $\ast$evi)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{eswitch_8h_aee9a7eba31456cfd476acf7a8aee56cb}\label{eswitch_8h_aee9a7eba31456cfd476acf7a8aee56cb}} 
\index{eswitch.h@{eswitch.h}!for\_each\_l2hash\_node@{for\_each\_l2hash\_node}}
\index{for\_each\_l2hash\_node@{for\_each\_l2hash\_node}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{for\_each\_l2hash\_node}{for\_each\_l2hash\_node}}
{\footnotesize\ttfamily \#define for\+\_\+each\+\_\+l2hash\+\_\+node(\begin{DoxyParamCaption}\item[{}]{hn,  }\item[{}]{tmp,  }\item[{}]{hash,  }\item[{}]{i }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        \textcolor{keywordflow}{for} (i = 0; i < \mbox{\hyperlink{eswitch_8h_a669d4925f0b52290a6bd3fb001315e4a}{MLX5\_L2\_ADDR\_HASH\_SIZE}}; i++) \(\backslash\)}
\DoxyCodeLine{                hlist\_for\_each\_entry\_safe(hn, tmp, \&hash[i], hlist)}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{eswitch_8h_source_l00049}{49}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.

\mbox{\Hypertarget{eswitch_8h_ac0244363f0f4ea92cbd6f3f703495d85}\label{eswitch_8h_ac0244363f0f4ea92cbd6f3f703495d85}} 
\index{eswitch.h@{eswitch.h}!l2addr\_hash\_add@{l2addr\_hash\_add}}
\index{l2addr\_hash\_add@{l2addr\_hash\_add}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{l2addr\_hash\_add}{l2addr\_hash\_add}}
{\footnotesize\ttfamily \#define l2addr\+\_\+hash\+\_\+add(\begin{DoxyParamCaption}\item[{}]{hash,  }\item[{}]{mac,  }\item[{}]{type,  }\item[{}]{gfp }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        (\{            \(\backslash\)}
\DoxyCodeLine{        int \mbox{\hyperlink{en_8h_a61990b7f5388ef0010c75a5d80f58da9}{ix}} = \mbox{\hyperlink{eswitch_8h_af70075462ad60201966da3f9cf2c697f}{MLX5\_L2\_ADDR\_HASH}}(mac);                    \(\backslash\)}
\DoxyCodeLine{        type *ptr = NULL;                                   \(\backslash\)}
\DoxyCodeLine{                                                            \(\backslash\)}
\DoxyCodeLine{        ptr = kzalloc(\textcolor{keyword}{sizeof}(type), gfp);                   \(\backslash\)}
\DoxyCodeLine{        if (ptr) \{                                          \(\backslash\)}
\DoxyCodeLine{                ether\_addr\_copy(ptr-\/>node.addr, mac);       \(\backslash\)}
\DoxyCodeLine{                hlist\_add\_head(\&ptr-\/>node.hlist, \&hash[\mbox{\hyperlink{en_8h_a61990b7f5388ef0010c75a5d80f58da9}{ix}}]);\(\backslash\)}
\DoxyCodeLine{        \}                                                   \(\backslash\)}
\DoxyCodeLine{        ptr;                                                \(\backslash\)}
\DoxyCodeLine{\})}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{eswitch_8h_source_l00068}{68}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.

\mbox{\Hypertarget{eswitch_8h_a071b84f005c1ed71b8f8fb5ef436bf24}\label{eswitch_8h_a071b84f005c1ed71b8f8fb5ef436bf24}} 
\index{eswitch.h@{eswitch.h}!l2addr\_hash\_del@{l2addr\_hash\_del}}
\index{l2addr\_hash\_del@{l2addr\_hash\_del}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{l2addr\_hash\_del}{l2addr\_hash\_del}}
{\footnotesize\ttfamily \#define l2addr\+\_\+hash\+\_\+del(\begin{DoxyParamCaption}\item[{}]{ptr }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        (\{                             \(\backslash\)}
\DoxyCodeLine{        hlist\_del(\&ptr-\/>node.hlist);                        \(\backslash\)}
\DoxyCodeLine{        kfree(ptr);                                         \(\backslash\)}
\DoxyCodeLine{\})}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{eswitch_8h_source_l00080}{80}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.

\mbox{\Hypertarget{eswitch_8h_aa69a18679dfc6e50f57bb64e4dd69cc6}\label{eswitch_8h_aa69a18679dfc6e50f57bb64e4dd69cc6}} 
\index{eswitch.h@{eswitch.h}!l2addr\_hash\_find@{l2addr\_hash\_find}}
\index{l2addr\_hash\_find@{l2addr\_hash\_find}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{l2addr\_hash\_find}{l2addr\_hash\_find}}
{\footnotesize\ttfamily \#define l2addr\+\_\+hash\+\_\+find(\begin{DoxyParamCaption}\item[{}]{hash,  }\item[{}]{mac,  }\item[{}]{type }\end{DoxyParamCaption})}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{        (\{                \(\backslash\)}
\DoxyCodeLine{        int \mbox{\hyperlink{en_8h_a61990b7f5388ef0010c75a5d80f58da9}{ix}} = \mbox{\hyperlink{eswitch_8h_af70075462ad60201966da3f9cf2c697f}{MLX5\_L2\_ADDR\_HASH}}(mac);                    \(\backslash\)}
\DoxyCodeLine{        bool found = \textcolor{keyword}{false};                                 \(\backslash\)}
\DoxyCodeLine{        type *ptr = NULL;                                   \(\backslash\)}
\DoxyCodeLine{                                                            \(\backslash\)}
\DoxyCodeLine{        hlist\_for\_each\_entry(ptr, \&hash[\mbox{\hyperlink{en_8h_a61990b7f5388ef0010c75a5d80f58da9}{ix}}], node.hlist)    \(\backslash\)}
\DoxyCodeLine{                if (ether\_addr\_equal(ptr-\/>node.addr, mac)) \{\(\backslash\)}
\DoxyCodeLine{                        found = \textcolor{keyword}{true};                       \(\backslash\)}
\DoxyCodeLine{                        break;                              \(\backslash\)}
\DoxyCodeLine{                \}                                           \(\backslash\)}
\DoxyCodeLine{        if (!found)                                         \(\backslash\)}
\DoxyCodeLine{                ptr = NULL;                                 \(\backslash\)}
\DoxyCodeLine{        ptr;                                                \(\backslash\)}
\DoxyCodeLine{\})}

\end{DoxyCode}


Definition at line \mbox{\hyperlink{eswitch_8h_source_l00053}{53}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.

\mbox{\Hypertarget{eswitch_8h_af70075462ad60201966da3f9cf2c697f}\label{eswitch_8h_af70075462ad60201966da3f9cf2c697f}} 
\index{eswitch.h@{eswitch.h}!MLX5\_L2\_ADDR\_HASH@{MLX5\_L2\_ADDR\_HASH}}
\index{MLX5\_L2\_ADDR\_HASH@{MLX5\_L2\_ADDR\_HASH}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_L2\_ADDR\_HASH}{MLX5\_L2\_ADDR\_HASH}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+L2\+\_\+\+ADDR\+\_\+\+HASH(\begin{DoxyParamCaption}\item[{}]{addr }\end{DoxyParamCaption})~(addr\mbox{[}5\mbox{]})}



Definition at line \mbox{\hyperlink{eswitch_8h_source_l00041}{41}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.

\mbox{\Hypertarget{eswitch_8h_a669d4925f0b52290a6bd3fb001315e4a}\label{eswitch_8h_a669d4925f0b52290a6bd3fb001315e4a}} 
\index{eswitch.h@{eswitch.h}!MLX5\_L2\_ADDR\_HASH\_SIZE@{MLX5\_L2\_ADDR\_HASH\_SIZE}}
\index{MLX5\_L2\_ADDR\_HASH\_SIZE@{MLX5\_L2\_ADDR\_HASH\_SIZE}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_L2\_ADDR\_HASH\_SIZE}{MLX5\_L2\_ADDR\_HASH\_SIZE}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+L2\+\_\+\+ADDR\+\_\+\+HASH\+\_\+\+SIZE~(BIT(BITS\+\_\+\+PER\+\_\+\+BYTE))}



Definition at line \mbox{\hyperlink{eswitch_8h_source_l00040}{40}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.

\mbox{\Hypertarget{eswitch_8h_a9f23d2266996b48795fbdc0f1545212f}\label{eswitch_8h_a9f23d2266996b48795fbdc0f1545212f}} 
\index{eswitch.h@{eswitch.h}!MLX5\_MAX\_MC\_PER\_VPORT@{MLX5\_MAX\_MC\_PER\_VPORT}}
\index{MLX5\_MAX\_MC\_PER\_VPORT@{MLX5\_MAX\_MC\_PER\_VPORT}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_MAX\_MC\_PER\_VPORT}{MLX5\_MAX\_MC\_PER\_VPORT}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+MAX\+\_\+\+MC\+\_\+\+PER\+\_\+\+VPORT(\begin{DoxyParamCaption}\item[{}]{dev }\end{DoxyParamCaption})~ (1 $<$$<$ \mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}(dev, log\+\_\+max\+\_\+current\+\_\+mc\+\_\+list))}



Definition at line \mbox{\hyperlink{eswitch_8h_source_l00037}{37}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.

\mbox{\Hypertarget{eswitch_8h_a21ccd5f3f13b3bb0982f780080562bc2}\label{eswitch_8h_a21ccd5f3f13b3bb0982f780080562bc2}} 
\index{eswitch.h@{eswitch.h}!MLX5\_MAX\_UC\_PER\_VPORT@{MLX5\_MAX\_UC\_PER\_VPORT}}
\index{MLX5\_MAX\_UC\_PER\_VPORT@{MLX5\_MAX\_UC\_PER\_VPORT}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{MLX5\_MAX\_UC\_PER\_VPORT}{MLX5\_MAX\_UC\_PER\_VPORT}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+MAX\+\_\+\+UC\+\_\+\+PER\+\_\+\+VPORT(\begin{DoxyParamCaption}\item[{}]{dev }\end{DoxyParamCaption})~ (1 $<$$<$ \mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}(dev, log\+\_\+max\+\_\+current\+\_\+uc\+\_\+list))}



Definition at line \mbox{\hyperlink{eswitch_8h_source_l00034}{34}} of file \mbox{\hyperlink{eswitch_8h_source}{eswitch.\+h}}.



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{eswitch_8h_af4ee0523a44216f602955f10ceda8f23}\label{eswitch_8h_af4ee0523a44216f602955f10ceda8f23}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_cleanup@{mlx5\_eswitch\_cleanup}}
\index{mlx5\_eswitch\_cleanup@{mlx5\_eswitch\_cleanup}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_cleanup()}{mlx5\_eswitch\_cleanup()}}
{\footnotesize\ttfamily void mlx5\+\_\+eswitch\+\_\+cleanup (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01158}{1158}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00124}{mlx5\+\_\+l2\+\_\+table\+::bitmap}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00989}{esw\+\_\+disable\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00044}{esw\+\_\+info}}, \mbox{\hyperlink{driver_8h_source_l00622}{mlx5\+\_\+priv\+::eswitch}}, \mbox{\hyperlink{eswitch_8h_source_l00134}{mlx5\+\_\+eswitch\+::l2\+\_\+table}}, \mbox{\hyperlink{device_8h_source_l01027}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}, \mbox{\hyperlink{device_8h_source_l01211}{MLX5\+\_\+\+CAP\+\_\+\+PORT\+\_\+\+TYPE\+\_\+\+ETH}}, \mbox{\hyperlink{driver_8h_source_l00681}{mlx5\+\_\+core\+\_\+dev\+::priv}}, \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}, and \mbox{\hyperlink{eswitch_8h_source_l00137}{mlx5\+\_\+eswitch\+::work\+\_\+queue}}.



Referenced by \mbox{\hyperlink{mlx5__main_8c_source_l01256}{mlx5\+\_\+unload\+\_\+one()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_af4ee0523a44216f602955f10ceda8f23_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_af4ee0523a44216f602955f10ceda8f23_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_a3f620248bb6a102997a1566b0d34f3b0}\label{eswitch_8h_a3f620248bb6a102997a1566b0d34f3b0}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_disable\_sriov@{mlx5\_eswitch\_disable\_sriov}}
\index{mlx5\_eswitch\_disable\_sriov@{mlx5\_eswitch\_disable\_sriov}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_disable\_sriov()}{mlx5\_eswitch\_disable\_sriov()}}
{\footnotesize\ttfamily void mlx5\+\_\+eswitch\+\_\+disable\+\_\+sriov (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01067}{1067}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00140}{mlx5\+\_\+eswitch\+::enabled\+\_\+vports}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00330}{esw\+\_\+destroy\+\_\+fdb\+\_\+table()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00989}{esw\+\_\+disable\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00044}{esw\+\_\+info}}, \mbox{\hyperlink{device_8h_source_l01027}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}, \mbox{\hyperlink{device_8h_source_l01211}{MLX5\+\_\+\+CAP\+\_\+\+PORT\+\_\+\+TYPE\+\_\+\+ETH}}, \mbox{\hyperlink{eswitch_8h_source_l00139}{mlx5\+\_\+eswitch\+::total\+\_\+vports}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00082}{UC\+\_\+\+ADDR\+\_\+\+CHANGE}}.



Referenced by \mbox{\hyperlink{mlx5__main_8c_source_l01702}{remove\+\_\+one()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_a3f620248bb6a102997a1566b0d34f3b0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=318pt]{dd/d83/eswitch_8h_a3f620248bb6a102997a1566b0d34f3b0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_adae5b7b4f78a67ff26d2a4eac47d92a5}\label{eswitch_8h_adae5b7b4f78a67ff26d2a4eac47d92a5}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_enable\_sriov@{mlx5\_eswitch\_enable\_sriov}}
\index{mlx5\_eswitch\_enable\_sriov@{mlx5\_eswitch\_enable\_sriov}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_enable\_sriov()}{mlx5\_eswitch\_enable\_sriov()}}
{\footnotesize\ttfamily int mlx5\+\_\+eswitch\+\_\+enable\+\_\+sriov (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{int}]{nvfs }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01026}{1026}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00140}{mlx5\+\_\+eswitch\+::enabled\+\_\+vports}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00269}{esw\+\_\+create\+\_\+fdb\+\_\+table()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00989}{esw\+\_\+disable\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00044}{esw\+\_\+info}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{device_8h_source_l01082}{MLX5\+\_\+\+CAP\+\_\+\+ESW\+\_\+\+EGRESS\+\_\+\+ACL}}, \mbox{\hyperlink{device_8h_source_l01076}{MLX5\+\_\+\+CAP\+\_\+\+ESW\+\_\+\+FLOWTABLE\+\_\+\+FDB}}, \mbox{\hyperlink{device_8h_source_l01088}{MLX5\+\_\+\+CAP\+\_\+\+ESW\+\_\+\+INGRESS\+\_\+\+ACL}}, \mbox{\hyperlink{device_8h_source_l01027}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}, \mbox{\hyperlink{device_8h_source_l01211}{MLX5\+\_\+\+CAP\+\_\+\+PORT\+\_\+\+TYPE\+\_\+\+ETH}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00087}{SRIOV\+\_\+\+VPORT\+\_\+\+EVENTS}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00082}{UC\+\_\+\+ADDR\+\_\+\+CHANGE}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_adae5b7b4f78a67ff26d2a4eac47d92a5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_a338d26a3b2a50b61126799b15d2473f9}\label{eswitch_8h_a338d26a3b2a50b61126799b15d2473f9}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_get\_vport\_config@{mlx5\_eswitch\_get\_vport\_config}}
\index{mlx5\_eswitch\_get\_vport\_config@{mlx5\_eswitch\_get\_vport\_config}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_get\_vport\_config()}{mlx5\_eswitch\_get\_vport\_config()}}
{\footnotesize\ttfamily int mlx5\+\_\+eswitch\+\_\+get\+\_\+vport\+\_\+config (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{int}]{vport,  }\item[{struct \mbox{\hyperlink{structmlx5__esw__vport__info}{mlx5\+\_\+esw\+\_\+vport\+\_\+info}} $\ast$}]{evi }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01253}{1253}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01193}{ESW\+\_\+\+ALLOWED}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01195}{LEGAL\+\_\+\+VPORT}}, \mbox{\hyperlink{eswitch_8h_source_l00149}{mlx5\+\_\+esw\+\_\+vport\+\_\+info\+::linkstate}}, \mbox{\hyperlink{eswitch_8h_source_l00145}{mlx5\+\_\+esw\+\_\+vport\+\_\+info\+::mac}}, \mbox{\hyperlink{mlx5__vport_8c_source_l00274}{mlx5\+\_\+query\+\_\+nic\+\_\+vport\+\_\+mac\+\_\+address()}}, \mbox{\hyperlink{mlx5__vport_8c_source_l00069}{mlx5\+\_\+query\+\_\+vport\+\_\+admin\+\_\+state()}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l04232}{MLX5\+\_\+\+QUERY\+\_\+\+VPORT\+\_\+\+STATE\+\_\+\+IN\+\_\+\+OP\+\_\+\+MOD\+\_\+\+ESW\+\_\+\+VPORT}}, \mbox{\hyperlink{eswitch_8h_source_l00110}{mlx5\+\_\+vport\+::qos}}, \mbox{\hyperlink{eswitch_8h_source_l00147}{mlx5\+\_\+esw\+\_\+vport\+\_\+info\+::qos}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00134}{query\+\_\+esw\+\_\+vport\+\_\+cvlan()}}, \mbox{\hyperlink{eswitch_8h_source_l00148}{mlx5\+\_\+esw\+\_\+vport\+\_\+info\+::spoofchk}}, \mbox{\hyperlink{eswitch_8h_source_l00144}{mlx5\+\_\+esw\+\_\+vport\+\_\+info\+::vf}}, \mbox{\hyperlink{eswitch_8h_source_l00109}{mlx5\+\_\+vport\+::vlan}}, \mbox{\hyperlink{eswitch_8h_source_l00146}{mlx5\+\_\+esw\+\_\+vport\+\_\+info\+::vlan}}, and \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_a338d26a3b2a50b61126799b15d2473f9_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_a26f9ac558284dfa0c878db41e813acc3}\label{eswitch_8h_a26f9ac558284dfa0c878db41e813acc3}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_init@{mlx5\_eswitch\_init}}
\index{mlx5\_eswitch\_init@{mlx5\_eswitch\_init}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_init()}{mlx5\_eswitch\_init()}}
{\footnotesize\ttfamily int mlx5\+\_\+eswitch\+\_\+init (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{int}]{total\+\_\+vports }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01087}{1087}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00124}{mlx5\+\_\+l2\+\_\+table\+::bitmap}}, \mbox{\hyperlink{eswitch_8h_source_l00100}{mlx5\+\_\+vport\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00140}{mlx5\+\_\+eswitch\+::enabled\+\_\+vports}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00044}{esw\+\_\+info}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00575}{esw\+\_\+vport\+\_\+change\+\_\+handler()}}, \mbox{\hyperlink{driver_8h_source_l00622}{mlx5\+\_\+priv\+::eswitch}}, \mbox{\hyperlink{eswitch_8h_source_l00134}{mlx5\+\_\+eswitch\+::l2\+\_\+table}}, \mbox{\hyperlink{device_8h_source_l01027}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}, \mbox{\hyperlink{device_8h_source_l01211}{MLX5\+\_\+\+CAP\+\_\+\+PORT\+\_\+\+TYPE\+\_\+\+ETH}}, \mbox{\hyperlink{eswitch_8h_source_l00037}{MLX5\+\_\+\+MAX\+\_\+\+MC\+\_\+\+PER\+\_\+\+VPORT}}, \mbox{\hyperlink{eswitch_8h_source_l00034}{MLX5\+\_\+\+MAX\+\_\+\+UC\+\_\+\+PER\+\_\+\+VPORT}}, \mbox{\hyperlink{driver_8h_source_l00681}{mlx5\+\_\+core\+\_\+dev\+::priv}}, \mbox{\hyperlink{eswitch_8h_source_l00123}{mlx5\+\_\+l2\+\_\+table\+::size}}, \mbox{\hyperlink{eswitch_8h_source_l00139}{mlx5\+\_\+eswitch\+::total\+\_\+vports}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00082}{UC\+\_\+\+ADDR\+\_\+\+CHANGE}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}, and \mbox{\hyperlink{eswitch_8h_source_l00137}{mlx5\+\_\+eswitch\+::work\+\_\+queue}}.



Referenced by \mbox{\hyperlink{mlx5__main_8c_source_l01347}{init\+\_\+one()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_a26f9ac558284dfa0c878db41e813acc3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=277pt]{dd/d83/eswitch_8h_a26f9ac558284dfa0c878db41e813acc3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_a92494f11529c02721cf65de31291a0bb}\label{eswitch_8h_a92494f11529c02721cf65de31291a0bb}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_set\_vport\_mac@{mlx5\_eswitch\_set\_vport\_mac}}
\index{mlx5\_eswitch\_set\_vport\_mac@{mlx5\_eswitch\_set\_vport\_mac}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_set\_vport\_mac()}{mlx5\_eswitch\_set\_vport\_mac()}}
{\footnotesize\ttfamily int mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+mac (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{int}]{vport,  }\item[{u8}]{mac\mbox{[}\+ETH\+\_\+\+ALEN\mbox{]} }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01209}{1209}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01193}{ESW\+\_\+\+ALLOWED}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01195}{LEGAL\+\_\+\+VPORT}}, \mbox{\hyperlink{mlx5__core_8h_source_l00061}{mlx5\+\_\+core\+\_\+warn}}, \mbox{\hyperlink{mlx5__vport_8c_source_l00301}{mlx5\+\_\+modify\+\_\+nic\+\_\+vport\+\_\+mac\+\_\+address()}}, \mbox{\hyperlink{mlx5__vport_8c_source_l00510}{mlx5\+\_\+modify\+\_\+nic\+\_\+vport\+\_\+node\+\_\+guid()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01197}{node\+\_\+guid\+\_\+gen\+\_\+from\+\_\+mac()}}, and \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_a92494f11529c02721cf65de31291a0bb_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_ad3ce4a6f6736fa9f1dfbd4c2c494972e}\label{eswitch_8h_ad3ce4a6f6736fa9f1dfbd4c2c494972e}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_set\_vport\_state@{mlx5\_eswitch\_set\_vport\_state}}
\index{mlx5\_eswitch\_set\_vport\_state@{mlx5\_eswitch\_set\_vport\_state}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_set\_vport\_state()}{mlx5\_eswitch\_set\_vport\_state()}}
{\footnotesize\ttfamily int mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+state (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{int}]{vport,  }\item[{int}]{link\+\_\+state }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01240}{1240}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01193}{ESW\+\_\+\+ALLOWED}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01195}{LEGAL\+\_\+\+VPORT}}, \mbox{\hyperlink{mlx5__vport_8c_source_l00079}{mlx5\+\_\+modify\+\_\+vport\+\_\+admin\+\_\+state()}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l04232}{MLX5\+\_\+\+QUERY\+\_\+\+VPORT\+\_\+\+STATE\+\_\+\+IN\+\_\+\+OP\+\_\+\+MOD\+\_\+\+ESW\+\_\+\+VPORT}}, and \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_ad3ce4a6f6736fa9f1dfbd4c2c494972e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_a46e8ec40871eda1abfe6dfb7ff9536d8}\label{eswitch_8h_a46e8ec40871eda1abfe6dfb7ff9536d8}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_set\_vport\_vlan@{mlx5\_eswitch\_set\_vport\_vlan}}
\index{mlx5\_eswitch\_set\_vport\_vlan@{mlx5\_eswitch\_set\_vport\_vlan}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_set\_vport\_vlan()}{mlx5\_eswitch\_set\_vport\_vlan()}}
{\footnotesize\ttfamily int mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+vlan (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{int}]{vport,  }\item[{u16}]{vlan,  }\item[{u8}]{qos }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01279}{1279}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00117}{mlx5\+\_\+vport\+::enabled}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01193}{ESW\+\_\+\+ALLOWED}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00854}{esw\+\_\+vport\+\_\+egress\+\_\+config()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00798}{esw\+\_\+vport\+\_\+ingress\+\_\+config()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01195}{LEGAL\+\_\+\+VPORT}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00187}{modify\+\_\+esw\+\_\+vport\+\_\+cvlan()}}, \mbox{\hyperlink{eswitch_8h_source_l00110}{mlx5\+\_\+vport\+::qos}}, \mbox{\hyperlink{eswitch_8h_source_l00111}{mlx5\+\_\+vport\+::state\+\_\+lock}}, \mbox{\hyperlink{eswitch_8h_source_l00109}{mlx5\+\_\+vport\+::vlan}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, and \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{dd/d83/eswitch_8h_a46e8ec40871eda1abfe6dfb7ff9536d8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{eswitch_8h_aa8bf34fe99da7cf334618ab1bbc12917}\label{eswitch_8h_aa8bf34fe99da7cf334618ab1bbc12917}} 
\index{eswitch.h@{eswitch.h}!mlx5\_eswitch\_vport\_event@{mlx5\_eswitch\_vport\_event}}
\index{mlx5\_eswitch\_vport\_event@{mlx5\_eswitch\_vport\_event}!eswitch.h@{eswitch.h}}
\doxysubsubsection{\texorpdfstring{mlx5\_eswitch\_vport\_event()}{mlx5\_eswitch\_vport\_event()}}
{\footnotesize\ttfamily void mlx5\+\_\+eswitch\+\_\+vport\+\_\+event (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__eqe}{mlx5\+\_\+eqe}} $\ast$}]{eqe }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l01174}{1174}} of file \mbox{\hyperlink{mlx5__eswitch_8c_source}{mlx5\+\_\+eswitch.\+c}}.



References \mbox{\hyperlink{device_8h_source_l00651}{mlx5\+\_\+eqe\+::data}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, \mbox{\hyperlink{device_8h_source_l00638}{ev\+\_\+data\+::vport\+\_\+change}}, \mbox{\hyperlink{device_8h_source_l00568}{mlx5\+\_\+eqe\+\_\+vport\+\_\+change\+::vport\+\_\+num}}, \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}, and \mbox{\hyperlink{eswitch_8h_source_l00137}{mlx5\+\_\+eswitch\+::work\+\_\+queue}}.



Referenced by \mbox{\hyperlink{mlx5__eq_8c_source_l00230}{mlx5\+\_\+eq\+\_\+int()}}.

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