numam-dpdk/drivers/net/sfc/base
Ivan Malov 3c97590830 net/sfc/base: honour packed stream RSS restriction
Packed stream firmware variant on EF10 adapters has a
number of properties which must be taken into account:

 - Only one exclusive RSS context is available per port.
 - Only IP addresses can contribute to the hash value.

Huntington and Medford have one more limitation which
is important for the drivers capable of packed stream:

 - Hash algorithm is non-standard (i.e. non-Toeplitz).
   This implies XORing together source + destination
   IP addresses (or last four bytes in the case of IPv6)
   and using the result as the input to a Toeplitz hash.

This patch provides a number of improvements in order
to treat the mentioned limitations in the common code.

If the firmware variant is packed stream, the list of
supported hash tuples will include less variants, and
the maximum number of RSS contexts will be set to one.

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
2018-04-27 18:00:55 +01:00
..
ef10_ev.c net/sfc/base: support Medford2 event timer semantics 2018-03-30 14:08:43 +02:00
ef10_filter.c net/sfc/base: support drop filters on EF10 family NICs 2018-03-30 14:08:43 +02:00
ef10_image.c net/sfc/base: add signed image layout support 2018-03-30 14:08:43 +02:00
ef10_impl.h net/sfc/base: support FW subvariant choice 2018-04-14 00:41:44 +02:00
ef10_intr.c net/sfc/base: add Medford2 support to INTR module 2018-03-30 14:08:42 +02:00
ef10_mac.c net/sfc/base: support CTPIO stats 2018-03-30 14:08:43 +02:00
ef10_mcdi.c net/sfc/base: refactoring eliminating code analysis warnings 2018-03-30 14:08:42 +02:00
ef10_nic.c net/sfc/base: honour packed stream RSS restriction 2018-04-27 18:00:55 +01:00
ef10_nvram.c net/sfc/base: refactoring eliminating code analysis warnings 2018-03-30 14:08:42 +02:00
ef10_phy.c net/sfc/base: support FEC mode settings 2018-03-30 14:08:43 +02:00
ef10_rx.c net/sfc/base: honour packed stream RSS restriction 2018-04-27 18:00:55 +01:00
ef10_signed_image_layout.h net/sfc/base: add firmware image layout option 2018-03-30 14:08:43 +02:00
ef10_tlv_layout.h net/sfc/base: sync MCDI headers and TLV layout 2018-03-30 14:08:43 +02:00
ef10_tx.c net/sfc/base: add outer IP ID parameter to TSOv2 descriptor 2018-03-30 14:08:43 +02:00
ef10_vpd.c net/sfc/base: refactoring eliminating code analysis warnings 2018-03-30 14:08:42 +02:00
efx_bootcfg.c net/sfc/base: resolve code analysis warnings 2018-03-30 14:08:42 +02:00
efx_check.h net/sfc/base: add firmware subvariant aware driver option 2018-04-14 00:41:44 +02:00
efx_crc32.c net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
efx_ev.c net/sfc/base: add Medford2 support to EV module 2018-03-30 14:08:42 +02:00
efx_filter.c net/sfc/base: distinguish filters for encapsulated packets 2018-03-30 14:08:43 +02:00
efx_hash.c net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
efx_impl.h net/sfc/base: support choosing firmware variant 2018-03-30 14:08:44 +02:00
efx_intr.c net/sfc/base: add efsys macro to get memory region size 2018-03-30 14:08:42 +02:00
efx_lic.c net/sfc/base: add Medford2 support for licensing 2018-03-30 14:08:43 +02:00
efx_mac.c net/sfc/base: regenerate headers to pick up CTPIO stats 2018-03-30 14:08:43 +02:00
efx_mcdi.c net/sfc/base: add firmware subvariant aware driver option 2018-04-14 00:41:44 +02:00
efx_mcdi.h net/sfc/base: add Medford2 support to MCDI module 2018-03-30 14:08:42 +02:00
efx_mon.c net/sfc/base: add 1.3V voltage and current sensors 2018-03-30 14:08:43 +02:00
efx_nic.c net/sfc/base: support FW subvariant choice 2018-04-14 00:41:44 +02:00
efx_nvram.c net/sfc/base: add Medford2 support to NVRAM module 2018-03-30 14:08:42 +02:00
efx_phy_ids.h net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
efx_phy.c net/sfc/base: refactoring eliminating code analysis warnings 2018-03-30 14:08:42 +02:00
efx_port.c net/sfc/base: fix comparison always true warning 2018-04-14 00:41:44 +02:00
efx_regs_ef10.h net/sfc/base: support Medford2 event timer semantics 2018-03-30 14:08:43 +02:00
efx_regs_mcdi_aoe.h net/sfc/base: update MCDI headers 2018-04-14 00:41:44 +02:00
efx_regs_mcdi.h net/sfc/base: update MCDI headers 2018-04-14 00:41:44 +02:00
efx_regs_pci.h net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
efx_regs.h net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
efx_rx.c net/sfc/base: honour packed stream RSS restriction 2018-04-27 18:00:55 +01:00
efx_sram.c net/sfc/base: add Medford2 support to SRAM module 2018-03-30 14:08:42 +02:00
efx_tunnel.c net/sfc/base: add Medford2 support for tunnel encapsulations 2018-03-30 14:08:43 +02:00
efx_tx.c net/sfc/base: add outer IP ID parameter to TSOv2 descriptor 2018-03-30 14:08:43 +02:00
efx_types.h net/sfc/base: cope with clang warning on negative shift 2018-04-27 18:00:55 +01:00
efx_vpd.c net/sfc/base: add Medford2 support to VPD module 2018-03-30 14:08:42 +02:00
efx.h net/sfc/base: honour packed stream RSS restriction 2018-04-27 18:00:55 +01:00
hunt_impl.h net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
hunt_nic.c net/sfc/base: clarify port mode names and masks 2018-03-30 14:08:43 +02:00
mcdi_mon.c net/sfc/base: add 1.3V voltage and current sensors 2018-03-30 14:08:43 +02:00
mcdi_mon.h net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
medford2_impl.h net/sfc/base: add Medford2 support to NIC module 2018-03-30 14:08:42 +02:00
medford2_nic.c net/sfc/base: remove obsolete comments 2018-03-30 14:08:43 +02:00
medford_impl.h net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
medford_nic.c net/sfc/base: remove obsolete comments 2018-03-30 14:08:43 +02:00
meson.build net/sfc/base: add firmware image layout option 2018-03-30 14:08:43 +02:00
README net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
siena_flash.h net/sfc/base: regenerate files with genfwdef after ID update 2018-03-30 14:08:42 +02:00
siena_impl.h net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
siena_mac.c net/sfc/base: remove MAC stats size define 2018-03-30 14:08:42 +02:00
siena_mcdi.c net/sfc/base: refactoring eliminating code analysis warnings 2018-03-30 14:08:42 +02:00
siena_nic.c net/sfc/base: honour packed stream RSS restriction 2018-04-27 18:00:55 +01:00
siena_nvram.c net/sfc/base: refactoring eliminating code analysis warnings 2018-03-30 14:08:42 +02:00
siena_phy.c net/sfc/base: add efsys macro to get memory region size 2018-03-30 14:08:42 +02:00
siena_sram.c net/sfc/base: change license to BSD-3-Clause 2018-01-16 18:47:49 +01:00
siena_vpd.c net/sfc/base: refactoring eliminating code analysis warnings 2018-03-30 14:08:42 +02:00

   SPDX-License-Identifier: BSD-3-Clause

   Copyright (c) 2006-2018 Solarflare Communications Inc.
   All rights reserved.

Solarflare libefx driver library
================================

This directory contains source code of Solarflare Communications libefx
driver library of version v4.10.0.1012.

Updating
========

The source code in this directory should not be modified.
Please contact the driver maintainers to request changes.