Re: [PATCH net-next] liquidio: replace skb_tx_hash with fallback
From: Eric Dumazet <hidden>
Date: 2017-01-12 20:11:57
On Thu, 2017-01-12 at 10:46 -0800, Felix Manlunas wrote:
quoted hunk ↗ jump to hunk
From: Satanand Burla <redacted> Use fallback instead of skb_tx_hash for selecting txq Signed-off-by: Satanand Burla <redacted> Signed-off-by: Felix Manlunas <redacted> Signed-off-by: Derek Chickles <redacted> --- drivers/net/ethernet/cavium/liquidio/lio_main.c | 10 ++-------- drivers/net/ethernet/cavium/liquidio/lio_vf_main.c | 11 ++--------- 2 files changed, 4 insertions(+), 17 deletions(-)diff --git a/drivers/net/ethernet/cavium/liquidio/lio_main.c b/drivers/net/ethernet/cavium/liquidio/lio_main.c index b8b579d..90f000f 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_main.c@@ -2231,15 +2231,9 @@ static void if_cfg_callback(struct octeon_device *oct, */ static u16 select_q(struct net_device *dev, struct sk_buff *skb, void *accel_priv __attribute__((unused)), - select_queue_fallback_t fallback __attribute__((unused))) + select_queue_fallback_t fallback) { - u32 qindex = 0; - struct lio *lio; - - lio = GET_LIO(dev); - qindex = skb_tx_hash(dev, skb); - - return (u16)(qindex % (lio->linfo.num_txpciq)); + return fallback(dev, skb); } /** Routine to push packets arriving on Octeon interface upto network layer.diff --git a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c index ad2e72d..a7478eb 100644 --- a/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c +++ b/drivers/net/ethernet/cavium/liquidio/lio_vf_main.c@@ -1463,16 +1463,9 @@ static void if_cfg_callback(struct octeon_device *oct, */ static u16 select_q(struct net_device *dev, struct sk_buff *skb, void *accel_priv __attribute__((unused)), - select_queue_fallback_t fallback __attribute__((unused))) + select_queue_fallback_t fallback) { - struct lio *lio; - u32 qindex; - - lio = GET_LIO(dev); - - qindex = skb_tx_hash(dev, skb); - - return (u16)(qindex % (lio->linfo.num_txpciq)); + return fallback(dev, skb); } /** Routine to push packets arriving on Octeon interface upto network layer.
Why are you keeping these functions then ? Remove them completely, and remove .ndo_select_queue from your ops. Core networking stack will fallback automatically.