linux/drivers/net/ethernet/mellanox/mlx5/core/lag/mp.c

// SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB
/* Copyright (c) 2019 Mellanox Technologies. */

#include <linux/netdevice.h>
#include <net/nexthop.h>
#include "lag/lag.h"
#include "lag/mp.h"
#include "mlx5_core.h"
#include "eswitch.h"
#include "lib/events.h"

static bool __mlx5_lag_is_multipath(struct mlx5_lag *ldev)
{}

#define MLX5_LAG_MULTIPATH_OFFLOADS_SUPPORTED_PORTS
static bool mlx5_lag_multipath_check_prereq(struct mlx5_lag *ldev)
{}

bool mlx5_lag_is_multipath(struct mlx5_core_dev *dev)
{}

/**
 * mlx5_lag_set_port_affinity
 *
 * @ldev: lag device
 * @port:
 *     0 - set normal affinity.
 *     1 - set affinity to port 1.
 *     2 - set affinity to port 2.
 *
 **/
static void mlx5_lag_set_port_affinity(struct mlx5_lag *ldev,
				       enum mlx5_lag_port_affinity port)
{}

static void mlx5_lag_fib_event_flush(struct notifier_block *nb)
{}

static void mlx5_lag_fib_set(struct lag_mp *mp, struct fib_info *fi, u32 dst, int dst_len)
{}

struct mlx5_fib_event_work {};

static struct net_device*
mlx5_lag_get_next_fib_dev(struct mlx5_lag *ldev,
			  struct fib_info *fi,
			  struct net_device *current_dev)
{}

static void mlx5_lag_fib_route_event(struct mlx5_lag *ldev, unsigned long event,
				     struct fib_entry_notifier_info *fen_info)
{}

static void mlx5_lag_fib_nexthop_event(struct mlx5_lag *ldev,
				       unsigned long event,
				       struct fib_nh *fib_nh,
				       struct fib_info *fi)
{}

static void mlx5_lag_fib_update(struct work_struct *work)
{}

static struct mlx5_fib_event_work *
mlx5_lag_init_fib_work(struct mlx5_lag *ldev, unsigned long event)
{}

static int mlx5_lag_fib_event(struct notifier_block *nb,
			      unsigned long event,
			      void *ptr)
{}

void mlx5_lag_mp_reset(struct mlx5_lag *ldev)
{}

int mlx5_lag_mp_init(struct mlx5_lag *ldev)
{}

void mlx5_lag_mp_cleanup(struct mlx5_lag *ldev)
{}