\hypertarget{mlx5__eswitch_8c}{}\doxysection{dev/mlx5/mlx5\+\_\+core/mlx5\+\_\+eswitch.c File Reference}
\label{mlx5__eswitch_8c}\index{dev/mlx5/mlx5\_core/mlx5\_eswitch.c@{dev/mlx5/mlx5\_core/mlx5\_eswitch.c}}
{\ttfamily \#include \char`\"{}opt\+\_\+rss.\+h\char`\"{}}\newline
{\ttfamily \#include \char`\"{}opt\+\_\+ratelimit.\+h\char`\"{}}\newline
{\ttfamily \#include $<$linux/etherdevice.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/driver.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/mlx5\+\_\+ifc.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/vport.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/fs.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/mpfs.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/mlx5\+\_\+core/mlx5\+\_\+core.\+h$>$}\newline
{\ttfamily \#include $<$dev/mlx5/mlx5\+\_\+core/eswitch.\+h$>$}\newline
Include dependency graph for mlx5\+\_\+eswitch.\+c\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{db/db6/mlx5__eswitch_8c__incl}
\end{center}
\end{figure}
\doxysubsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{structesw__uc__addr}{esw\+\_\+uc\+\_\+addr}}
\item 
struct \mbox{\hyperlink{structesw__mc__addr}{esw\+\_\+mc\+\_\+addr}}
\item 
struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}}
\end{DoxyCompactItemize}
\doxysubsection*{Macros}
\begin{DoxyCompactItemize}
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_ae7da705f31a521f4f1da3666896222e4}{UPLINK\+\_\+\+VPORT}}~0x\+FFFF
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_ada1d4b39f584fec13e98324f86974b33}{MLX5\+\_\+\+DEBUG\+\_\+\+ESWITCH\+\_\+\+MASK}}~BIT(3)
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_ac1a10c6a7056526fb00a023782298744}{esw\+\_\+info}}(dev,  format, ...)~ printf(\char`\"{}mlx5\+\_\+core\+: INFO\+: \char`\"{}\char`\"{}(\%s)\+: E-\/Switch\+: \char`\"{} format, (dev)-\/$>$priv.\+name, \#\#\+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_acc834b936857dfba1309acd69e18de46}{esw\+\_\+warn}}(dev,  format, ...)~ printf(\char`\"{}mlx5\+\_\+core\+: WARN\+: \char`\"{}\char`\"{}(\%s)\+: E-\/Switch\+: \char`\"{} format, (dev)-\/$>$priv.\+name, \#\#\+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_a78af9ca408e12050718d0c0bc2380dd9}{esw\+\_\+debug}}(dev,  format, ...)~ \mbox{\hyperlink{mlx5__core_8h_a57871c3748353b2e1665613542782b45}{mlx5\+\_\+core\+\_\+dbg\+\_\+mask}}(dev, \mbox{\hyperlink{mlx5__eswitch_8c_ada1d4b39f584fec13e98324f86974b33}{MLX5\+\_\+\+DEBUG\+\_\+\+ESWITCH\+\_\+\+MASK}}, format, \#\#\+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_a89baea4a43b34e7207ed44dc13cdd9af}{SRIOV\+\_\+\+VPORT\+\_\+\+EVENTS}}
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_aec0969c5f5afd8a87efcad395150f191}{ESW\+\_\+\+ALLOWED}}(esw)~ (esw \&\& \mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}(esw-\/$>$dev, vport\+\_\+group\+\_\+manager) \&\& \mbox{\hyperlink{driver_8h_a0d6173e5f9c2277d9ca2082a53cf2b22}{mlx5\+\_\+core\+\_\+is\+\_\+pf}}(esw-\/$>$dev))
\item 
\#define \mbox{\hyperlink{mlx5__eswitch_8c_a523e72c1c8ab783efb89913c43970d16}{LEGAL\+\_\+\+VPORT}}(esw,  vport)~(vport $>$= 0 \&\& vport $<$ esw-\/$>$total\+\_\+vports)
\end{DoxyCompactItemize}
\doxysubsection*{Typedefs}
\begin{DoxyCompactItemize}
\item 
typedef int($\ast$ \mbox{\hyperlink{mlx5__eswitch_8c_ab40ce32c8ee7cee00ad12765959dae45}{vport\+\_\+addr\+\_\+action}}) (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$vaddr)
\end{DoxyCompactItemize}
\doxysubsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum \{ \mbox{\hyperlink{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13a0b511e461da6547f1719c077eee71de6}{MLX5\+\_\+\+ACTION\+\_\+\+NONE}} = 0
, \mbox{\hyperlink{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13aacc261c009394fb62c458a6da27209e1}{MLX5\+\_\+\+ACTION\+\_\+\+ADD}} = 1
, \mbox{\hyperlink{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13a1e7cebc427f4d4396cd195ddef3fa7e5}{MLX5\+\_\+\+ACTION\+\_\+\+DEL}} = 2
 \}
\item 
enum \{ \mbox{\hyperlink{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618a9612352a68fc92e5d6333b8cf603abbe}{UC\+\_\+\+ADDR\+\_\+\+CHANGE}} = BIT(0)
, \mbox{\hyperlink{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618a9c5d45a06d3e01334dd0d7b27f96c621}{MC\+\_\+\+ADDR\+\_\+\+CHANGE}} = BIT(1)
 \}
\end{DoxyCompactItemize}
\doxysubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a51585bd30922f59cdd625d5f02a93a2c}{arm\+\_\+vport\+\_\+context\+\_\+events\+\_\+cmd}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, u16 vport, u32 events\+\_\+mask)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a7f32a6e99165c2d8eae6c10ac9340be8}{query\+\_\+esw\+\_\+vport\+\_\+context\+\_\+cmd}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$mdev, u32 vport, u32 $\ast$out, int outlen)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_afd876b6f57db6f9fcdb406893f44ddd3}{query\+\_\+esw\+\_\+vport\+\_\+cvlan}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, u32 vport, u16 $\ast$vlan, u8 $\ast$qos)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a82b6080ebc2f015e5c1633660ef922ce}{modify\+\_\+esw\+\_\+vport\+\_\+context\+\_\+cmd}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, u16 vport, void $\ast$in, int inlen)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a3679a4487a0187941b75f91c995170f1}{modify\+\_\+esw\+\_\+vport\+\_\+cvlan}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, u32 vport, u16 vlan, u8 qos, bool set)
\item 
static struct \mbox{\hyperlink{structmlx5__flow__rule}{mlx5\+\_\+flow\+\_\+rule}} $\ast$ \mbox{\hyperlink{mlx5__eswitch_8c_a37ca7000e783b8b8c7352f47027fa33c}{esw\+\_\+fdb\+\_\+set\+\_\+vport\+\_\+rule}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, u8 mac\mbox{[}ETH\+\_\+\+ALEN\mbox{]}, u32 vport)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_ad7b0e375092505f3d83d8e3f88026abc}{esw\+\_\+create\+\_\+fdb\+\_\+table}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a70be96b6189836518f1437a94597e0f5}{esw\+\_\+destroy\+\_\+fdb\+\_\+table}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_aee2781c4c9535ef4a110614cc74e4a12}{esw\+\_\+add\+\_\+uc\+\_\+addr}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$vaddr)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a5be43c030e19798f9d8be401f850cbc5}{esw\+\_\+del\+\_\+uc\+\_\+addr}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$vaddr)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a6c9789ead537beb61731d63a6fd42c11}{esw\+\_\+add\+\_\+mc\+\_\+addr}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$vaddr)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a90374899b0230d646e0464c528b838a6}{esw\+\_\+del\+\_\+mc\+\_\+addr}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$vaddr)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a83af036abe5e54621d4b797e6f97e6cf}{esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, u32 vport\+\_\+num, int list\+\_\+type)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a6df64cc5193999809c7343e58e639d8f}{esw\+\_\+update\+\_\+vport\+\_\+addr\+\_\+list}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, u32 vport\+\_\+num, int list\+\_\+type)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_aaf7df8a88dccd946f5cba17e80854274}{esw\+\_\+vport\+\_\+change\+\_\+handler}} (struct work\+\_\+struct $\ast$\mbox{\hyperlink{en__hw__tls__rx_8h_a623997e11b94d7c467ce26627cc488a2}{work}})
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a6c85f6f020f5f3d857c899779613255c}{esw\+\_\+vport\+\_\+enable\+\_\+egress\+\_\+acl}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a5077bbc170ca9a3943c268557c0b30c9}{esw\+\_\+vport\+\_\+cleanup\+\_\+egress\+\_\+rules}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a6e0dbfd8a262baad9a1060a3ec436db0}{esw\+\_\+vport\+\_\+disable\+\_\+egress\+\_\+acl}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_adf679704b0cbcbefdffba93f4b47389c}{esw\+\_\+vport\+\_\+enable\+\_\+ingress\+\_\+acl}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a028581c1e18808df7720b2d6ce42a385}{esw\+\_\+vport\+\_\+cleanup\+\_\+ingress\+\_\+rules}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a365b3335adc049045fab6332003d0f0c}{esw\+\_\+vport\+\_\+disable\+\_\+ingress\+\_\+acl}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_ab2f015800849c93e4bd6dba14dd3853e}{esw\+\_\+vport\+\_\+ingress\+\_\+config}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static int \mbox{\hyperlink{mlx5__eswitch_8c_a4874362513a57189fe44a63d45a8a2c9}{esw\+\_\+vport\+\_\+egress\+\_\+config}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$vport)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_ad80010e3db9717c7eb74630b41bf014c}{esw\+\_\+enable\+\_\+vport}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport\+\_\+num, int enable\+\_\+events)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_af9e3f12364c6bc233b5b2c2727464770}{esw\+\_\+cleanup\+\_\+vport}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, u16 vport\+\_\+num)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_a76fb5605cb8096bb2ddc6a8c810240a7}{esw\+\_\+disable\+\_\+vport}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport\+\_\+num)
\item 
int \mbox{\hyperlink{mlx5__eswitch_8c_adae5b7b4f78a67ff26d2a4eac47d92a5}{mlx5\+\_\+eswitch\+\_\+enable\+\_\+sriov}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int nvfs)
\item 
void \mbox{\hyperlink{mlx5__eswitch_8c_a3f620248bb6a102997a1566b0d34f3b0}{mlx5\+\_\+eswitch\+\_\+disable\+\_\+sriov}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw)
\item 
int \mbox{\hyperlink{mlx5__eswitch_8c_a26f9ac558284dfa0c878db41e813acc3}{mlx5\+\_\+eswitch\+\_\+init}} (struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$dev, int total\+\_\+vports)
\item 
void \mbox{\hyperlink{mlx5__eswitch_8c_af4ee0523a44216f602955f10ceda8f23}{mlx5\+\_\+eswitch\+\_\+cleanup}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw)
\item 
void \mbox{\hyperlink{mlx5__eswitch_8c_aa8bf34fe99da7cf334618ab1bbc12917}{mlx5\+\_\+eswitch\+\_\+vport\+\_\+event}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structmlx5__eqe}{mlx5\+\_\+eqe}} $\ast$eqe)
\item 
static void \mbox{\hyperlink{mlx5__eswitch_8c_afae4c0cef2720917ed5b492d4beb55a3}{node\+\_\+guid\+\_\+gen\+\_\+from\+\_\+mac}} (u64 $\ast$node\+\_\+guid, u8 mac\mbox{[}ETH\+\_\+\+ALEN\mbox{]})
\item 
int \mbox{\hyperlink{mlx5__eswitch_8c_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{mlx5__eswitch_8c_ad3ce4a6f6736fa9f1dfbd4c2c494972e}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+state}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport, int link\+\_\+state)
\item 
int \mbox{\hyperlink{mlx5__eswitch_8c_a000fb3e2465009702019e2b20472e015}{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$ivi)
\item 
int \mbox{\hyperlink{mlx5__eswitch_8c_a46e8ec40871eda1abfe6dfb7ff9536d8}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+vlan}} (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, int vport, u16 vlan, u8 qos)
\end{DoxyCompactItemize}


\doxysubsection{Macro Definition Documentation}
\mbox{\Hypertarget{mlx5__eswitch_8c_aec0969c5f5afd8a87efcad395150f191}\label{mlx5__eswitch_8c_aec0969c5f5afd8a87efcad395150f191}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!ESW\_ALLOWED@{ESW\_ALLOWED}}
\index{ESW\_ALLOWED@{ESW\_ALLOWED}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{ESW\_ALLOWED}{ESW\_ALLOWED}}
{\footnotesize\ttfamily \#define ESW\+\_\+\+ALLOWED(\begin{DoxyParamCaption}\item[{}]{esw }\end{DoxyParamCaption})~ (esw \&\& \mbox{\hyperlink{device_8h_ab4698570d3992612e8c6ccf9fde798c3}{MLX5\+\_\+\+CAP\+\_\+\+GEN}}(esw-\/$>$dev, vport\+\_\+group\+\_\+manager) \&\& \mbox{\hyperlink{driver_8h_a0d6173e5f9c2277d9ca2082a53cf2b22}{mlx5\+\_\+core\+\_\+is\+\_\+pf}}(esw-\/$>$dev))}



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

\mbox{\Hypertarget{mlx5__eswitch_8c_a78af9ca408e12050718d0c0bc2380dd9}\label{mlx5__eswitch_8c_a78af9ca408e12050718d0c0bc2380dd9}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_debug@{esw\_debug}}
\index{esw\_debug@{esw\_debug}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_debug}{esw\_debug}}
{\footnotesize\ttfamily \#define esw\+\_\+debug(\begin{DoxyParamCaption}\item[{}]{dev,  }\item[{}]{format,  }\item[{}]{... }\end{DoxyParamCaption})~ \mbox{\hyperlink{mlx5__core_8h_a57871c3748353b2e1665613542782b45}{mlx5\+\_\+core\+\_\+dbg\+\_\+mask}}(dev, \mbox{\hyperlink{mlx5__eswitch_8c_ada1d4b39f584fec13e98324f86974b33}{MLX5\+\_\+\+DEBUG\+\_\+\+ESWITCH\+\_\+\+MASK}}, format, \#\#\+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)}



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

\mbox{\Hypertarget{mlx5__eswitch_8c_ac1a10c6a7056526fb00a023782298744}\label{mlx5__eswitch_8c_ac1a10c6a7056526fb00a023782298744}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_info@{esw\_info}}
\index{esw\_info@{esw\_info}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_info}{esw\_info}}
{\footnotesize\ttfamily \#define esw\+\_\+info(\begin{DoxyParamCaption}\item[{}]{dev,  }\item[{}]{format,  }\item[{}]{... }\end{DoxyParamCaption})~ printf(\char`\"{}mlx5\+\_\+core\+: INFO\+: \char`\"{}\char`\"{}(\%s)\+: E-\/Switch\+: \char`\"{} format, (dev)-\/$>$priv.\+name, \#\#\+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)}



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

\mbox{\Hypertarget{mlx5__eswitch_8c_acc834b936857dfba1309acd69e18de46}\label{mlx5__eswitch_8c_acc834b936857dfba1309acd69e18de46}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_warn@{esw\_warn}}
\index{esw\_warn@{esw\_warn}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_warn}{esw\_warn}}
{\footnotesize\ttfamily \#define esw\+\_\+warn(\begin{DoxyParamCaption}\item[{}]{dev,  }\item[{}]{format,  }\item[{}]{... }\end{DoxyParamCaption})~ printf(\char`\"{}mlx5\+\_\+core\+: WARN\+: \char`\"{}\char`\"{}(\%s)\+: E-\/Switch\+: \char`\"{} format, (dev)-\/$>$priv.\+name, \#\#\+\_\+\+\_\+\+VA\+\_\+\+ARGS\+\_\+\+\_\+)}



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

\mbox{\Hypertarget{mlx5__eswitch_8c_a523e72c1c8ab783efb89913c43970d16}\label{mlx5__eswitch_8c_a523e72c1c8ab783efb89913c43970d16}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!LEGAL\_VPORT@{LEGAL\_VPORT}}
\index{LEGAL\_VPORT@{LEGAL\_VPORT}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{LEGAL\_VPORT}{LEGAL\_VPORT}}
{\footnotesize\ttfamily \#define LEGAL\+\_\+\+VPORT(\begin{DoxyParamCaption}\item[{}]{esw,  }\item[{}]{vport }\end{DoxyParamCaption})~(vport $>$= 0 \&\& vport $<$ esw-\/$>$total\+\_\+vports)}



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

\mbox{\Hypertarget{mlx5__eswitch_8c_ada1d4b39f584fec13e98324f86974b33}\label{mlx5__eswitch_8c_ada1d4b39f584fec13e98324f86974b33}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!MLX5\_DEBUG\_ESWITCH\_MASK@{MLX5\_DEBUG\_ESWITCH\_MASK}}
\index{MLX5\_DEBUG\_ESWITCH\_MASK@{MLX5\_DEBUG\_ESWITCH\_MASK}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{MLX5\_DEBUG\_ESWITCH\_MASK}{MLX5\_DEBUG\_ESWITCH\_MASK}}
{\footnotesize\ttfamily \#define MLX5\+\_\+\+DEBUG\+\_\+\+ESWITCH\+\_\+\+MASK~BIT(3)}



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

\mbox{\Hypertarget{mlx5__eswitch_8c_a89baea4a43b34e7207ed44dc13cdd9af}\label{mlx5__eswitch_8c_a89baea4a43b34e7207ed44dc13cdd9af}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!SRIOV\_VPORT\_EVENTS@{SRIOV\_VPORT\_EVENTS}}
\index{SRIOV\_VPORT\_EVENTS@{SRIOV\_VPORT\_EVENTS}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{SRIOV\_VPORT\_EVENTS}{SRIOV\_VPORT\_EVENTS}}
{\footnotesize\ttfamily \#define SRIOV\+\_\+\+VPORT\+\_\+\+EVENTS}

{\bfseries Value\+:}
\begin{DoxyCode}{0}
\DoxyCodeLine{                            (\mbox{\hyperlink{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618a9612352a68fc92e5d6333b8cf603abbe}{UC\_ADDR\_CHANGE}} | \(\backslash\)}
\DoxyCodeLine{                            MC\_ADDR\_CHANGE)}

\end{DoxyCode}


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

\mbox{\Hypertarget{mlx5__eswitch_8c_ae7da705f31a521f4f1da3666896222e4}\label{mlx5__eswitch_8c_ae7da705f31a521f4f1da3666896222e4}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!UPLINK\_VPORT@{UPLINK\_VPORT}}
\index{UPLINK\_VPORT@{UPLINK\_VPORT}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{UPLINK\_VPORT}{UPLINK\_VPORT}}
{\footnotesize\ttfamily \#define UPLINK\+\_\+\+VPORT~0x\+FFFF}



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



\doxysubsection{Typedef Documentation}
\mbox{\Hypertarget{mlx5__eswitch_8c_ab40ce32c8ee7cee00ad12765959dae45}\label{mlx5__eswitch_8c_ab40ce32c8ee7cee00ad12765959dae45}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!vport\_addr\_action@{vport\_addr\_action}}
\index{vport\_addr\_action@{vport\_addr\_action}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{vport\_addr\_action}{vport\_addr\_action}}
{\footnotesize\ttfamily typedef int($\ast$ vport\+\_\+addr\+\_\+action) (struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$esw, struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$vaddr)}



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



\doxysubsection{Enumeration Type Documentation}
\mbox{\Hypertarget{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13}\label{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13}} 
\doxysubsubsection{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{MLX5\_ACTION\_NONE@{MLX5\_ACTION\_NONE}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!MLX5\_ACTION\_NONE@{MLX5\_ACTION\_NONE}}}\mbox{\Hypertarget{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13a0b511e461da6547f1719c077eee71de6}\label{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13a0b511e461da6547f1719c077eee71de6}} 
MLX5\+\_\+\+ACTION\+\_\+\+NONE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MLX5\_ACTION\_ADD@{MLX5\_ACTION\_ADD}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!MLX5\_ACTION\_ADD@{MLX5\_ACTION\_ADD}}}\mbox{\Hypertarget{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13aacc261c009394fb62c458a6da27209e1}\label{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13aacc261c009394fb62c458a6da27209e1}} 
MLX5\+\_\+\+ACTION\+\_\+\+ADD&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MLX5\_ACTION\_DEL@{MLX5\_ACTION\_DEL}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!MLX5\_ACTION\_DEL@{MLX5\_ACTION\_DEL}}}\mbox{\Hypertarget{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13a1e7cebc427f4d4396cd195ddef3fa7e5}\label{mlx5__eswitch_8c_a0ac0b7994a7d738aa77d2c1cfe8d6d13a1e7cebc427f4d4396cd195ddef3fa7e5}} 
MLX5\+\_\+\+ACTION\+\_\+\+DEL&\\
\hline

\end{DoxyEnumFields}


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

\mbox{\Hypertarget{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618}\label{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618}} 
\doxysubsubsection{\texorpdfstring{anonymous enum}{anonymous enum}}
{\footnotesize\ttfamily anonymous enum}

\begin{DoxyEnumFields}{Enumerator}
\raisebox{\heightof{T}}[0pt][0pt]{\index{UC\_ADDR\_CHANGE@{UC\_ADDR\_CHANGE}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!UC\_ADDR\_CHANGE@{UC\_ADDR\_CHANGE}}}\mbox{\Hypertarget{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618a9612352a68fc92e5d6333b8cf603abbe}\label{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618a9612352a68fc92e5d6333b8cf603abbe}} 
UC\+\_\+\+ADDR\+\_\+\+CHANGE&\\
\hline

\raisebox{\heightof{T}}[0pt][0pt]{\index{MC\_ADDR\_CHANGE@{MC\_ADDR\_CHANGE}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!MC\_ADDR\_CHANGE@{MC\_ADDR\_CHANGE}}}\mbox{\Hypertarget{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618a9c5d45a06d3e01334dd0d7b27f96c621}\label{mlx5__eswitch_8c_a5bea799269f02f5b3395d6b2c068b618a9c5d45a06d3e01334dd0d7b27f96c621}} 
MC\+\_\+\+ADDR\+\_\+\+CHANGE&\\
\hline

\end{DoxyEnumFields}


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



\doxysubsection{Function Documentation}
\mbox{\Hypertarget{mlx5__eswitch_8c_a51585bd30922f59cdd625d5f02a93a2c}\label{mlx5__eswitch_8c_a51585bd30922f59cdd625d5f02a93a2c}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!arm\_vport\_context\_events\_cmd@{arm\_vport\_context\_events\_cmd}}
\index{arm\_vport\_context\_events\_cmd@{arm\_vport\_context\_events\_cmd}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{arm\_vport\_context\_events\_cmd()}{arm\_vport\_context\_events\_cmd()}}
{\footnotesize\ttfamily static int arm\+\_\+vport\+\_\+context\+\_\+events\+\_\+cmd (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{u16}]{vport,  }\item[{u32}]{events\+\_\+mask }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00083}{MC\+\_\+\+ADDR\+\_\+\+CHANGE}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{mlx5__cmd_8c_source_l01347}{mlx5\+\_\+cmd\+\_\+exec()}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l00178}{MLX5\+\_\+\+CMD\+\_\+\+OP\+\_\+\+MODIFY\+\_\+\+NIC\+\_\+\+VPORT\+\_\+\+CONTEXT}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00065}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+DW}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00082}{UC\+\_\+\+ADDR\+\_\+\+CHANGE}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00989}{esw\+\_\+disable\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00575}{esw\+\_\+vport\+\_\+change\+\_\+handler()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a51585bd30922f59cdd625d5f02a93a2c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a51585bd30922f59cdd625d5f02a93a2c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a6c9789ead537beb61731d63a6fd42c11}\label{mlx5__eswitch_8c_a6c9789ead537beb61731d63a6fd42c11}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_add\_mc\_addr@{esw\_add\_mc\_addr}}
\index{esw\_add\_mc\_addr@{esw\_add\_mc\_addr}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_add\_mc\_addr()}{esw\_add\_mc\_addr()}}
{\footnotesize\ttfamily static int esw\+\_\+add\+\_\+mc\+\_\+addr (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$}]{vaddr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00046}{l2addr\+\_\+node\+::addr}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00221}{esw\+\_\+fdb\+\_\+set\+\_\+vport\+\_\+rule()}}, \mbox{\hyperlink{eswitch_8h_source_l00128}{mlx5\+\_\+eswitch\+\_\+fdb\+::fdb}}, \mbox{\hyperlink{eswitch_8h_source_l00135}{mlx5\+\_\+eswitch\+::fdb\+\_\+table}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00078}{vport\+\_\+addr\+::flow\+\_\+rule}}, \mbox{\hyperlink{eswitch_8h_source_l00068}{l2addr\+\_\+hash\+\_\+add}}, \mbox{\hyperlink{eswitch_8h_source_l00053}{l2addr\+\_\+hash\+\_\+find}}, \mbox{\hyperlink{eswitch_8h_source_l00136}{mlx5\+\_\+eswitch\+::mc\+\_\+table}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00075}{vport\+\_\+addr\+::node}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00070}{esw\+\_\+mc\+\_\+addr\+::refcnt}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00069}{esw\+\_\+mc\+\_\+addr\+::uplink\+\_\+rule}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00040}{UPLINK\+\_\+\+VPORT}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00077}{vport\+\_\+addr\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00477}{esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6c9789ead537beb61731d63a6fd42c11_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6c9789ead537beb61731d63a6fd42c11_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_aee2781c4c9535ef4a110614cc74e4a12}\label{mlx5__eswitch_8c_aee2781c4c9535ef4a110614cc74e4a12}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_add\_uc\_addr@{esw\_add\_uc\_addr}}
\index{esw\_add\_uc\_addr@{esw\_add\_uc\_addr}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_add\_uc\_addr()}{esw\_add\_uc\_addr()}}
{\footnotesize\ttfamily static int esw\+\_\+add\+\_\+uc\+\_\+addr (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$}]{vaddr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00046}{l2addr\+\_\+node\+::addr}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00221}{esw\+\_\+fdb\+\_\+set\+\_\+vport\+\_\+rule()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{eswitch_8h_source_l00128}{mlx5\+\_\+eswitch\+\_\+fdb\+::fdb}}, \mbox{\hyperlink{eswitch_8h_source_l00135}{mlx5\+\_\+eswitch\+::fdb\+\_\+table}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00078}{vport\+\_\+addr\+::flow\+\_\+rule}}, \mbox{\hyperlink{eswitch_8h_source_l00122}{mlx5\+\_\+l2\+\_\+table\+::l2\+\_\+hash}}, \mbox{\hyperlink{eswitch_8h_source_l00134}{mlx5\+\_\+eswitch\+::l2\+\_\+table}}, \mbox{\hyperlink{eswitch_8h_source_l00068}{l2addr\+\_\+hash\+\_\+add}}, \mbox{\hyperlink{eswitch_8h_source_l00080}{l2addr\+\_\+hash\+\_\+del}}, \mbox{\hyperlink{eswitch_8h_source_l00053}{l2addr\+\_\+hash\+\_\+find}}, \mbox{\hyperlink{mlx5__mpfs_8c_source_l00045}{mlx5\+\_\+mpfs\+\_\+add\+\_\+mac()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00075}{vport\+\_\+addr\+::node}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00062}{esw\+\_\+uc\+\_\+addr\+::table\+\_\+index}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00063}{esw\+\_\+uc\+\_\+addr\+::vport}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00077}{vport\+\_\+addr\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00477}{esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_aee2781c4c9535ef4a110614cc74e4a12_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_aee2781c4c9535ef4a110614cc74e4a12_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a83af036abe5e54621d4b797e6f97e6cf}\label{mlx5__eswitch_8c_a83af036abe5e54621d4b797e6f97e6cf}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_apply\_vport\_addr\_list@{esw\_apply\_vport\_addr\_list}}
\index{esw\_apply\_vport\_addr\_list@{esw\_apply\_vport\_addr\_list}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_apply\_vport\_addr\_list()}{esw\_apply\_vport\_addr\_list()}}
{\footnotesize\ttfamily static void esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{u32}]{vport\+\_\+num,  }\item[{int}]{list\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00076}{vport\+\_\+addr\+::action}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00409}{esw\+\_\+add\+\_\+mc\+\_\+addr()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00346}{esw\+\_\+add\+\_\+uc\+\_\+addr()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00440}{esw\+\_\+del\+\_\+mc\+\_\+addr()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00382}{esw\+\_\+del\+\_\+uc\+\_\+addr()}}, \mbox{\hyperlink{eswitch_8h_source_l00049}{for\+\_\+each\+\_\+l2hash\+\_\+node}}, \mbox{\hyperlink{eswitch_8h_source_l00080}{l2addr\+\_\+hash\+\_\+del}}, \mbox{\hyperlink{eswitch_8h_source_l00103}{mlx5\+\_\+vport\+::mc\+\_\+list}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00055}{MLX5\+\_\+\+ACTION\+\_\+\+ADD}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00056}{MLX5\+\_\+\+ACTION\+\_\+\+DEL}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00054}{MLX5\+\_\+\+ACTION\+\_\+\+NONE}}, \mbox{\hyperlink{device_8h_source_l00959}{MLX5\+\_\+\+NIC\+\_\+\+VPORT\+\_\+\+LIST\+\_\+\+TYPE\+\_\+\+UC}}, \mbox{\hyperlink{eswitch_8h_source_l00102}{mlx5\+\_\+vport\+::uc\+\_\+list}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, and \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00968}{esw\+\_\+cleanup\+\_\+vport()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00575}{esw\+\_\+vport\+\_\+change\+\_\+handler()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a83af036abe5e54621d4b797e6f97e6cf_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a83af036abe5e54621d4b797e6f97e6cf_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_af9e3f12364c6bc233b5b2c2727464770}\label{mlx5__eswitch_8c_af9e3f12364c6bc233b5b2c2727464770}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_cleanup\_vport@{esw\_cleanup\_vport}}
\index{esw\_cleanup\_vport@{esw\_cleanup\_vport}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_cleanup\_vport()}{esw\_cleanup\_vport()}}
{\footnotesize\ttfamily static void esw\+\_\+cleanup\+\_\+vport (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{u16}]{vport\+\_\+num }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00076}{vport\+\_\+addr\+::action}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00477}{esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list()}}, \mbox{\hyperlink{eswitch_8h_source_l00049}{for\+\_\+each\+\_\+l2hash\+\_\+node}}, \mbox{\hyperlink{eswitch_8h_source_l00103}{mlx5\+\_\+vport\+::mc\+\_\+list}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00056}{MLX5\+\_\+\+ACTION\+\_\+\+DEL}}, \mbox{\hyperlink{device_8h_source_l00960}{MLX5\+\_\+\+NIC\+\_\+\+VPORT\+\_\+\+LIST\+\_\+\+TYPE\+\_\+\+MC}}, \mbox{\hyperlink{device_8h_source_l00959}{MLX5\+\_\+\+NIC\+\_\+\+VPORT\+\_\+\+LIST\+\_\+\+TYPE\+\_\+\+UC}}, \mbox{\hyperlink{eswitch_8h_source_l00102}{mlx5\+\_\+vport\+::uc\+\_\+list}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, and \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00989}{esw\+\_\+disable\+\_\+vport()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_af9e3f12364c6bc233b5b2c2727464770_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_af9e3f12364c6bc233b5b2c2727464770_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_ad7b0e375092505f3d83d8e3f88026abc}\label{mlx5__eswitch_8c_ad7b0e375092505f3d83d8e3f88026abc}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_create\_fdb\_table@{esw\_create\_fdb\_table}}
\index{esw\_create\_fdb\_table@{esw\_create\_fdb\_table}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_create\_fdb\_table()}{esw\_create\_fdb\_table()}}
{\footnotesize\ttfamily static int esw\+\_\+create\+\_\+fdb\+\_\+table (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00129}{mlx5\+\_\+eswitch\+\_\+fdb\+::addr\+\_\+grp}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{eswitch_8h_source_l00128}{mlx5\+\_\+eswitch\+\_\+fdb\+::fdb}}, \mbox{\hyperlink{eswitch_8h_source_l00135}{mlx5\+\_\+eswitch\+::fdb\+\_\+table}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{device_8h_source_l01076}{MLX5\+\_\+\+CAP\+\_\+\+ESW\+\_\+\+FLOWTABLE\+\_\+\+FDB}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01098}{mlx5\+\_\+create\+\_\+flow\+\_\+group()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00937}{mlx5\+\_\+create\+\_\+flow\+\_\+table()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}, \mbox{\hyperlink{fs_8h_source_l00062}{MLX5\+\_\+\+FLOW\+\_\+\+NAMESPACE\+\_\+\+FDB}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02376}{mlx5\+\_\+get\+\_\+flow\+\_\+namespace()}}, \mbox{\hyperlink{device_8h_source_l00921}{MLX5\+\_\+\+MATCH\+\_\+\+OUTER\+\_\+\+HEADERS}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, and \mbox{\hyperlink{driver_8h_source_l00914}{mlx5\+\_\+vzalloc()}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l01026}{mlx5\+\_\+eswitch\+\_\+enable\+\_\+sriov()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_ad7b0e375092505f3d83d8e3f88026abc_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_ad7b0e375092505f3d83d8e3f88026abc_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a90374899b0230d646e0464c528b838a6}\label{mlx5__eswitch_8c_a90374899b0230d646e0464c528b838a6}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_del\_mc\_addr@{esw\_del\_mc\_addr}}
\index{esw\_del\_mc\_addr@{esw\_del\_mc\_addr}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_del\_mc\_addr()}{esw\_del\_mc\_addr()}}
{\footnotesize\ttfamily static int esw\+\_\+del\+\_\+mc\+\_\+addr (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$}]{vaddr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00046}{l2addr\+\_\+node\+::addr}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{eswitch_8h_source_l00128}{mlx5\+\_\+eswitch\+\_\+fdb\+::fdb}}, \mbox{\hyperlink{eswitch_8h_source_l00135}{mlx5\+\_\+eswitch\+::fdb\+\_\+table}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00078}{vport\+\_\+addr\+::flow\+\_\+rule}}, \mbox{\hyperlink{eswitch_8h_source_l00080}{l2addr\+\_\+hash\+\_\+del}}, \mbox{\hyperlink{eswitch_8h_source_l00053}{l2addr\+\_\+hash\+\_\+find}}, \mbox{\hyperlink{eswitch_8h_source_l00136}{mlx5\+\_\+eswitch\+::mc\+\_\+table}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01883}{mlx5\+\_\+del\+\_\+flow\+\_\+rule()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00075}{vport\+\_\+addr\+::node}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00070}{esw\+\_\+mc\+\_\+addr\+::refcnt}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00069}{esw\+\_\+mc\+\_\+addr\+::uplink\+\_\+rule}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00077}{vport\+\_\+addr\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00477}{esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a90374899b0230d646e0464c528b838a6_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a90374899b0230d646e0464c528b838a6_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a5be43c030e19798f9d8be401f850cbc5}\label{mlx5__eswitch_8c_a5be43c030e19798f9d8be401f850cbc5}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_del\_uc\_addr@{esw\_del\_uc\_addr}}
\index{esw\_del\_uc\_addr@{esw\_del\_uc\_addr}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_del\_uc\_addr()}{esw\_del\_uc\_addr()}}
{\footnotesize\ttfamily static int esw\+\_\+del\+\_\+uc\+\_\+addr (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structvport__addr}{vport\+\_\+addr}} $\ast$}]{vaddr }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00046}{l2addr\+\_\+node\+::addr}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00078}{vport\+\_\+addr\+::flow\+\_\+rule}}, \mbox{\hyperlink{eswitch_8h_source_l00122}{mlx5\+\_\+l2\+\_\+table\+::l2\+\_\+hash}}, \mbox{\hyperlink{eswitch_8h_source_l00134}{mlx5\+\_\+eswitch\+::l2\+\_\+table}}, \mbox{\hyperlink{eswitch_8h_source_l00080}{l2addr\+\_\+hash\+\_\+del}}, \mbox{\hyperlink{eswitch_8h_source_l00053}{l2addr\+\_\+hash\+\_\+find}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01883}{mlx5\+\_\+del\+\_\+flow\+\_\+rule()}}, \mbox{\hyperlink{mlx5__mpfs_8c_source_l00090}{mlx5\+\_\+mpfs\+\_\+del\+\_\+mac()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00075}{vport\+\_\+addr\+::node}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00062}{esw\+\_\+uc\+\_\+addr\+::table\+\_\+index}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00063}{esw\+\_\+uc\+\_\+addr\+::vport}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00077}{vport\+\_\+addr\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00477}{esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a5be43c030e19798f9d8be401f850cbc5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a5be43c030e19798f9d8be401f850cbc5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a70be96b6189836518f1437a94597e0f5}\label{mlx5__eswitch_8c_a70be96b6189836518f1437a94597e0f5}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_destroy\_fdb\_table@{esw\_destroy\_fdb\_table}}
\index{esw\_destroy\_fdb\_table@{esw\_destroy\_fdb\_table}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_destroy\_fdb\_table()}{esw\_destroy\_fdb\_table()}}
{\footnotesize\ttfamily static void esw\+\_\+destroy\+\_\+fdb\+\_\+table (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00129}{mlx5\+\_\+eswitch\+\_\+fdb\+::addr\+\_\+grp}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{eswitch_8h_source_l00128}{mlx5\+\_\+eswitch\+\_\+fdb\+::fdb}}, \mbox{\hyperlink{eswitch_8h_source_l00135}{mlx5\+\_\+eswitch\+::fdb\+\_\+table}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01135}{mlx5\+\_\+destroy\+\_\+flow\+\_\+group()}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l01067}{mlx5\+\_\+eswitch\+\_\+disable\+\_\+sriov()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a70be96b6189836518f1437a94597e0f5_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a70be96b6189836518f1437a94597e0f5_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a76fb5605cb8096bb2ddc6a8c810240a7}\label{mlx5__eswitch_8c_a76fb5605cb8096bb2ddc6a8c810240a7}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_disable\_vport@{esw\_disable\_vport}}
\index{esw\_disable\_vport@{esw\_disable\_vport}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_disable\_vport()}{esw\_disable\_vport()}}
{\footnotesize\ttfamily static void esw\+\_\+disable\+\_\+vport (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{int}]{vport\+\_\+num }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00090}{arm\+\_\+vport\+\_\+context\+\_\+events\+\_\+cmd()}}, \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_l00968}{esw\+\_\+cleanup\+\_\+vport()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00697}{esw\+\_\+vport\+\_\+disable\+\_\+egress\+\_\+acl()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00783}{esw\+\_\+vport\+\_\+disable\+\_\+ingress\+\_\+acl()}}, \mbox{\hyperlink{device_8h_source_l00965}{MLX5\+\_\+\+ESW\+\_\+\+VPORT\+\_\+\+ADMIN\+\_\+\+STATE\+\_\+\+DOWN}}, \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}}, \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__eswitch_8c_source_l01158}{mlx5\+\_\+eswitch\+\_\+cleanup()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01067}{mlx5\+\_\+eswitch\+\_\+disable\+\_\+sriov()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l01026}{mlx5\+\_\+eswitch\+\_\+enable\+\_\+sriov()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a76fb5605cb8096bb2ddc6a8c810240a7_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a76fb5605cb8096bb2ddc6a8c810240a7_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_ad80010e3db9717c7eb74630b41bf014c}\label{mlx5__eswitch_8c_ad80010e3db9717c7eb74630b41bf014c}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_enable\_vport@{esw\_enable\_vport}}
\index{esw\_enable\_vport@{esw\_enable\_vport}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_enable\_vport()}{esw\_enable\_vport()}}
{\footnotesize\ttfamily static void esw\+\_\+enable\+\_\+vport (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{int}]{vport\+\_\+num,  }\item[{int}]{enable\+\_\+events }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00090}{arm\+\_\+vport\+\_\+context\+\_\+events\+\_\+cmd()}}, \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_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00575}{esw\+\_\+vport\+\_\+change\+\_\+handler()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00854}{esw\+\_\+vport\+\_\+egress\+\_\+config()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00607}{esw\+\_\+vport\+\_\+enable\+\_\+egress\+\_\+acl()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00714}{esw\+\_\+vport\+\_\+enable\+\_\+ingress\+\_\+acl()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00798}{esw\+\_\+vport\+\_\+ingress\+\_\+config()}}, \mbox{\hyperlink{device_8h_source_l00967}{MLX5\+\_\+\+ESW\+\_\+\+VPORT\+\_\+\+ADMIN\+\_\+\+STATE\+\_\+\+AUTO}}, \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}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, and \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l01067}{mlx5\+\_\+eswitch\+\_\+disable\+\_\+sriov()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l01026}{mlx5\+\_\+eswitch\+\_\+enable\+\_\+sriov()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l01087}{mlx5\+\_\+eswitch\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_ad80010e3db9717c7eb74630b41bf014c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_ad80010e3db9717c7eb74630b41bf014c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a37ca7000e783b8b8c7352f47027fa33c}\label{mlx5__eswitch_8c_a37ca7000e783b8b8c7352f47027fa33c}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_fdb\_set\_vport\_rule@{esw\_fdb\_set\_vport\_rule}}
\index{esw\_fdb\_set\_vport\_rule@{esw\_fdb\_set\_vport\_rule}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_fdb\_set\_vport\_rule()}{esw\_fdb\_set\_vport\_rule()}}
{\footnotesize\ttfamily static struct \mbox{\hyperlink{structmlx5__flow__rule}{mlx5\+\_\+flow\+\_\+rule}} $\ast$ esw\+\_\+fdb\+\_\+set\+\_\+vport\+\_\+rule (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{u8}]{mac\mbox{[}\+ETH\+\_\+\+ALEN\mbox{]},  }\item[{u32}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l00221}{221}} 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_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{eswitch_8h_source_l00128}{mlx5\+\_\+eswitch\+\_\+fdb\+::fdb}}, \mbox{\hyperlink{eswitch_8h_source_l00135}{mlx5\+\_\+eswitch\+::fdb\+\_\+table}}, \mbox{\hyperlink{en__hw__tls__rx_8h_source_l00004}{flow\+\_\+rule}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01858}{mlx5\+\_\+add\+\_\+flow\+\_\+rule()}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l02234}{MLX5\+\_\+\+FLOW\+\_\+\+CONTEXT\+\_\+\+ACTION\+\_\+\+FWD\+\_\+\+DEST}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l00517}{MLX5\+\_\+\+FLOW\+\_\+\+CONTEXT\+\_\+\+DEST\+\_\+\+TYPE\+\_\+\+VPORT}}, \mbox{\hyperlink{device_8h_source_l00921}{MLX5\+\_\+\+MATCH\+\_\+\+OUTER\+\_\+\+HEADERS}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, \mbox{\hyperlink{fs_8h_source_l00079}{mlx5\+\_\+flow\+\_\+destination\+::type}}, and \mbox{\hyperlink{fs_8h_source_l00083}{mlx5\+\_\+flow\+\_\+destination\+::vport\+\_\+num}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00409}{esw\+\_\+add\+\_\+mc\+\_\+addr()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00346}{esw\+\_\+add\+\_\+uc\+\_\+addr()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a37ca7000e783b8b8c7352f47027fa33c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a37ca7000e783b8b8c7352f47027fa33c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a6df64cc5193999809c7343e58e639d8f}\label{mlx5__eswitch_8c_a6df64cc5193999809c7343e58e639d8f}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_update\_vport\_addr\_list@{esw\_update\_vport\_addr\_list}}
\index{esw\_update\_vport\_addr\_list@{esw\_update\_vport\_addr\_list}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_update\_vport\_addr\_list()}{esw\_update\_vport\_addr\_list()}}
{\footnotesize\ttfamily static void esw\+\_\+update\+\_\+vport\+\_\+addr\+\_\+list (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{u32}]{vport\+\_\+num,  }\item[{int}]{list\+\_\+type }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00076}{vport\+\_\+addr\+::action}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{eswitch_8h_source_l00049}{for\+\_\+each\+\_\+l2hash\+\_\+node}}, \mbox{\hyperlink{eswitch_8h_source_l00068}{l2addr\+\_\+hash\+\_\+add}}, \mbox{\hyperlink{eswitch_8h_source_l00053}{l2addr\+\_\+hash\+\_\+find}}, \mbox{\hyperlink{eswitch_8h_source_l00103}{mlx5\+\_\+vport\+::mc\+\_\+list}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00055}{MLX5\+\_\+\+ACTION\+\_\+\+ADD}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00056}{MLX5\+\_\+\+ACTION\+\_\+\+DEL}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00054}{MLX5\+\_\+\+ACTION\+\_\+\+NONE}}, \mbox{\hyperlink{eswitch_8h_source_l00037}{MLX5\+\_\+\+MAX\+\_\+\+MC\+\_\+\+PER\+\_\+\+VPORT}}, \mbox{\hyperlink{eswitch_8h_source_l00034}{MLX5\+\_\+\+MAX\+\_\+\+UC\+\_\+\+PER\+\_\+\+VPORT}}, \mbox{\hyperlink{device_8h_source_l00959}{MLX5\+\_\+\+NIC\+\_\+\+VPORT\+\_\+\+LIST\+\_\+\+TYPE\+\_\+\+UC}}, \mbox{\hyperlink{mlx5__vport_8c_source_l00713}{mlx5\+\_\+query\+\_\+nic\+\_\+vport\+\_\+mac\+\_\+list()}}, \mbox{\hyperlink{eswitch_8h_source_l00102}{mlx5\+\_\+vport\+::uc\+\_\+list}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00077}{vport\+\_\+addr\+::vport}}, and \mbox{\hyperlink{eswitch_8h_source_l00138}{mlx5\+\_\+eswitch\+::vports}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00575}{esw\+\_\+vport\+\_\+change\+\_\+handler()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6df64cc5193999809c7343e58e639d8f_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6df64cc5193999809c7343e58e639d8f_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_aaf7df8a88dccd946f5cba17e80854274}\label{mlx5__eswitch_8c_aaf7df8a88dccd946f5cba17e80854274}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_change\_handler@{esw\_vport\_change\_handler}}
\index{esw\_vport\_change\_handler@{esw\_vport\_change\_handler}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_change\_handler()}{esw\_vport\_change\_handler()}}
{\footnotesize\ttfamily static void esw\+\_\+vport\+\_\+change\+\_\+handler (\begin{DoxyParamCaption}\item[{struct work\+\_\+struct $\ast$}]{work }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00090}{arm\+\_\+vport\+\_\+context\+\_\+events\+\_\+cmd()}}, \mbox{\hyperlink{eswitch_8h_source_l00100}{mlx5\+\_\+vport\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00117}{mlx5\+\_\+vport\+::enabled}}, \mbox{\hyperlink{eswitch_8h_source_l00118}{mlx5\+\_\+vport\+::enabled\+\_\+events}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00477}{esw\+\_\+apply\+\_\+vport\+\_\+addr\+\_\+list()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00512}{esw\+\_\+update\+\_\+vport\+\_\+addr\+\_\+list()}}, \mbox{\hyperlink{driver_8h_source_l00622}{mlx5\+\_\+priv\+::eswitch}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00083}{MC\+\_\+\+ADDR\+\_\+\+CHANGE}}, \mbox{\hyperlink{device_8h_source_l00960}{MLX5\+\_\+\+NIC\+\_\+\+VPORT\+\_\+\+LIST\+\_\+\+TYPE\+\_\+\+MC}}, \mbox{\hyperlink{device_8h_source_l00959}{MLX5\+\_\+\+NIC\+\_\+\+VPORT\+\_\+\+LIST\+\_\+\+TYPE\+\_\+\+UC}}, \mbox{\hyperlink{mlx5__vport_8c_source_l00274}{mlx5\+\_\+query\+\_\+nic\+\_\+vport\+\_\+mac\+\_\+address()}}, \mbox{\hyperlink{driver_8h_source_l00681}{mlx5\+\_\+core\+\_\+dev\+::priv}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00082}{UC\+\_\+\+ADDR\+\_\+\+CHANGE}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, \mbox{\hyperlink{eswitch_8h_source_l00104}{mlx5\+\_\+vport\+::vport\+\_\+change\+\_\+handler}}, and \mbox{\hyperlink{en__hw__tls_8h_source_l00013}{work}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l01087}{mlx5\+\_\+eswitch\+\_\+init()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_aaf7df8a88dccd946f5cba17e80854274_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_aaf7df8a88dccd946f5cba17e80854274_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a5077bbc170ca9a3943c268557c0b30c9}\label{mlx5__eswitch_8c_a5077bbc170ca9a3943c268557c0b30c9}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_cleanup\_egress\_rules@{esw\_vport\_cleanup\_egress\_rules}}
\index{esw\_vport\_cleanup\_egress\_rules@{esw\_vport\_cleanup\_egress\_rules}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_cleanup\_egress\_rules()}{esw\_vport\_cleanup\_egress\_rules()}}
{\footnotesize\ttfamily static void esw\+\_\+vport\+\_\+cleanup\+\_\+egress\+\_\+rules (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01883}{mlx5\+\_\+del\+\_\+flow\+\_\+rule()}}, and \mbox{\hyperlink{fs__core_8h_source_l00107}{mlx5\+\_\+flow\+\_\+table\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00697}{esw\+\_\+vport\+\_\+disable\+\_\+egress\+\_\+acl()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00854}{esw\+\_\+vport\+\_\+egress\+\_\+config()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a5077bbc170ca9a3943c268557c0b30c9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a5077bbc170ca9a3943c268557c0b30c9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a028581c1e18808df7720b2d6ce42a385}\label{mlx5__eswitch_8c_a028581c1e18808df7720b2d6ce42a385}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_cleanup\_ingress\_rules@{esw\_vport\_cleanup\_ingress\_rules}}
\index{esw\_vport\_cleanup\_ingress\_rules@{esw\_vport\_cleanup\_ingress\_rules}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_cleanup\_ingress\_rules()}{esw\_vport\_cleanup\_ingress\_rules()}}
{\footnotesize\ttfamily static void esw\+\_\+vport\+\_\+cleanup\+\_\+ingress\+\_\+rules (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00088}{vport\+\_\+ingress\+::drop\+\_\+rule}}, \mbox{\hyperlink{eswitch_8h_source_l00106}{mlx5\+\_\+vport\+::ingress}}, and \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01883}{mlx5\+\_\+del\+\_\+flow\+\_\+rule()}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00783}{esw\+\_\+vport\+\_\+disable\+\_\+ingress\+\_\+acl()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00798}{esw\+\_\+vport\+\_\+ingress\+\_\+config()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a028581c1e18808df7720b2d6ce42a385_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a028581c1e18808df7720b2d6ce42a385_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a6e0dbfd8a262baad9a1060a3ec436db0}\label{mlx5__eswitch_8c_a6e0dbfd8a262baad9a1060a3ec436db0}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_disable\_egress\_acl@{esw\_vport\_disable\_egress\_acl}}
\index{esw\_vport\_disable\_egress\_acl@{esw\_vport\_disable\_egress\_acl}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_disable\_egress\_acl()}{esw\_vport\_disable\_egress\_acl()}}
{\footnotesize\ttfamily static void esw\+\_\+vport\+\_\+disable\+\_\+egress\+\_\+acl (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l00697}{697}} 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_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00684}{esw\+\_\+vport\+\_\+cleanup\+\_\+egress\+\_\+rules()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01135}{mlx5\+\_\+destroy\+\_\+flow\+\_\+group()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}, and \mbox{\hyperlink{fs__core_8h_source_l00107}{mlx5\+\_\+flow\+\_\+table\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00989}{esw\+\_\+disable\+\_\+vport()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6e0dbfd8a262baad9a1060a3ec436db0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6e0dbfd8a262baad9a1060a3ec436db0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a365b3335adc049045fab6332003d0f0c}\label{mlx5__eswitch_8c_a365b3335adc049045fab6332003d0f0c}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_disable\_ingress\_acl@{esw\_vport\_disable\_ingress\_acl}}
\index{esw\_vport\_disable\_ingress\_acl@{esw\_vport\_disable\_ingress\_acl}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_disable\_ingress\_acl()}{esw\_vport\_disable\_ingress\_acl()}}
{\footnotesize\ttfamily static void esw\+\_\+vport\+\_\+disable\+\_\+ingress\+\_\+acl (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00086}{vport\+\_\+ingress\+::acl}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00087}{vport\+\_\+ingress\+::drop\+\_\+grp}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00775}{esw\+\_\+vport\+\_\+cleanup\+\_\+ingress\+\_\+rules()}}, \mbox{\hyperlink{eswitch_8h_source_l00106}{mlx5\+\_\+vport\+::ingress}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01135}{mlx5\+\_\+destroy\+\_\+flow\+\_\+group()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}, and \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00989}{esw\+\_\+disable\+\_\+vport()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a365b3335adc049045fab6332003d0f0c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a365b3335adc049045fab6332003d0f0c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a4874362513a57189fe44a63d45a8a2c9}\label{mlx5__eswitch_8c_a4874362513a57189fe44a63d45a8a2c9}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_egress\_config@{esw\_vport\_egress\_config}}
\index{esw\_vport\_egress\_config@{esw\_vport\_egress\_config}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_egress\_config()}{esw\_vport\_egress\_config()}}
{\footnotesize\ttfamily static int esw\+\_\+vport\+\_\+egress\+\_\+config (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00092}{vport\+\_\+egress\+::acl}}, \mbox{\hyperlink{eswitch_8h_source_l00095}{vport\+\_\+egress\+::allowed\+\_\+vlan}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00096}{vport\+\_\+egress\+::drop\+\_\+rule}}, \mbox{\hyperlink{eswitch_8h_source_l00107}{mlx5\+\_\+vport\+::egress}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00684}{esw\+\_\+vport\+\_\+cleanup\+\_\+egress\+\_\+rules()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01858}{mlx5\+\_\+add\+\_\+flow\+\_\+rule()}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l02232}{MLX5\+\_\+\+FLOW\+\_\+\+CONTEXT\+\_\+\+ACTION\+\_\+\+ALLOW}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l02233}{MLX5\+\_\+\+FLOW\+\_\+\+CONTEXT\+\_\+\+ACTION\+\_\+\+DROP}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l00517}{MLX5\+\_\+\+FLOW\+\_\+\+CONTEXT\+\_\+\+DEST\+\_\+\+TYPE\+\_\+\+VPORT}}, \mbox{\hyperlink{device_8h_source_l00921}{MLX5\+\_\+\+MATCH\+\_\+\+OUTER\+\_\+\+HEADERS}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00082}{MLX5\+\_\+\+SET\+\_\+\+TO\+\_\+\+ONES}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, \mbox{\hyperlink{eswitch_8h_source_l00110}{mlx5\+\_\+vport\+::qos}}, \mbox{\hyperlink{fs_8h_source_l00079}{mlx5\+\_\+flow\+\_\+destination\+::type}}, \mbox{\hyperlink{eswitch_8h_source_l00109}{mlx5\+\_\+vport\+::vlan}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, and \mbox{\hyperlink{fs_8h_source_l00083}{mlx5\+\_\+flow\+\_\+destination\+::vport\+\_\+num}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l01279}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+vlan()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a4874362513a57189fe44a63d45a8a2c9_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a4874362513a57189fe44a63d45a8a2c9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a6c85f6f020f5f3d857c899779613255c}\label{mlx5__eswitch_8c_a6c85f6f020f5f3d857c899779613255c}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_enable\_egress\_acl@{esw\_vport\_enable\_egress\_acl}}
\index{esw\_vport\_enable\_egress\_acl@{esw\_vport\_enable\_egress\_acl}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_enable\_egress\_acl()}{esw\_vport\_enable\_egress\_acl()}}
{\footnotesize\ttfamily static void esw\+\_\+vport\+\_\+enable\+\_\+egress\+\_\+acl (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



Definition at line \mbox{\hyperlink{mlx5__eswitch_8c_source_l00607}{607}} 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_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{device_8h_source_l01082}{MLX5\+\_\+\+CAP\+\_\+\+ESW\+\_\+\+EGRESS\+\_\+\+ACL}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01098}{mlx5\+\_\+create\+\_\+flow\+\_\+group()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00927}{mlx5\+\_\+create\+\_\+vport\+\_\+flow\+\_\+table()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01135}{mlx5\+\_\+destroy\+\_\+flow\+\_\+group()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}, \mbox{\hyperlink{fs_8h_source_l00063}{MLX5\+\_\+\+FLOW\+\_\+\+NAMESPACE\+\_\+\+ESW\+\_\+\+EGRESS}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02376}{mlx5\+\_\+get\+\_\+flow\+\_\+namespace()}}, \mbox{\hyperlink{device_8h_source_l00921}{MLX5\+\_\+\+MATCH\+\_\+\+OUTER\+\_\+\+HEADERS}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00082}{MLX5\+\_\+\+SET\+\_\+\+TO\+\_\+\+ONES}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, \mbox{\hyperlink{driver_8h_source_l00914}{mlx5\+\_\+vzalloc()}}, and \mbox{\hyperlink{fs__core_8h_source_l00107}{mlx5\+\_\+flow\+\_\+table\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6c85f6f020f5f3d857c899779613255c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a6c85f6f020f5f3d857c899779613255c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_adf679704b0cbcbefdffba93f4b47389c}\label{mlx5__eswitch_8c_adf679704b0cbcbefdffba93f4b47389c}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_enable\_ingress\_acl@{esw\_vport\_enable\_ingress\_acl}}
\index{esw\_vport\_enable\_ingress\_acl@{esw\_vport\_enable\_ingress\_acl}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_enable\_ingress\_acl()}{esw\_vport\_enable\_ingress\_acl()}}
{\footnotesize\ttfamily static void esw\+\_\+vport\+\_\+enable\+\_\+ingress\+\_\+acl (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00086}{vport\+\_\+ingress\+::acl}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00087}{vport\+\_\+ingress\+::drop\+\_\+grp}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{eswitch_8h_source_l00106}{mlx5\+\_\+vport\+::ingress}}, \mbox{\hyperlink{device_8h_source_l00070}{MLX5\+\_\+\+ADDR\+\_\+\+OF}}, \mbox{\hyperlink{device_8h_source_l01088}{MLX5\+\_\+\+CAP\+\_\+\+ESW\+\_\+\+INGRESS\+\_\+\+ACL}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01098}{mlx5\+\_\+create\+\_\+flow\+\_\+group()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l00927}{mlx5\+\_\+create\+\_\+vport\+\_\+flow\+\_\+table()}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01000}{mlx5\+\_\+destroy\+\_\+flow\+\_\+table()}}, \mbox{\hyperlink{fs_8h_source_l00064}{MLX5\+\_\+\+FLOW\+\_\+\+NAMESPACE\+\_\+\+ESW\+\_\+\+INGRESS}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l02376}{mlx5\+\_\+get\+\_\+flow\+\_\+namespace()}}, \mbox{\hyperlink{device_8h_source_l00921}{MLX5\+\_\+\+MATCH\+\_\+\+OUTER\+\_\+\+HEADERS}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00082}{MLX5\+\_\+\+SET\+\_\+\+TO\+\_\+\+ONES}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, \mbox{\hyperlink{driver_8h_source_l00914}{mlx5\+\_\+vzalloc()}}, and \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_adf679704b0cbcbefdffba93f4b47389c_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_adf679704b0cbcbefdffba93f4b47389c_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_ab2f015800849c93e4bd6dba14dd3853e}\label{mlx5__eswitch_8c_ab2f015800849c93e4bd6dba14dd3853e}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!esw\_vport\_ingress\_config@{esw\_vport\_ingress\_config}}
\index{esw\_vport\_ingress\_config@{esw\_vport\_ingress\_config}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{esw\_vport\_ingress\_config()}{esw\_vport\_ingress\_config()}}
{\footnotesize\ttfamily static int esw\+\_\+vport\+\_\+ingress\+\_\+config (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__eswitch}{mlx5\+\_\+eswitch}} $\ast$}]{esw,  }\item[{struct \mbox{\hyperlink{structmlx5__vport}{mlx5\+\_\+vport}} $\ast$}]{vport }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{eswitch_8h_source_l00086}{vport\+\_\+ingress\+::acl}}, \mbox{\hyperlink{eswitch_8h_source_l00133}{mlx5\+\_\+eswitch\+::dev}}, \mbox{\hyperlink{eswitch_8h_source_l00088}{vport\+\_\+ingress\+::drop\+\_\+rule}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00775}{esw\+\_\+vport\+\_\+cleanup\+\_\+ingress\+\_\+rules()}}, \mbox{\hyperlink{mlx5__eswitch_8c_source_l00047}{esw\+\_\+warn}}, \mbox{\hyperlink{eswitch_8h_source_l00106}{mlx5\+\_\+vport\+::ingress}}, \mbox{\hyperlink{mlx5__fs__tree_8c_source_l01858}{mlx5\+\_\+add\+\_\+flow\+\_\+rule()}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l02233}{MLX5\+\_\+\+FLOW\+\_\+\+CONTEXT\+\_\+\+ACTION\+\_\+\+DROP}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l00517}{MLX5\+\_\+\+FLOW\+\_\+\+CONTEXT\+\_\+\+DEST\+\_\+\+TYPE\+\_\+\+VPORT}}, \mbox{\hyperlink{device_8h_source_l00921}{MLX5\+\_\+\+MATCH\+\_\+\+OUTER\+\_\+\+HEADERS}}, \mbox{\hyperlink{device_8h_source_l00082}{MLX5\+\_\+\+SET\+\_\+\+TO\+\_\+\+ONES}}, \mbox{\hyperlink{device_8h_source_l00064}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+BYTES}}, \mbox{\hyperlink{eswitch_8h_source_l00110}{mlx5\+\_\+vport\+::qos}}, \mbox{\hyperlink{fs_8h_source_l00079}{mlx5\+\_\+flow\+\_\+destination\+::type}}, \mbox{\hyperlink{eswitch_8h_source_l00109}{mlx5\+\_\+vport\+::vlan}}, \mbox{\hyperlink{eswitch_8h_source_l00101}{mlx5\+\_\+vport\+::vport}}, and \mbox{\hyperlink{fs_8h_source_l00083}{mlx5\+\_\+flow\+\_\+destination\+::vport\+\_\+num}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00930}{esw\+\_\+enable\+\_\+vport()}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l01279}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+vlan()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_ab2f015800849c93e4bd6dba14dd3853e_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_ab2f015800849c93e4bd6dba14dd3853e_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_af4ee0523a44216f602955f10ceda8f23}\label{mlx5__eswitch_8c_af4ee0523a44216f602955f10ceda8f23}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_cleanup@{mlx5\_eswitch\_cleanup}}
\index{mlx5\_eswitch\_cleanup@{mlx5\_eswitch\_cleanup}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_af4ee0523a44216f602955f10ceda8f23_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_af4ee0523a44216f602955f10ceda8f23_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a3f620248bb6a102997a1566b0d34f3b0}\label{mlx5__eswitch_8c_a3f620248bb6a102997a1566b0d34f3b0}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_disable\_sriov@{mlx5\_eswitch\_disable\_sriov}}
\index{mlx5\_eswitch\_disable\_sriov@{mlx5\_eswitch\_disable\_sriov}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_a3f620248bb6a102997a1566b0d34f3b0_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=318pt]{d0/d72/mlx5__eswitch_8c_a3f620248bb6a102997a1566b0d34f3b0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_adae5b7b4f78a67ff26d2a4eac47d92a5}\label{mlx5__eswitch_8c_adae5b7b4f78a67ff26d2a4eac47d92a5}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_enable\_sriov@{mlx5\_eswitch\_enable\_sriov}}
\index{mlx5\_eswitch\_enable\_sriov@{mlx5\_eswitch\_enable\_sriov}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_adae5b7b4f78a67ff26d2a4eac47d92a5_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a000fb3e2465009702019e2b20472e015}\label{mlx5__eswitch_8c_a000fb3e2465009702019e2b20472e015}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_get\_vport\_config@{mlx5\_eswitch\_get\_vport\_config}}
\index{mlx5\_eswitch\_get\_vport\_config@{mlx5\_eswitch\_get\_vport\_config}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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$}]{ivi }\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]{d0/d72/mlx5__eswitch_8c_a000fb3e2465009702019e2b20472e015_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a26f9ac558284dfa0c878db41e813acc3}\label{mlx5__eswitch_8c_a26f9ac558284dfa0c878db41e813acc3}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_init@{mlx5\_eswitch\_init}}
\index{mlx5\_eswitch\_init@{mlx5\_eswitch\_init}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_a26f9ac558284dfa0c878db41e813acc3_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=277pt]{d0/d72/mlx5__eswitch_8c_a26f9ac558284dfa0c878db41e813acc3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a92494f11529c02721cf65de31291a0bb}\label{mlx5__eswitch_8c_a92494f11529c02721cf65de31291a0bb}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_set\_vport\_mac@{mlx5\_eswitch\_set\_vport\_mac}}
\index{mlx5\_eswitch\_set\_vport\_mac@{mlx5\_eswitch\_set\_vport\_mac}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_a92494f11529c02721cf65de31291a0bb_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_ad3ce4a6f6736fa9f1dfbd4c2c494972e}\label{mlx5__eswitch_8c_ad3ce4a6f6736fa9f1dfbd4c2c494972e}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_set\_vport\_state@{mlx5\_eswitch\_set\_vport\_state}}
\index{mlx5\_eswitch\_set\_vport\_state@{mlx5\_eswitch\_set\_vport\_state}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_ad3ce4a6f6736fa9f1dfbd4c2c494972e_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a46e8ec40871eda1abfe6dfb7ff9536d8}\label{mlx5__eswitch_8c_a46e8ec40871eda1abfe6dfb7ff9536d8}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_set\_vport\_vlan@{mlx5\_eswitch\_set\_vport\_vlan}}
\index{mlx5\_eswitch\_set\_vport\_vlan@{mlx5\_eswitch\_set\_vport\_vlan}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_a46e8ec40871eda1abfe6dfb7ff9536d8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_aa8bf34fe99da7cf334618ab1bbc12917}\label{mlx5__eswitch_8c_aa8bf34fe99da7cf334618ab1bbc12917}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!mlx5\_eswitch\_vport\_event@{mlx5\_eswitch\_vport\_event}}
\index{mlx5\_eswitch\_vport\_event@{mlx5\_eswitch\_vport\_event}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\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]{d0/d72/mlx5__eswitch_8c_aa8bf34fe99da7cf334618ab1bbc12917_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a82b6080ebc2f015e5c1633660ef922ce}\label{mlx5__eswitch_8c_a82b6080ebc2f015e5c1633660ef922ce}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!modify\_esw\_vport\_context\_cmd@{modify\_esw\_vport\_context\_cmd}}
\index{modify\_esw\_vport\_context\_cmd@{modify\_esw\_vport\_context\_cmd}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{modify\_esw\_vport\_context\_cmd()}{modify\_esw\_vport\_context\_cmd()}}
{\footnotesize\ttfamily static int modify\+\_\+esw\+\_\+vport\+\_\+context\+\_\+cmd (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{u16}]{vport,  }\item[{void $\ast$}]{in,  }\item[{int}]{inlen }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__cmd_8c_source_l01347}{mlx5\+\_\+cmd\+\_\+exec()}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l00176}{MLX5\+\_\+\+CMD\+\_\+\+OP\+\_\+\+MODIFY\+\_\+\+ESW\+\_\+\+VPORT\+\_\+\+CONTEXT}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, and \mbox{\hyperlink{device_8h_source_l00065}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+DW}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00187}{modify\+\_\+esw\+\_\+vport\+\_\+cvlan()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a82b6080ebc2f015e5c1633660ef922ce_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a82b6080ebc2f015e5c1633660ef922ce_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a3679a4487a0187941b75f91c995170f1}\label{mlx5__eswitch_8c_a3679a4487a0187941b75f91c995170f1}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!modify\_esw\_vport\_cvlan@{modify\_esw\_vport\_cvlan}}
\index{modify\_esw\_vport\_cvlan@{modify\_esw\_vport\_cvlan}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{modify\_esw\_vport\_cvlan()}{modify\_esw\_vport\_cvlan()}}
{\footnotesize\ttfamily static int modify\+\_\+esw\+\_\+vport\+\_\+cvlan (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{u32}]{vport,  }\item[{u16}]{vlan,  }\item[{u8}]{qos,  }\item[{bool}]{set }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{device_8h_source_l01094}{MLX5\+\_\+\+CAP\+\_\+\+ESW}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, \mbox{\hyperlink{device_8h_source_l00065}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+DW}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00172}{modify\+\_\+esw\+\_\+vport\+\_\+context\+\_\+cmd()}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l01279}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+vlan()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a3679a4487a0187941b75f91c995170f1_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a3679a4487a0187941b75f91c995170f1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_afae4c0cef2720917ed5b492d4beb55a3}\label{mlx5__eswitch_8c_afae4c0cef2720917ed5b492d4beb55a3}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!node\_guid\_gen\_from\_mac@{node\_guid\_gen\_from\_mac}}
\index{node\_guid\_gen\_from\_mac@{node\_guid\_gen\_from\_mac}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{node\_guid\_gen\_from\_mac()}{node\_guid\_gen\_from\_mac()}}
{\footnotesize\ttfamily static void node\+\_\+guid\+\_\+gen\+\_\+from\+\_\+mac (\begin{DoxyParamCaption}\item[{u64 $\ast$}]{node\+\_\+guid,  }\item[{u8}]{mac\mbox{[}\+ETH\+\_\+\+ALEN\mbox{]} }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l01209}{mlx5\+\_\+eswitch\+\_\+set\+\_\+vport\+\_\+mac()}}.

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_afae4c0cef2720917ed5b492d4beb55a3_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_a7f32a6e99165c2d8eae6c10ac9340be8}\label{mlx5__eswitch_8c_a7f32a6e99165c2d8eae6c10ac9340be8}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!query\_esw\_vport\_context\_cmd@{query\_esw\_vport\_context\_cmd}}
\index{query\_esw\_vport\_context\_cmd@{query\_esw\_vport\_context\_cmd}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{query\_esw\_vport\_context\_cmd()}{query\_esw\_vport\_context\_cmd()}}
{\footnotesize\ttfamily static int query\+\_\+esw\+\_\+vport\+\_\+context\+\_\+cmd (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{mdev,  }\item[{u32}]{vport,  }\item[{u32 $\ast$}]{out,  }\item[{int}]{outlen }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__cmd_8c_source_l01347}{mlx5\+\_\+cmd\+\_\+exec()}}, \mbox{\hyperlink{mlx5__ifc_8h_source_l00175}{MLX5\+\_\+\+CMD\+\_\+\+OP\+\_\+\+QUERY\+\_\+\+ESW\+\_\+\+VPORT\+\_\+\+CONTEXT}}, \mbox{\hyperlink{device_8h_source_l00073}{MLX5\+\_\+\+SET}}, and \mbox{\hyperlink{device_8h_source_l00065}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+DW}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l00134}{query\+\_\+esw\+\_\+vport\+\_\+cvlan()}}.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a7f32a6e99165c2d8eae6c10ac9340be8_cgraph}
\end{center}
\end{figure}
Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d0/d72/mlx5__eswitch_8c_a7f32a6e99165c2d8eae6c10ac9340be8_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{mlx5__eswitch_8c_afd876b6f57db6f9fcdb406893f44ddd3}\label{mlx5__eswitch_8c_afd876b6f57db6f9fcdb406893f44ddd3}} 
\index{mlx5\_eswitch.c@{mlx5\_eswitch.c}!query\_esw\_vport\_cvlan@{query\_esw\_vport\_cvlan}}
\index{query\_esw\_vport\_cvlan@{query\_esw\_vport\_cvlan}!mlx5\_eswitch.c@{mlx5\_eswitch.c}}
\doxysubsubsection{\texorpdfstring{query\_esw\_vport\_cvlan()}{query\_esw\_vport\_cvlan()}}
{\footnotesize\ttfamily static int query\+\_\+esw\+\_\+vport\+\_\+cvlan (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{structmlx5__core__dev}{mlx5\+\_\+core\+\_\+dev}} $\ast$}]{dev,  }\item[{u32}]{vport,  }\item[{u16 $\ast$}]{vlan,  }\item[{u8 $\ast$}]{qos }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [static]}}



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



References \mbox{\hyperlink{mlx5__eswitch_8c_source_l00050}{esw\+\_\+debug}}, \mbox{\hyperlink{device_8h_source_l01094}{MLX5\+\_\+\+CAP\+\_\+\+ESW}}, \mbox{\hyperlink{device_8h_source_l00091}{MLX5\+\_\+\+GET}}, \mbox{\hyperlink{device_8h_source_l00065}{MLX5\+\_\+\+ST\+\_\+\+SZ\+\_\+\+DW}}, and \mbox{\hyperlink{mlx5__eswitch_8c_source_l00119}{query\+\_\+esw\+\_\+vport\+\_\+context\+\_\+cmd()}}.



Referenced by \mbox{\hyperlink{mlx5__eswitch_8c_source_l01253}{mlx5\+\_\+eswitch\+\_\+get\+\_\+vport\+\_\+config()}}.

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