mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-23 11:18:54 +00:00
ixl(4): Fix two important RSS bugs.
- Change tc_mapping field to assign 64 queues instead of 16 to the PF's VSI; add comments to describe how this is done. - Set hash lut size to 512 when setting filter control; the lut size defaults to 128 if this isn't set. Differential Revision: https://reviews.freebsd.org/D5203 Reviewed by: gallatin Tested by: jeffrey.e.pieper@intel.com Sponsored by: Intel Corporation
This commit is contained in:
parent
dcd95d8a01
commit
c11f1016ec
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=295826
@ -1175,6 +1175,7 @@ ixl_init_locked(struct ixl_pf *pf)
|
||||
#ifdef IXL_FDIR
|
||||
filter.enable_fdir = TRUE;
|
||||
#endif
|
||||
filter.hash_lut_size = I40E_HASH_LUT_SIZE_512;
|
||||
if (i40e_set_filter_control(hw, &filter))
|
||||
device_printf(dev, "set_filter_control() failed\n");
|
||||
|
||||
@ -2758,8 +2759,17 @@ ixl_initialize_vsi(struct ixl_vsi *vsi)
|
||||
*/
|
||||
ctxt.info.valid_sections = I40E_AQ_VSI_PROP_QUEUE_MAP_VALID;
|
||||
ctxt.info.mapping_flags |= I40E_AQ_VSI_QUE_MAP_CONTIG;
|
||||
/* In contig mode, que_mapping[0] is first queue index used by this VSI */
|
||||
ctxt.info.queue_mapping[0] = 0;
|
||||
ctxt.info.tc_mapping[0] = 0x0800;
|
||||
/*
|
||||
* This VSI will only use traffic class 0; start traffic class 0's
|
||||
* queue allocation at queue 0, and assign it 64 (2^6) queues (though
|
||||
* the driver may not use all of them).
|
||||
*/
|
||||
ctxt.info.tc_mapping[0] = ((0 << I40E_AQ_VSI_TC_QUE_OFFSET_SHIFT)
|
||||
& I40E_AQ_VSI_TC_QUE_OFFSET_MASK) |
|
||||
((6 << I40E_AQ_VSI_TC_QUE_NUMBER_SHIFT)
|
||||
& I40E_AQ_VSI_TC_QUE_NUMBER_MASK);
|
||||
|
||||
/* Set VLAN receive stripping mode */
|
||||
ctxt.info.valid_sections |= I40E_AQ_VSI_PROP_VLAN_VALID;
|
||||
|
Loading…
Reference in New Issue
Block a user