On Thu, 2017-01-12 at 10:46 -0800, Felix Manlunas wrote:
> From: Satanand Burla <satananda.bu...@cavium.com>
> 
> Use fallback instead of skb_tx_hash for selecting txq
> 
> Signed-off-by: Satanand Burla <satananda.bu...@cavium.com>
> Signed-off-by: Felix Manlunas <felix.manlu...@cavium.com>
> Signed-off-by: Derek Chickles <derek.chick...@cavium.com>
> ---
>  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.



Reply via email to