#include <linux/netdevice.h>
#include <linux/list.h>
#include <net/lag.h>
#include "mlx5_core.h"
#include "eswitch.h"
#include "esw/acl/ofld.h"
#include "en_rep.h"
struct mlx5e_rep_bond { … };
struct mlx5e_rep_bond_slave_entry { … };
struct mlx5e_rep_bond_metadata { … };
static struct mlx5e_rep_bond_metadata *
mlx5e_lookup_rep_bond_metadata(struct mlx5_rep_uplink_priv *uplink_priv,
const struct net_device *lag_dev)
{ … }
static struct mlx5e_rep_bond_slave_entry *
mlx5e_lookup_rep_bond_slave_entry(struct mlx5e_rep_bond_metadata *mdata,
const struct net_device *netdev)
{ … }
static void mlx5e_rep_bond_metadata_release(struct mlx5e_rep_bond_metadata *mdata)
{ … }
int mlx5e_rep_bond_enslave(struct mlx5_eswitch *esw, struct net_device *netdev,
struct net_device *lag_dev)
{ … }
void mlx5e_rep_bond_unslave(struct mlx5_eswitch *esw,
const struct net_device *netdev,
const struct net_device *lag_dev)
{ … }
static bool mlx5e_rep_is_lag_netdev(struct net_device *netdev)
{ … }
static void mlx5e_rep_changelowerstate_event(struct net_device *netdev, void *ptr)
{ … }
static void mlx5e_rep_changeupper_event(struct net_device *netdev, void *ptr)
{ … }
static int mlx5e_rep_esw_bond_netevent(struct notifier_block *nb,
unsigned long event, void *ptr)
{ … }
int mlx5e_rep_bond_init(struct mlx5e_rep_priv *rpriv)
{ … }
void mlx5e_rep_bond_cleanup(struct mlx5e_rep_priv *rpriv)
{ … }