Skip to content

Commit

Permalink
igb: Refactor igb_offload_cbs()
Browse files Browse the repository at this point in the history
Split code into a separate function (igb_offload_apply()) that will be
used by ETF offload implementation.

Signed-off-by: Jesus Sanchez-Palencia <jesus.sanchez-palencia@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Jesus Sanchez-Palencia authored and David S. Miller committed Jul 4, 2018
1 parent 0364a0d commit 8080e6a
Showing 1 changed file with 14 additions and 9 deletions.
23 changes: 14 additions & 9 deletions drivers/net/ethernet/intel/igb/igb_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -2474,6 +2474,19 @@ igb_features_check(struct sk_buff *skb, struct net_device *dev,
return features;
}

static void igb_offload_apply(struct igb_adapter *adapter, s32 queue)
{
if (!is_fqtss_enabled(adapter)) {
enable_fqtss(adapter, true);
return;
}

igb_config_tx_modes(adapter, queue);

if (!is_any_cbs_enabled(adapter))
enable_fqtss(adapter, false);
}

static int igb_offload_cbs(struct igb_adapter *adapter,
struct tc_cbs_qopt_offload *qopt)
{
Expand All @@ -2494,15 +2507,7 @@ static int igb_offload_cbs(struct igb_adapter *adapter,
if (err)
return err;

if (is_fqtss_enabled(adapter)) {
igb_config_tx_modes(adapter, qopt->queue);

if (!is_any_cbs_enabled(adapter))
enable_fqtss(adapter, false);

} else {
enable_fqtss(adapter, true);
}
igb_offload_apply(adapter, qopt->queue);

return 0;
}
Expand Down

0 comments on commit 8080e6a

Please sign in to comment.