svn commit: r277262 - head/sys/dev/ixl
Jack F Vogel
jfv at FreeBSD.org
Fri Jan 16 19:12:00 UTC 2015
Author: jfv
Date: Fri Jan 16 19:11:58 2015
New Revision: 277262
URL: https://svnweb.freebsd.org/changeset/base/277262
Log:
Some RSS issues discovered by Adrian, missing header, variable
names fat fingered, incorrect hash config setup. Thanks :)
MFC after: 1 week
Modified:
head/sys/dev/ixl/if_ixl.c
head/sys/dev/ixl/if_ixlv.c
head/sys/dev/ixl/ixl_txrx.c
Modified: head/sys/dev/ixl/if_ixl.c
==============================================================================
--- head/sys/dev/ixl/if_ixl.c Fri Jan 16 19:07:13 2015 (r277261)
+++ head/sys/dev/ixl/if_ixl.c Fri Jan 16 19:11:58 2015 (r277262)
@@ -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_vs
* 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
Modified: head/sys/dev/ixl/if_ixlv.c
==============================================================================
--- head/sys/dev/ixl/if_ixlv.c Fri Jan 16 19:07:13 2015 (r277261)
+++ head/sys/dev/ixl/if_ixlv.c Fri Jan 16 19:11:58 2015 (r277262)
@@ -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
Modified: head/sys/dev/ixl/ixl_txrx.c
==============================================================================
--- head/sys/dev/ixl/ixl_txrx.c Fri Jan 16 19:07:13 2015 (r277261)
+++ head/sys/dev/ixl/ixl_txrx.c Fri Jan 16 19:11:58 2015 (r277262)
@@ -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
#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)
More information about the svn-src-all
mailing list