-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'mlx5-updates-2022-08-22' of git://git.kernel.org/pub/scm/l…
…inux/kernel/git/saeed/linux mlx5-updates-2022-08-22 Roi Dayan Says: =============== Add support for SF tunnel offload Mlx5 driver only supports VF tunnel offload. To add support for SF tunnel offload the driver needs to: 1. Add send-to-vport metadata matching rules like done for VFs. 2. Set an indirect table for SF vport, same as VF vport. info smaller sub functions for better maintainability. rules from esw init phase to representor load phase. SFs could be created after esw initialized and thus the send-to-vport meta rules would not be created for those SFs. By moving the creation of the rules to representor load phase we ensure creating the rules also for SFs created later. =============== Lama Kayal Says: ================ Make flow steering API loosely coupled from mlx5e_priv, in a manner to introduce more readable and maintainable modules. Make TC's private, let mlx5e_flow_steering struct be dynamically allocated, and introduce its API to maintain the code via setters and getters instead of publicly exposing it. Introduce flow steering debug macros to provide an elegant finish to the decoupled flow steering API, where errors related to flow steering shall be reported via them. All flow steering related files will drop any coupling to mlx5e_priv, instead they will get the relevant members as input. Among these, fs_tt_redirect, fs_tc, and arfs. ================
- Loading branch information
Showing
29 changed files
with
1,246 additions
and
765 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 OR Linux-OpenIB */ | ||
/* Copyright (c) 2022, NVIDIA CORPORATION & AFFILIATES. */ | ||
|
||
#ifndef __MLX5E_FS_ETHTOOL_H__ | ||
#define __MLX5E_FS_ETHTOOL_H__ | ||
|
||
struct mlx5e_priv; | ||
struct mlx5e_ethtool_steering; | ||
#ifdef CONFIG_MLX5_EN_RXNFC | ||
int mlx5e_ethtool_alloc(struct mlx5e_ethtool_steering **ethtool); | ||
void mlx5e_ethtool_free(struct mlx5e_ethtool_steering *ethtool); | ||
void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs); | ||
void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs); | ||
int mlx5e_ethtool_set_rxnfc(struct mlx5e_priv *priv, struct ethtool_rxnfc *cmd); | ||
int mlx5e_ethtool_get_rxnfc(struct mlx5e_priv *priv, | ||
struct ethtool_rxnfc *info, u32 *rule_locs); | ||
#else | ||
static inline int mlx5e_ethtool_alloc(struct mlx5e_ethtool_steering **ethtool) | ||
{ return 0; } | ||
static inline void mlx5e_ethtool_free(struct mlx5e_ethtool_steering *ethtool) { } | ||
static inline void mlx5e_ethtool_init_steering(struct mlx5e_flow_steering *fs) { } | ||
static inline void mlx5e_ethtool_cleanup_steering(struct mlx5e_flow_steering *fs) { } | ||
static inline int mlx5e_ethtool_set_rxnfc(struct mlx5e_priv *priv, struct ethtool_rxnfc *cmd) | ||
{ return -EOPNOTSUPP; } | ||
static inline int mlx5e_ethtool_get_rxnfc(struct mlx5e_priv *priv, | ||
struct ethtool_rxnfc *info, u32 *rule_locs) | ||
{ return -EOPNOTSUPP; } | ||
#endif | ||
#endif |
Oops, something went wrong.