#include <linux/hash.h>
#include "ipoib.h"
#define MLX5I_MAX_LOG_PKEY_SUP …
struct qpn_to_netdev { … };
struct mlx5i_pkey_qpn_ht { … };
int mlx5i_pkey_qpn_ht_init(struct net_device *netdev)
{ … }
void mlx5i_pkey_qpn_ht_cleanup(struct net_device *netdev)
{ … }
static struct qpn_to_netdev *mlx5i_find_qpn_to_netdev_node(struct hlist_head *buckets,
u32 qpn)
{ … }
int mlx5i_pkey_add_qpn(struct net_device *netdev, u32 qpn)
{ … }
int mlx5i_pkey_del_qpn(struct net_device *netdev, u32 qpn)
{ … }
struct net_device *mlx5i_pkey_get_netdev(struct net_device *netdev, u32 qpn)
{ … }
static int mlx5i_pkey_open(struct net_device *netdev);
static int mlx5i_pkey_close(struct net_device *netdev);
static int mlx5i_pkey_dev_init(struct net_device *dev);
static void mlx5i_pkey_dev_cleanup(struct net_device *netdev);
static int mlx5i_pkey_change_mtu(struct net_device *netdev, int new_mtu);
static int mlx5i_pkey_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
static const struct net_device_ops mlx5i_pkey_netdev_ops = …;
static int mlx5i_pkey_dev_init(struct net_device *dev)
{ … }
static int mlx5i_pkey_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
{ … }
static void mlx5i_pkey_dev_cleanup(struct net_device *netdev)
{ … }
static int mlx5i_pkey_open(struct net_device *netdev)
{ … }
static int mlx5i_pkey_close(struct net_device *netdev)
{ … }
static int mlx5i_pkey_change_mtu(struct net_device *netdev, int new_mtu)
{ … }
static int mlx5i_pkey_init(struct mlx5_core_dev *mdev,
struct net_device *netdev)
{ … }
static void mlx5i_pkey_cleanup(struct mlx5e_priv *priv)
{ … }
static int mlx5i_pkey_init_tx(struct mlx5e_priv *priv)
{ … }
static void mlx5i_pkey_cleanup_tx(struct mlx5e_priv *priv)
{ … }
static int mlx5i_pkey_init_rx(struct mlx5e_priv *priv)
{ … }
static void mlx5i_pkey_cleanup_rx(struct mlx5e_priv *priv)
{ … }
static const struct mlx5e_profile mlx5i_pkey_nic_profile = …;
const struct mlx5e_profile *mlx5i_pkey_get_profile(void)
{ … }