1c1191a19SLeon Romanovsky /* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ 2fc385b7aSMark Bloch /* 3fc385b7aSMark Bloch * Copyright (c) 2018 Mellanox Technologies. All rights reserved. 4fc385b7aSMark Bloch */ 5fc385b7aSMark Bloch 6fc385b7aSMark Bloch #ifndef __MLX5_IB_REP_H__ 7fc385b7aSMark Bloch #define __MLX5_IB_REP_H__ 8fc385b7aSMark Bloch 9fc385b7aSMark Bloch #include <linux/mlx5/eswitch.h> 10fc385b7aSMark Bloch #include "mlx5_ib.h" 11fc385b7aSMark Bloch 12b5a498baSMichael Guralnik extern const struct mlx5_ib_profile raw_eth_profile; 13f0666f1fSBodong Wang 148d93efb8SMark Bloch #ifdef CONFIG_MLX5_ESWITCH 1593f82444SLeon Romanovsky int mlx5r_rep_init(void); 1693f82444SLeon Romanovsky void mlx5r_rep_cleanup(void); 17d5ed8ac3SMark Bloch struct mlx5_flow_handle *create_flow_rule_vport_sq(struct mlx5_ib_dev *dev, 18d5ed8ac3SMark Bloch struct mlx5_ib_sq *sq, 19*1fb7f897SMark Bloch u32 port); 20bcf87f1dSMark Bloch struct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, 2102f3afd9SParav Pandit u16 vport_num); 22fc385b7aSMark Bloch #else /* CONFIG_MLX5_ESWITCH */ mlx5r_rep_init(void)2393f82444SLeon Romanovskystatic inline int mlx5r_rep_init(void) { return 0; } mlx5r_rep_cleanup(void)2493f82444SLeon Romanovskystatic inline void mlx5r_rep_cleanup(void) {} 25d5ed8ac3SMark Bloch static inline create_flow_rule_vport_sq(struct mlx5_ib_dev * dev,struct mlx5_ib_sq * sq,u32 port)26d5ed8ac3SMark Blochstruct mlx5_flow_handle *create_flow_rule_vport_sq(struct mlx5_ib_dev *dev, 27d5ed8ac3SMark Bloch struct mlx5_ib_sq *sq, 28*1fb7f897SMark Bloch u32 port) 29b96c9ddeSMark Bloch { 30d5ed8ac3SMark Bloch return NULL; 31b96c9ddeSMark Bloch } 32b96c9ddeSMark Bloch 33bcf87f1dSMark Bloch static inline mlx5_ib_get_rep_netdev(struct mlx5_eswitch * esw,u16 vport_num)34bcf87f1dSMark Blochstruct net_device *mlx5_ib_get_rep_netdev(struct mlx5_eswitch *esw, 3502f3afd9SParav Pandit u16 vport_num) 36bcf87f1dSMark Bloch { 37bcf87f1dSMark Bloch return NULL; 38bcf87f1dSMark Bloch } 39fc385b7aSMark Bloch #endif 40fc385b7aSMark Bloch #endif /* __MLX5_IB_REP_H__ */ 41