* [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate
@ 2026-04-03 5:40 Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 1/10] ice: fix mirroring to VSI list Aleksandr Loktionov
` (9 more replies)
0 siblings, 10 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov; +Cc: netdev
Good day,
Ten stand-alone bug fixes for the ice driver, all targeting functional
regressions or silent failures that affect connectivity.
Service task / unload races:
- A scheduled service-task work item could fire after ice_remove()
started, racing against freed per-PF state. Check ICE_SHUTTING_DOWN
at the top of the task body to close the window.
- The DPLL input-pin callback accepted DPLL_PIN_STATE_CONNECTED and
silently converted it to DISCONNECTED instead of returning an error.
Mirror / switch:
- Mirror rules whose action is "to VSI list" had VSI count never set
to 1, breaking subsequent deletions when a VSI list was involved.
DCB / LLDP:
- Two missing `need_reconfig = true` assignments caused FW updates to
be silently skipped when a DCB change only touched the TC bandwidth
or TSA tables.
- ice_set_dflt_mib() sent the initial default MIB to firmware with
the ETS willing bit clear, preventing LLDP negotiation with a peer
when the FW LLDP agent is active.
ethtool / link modes:
- 10000baseCR_Full was absent from ice_adv_lnk_speed_10000[], causing
an ethtool autoneg advertisement of this mode to be silently ignored
(user gets "nothing changed" even on capable hardware).
- ice_set_link_ksettings() derived the Autoneg-capable flag only from
ice_phy_type_to_ethtool(); PHYs that report autoneg solely through
PHY capabilities were missed. Pull the flag from
ice_is_phy_caps_an_enabled() to fix this.
Fixes: 5cd349c349d6 ("ice: report supported and advertised autoneg using PHY capabilities")
- 50G single-lane modes (50000baseCR/KR/SR/LR_ER_FR_Full) were absent
from ice_adv_lnk_speed_50000[], so those link modes were silently
rejected by ethtool.
Fixes: 982b0192db45 ("ice: Refactor finding advertised link speed")
TC flower / switch:
- ice_find_dummy_packet() chose the UDP inner template for rules that
match ICE_IPV4_IL with ip_proto==TCP but no explicit L4 field,
causing tc-flower rule installs to fail.
Fixes: e33163a40d1a ("ice: switch: convert packet template match code to rodata")
SR-IOV / VF:
- ice_set_vf_bw() refused any min_tx_rate value when total guaranteed
bandwidth was already oversubscribed, making it impossible to clear
the rate via "ip link set <pf> vf <id> min_tx_rate 0". Allow a
zero to bypass the oversubscription check so users can recover.
With the best regards,
Alex
---
Michal Swiatkowski (2):
ice: fix mirroring to VSI list
ice: select inner TCP dummy packet when matching on ip_proto TCP without explicit L4 field
Dave Ertman (2):
ice: update FW on all DCB changes
ice: disallow service task to run while driver is unloading
Arkadiusz Kubalewski (1):
ice: error out on CONNECTED state for input pin
Voon Weifeng (1):
ice: add 10000baseCR_Full to advertised link speed map
Jan Glaza (1):
ice: check PHY autoneg capability before rejecting ethtool autoneg setting
Grzegorz Nitka (1):
ice: fix missing 50G single-lane ethtool link speed mappings
Yochai Hagvi (1):
ice: set ETS TLV willing bit in default MIB sent to firmware
Sudheer Mogilappagari (1):
ice: allow setting min_tx_rate to 0 to resolve VF bandwidth oversubscription
drivers/net/ethernet/intel/ice/ice_dcb.h | 2 +
drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 6 ++-
drivers/net/ethernet/intel/ice/ice_dcb_nl.c | 0
drivers/net/ethernet/intel/ice/ice_dpll.c | 2 ++
drivers/net/ethernet/intel/ice/ice_ethtool.c | 29 +++++++++--
drivers/net/ethernet/intel/ice/ice_main.c | 2 +
drivers/net/ethernet/intel/ice/ice_sriov.c | 8 +++
drivers/net/ethernet/intel/ice/ice_switch.c | 8 ++-
8 files changed, 52 insertions(+), 5 deletions(-)
^ permalink raw reply [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 1/10] ice: fix mirroring to VSI list
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 2/10] ice: update FW on all DCB changes Aleksandr Loktionov
` (8 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov
Cc: netdev, Michal Swiatkowski
From: Michal Swiatkowski <michal.swiatkowski@intel.com>
Rules whose action can be "to VSI list" should have VSI count set to 1
after creation. There was a lack of it in case of mirroring action. Fix
it by setting correct VSI count also for mirror rules.
Reproduction:
tc filter add dev eth5 ingress protocol arp prio 6301 flower skip_sw \
dst_mac ff:ff:ff:ff:ff:ff action mirred egress mirror dev eth9
tc filter add dev eth5 ingress protocol arp prio 6201 flower skip_sw \
dst_mac ff:ff:ff:ff:ff:ff action mirred egress mirror dev eth10
tc filter del dev eth5 prio 6301 ingress
The last command removes the rule, but should only remove one VSI from
the forward list. Without the fix:
tc filter del dev eth5 prio 6201 ingress
results in an error during removing the rule.
Fixes: aa4967d8529c ("ice: Add support for packet mirroring using hardware in switchdev mode")
Cc: stable@vger.kernel.org
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_switch.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c
index a3e93b1..d77c188 100644
--- a/drivers/net/ethernet/intel/ice/ice_switch.c
+++ b/drivers/net/ethernet/intel/ice/ice_switch.c
@@ -7318,7 +7318,8 @@ ice_add_adv_rule(struct ice_hw *hw, struct ice_adv_lkup_elem *lkups,
sw->recp_list[rid].adv_rule = true;
rule_head = &sw->recp_list[rid].filt_rules;
- if (rinfo->sw_act.fltr_act == ICE_FWD_TO_VSI)
+ if (rinfo->sw_act.fltr_act == ICE_FWD_TO_VSI ||
+ rinfo->sw_act.fltr_act == ICE_MIRROR_PACKET)
adv_fltr->vsi_count = 1;
/* Add rule entry to book keeping list */
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 2/10] ice: update FW on all DCB changes
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 1/10] ice: fix mirroring to VSI list Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 3/10] ice: disallow service task to run while driver is unloading Aleksandr Loktionov
` (7 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov
Cc: netdev, Dave Ertman
From: Dave Ertman <david.m.ertman@intel.com>
Currently, in SW DCB mode, if a new DCB configuration comes in that
only changes the TCBW table or the TSA table, the driver does not treat
that as enough of a change to reconfigure the FW settings.
Change the check for reconfiguration needed to include these singular
changes as significant.
Fixes: a17a5ff6812c ("ice: Refactor the LLDP MIB change event handling")
Cc: stable@vger.kernel.org
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_dcb_lib.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c b/drivers/net/ethernet/intel/ice/ice_dcb_lib.c
index 0b194c8..43978d8 100644
--- a/drivers/net/ethernet/intel/ice/ice_dcb_lib.c
+++ b/drivers/net/ethernet/intel/ice/ice_dcb_lib.c
@@ -481,13 +481,17 @@ ice_dcb_need_recfg(struct ice_pf *pf, struct ice_dcbx_cfg *old_cfg,
if (memcmp(&new_cfg->etscfg.tcbwtable,
&old_cfg->etscfg.tcbwtable,
- sizeof(new_cfg->etscfg.tcbwtable)))
+ sizeof(new_cfg->etscfg.tcbwtable))) {
+ need_reconfig = true;
dev_dbg(dev, "ETS TC BW Table changed.\n");
+ }
if (memcmp(&new_cfg->etscfg.tsatable,
&old_cfg->etscfg.tsatable,
- sizeof(new_cfg->etscfg.tsatable)))
+ sizeof(new_cfg->etscfg.tsatable))) {
+ need_reconfig = true;
dev_dbg(dev, "ETS TSA Table changed.\n");
+ }
}
/* Check if PFC configuration has changed */
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 3/10] ice: disallow service task to run while driver is unloading
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 1/10] ice: fix mirroring to VSI list Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 2/10] ice: update FW on all DCB changes Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 4/10] ice: error out on CONNECTED state for input pin Aleksandr Loktionov
` (6 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov
Cc: netdev, Dave Ertman
From: Dave Ertman <david.m.ertman@intel.com>
When the driver has entered the unload path (specifically ice_remove())
the service task should not be running. If a tick of the service task
has already been scheduled, it needs to be intercepted.
Add a check in the service task for the ICE_SHUTTING_DOWN bit.
Fixes: 9162a897d234 ("ice: stop DCBNL requests during driver unload")
Cc: stable@vger.kernel.org
Signed-off-by: Dave Ertman <david.m.ertman@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index b5adb13..60b2558 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -3056,6 +3056,7 @@ static void ice_service_task(struct work_struct *work)
/* bail if a reset/recovery cycle is pending or rebuild failed */
if (ice_is_reset_in_progress(pf->state) ||
test_bit(ICE_SUSPENDED, pf->state) ||
+ test_bit(ICE_SHUTTING_DOWN, pf->state) ||
test_bit(ICE_NEEDS_RESTART, pf->state)) {
ice_service_task_complete(pf);
return;
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 4/10] ice: error out on CONNECTED state for input pin
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
` (2 preceding siblings ...)
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 3/10] ice: disallow service task to run while driver is unloading Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 5/10] ice: add 10000baseCR_Full to advertised link speed map Aleksandr Loktionov
` (5 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov
Cc: netdev, Arkadiusz Kubalewski
From: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
DPLL's directly connected input pins must not allow the user to use the
CONNECTED state. DPLL_MODE_AUTOMATIC only allows SELECTABLE/DISCONNECTED
states. The current implementation silently treats CONNECTED as
DISCONNECTED instead of rejecting it.
Return -EINVAL if the user tries to set DPLL_PIN_STATE_CONNECTED on an
input pin.
Fixes: d7999f5ea64b ("ice: implement dpll interface to control cgu")
Cc: stable@vger.kernel.org
Signed-off-by: Arkadiusz Kubalewski <arkadiusz.kubalewski@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_dpll.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/ethernet/intel/ice/ice_dpll.c b/drivers/net/ethernet/intel/ice/ice_dpll.c
index 397d16c..6a1465f 100644
--- a/drivers/net/ethernet/intel/ice/ice_dpll.c
+++ b/drivers/net/ethernet/intel/ice/ice_dpll.c
@@ -904,6 +904,8 @@ ice_dpll_input_state_set(const struct dpll_pin *pin, void *pin_priv,
{
bool enable = state == DPLL_PIN_STATE_SELECTABLE;
+ if (state == DPLL_PIN_STATE_CONNECTED)
+ return -EINVAL;
return ice_dpll_pin_state_set(pin, pin_priv, dpll, dpll_priv, enable,
extack, ICE_DPLL_PIN_TYPE_INPUT);
}
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 5/10] ice: add 10000baseCR_Full to advertised link speed map
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
` (3 preceding siblings ...)
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 4/10] ice: error out on CONNECTED state for input pin Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 6/10] ice: check PHY autoneg capability before rejecting ethtool autoneg setting Aleksandr Loktionov
` (4 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov
Cc: netdev, Voon Weifeng
When a user attempts to set autoneg advertised link speed to
10000baseCR/Full via ethtool, the request is silently ignored
because 10000baseCR_Full is not in ice_adv_lnk_speed_10000[].
Add the missing bit so that the mode is recognised and the
driver correctly programs the PHY.
Fixes: 982b0192db45 ("ice: Refactor finding advertised link speed")
Cc: stable@vger.kernel.org
Signed-off-by: Voon Weifeng <weifeng.voon@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_ethtool.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index 301947d..49b9376 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -367,6 +367,7 @@ static const u32 ice_adv_lnk_speed_5000[] __initconst = {
static const u32 ice_adv_lnk_speed_10000[] __initconst = {
ETHTOOL_LINK_MODE_10000baseT_Full_BIT,
ETHTOOL_LINK_MODE_10000baseKR_Full_BIT,
+ ETHTOOL_LINK_MODE_10000baseCR_Full_BIT,
ETHTOOL_LINK_MODE_10000baseSR_Full_BIT,
ETHTOOL_LINK_MODE_10000baseLR_Full_BIT,
};
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 6/10] ice: check PHY autoneg capability before rejecting ethtool autoneg setting
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
` (4 preceding siblings ...)
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 5/10] ice: add 10000baseCR_Full to advertised link speed map Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-10 18:58 ` Tony Nguyen
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 7/10] ice: fix missing 50G single-lane ethtool link speed mappings Aleksandr Loktionov
` (3 subsequent siblings)
9 siblings, 1 reply; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov; +Cc: netdev, Jan Glaza
ice_set_link_ksettings() rejects autoneg requests by comparing
user settings against safe_ks which is populated by
ice_phy_type_to_ethtool(). The Autoneg bit in safe_ks is set
only if the current PHY configuration reports it supported,
but this misses PHYs that support autoneg and have it available
through PHY capabilities. Pull the autoneg flag from the actual
PHY capabilities (already fetched earlier in the function) to
ensure the user can toggle autoneg on any capable PHY.
Fixes: 5cd349c349d6 ("ice: report supported and advertised autoneg using PHY capabilities")
Cc: stable@vger.kernel.org
Signed-off-by: Jan Glaza <jan.glaza@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_ethtool.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index 49b9376..44483bc 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -2654,6 +2654,14 @@ ice_set_link_ksettings(struct net_device *netdev,
/* Get link modes supported by hardware.*/
ice_phy_type_to_ethtool(netdev, &safe_ks);
+ /* Pull the value of autoneg from phy caps to ensure we allow
+ * toggling it on all PHYs that support it.
+ */
+ if (ice_is_phy_caps_an_enabled(phy_caps)) {
+ ethtool_link_ksettings_add_link_mode(&safe_ks, supported, Autoneg);
+ set_bit(ETHTOOL_LINK_MODE_FEC_NONE_BIT, safe_ks.link_modes.supported);
+ }
+
/* and check against modes requested by user.
* Return an error if unsupported mode was set.
*/
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 7/10] ice: fix missing 50G single-lane ethtool link speed mappings
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
` (5 preceding siblings ...)
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 6/10] ice: check PHY autoneg capability before rejecting ethtool autoneg setting Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 8/10] ice: set ETS TLV willing bit in default MIB sent to firmware Aleksandr Loktionov
` (2 subsequent siblings)
9 siblings, 0 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov; +Cc: netdev
The ice_adv_lnk_speed_50000[] map is missing the single-lane
50G modes: 50000baseCR_Full, 50000baseKR_Full, 50000baseSR_Full,
and 50000baseLR_ER_FR_Full. When a user tries to advertise one
of these modes the driver prints "Nothing changed, exiting
without setting anything." even on hardware that supports them.
Add the missing entries to fix the mapping.
Fixes: 982b0192db45 ("ice: Refactor finding advertised link speed")
Cc: stable@vger.kernel.org
Signed-off-by: Grzegorz Nitka <grzegorz.nitka@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_ethtool.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
index 44483bc..0279cc5 100644
--- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
+++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
@@ -389,6 +389,10 @@ static const u32 ice_adv_lnk_speed_50000[] __initconst = {
ETHTOOL_LINK_MODE_50000baseCR2_Full_BIT,
ETHTOOL_LINK_MODE_50000baseKR2_Full_BIT,
ETHTOOL_LINK_MODE_50000baseSR2_Full_BIT,
+ ETHTOOL_LINK_MODE_50000baseCR_Full_BIT,
+ ETHTOOL_LINK_MODE_50000baseKR_Full_BIT,
+ ETHTOOL_LINK_MODE_50000baseSR_Full_BIT,
+ ETHTOOL_LINK_MODE_50000baseLR_ER_FR_Full_BIT,
};
static const u32 ice_adv_lnk_speed_100000[] __initconst = {
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 8/10] ice: set ETS TLV willing bit in default MIB sent to firmware
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
` (6 preceding siblings ...)
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 7/10] ice: fix missing 50G single-lane ethtool link speed mappings Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-06 20:22 ` Ertman, David M
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 9/10] ice: select inner TCP dummy packet when matching on ip_proto TCP without explicit L4 field Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 10/10] ice: allow setting min_tx_rate to 0 to resolve VF bandwidth oversubscription Aleksandr Loktionov
9 siblings, 1 reply; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov
Cc: netdev, Yochai Hagvi
When the FW LLDP agent is active the driver sends an initial
DCB configuration via set_local_mib. Currently the ETS TLV
willing bit is clear, which prevents LLDP negotiation and
renders the FW LLDP mode non-functional.
Add ICE_IEEE_ETS_IS_WILLING to document intent and use it to
set the willing bit so the FW can negotiate DCB settings with
the peer. This only affects the default configuration; SW LLDP
mode overrides it immediately afterwards.
Fixes: 7d9c9b791f9e ("ice: Implement LFC workaround")
Cc: stable@vger.kernel.org
Signed-off-by: Yochai Hagvi <yochai.hagvi@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_dcb.h | 1 +
drivers/net/ethernet/intel/ice/ice_main.c | 2 +-
2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_dcb.h b/drivers/net/ethernet/intel/ice/ice_dcb.h
index be34650..91d6682 100644
--- a/drivers/net/ethernet/intel/ice/ice_dcb.h
+++ b/drivers/net/ethernet/intel/ice/ice_dcb.h
@@ -52,6 +52,7 @@
#define ICE_IEEE_ETS_CBS_M BIT(ICE_IEEE_ETS_CBS_S)
#define ICE_IEEE_ETS_WILLING_S 7
#define ICE_IEEE_ETS_WILLING_M BIT(ICE_IEEE_ETS_WILLING_S)
+#define ICE_IEEE_ETS_IS_WILLING BIT(ICE_IEEE_ETS_WILLING_S)
#define ICE_IEEE_ETS_PRIO_0_S 0
#define ICE_IEEE_ETS_PRIO_0_M (0x7 << ICE_IEEE_ETS_PRIO_0_S)
#define ICE_IEEE_ETS_PRIO_1_S 4
diff --git a/drivers/net/ethernet/intel/ice/ice_main.c b/drivers/net/ethernet/intel/ice/ice_main.c
index e7308e3..75a48e5 100644
--- a/drivers/net/ethernet/intel/ice/ice_main.c
+++ b/drivers/net/ethernet/intel/ice/ice_main.c
@@ -971,7 +971,7 @@ static void ice_set_dflt_mib(struct ice_pf *pf)
tlv->ouisubtype = htonl(ouisubtype);
buf = tlv->tlvinfo;
- buf[0] = 0;
+ buf[0] = ICE_IEEE_ETS_IS_WILLING;
/* ETS CFG all UPs map to TC 0. Next 4 (1 - 4) Octets = 0.
* Octets 5 - 12 are BW values, set octet 5 to 100% BW.
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 9/10] ice: select inner TCP dummy packet when matching on ip_proto TCP without explicit L4 field
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
` (7 preceding siblings ...)
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 8/10] ice: set ETS TLV willing bit in default MIB sent to firmware Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 10/10] ice: allow setting min_tx_rate to 0 to resolve VF bandwidth oversubscription Aleksandr Loktionov
9 siblings, 0 replies; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov
Cc: netdev, Michal Swiatkowski
When building an advanced switch rule, ice_find_dummy_packet()
selects the template packet type based on the lookup element
list. It currently checks for ICE_TCP_IL to select the inner
TCP template, but ignores the case where the user matches on
ICE_IPV4_IL with protocol == IPPROTO_TCP without specifying a
TCP L4 field. In that case the default UDP template is chosen,
causing the rule to fail.
Extend the check to also match ICE_IPV4_IL with TCP protocol
field fully masked, fixing tc-flower rules such as:
tc filter add dev vxlan100 ingress protocol ip prio 0 \\
flower ip_proto tcp action mirred egress redirect dev eth0
Fixes: e33163a40d1a ("ice: switch: convert packet template match code to rodata")
Cc: stable@vger.kernel.org
Signed-off-by: Michal Swiatkowski <michal.swiatkowski@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_switch.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_switch.c b/drivers/net/ethernet/intel/ice/ice_switch.c
index bb0f990..c2ac870 100644
--- a/drivers/net/ethernet/intel/ice/ice_switch.c
+++ b/drivers/net/ethernet/intel/ice/ice_switch.c
@@ -5587,7 +5587,10 @@ ice_find_dummy_packet(struct ice_adv_lkup_elem *lkups, u16 lkups_cnt,
for (i = 0; i < lkups_cnt; i++) {
if (lkups[i].type == ICE_UDP_ILOS)
match |= ICE_PKT_INNER_UDP;
- else if (lkups[i].type == ICE_TCP_IL)
+ else if (lkups[i].type == ICE_TCP_IL ||
+ (lkups[i].type == ICE_IPV4_IL &&
+ lkups[i].h_u.ipv4_hdr.protocol == IPPROTO_TCP &&
+ lkups[i].m_u.ipv4_hdr.protocol == 0xFF))
match |= ICE_PKT_INNER_TCP;
else if (lkups[i].type == ICE_IPV6_OFOS)
match |= ICE_PKT_OUTER_IPV6;
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* [Intel-wired-lan] [PATCH iwl-net 10/10] ice: allow setting min_tx_rate to 0 to resolve VF bandwidth oversubscription
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
` (8 preceding siblings ...)
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 9/10] ice: select inner TCP dummy packet when matching on ip_proto TCP without explicit L4 field Aleksandr Loktionov
@ 2026-04-03 5:40 ` Aleksandr Loktionov
2026-04-10 18:58 ` Tony Nguyen
9 siblings, 1 reply; 14+ messages in thread
From: Aleksandr Loktionov @ 2026-04-03 5:40 UTC (permalink / raw)
To: intel-wired-lan, anthony.l.nguyen, aleksandr.loktionov; +Cc: netdev
ice_set_vf_bw() refuses to accept any min_tx_rate value when the
total guaranteed bandwidth is already oversubscribed, even when the
requested value is 0. This makes it impossible to recover from an
oversubscribed state via "ip link set <pf> vf <id> min_tx_rate 0".
Allow a zero min_tx_rate to bypass the oversubscription check so
users can always clear the guaranteed rate. Additionally print an
informational message when the oversubscription guard fires to help
diagnose why a non-zero request was rejected.
Fixes: 4ecc8633056b ("ice: Add support for VF rate limiting")
Cc: stable@vger.kernel.org
Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>
Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
---
drivers/net/ethernet/intel/ice/ice_sriov.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/intel/ice/ice_sriov.c b/drivers/net/ethernet/intel/ice/ice_sriov.c
index 7e00e09..6e3bec7 100644
--- a/drivers/net/ethernet/intel/ice/ice_sriov.c
+++ b/drivers/net/ethernet/intel/ice/ice_sriov.c
@@ -1507,6 +1507,12 @@ ice_min_tx_rate_oversubscribed(struct ice_vf *vf, int min_tx_rate)
all_vfs_min_tx_rate -= vf->min_tx_rate;
if (all_vfs_min_tx_rate + min_tx_rate > link_speed_mbps) {
+ if (ice_calc_all_vfs_min_tx_rate(vf->pf) > link_speed_mbps) {
+ dev_info(ice_pf_to_dev(vf->pf),
+ "The sum of min_tx_rate for all VFs is greater than the link speed\n");
+ dev_info(ice_pf_to_dev(vf->pf),
+ "Set min_tx_rate to 0 on VFs to resolve oversubscription\n");
+ }
dev_err(ice_pf_to_dev(vf->pf), "min_tx_rate of %d Mbps on VF %u would cause oversubscription of %d Mbps based on the current link speed %d Mbps\n",
min_tx_rate, vf->vf_id,
all_vfs_min_tx_rate + min_tx_rate - link_speed_mbps,
@@ -1556,7 +1562,7 @@ ice_set_vf_bw(struct net_device *netdev, int vf_id, int min_tx_rate,
goto out_put_vf;
}
- if (ice_min_tx_rate_oversubscribed(vf, min_tx_rate)) {
+ if (min_tx_rate && ice_min_tx_rate_oversubscribed(vf, min_tx_rate)) {
ret = -EINVAL;
goto out_put_vf;
}
--
2.52.0
^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net 8/10] ice: set ETS TLV willing bit in default MIB sent to firmware
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 8/10] ice: set ETS TLV willing bit in default MIB sent to firmware Aleksandr Loktionov
@ 2026-04-06 20:22 ` Ertman, David M
0 siblings, 0 replies; 14+ messages in thread
From: Ertman, David M @ 2026-04-06 20:22 UTC (permalink / raw)
To: Loktionov, Aleksandr, intel-wired-lan@lists.osuosl.org,
Nguyen, Anthony L, Loktionov, Aleksandr
Cc: netdev@vger.kernel.org, Hagvi, Yochai
> -----Original Message-----
> From: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> Sent: Thursday, April 2, 2026 10:40 PM
> To: intel-wired-lan@lists.osuosl.org; Nguyen, Anthony L
> <anthony.l.nguyen@intel.com>; Loktionov, Aleksandr
> <aleksandr.loktionov@intel.com>
> Cc: netdev@vger.kernel.org; Hagvi, Yochai <yochai.hagvi@intel.com>
> Subject: [PATCH iwl-net 8/10] ice: set ETS TLV willing bit in default MIB sent to
> firmware
>
> When the FW LLDP agent is active the driver sends an initial
> DCB configuration via set_local_mib. Currently the ETS TLV
> willing bit is clear, which prevents LLDP negotiation and
> renders the FW LLDP mode non-functional.
ice_set_dflt_mib() is only ever called in one place - ice_link_event().
That call is surrounded by a check that calls ice_is_dcb_active(). With the
FW agent active, that check will always return true. This prevents the
ice_set_local_mib() from ever being called when FW is active.
It doesn't seem like this change is necessary.
>
> Add ICE_IEEE_ETS_IS_WILLING to document intent and use it to
> set the willing bit so the FW can negotiate DCB settings with
> the peer. This only affects the default configuration; SW LLDP
> mode overrides it immediately afterwards.
>
> Fixes: 7d9c9b791f9e ("ice: Implement LFC workaround")
> Cc: stable@vger.kernel.org
> Signed-off-by: Yochai Hagvi <yochai.hagvi@intel.com>
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice_dcb.h | 1 +
> drivers/net/ethernet/intel/ice/ice_main.c | 2 +-
> 2 files changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_dcb.h
> b/drivers/net/ethernet/intel/ice/ice_dcb.h
> index be34650..91d6682 100644
> --- a/drivers/net/ethernet/intel/ice/ice_dcb.h
> +++ b/drivers/net/ethernet/intel/ice/ice_dcb.h
> @@ -52,6 +52,7 @@
> #define ICE_IEEE_ETS_CBS_M BIT(ICE_IEEE_ETS_CBS_S)
> #define ICE_IEEE_ETS_WILLING_S 7
> #define ICE_IEEE_ETS_WILLING_M BIT(ICE_IEEE_ETS_WILLING_S)
> +#define ICE_IEEE_ETS_IS_WILLING BIT(ICE_IEEE_ETS_WILLING_S)
> #define ICE_IEEE_ETS_PRIO_0_S 0
> #define ICE_IEEE_ETS_PRIO_0_M (0x7 <<
> ICE_IEEE_ETS_PRIO_0_S)
> #define ICE_IEEE_ETS_PRIO_1_S 4
> diff --git a/drivers/net/ethernet/intel/ice/ice_main.c
> b/drivers/net/ethernet/intel/ice/ice_main.c
> index e7308e3..75a48e5 100644
> --- a/drivers/net/ethernet/intel/ice/ice_main.c
> +++ b/drivers/net/ethernet/intel/ice/ice_main.c
> @@ -971,7 +971,7 @@ static void ice_set_dflt_mib(struct ice_pf *pf)
> tlv->ouisubtype = htonl(ouisubtype);
>
> buf = tlv->tlvinfo;
> - buf[0] = 0;
> + buf[0] = ICE_IEEE_ETS_IS_WILLING;
>
> /* ETS CFG all UPs map to TC 0. Next 4 (1 - 4) Octets = 0.
> * Octets 5 - 12 are BW values, set octet 5 to 100% BW.
> --
> 2.52.0
>
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net 6/10] ice: check PHY autoneg capability before rejecting ethtool autoneg setting
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 6/10] ice: check PHY autoneg capability before rejecting ethtool autoneg setting Aleksandr Loktionov
@ 2026-04-10 18:58 ` Tony Nguyen
0 siblings, 0 replies; 14+ messages in thread
From: Tony Nguyen @ 2026-04-10 18:58 UTC (permalink / raw)
To: Aleksandr Loktionov, intel-wired-lan; +Cc: netdev, Jan Glaza
On 4/2/2026 10:40 PM, Aleksandr Loktionov wrote:
> ice_set_link_ksettings() rejects autoneg requests by comparing
> user settings against safe_ks which is populated by
> ice_phy_type_to_ethtool(). The Autoneg bit in safe_ks is set
> only if the current PHY configuration reports it supported,
> but this misses PHYs that support autoneg and have it available
> through PHY capabilities. Pull the autoneg flag from the actual
> PHY capabilities (already fetched earlier in the function) to
> ensure the user can toggle autoneg on any capable PHY.
>
> Fixes: 5cd349c349d6 ("ice: report supported and advertised autoneg using PHY capabilities")
> Cc: stable@vger.kernel.org
> Signed-off-by: Jan Glaza <jan.glaza@intel.com>
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice_ethtool.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_ethtool.c b/drivers/net/ethernet/intel/ice/ice_ethtool.c
> index 49b9376..44483bc 100644
> --- a/drivers/net/ethernet/intel/ice/ice_ethtool.c
> +++ b/drivers/net/ethernet/intel/ice/ice_ethtool.c
> @@ -2654,6 +2654,14 @@ ice_set_link_ksettings(struct net_device *netdev,
> /* Get link modes supported by hardware.*/
> ice_phy_type_to_ethtool(netdev, &safe_ks);
>
> + /* Pull the value of autoneg from phy caps to ensure we allow
> + * toggling it on all PHYs that support it.
> + */
> + if (ice_is_phy_caps_an_enabled(phy_caps)) {
> + ethtool_link_ksettings_add_link_mode(&safe_ks, supported, Autoneg);
> + set_bit(ETHTOOL_LINK_MODE_FEC_NONE_BIT, safe_ks.link_modes.supported);
From Sashiko:
This isn't a bug, but should this use
ethtool_link_ksettings_add_link_mode() instead of calling set_bit()
directly? Using set_bit() on the link modes breaks the ethtool interface
abstraction.
Also, does this incorrectly couple the ETHTOOL_LINK_MODE_FEC_NONE_BIT
support with Autonegotiation support? Forward Error Correction support
is independent of Autonegotiation.
For PHYs lacking Autonegotiation, the FEC none bit will not be added to
safe_ks.link_modes.supported. When a user requests settings via ethtool,
copy_ks.link_modes.advertising will likely contain the FEC none bit
since it is unconditionally returned by ice_get_link_ksettings().
> + }
> +
> /* and check against modes requested by user.
> * Return an error if unsupported mode was set.
> */
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [Intel-wired-lan] [PATCH iwl-net 10/10] ice: allow setting min_tx_rate to 0 to resolve VF bandwidth oversubscription
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 10/10] ice: allow setting min_tx_rate to 0 to resolve VF bandwidth oversubscription Aleksandr Loktionov
@ 2026-04-10 18:58 ` Tony Nguyen
0 siblings, 0 replies; 14+ messages in thread
From: Tony Nguyen @ 2026-04-10 18:58 UTC (permalink / raw)
To: Aleksandr Loktionov, intel-wired-lan; +Cc: netdev
On 4/2/2026 10:40 PM, Aleksandr Loktionov wrote:
> ice_set_vf_bw() refuses to accept any min_tx_rate value when the
> total guaranteed bandwidth is already oversubscribed, even when the
> requested value is 0. This makes it impossible to recover from an
> oversubscribed state via "ip link set <pf> vf <id> min_tx_rate 0".
>
> Allow a zero min_tx_rate to bypass the oversubscription check so
> users can always clear the guaranteed rate. Additionally print an
> informational message when the oversubscription guard fires to help
> diagnose why a non-zero request was rejected.
>
> Fixes: 4ecc8633056b ("ice: Add support for VF rate limiting")
> Cc: stable@vger.kernel.org
> Signed-off-by: Sudheer Mogilappagari <sudheer.mogilappagari@intel.com>
> Signed-off-by: Aleksandr Loktionov <aleksandr.loktionov@intel.com>
> ---
> drivers/net/ethernet/intel/ice/ice_sriov.c | 8 +++++++-
> 1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/ethernet/intel/ice/ice_sriov.c b/drivers/net/ethernet/intel/ice/ice_sriov.c
> index 7e00e09..6e3bec7 100644
> --- a/drivers/net/ethernet/intel/ice/ice_sriov.c
> +++ b/drivers/net/ethernet/intel/ice/ice_sriov.c
> @@ -1507,6 +1507,12 @@ ice_min_tx_rate_oversubscribed(struct ice_vf *vf, int min_tx_rate)
> all_vfs_min_tx_rate -= vf->min_tx_rate;
>
> if (all_vfs_min_tx_rate + min_tx_rate > link_speed_mbps) {
> + if (ice_calc_all_vfs_min_tx_rate(vf->pf) > link_speed_mbps) {
ice_calc_all_vfs_min_tx_rate() is already called above (out of this
patch context), can we save that to an interim var and save this second
call?
> + dev_info(ice_pf_to_dev(vf->pf),
> + "The sum of min_tx_rate for all VFs is greater than the link speed\n");
> + dev_info(ice_pf_to_dev(vf->pf),
> + "Set min_tx_rate to 0 on VFs to resolve oversubscription\n");
Why not 1 string/call?
Thanks,
Tony
> + }
> dev_err(ice_pf_to_dev(vf->pf), "min_tx_rate of %d Mbps on VF %u would cause oversubscription of %d Mbps based on the current link speed %d Mbps\n",
> min_tx_rate, vf->vf_id,
> all_vfs_min_tx_rate + min_tx_rate - link_speed_mbps,
> @@ -1556,7 +1562,7 @@ ice_set_vf_bw(struct net_device *netdev, int vf_id, int min_tx_rate,
> goto out_put_vf;
> }
>
> - if (ice_min_tx_rate_oversubscribed(vf, min_tx_rate)) {
> + if (min_tx_rate && ice_min_tx_rate_oversubscribed(vf, min_tx_rate)) {
> ret = -EINVAL;
> goto out_put_vf;
> }
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2026-04-10 18:58 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-03 5:40 [Intel-wired-lan] [PATCH iwl-net 0/10] ice: bug fixes -- no link, tc-flower, VF rate Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 1/10] ice: fix mirroring to VSI list Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 2/10] ice: update FW on all DCB changes Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 3/10] ice: disallow service task to run while driver is unloading Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 4/10] ice: error out on CONNECTED state for input pin Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 5/10] ice: add 10000baseCR_Full to advertised link speed map Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 6/10] ice: check PHY autoneg capability before rejecting ethtool autoneg setting Aleksandr Loktionov
2026-04-10 18:58 ` Tony Nguyen
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 7/10] ice: fix missing 50G single-lane ethtool link speed mappings Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 8/10] ice: set ETS TLV willing bit in default MIB sent to firmware Aleksandr Loktionov
2026-04-06 20:22 ` Ertman, David M
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 9/10] ice: select inner TCP dummy packet when matching on ip_proto TCP without explicit L4 field Aleksandr Loktionov
2026-04-03 5:40 ` [Intel-wired-lan] [PATCH iwl-net 10/10] ice: allow setting min_tx_rate to 0 to resolve VF bandwidth oversubscription Aleksandr Loktionov
2026-04-10 18:58 ` Tony Nguyen
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox