Some RSS issues discovered by Adrian, missing header, variable
names fat fingered, incorrect hash config setup. Thanks :) MFC after: 1 week
This commit is contained in:
parent
b15dc00338
commit
dcd7b3b269
@ -38,6 +38,10 @@
|
||||
#include "ixl.h"
|
||||
#include "ixl_pf.h"
|
||||
|
||||
#ifdef RSS
|
||||
#include <net/rss_config.h>
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
* Driver version
|
||||
*********************************************************************/
|
||||
@ -3249,7 +3253,7 @@ static void ixl_config_rss(struct ixl_vsi *vsi)
|
||||
* num_queues.)
|
||||
*/
|
||||
que_id = rss_get_indirection_to_bucket(i);
|
||||
que_id = que_id % adapter->num_queues;
|
||||
que_id = que_id % vsi->num_queues;
|
||||
#else
|
||||
que_id = j;
|
||||
#endif
|
||||
|
@ -38,10 +38,14 @@
|
||||
#include "ixl.h"
|
||||
#include "ixlv.h"
|
||||
|
||||
#ifdef RSS
|
||||
#include <net/rss_config.h>
|
||||
#endif
|
||||
|
||||
/*********************************************************************
|
||||
* Driver version
|
||||
*********************************************************************/
|
||||
char ixlv_driver_version[] = "1.2.0";
|
||||
char ixlv_driver_version[] = "1.2.1";
|
||||
|
||||
/*********************************************************************
|
||||
* PCI Device ID Table
|
||||
@ -2596,12 +2600,12 @@ ixlv_config_rss(struct ixlv_sc *sc)
|
||||
set_hena |= ((u64)1 << I40E_FILTER_PCTYPE_NONF_IPV4_UDP);
|
||||
if (rss_hash_config & RSS_HASHTYPE_RSS_IPV6)
|
||||
set_hena |= ((u64)1 << I40E_FILTER_PCTYPE_NONF_IPV6_OTHER);
|
||||
if (rss_hash_config & RSS_HASHTYPE_RSS_IPV6_EX)
|
||||
set_hena |= ((u64)1 << I40E_FILTER_PCTYPE_FRAG_IPV6);
|
||||
if (rss_hash_config & RSS_HASHTYPE_RSS_TCP_IPV6)
|
||||
set_hena |= ((u64)1 << I40E_FILTER_PCTYPE_NONF_IPV6_TCP);
|
||||
if (rss_hash_config & RSS_HASHTYPE_RSS_UDP_IPV6)
|
||||
set_hena |= ((u64)1 << I40E_FILTER_PCTYPE_NONF_IPV6_UDP);
|
||||
if (rss_hash_config & RSS_HASHTYPE_RSS_UDP_IPV6_EX)
|
||||
set_hena |= IXGBE_MRQC_RSS_FIELD_IPV6_EX_UDP;
|
||||
#else
|
||||
set_hena =
|
||||
((u64)1 << I40E_FILTER_PCTYPE_NONF_IPV4_UDP) |
|
||||
@ -2633,7 +2637,7 @@ ixlv_config_rss(struct ixlv_sc *sc)
|
||||
* num_queues.)
|
||||
*/
|
||||
que_id = rss_get_indirection_to_bucket(i);
|
||||
que_id = que_id % adapter->num_queues;
|
||||
que_id = que_id % vsi->num_queues;
|
||||
#else
|
||||
que_id = j;
|
||||
#endif
|
||||
|
@ -43,6 +43,10 @@
|
||||
#include "opt_rss.h"
|
||||
#include "ixl.h"
|
||||
|
||||
#ifdef RSS
|
||||
#include <net/rss_config.h>
|
||||
#endif
|
||||
|
||||
/* Local Prototypes */
|
||||
static void ixl_rx_checksum(struct mbuf *, u32, u32, u8);
|
||||
static void ixl_refresh_mbufs(struct ixl_queue *, int);
|
||||
@ -1367,7 +1371,7 @@ ixl_rx_discard(struct rx_ring *rxr, int i)
|
||||
|
||||
#ifdef RSS
|
||||
/*
|
||||
** i40e_ptype_to_hash: parse the packet type
|
||||
** ixl_ptype_to_hash: parse the packet type
|
||||
** to determine the appropriate hash.
|
||||
*/
|
||||
static inline int
|
||||
@ -1376,7 +1380,7 @@ ixl_ptype_to_hash(u8 ptype)
|
||||
struct i40e_rx_ptype_decoded decoded;
|
||||
u8 ex = 0
|
||||
|
||||
decode = decode_rx_desc_ptype(ptype);
|
||||
decoded = decode_rx_desc_ptype(ptype);
|
||||
ex = decoded.outer_frag;
|
||||
|
||||
if (!decoded.known)
|
||||
|
Loading…
Reference in New Issue
Block a user