diff options
author | Michal Wilczynski <michal.wilczynski@intel.com> | 2022-11-15 11:48:23 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-11-17 21:41:28 -0800 |
commit | 80fe30a8c1f4d2177e1d25922cc6a8c439198103 (patch) | |
tree | 10c5b0ea6dbedf109deb0698822fff17b0159173 /drivers/net/ethernet/intel/ice/ice_repr.c | |
parent | 42c2eb6b1f43b1f5ac06b1a4dcae5fcb036b5b20 (diff) | |
download | linux-stable-80fe30a8c1f4d2177e1d25922cc6a8c439198103.tar.gz linux-stable-80fe30a8c1f4d2177e1d25922cc6a8c439198103.tar.bz2 linux-stable-80fe30a8c1f4d2177e1d25922cc6a8c439198103.zip |
ice: Prevent ADQ, DCB coexistence with Custom Tx scheduler
ADQ, DCB might interfere with Custom Tx Scheduler changes that user
might introduce using devlink-rate API.
Check if ADQ, DCB is active, when user tries to change any setting
in exported Tx scheduler tree. If any of those are active block the user
from doing so, and log an appropriate message.
Remove the exported hierarchy if user enable ADQ or DCB.
Prevent ADQ or DCB from getting configured if user already made some
changes using devlink-rate API.
Signed-off-by: Michal Wilczynski <michal.wilczynski@intel.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/intel/ice/ice_repr.c')
-rw-r--r-- | drivers/net/ethernet/intel/ice/ice_repr.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/net/ethernet/intel/ice/ice_repr.c b/drivers/net/ethernet/intel/ice/ice_repr.c index 46f58d48318c..109761c8c858 100644 --- a/drivers/net/ethernet/intel/ice/ice_repr.c +++ b/drivers/net/ethernet/intel/ice/ice_repr.c @@ -6,6 +6,7 @@ #include "ice_devlink.h" #include "ice_sriov.h" #include "ice_tc_lib.h" +#include "ice_dcb_lib.h" /** * ice_repr_get_sw_port_id - get port ID associated with representor @@ -426,6 +427,10 @@ int ice_repr_add_for_all_vfs(struct ice_pf *pf) goto err; } + /* only export if ADQ and DCB disabled */ + if (ice_is_adq_active(pf) || ice_is_dcb_active(pf)) + return 0; + devlink = priv_to_devlink(pf); ice_devlink_rate_init_tx_topology(devlink, ice_get_main_vsi(pf)); |