dpdk.git
7 years agonet/vmxnet3: generate link-state change notifications
Robert Shearman [Thu, 15 Jun 2017 12:16:10 +0000 (08:16 -0400)]
net/vmxnet3: generate link-state change notifications

Generate link-state change notifications by listening to interrupts
generated by the device. Make use of the existing
vmxnet3_process_events function that was compiled out, but change it
to call vmxnet3_dev_link_update on a VMXNET3_ECR_LINK event and to not
be so noisy in its log messages.

Enable interrupts on starting the device, using a new helper function,
vmxnet3_enable_intr, based on vmxnet3_disable_intr and validated
against the FreeBSD driver.

Keep track of the number of interrupts registered for to avoid
hardcoding these in vmxnet3_enable/disable_intr and to provision for
any future rxq intr support.

Factor out the guts of vmxnet3_dev_link_update minus the started check
to allow the new function to be called from vmxnet3_dev_start in the
lsc-enabled case to ensure that the link state is correctly set from
the actual state at that point.

Signed-off-by: Robert Shearman <rshearma@brocade.com>
7 years agonet/vmxnet3: implement extended stats
Robert Shearman [Thu, 15 Jun 2017 12:16:09 +0000 (08:16 -0400)]
net/vmxnet3: implement extended stats

Implement xstats_get() to allow a number of driver-specific Tx and Rx
stats to be retrieved.

Signed-off-by: Robert Shearman <rshearma@brocade.com>
Acked-by: Shrikrishna Khare <skhare@vmware.com>
7 years agonet/vmxnet3: retain counters on restart
Nachiketa Prachanda [Thu, 15 Jun 2017 12:16:08 +0000 (08:16 -0400)]
net/vmxnet3: retain counters on restart

Most NICs like virtio, igb/ixgbe etc. don't reset counters on
dev_start and arguably this helps in monitoring the counters
across a longer time span with multiple device start/stops.
vmxnet3 behavior is opposite to that and counters are reset by
the host side implementation each time the device is restarted.

Change the driver to save the counters in its private context
before it is reset by writing CMD_ACTIVATE to REG_CMD.

Signed-off-by: Nachiketa Prachanda <nprachan@brocade.com>
Acked-by: Shrikrishna Khare <skhare@vmware.com>
7 years agonet/tap: restore state of remote device when closing
Thomas Monjalon [Tue, 27 Jun 2017 12:33:15 +0000 (14:33 +0200)]
net/tap: restore state of remote device when closing

When exiting a DPDK application, the TAP remote was left
with the link down even if it was initially up.

The device flags of the remote netdevice are saved when probing,
and restored when calling the close function.
The remote state is not set down when calling the stop function anymore.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agoapp/testpmd: enable DDP remove profile feature
Andrey Chilikin [Wed, 28 Jun 2017 08:15:27 +0000 (09:15 +0100)]
app/testpmd: enable DDP remove profile feature

New command 'ddp del (port) (profile_path)' removes previously
loaded profile and deletes it from the list of the loaded profiles.

Signed-off-by: Andrey Chilikin <andrey.chilikin@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
7 years agonet/i40e: extended list of operations for DDP processing
Andrey Chilikin [Wed, 28 Jun 2017 08:15:26 +0000 (09:15 +0100)]
net/i40e: extended list of operations for DDP processing

This patch adds ability to remove already loaded profile
or write profile without registering it

Signed-off-by: Andrey Chilikin <andrey.chilikin@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
7 years agoapp/testpmd: update DDP add command parameters
Andrey Chilikin [Tue, 27 Jun 2017 12:06:48 +0000 (13:06 +0100)]
app/testpmd: update DDP add command parameters

This patch adds optional output file path to 'ddp add' command:
'ddp add (port) (profile_path[,output_path])'

Signed-off-by: Andrey Chilikin <andrey.chilikin@intel.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agonet/i40e/base: update base code info
Jingjing Wu [Tue, 27 Jun 2017 13:29:18 +0000 (21:29 +0800)]
net/i40e/base: update base code info

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e: use set switch AQ instead of register setting
Jingjing Wu [Tue, 27 Jun 2017 13:29:17 +0000 (21:29 +0800)]
net/i40e: use set switch AQ instead of register setting

TPID can be set by set_switch_config aq, change the TPID setting
by set_switch_config on new FW release.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: extend processing of DDP
Jingjing Wu [Tue, 27 Jun 2017 13:29:16 +0000 (21:29 +0800)]
net/i40e/base: extend processing of DDP

This patch adds extended processing of DDP packages:
 - Execution of adminq command sections to support AQ-depended profiles,
   for example, for programming cloud filters types.
 - Ability to write a profile without registering it in the list of
   applied profiles, to be used for AQ-depended profiles.
 - Profile rollback is implemented to support restoration of original
   parser/analyzer configuration without the need of core reset,
   for example, for deploying new profile without resetting device.
 - Search for a specific section in a profile, to be used by driver
   to access metadata sections with description of PCTYPE/PTYPEs
   defined in the profile.

Signed-off-by: Andrey Chilikin <andrey.chilikin@intel.com>
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: add EEPROM checksum verification
Jingjing Wu [Tue, 27 Jun 2017 13:29:15 +0000 (21:29 +0800)]
net/i40e/base: add EEPROM checksum verification

This patch ensures PFs mutually exclusive access to NVM.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: avoid reset timeout issue
Jingjing Wu [Tue, 27 Jun 2017 13:29:14 +0000 (21:29 +0800)]
net/i40e/base: avoid reset timeout issue

This patch allows detection of upcoming core reset in case NIC gets
stuck while performing FLR reset. The i40e_pf_reset() function returns
I40E_ERR_NOT_READY when global reset was detected.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: avoid potential null pointer dereference
Jingjing Wu [Tue, 27 Jun 2017 13:29:13 +0000 (21:29 +0800)]
net/i40e/base: avoid potential null pointer dereference

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: use admin queue for setting LEDs behavior
Jingjing Wu [Tue, 27 Jun 2017 13:29:12 +0000 (21:29 +0800)]
net/i40e/base: use admin queue for setting LEDs behavior

Instead of accessing register directly, use newly added AQC in
order to blink LEDs. Introduce and utilize a new flag to prevent
excessive API version checking.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: support switch parameters
Jingjing Wu [Tue, 27 Jun 2017 13:29:11 +0000 (21:29 +0800)]
net/i40e/base: support switch parameters

Adds double VLAN tagging ethertype fields to Set Switch Parameters AQ
command.  These were added in firmware API 1.7.

Callers of i40e_aq_set_switch_config() can specify the ethertypes to
use by filling out the corresponding fields in struct i40e_hw.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: update FW AQ API version to 1.7
Jingjing Wu [Tue, 27 Jun 2017 13:29:10 +0000 (21:29 +0800)]
net/i40e/base: update FW AQ API version to 1.7

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: track id can be 0
Jingjing Wu [Tue, 27 Jun 2017 13:29:09 +0000 (21:29 +0800)]
net/i40e/base: track id can be 0

track_id == 0 is valid for “read only” profiles when
profile does not have any “write” commands.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: report supported link modes
Jingjing Wu [Tue, 27 Jun 2017 13:29:08 +0000 (21:29 +0800)]
net/i40e/base: report supported link modes

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: add new PHY types for 25G AOC and ACC
Jingjing Wu [Tue, 27 Jun 2017 13:29:07 +0000 (21:29 +0800)]
net/i40e/base: add new PHY types for 25G AOC and ACC

This patch adds new phy types for 25G Active Optical Cables (AOC) and
Active Copper Cables (ACC) support.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: store the requested FEC information
Jingjing Wu [Tue, 27 Jun 2017 13:29:06 +0000 (21:29 +0800)]
net/i40e/base: store the requested FEC information

Store information about FEC modes, that were requested. It will be used
in printing link status information function and this way there is no
need to call admin queue there.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: add support for Adaptive Virtual Function
Jingjing Wu [Tue, 27 Jun 2017 13:29:05 +0000 (21:29 +0800)]
net/i40e/base: add support for Adaptive Virtual Function

Add device id define and mac_type assignment needed for Adaptive
Virtual Function.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: add AQ command for read/write PHY registers
Jingjing Wu [Tue, 27 Jun 2017 13:29:04 +0000 (21:29 +0800)]
net/i40e/base: add AQ command for read/write PHY registers

This patch adds new additional command for accessing to PHY registers.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: sync nvmupdate command and adminq subtask
Jingjing Wu [Tue, 27 Jun 2017 13:29:03 +0000 (21:29 +0800)]
net/i40e/base: sync nvmupdate command and adminq subtask

During NVMupdate, state machine gets into unrecoverable state because
i40e_clean_adminq_subtask can get scheduled after the admin queue
command but before other state variables are updated.

This patch adds locking around admin queue command and update of
state variables so that adminq_subtask will have accurate information
whenever it gets scheduled.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/i40e/base: use new virtchnl header file
Jingjing Wu [Tue, 27 Jun 2017 13:29:02 +0000 (21:29 +0800)]
net/i40e/base: use new virtchnl header file

Modify the necessary files to be compatible with the new virtchnl.h file
instead of relying on i40e_virtchnl.h variant. This mostly changes
references to VIRTCHNL_ variables by removing prefix of I40E_.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/bonding: fix when NTT flag updated
Sha Zhang [Mon, 22 May 2017 07:52:11 +0000 (15:52 +0800)]
net/bonding: fix when NTT flag updated

According to the standard, state machine of LACP should transmit lacpdu
when partner's state changes from slow to fast, rather than from fast
to slow.

Fixes: 46fb43683679 ("bond: add mode 4")
Cc: stable@dpdk.org
Signed-off-by: Sha Zhang <zhangsha.zhang@huawei.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
7 years agonet/i40e: avoid PCI probing failure when using bogus SFP
Olivier Matz [Thu, 15 Jun 2017 09:08:32 +0000 (11:08 +0200)]
net/i40e: avoid PCI probing failure when using bogus SFP

When a port is using a bogus SFP, the PCI probing returns an error,
preventing to register a portid.

To give a better chance to the applications to retry after the SFP is
changed, move this check in eth_i40e_dev_configure(), so that only a
port reconfiguration is needed to retry.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agonet/dpaa2: add support for multi seg buffers
Hemant Agrawal [Thu, 22 Jun 2017 13:57:17 +0000 (19:27 +0530)]
net/dpaa2: add support for multi seg buffers

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: add support for frame based Tx congestion
Hemant Agrawal [Thu, 22 Jun 2017 13:57:16 +0000 (19:27 +0530)]
net/dpaa2: add support for frame based Tx congestion

Change from byte based to frame based.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agobus/fslmc: add check for memseg availability
Shreyansh Jain [Thu, 22 Jun 2017 13:57:15 +0000 (19:27 +0530)]
bus/fslmc: add check for memseg availability

Cleanup the DMA map logic for memsegs. Earlier, in case
DMA mapping reaching end of segment, it reports a spurious error.

Signed-off-by: Shreyansh Jain <shreyansh.jain@nxp.com>
7 years agobus/fslmc: fix the failure loop condition
Hemant Agrawal [Thu, 22 Jun 2017 13:57:14 +0000 (19:27 +0530)]
bus/fslmc: fix the failure loop condition

Correct the while condition for cleanup in case of failure.

Fixes: a0d5c9caf0f1 ("bus/fslmc: add frame queue based dq storage")
Cc: stable@dpdk.org
Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agodoc: change dpaa2 helper repository path
Hemant Agrawal [Thu, 22 Jun 2017 13:57:13 +0000 (19:27 +0530)]
doc: change dpaa2 helper repository path

changing the NXP DPDK helper repository from helper to extras.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
7 years agonet/dpaa2: disable Tx congestion notification
Hemant Agrawal [Thu, 22 Jun 2017 13:57:12 +0000 (19:27 +0530)]
net/dpaa2: disable Tx congestion notification

Making it off by default.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: check SoC version for stashing enable
Hemant Agrawal [Thu, 22 Jun 2017 13:57:11 +0000 (19:27 +0530)]
net/dpaa2: check SoC version for stashing enable

Instead of qbman version, check the SoC version for stashing
enablement decision.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: align the queue numbers with MC firmware
Hemant Agrawal [Thu, 22 Jun 2017 13:57:10 +0000 (19:27 +0530)]
net/dpaa2: align the queue numbers with MC firmware

Align dpaa2 PMD driver code to the way MC Firmware manages queues.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: set data align option in MC firmware
Hemant Agrawal [Thu, 22 Jun 2017 13:57:09 +0000 (19:27 +0530)]
net/dpaa2: set data align option in MC firmware

Configuring the MC FW to configure data alignment by default.
This help in improving performance for some of the platform variants.

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/dpaa2: set device driver
Hemant Agrawal [Thu, 22 Jun 2017 13:57:08 +0000 (19:27 +0530)]
net/dpaa2: set device driver

Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
7 years agonet/i40e: fix flow director for IPv6
Beilei Xing [Thu, 22 Jun 2017 09:30:52 +0000 (17:30 +0800)]
net/i40e: fix flow director for IPv6

After adding a fdir rule for IPv6 with input set TC, IPv6 packets
with the specific TC can't be assigned the right queue.
The root cause is that TC is parsed wrongly, this patch fixes
TC parsing problem.

Fixes: 7d83c152a207 ("net/i40e: parse flow director filter")
Cc: stable@dpdk.org
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Tested-by: Yuan Peng <yuan.peng@intel.com>
7 years agonet/fm10k: initialize link status in device start
Xiao Wang [Thu, 22 Jun 2017 11:20:03 +0000 (04:20 -0700)]
net/fm10k: initialize link status in device start

Fm10k host driver can't manage PHY directly and provides a fake link
status by always reporting LINK_UP. We should initialize link status
in device start, otherwise application will get LINK_DOWN status
when LSC configured.

Fixes: 9ae6068c86da ("fm10k: add dev start/stop")
Cc: stable@dpdk.org
Signed-off-by: Xiao Wang <xiao.w.wang@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
7 years agonet/sfc: support flow API isolated mode
Ivan Malov [Tue, 20 Jun 2017 16:37:09 +0000 (17:37 +0100)]
net/sfc: support flow API isolated mode

Signed-off-by: Ivan Malov <ivan.malov@oktetlabs.ru>
Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
7 years agonet/mlx5: fix TSO segment size
Shahaf Shuler [Tue, 20 Jun 2017 05:24:47 +0000 (08:24 +0300)]
net/mlx5: fix TSO segment size

In case on multi segment packet, the TSO segment size
was taken from the last segment. This may lead to incorrect
values in case not all segments are initialized with the field.

Fixing it by taking the value from the first segment.

Fixes: 3f13f8c23a7c ("net/mlx5: support hardware TSO")
Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Yongseok Koh <yskoh@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agonet/mlx4: fix assertion failure on link update
Adrien Mazarguil [Fri, 16 Jun 2017 11:37:51 +0000 (13:37 +0200)]
net/mlx4: fix assertion failure on link update

The interrupt handler can sometimes be triggered for reasons other than a
link status event. An assertion failure happen when such events occur while
an asynchronous link status update is already scheduled.

Address this issue using the same approach as its mlx5 counterpart,
commit a9f2fbc42f0c ("net/mlx5: fix inconsistent link status")

Fixes: c4da6caa426d ("mlx4: handle link status interrupts")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agonet/igb: fix flex filter length
Wei Zhao [Fri, 16 Jun 2017 05:04:24 +0000 (13:04 +0800)]
net/igb: fix flex filter length

igb flex filter supports recognizing any arbitrary pattern within first
128 bytes of the packet.

But the macro E1000_FLEX_FILTERS_MASK_SIZE only covers first 64 bytes.

Fixes: 231d43909a31 ("igb: migrate flex filter to new API")
Cc: stable@dpdk.org
Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
7 years agonet/igb: fix flex type filter
Wei Zhao [Fri, 16 Jun 2017 05:04:23 +0000 (13:04 +0800)]
net/igb: fix flex type filter

There is a bug in flex type filter parsing because of wrong local
variable index usage.

Bug cause filter to fail and wrong mask calculation.

Fixes: 7cd77faf7129 ("net/igb: parse flow API flex filter")

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
7 years agonet/mlx5: fix Rx interrupts management
Adrien Mazarguil [Wed, 14 Jun 2017 11:49:17 +0000 (13:49 +0200)]
net/mlx5: fix Rx interrupts management

This commit addresses various issues that may lead to undefined behavior
when configuring Rx interrupts.

While failure to create a Rx queue completion channel in rxq_ctrl_setup()
prevents that queue from being created, existing queues still have theirs.
Since the error handler disables dev_conf.intr_conf.rxq as well, subsequent
calls to rxq_ctrl_setup() create Rx queues without interrupts. This leads
to a scenario where not all Rx queues support interrupts; missing checks on
the presence of completion channels may crash the application.

Considering that the PMD is not supposed to disable user-provided
configuration parameters (dev_conf.intr_conf.rxq), and that these can
change for subsequent rxq_ctrl_setup() calls anyway, properly supporting a
mixed mode where not all Rx queues have interrupts enabled is a better
approach.

To do so with a minimum set of changes, priv_intr_efd_enable() and
priv_create_intr_vec() are first refactored as a single
priv_rx_intr_vec_enable() function (same for their "disable" counterparts).
Since they had to be used together, there was no point in keeping them
separate.

Remaining changes:

- Always clean up before reconfiguring interrupts to avoid memory leaks.
- Always clean up when closing the device.
- Use malloc()/free() instead of their rte_*() counterparts since there is
  no need to store the vector in huge pages-backed memory.
- Allow more Rx queues than the size of the event file descriptor array as
  long as Rx interrupts are not requested on all of them.
- Properly clean up interrupt handle when disabling Rx interrupts (nb_efd
  and intr_vec reset to 0).
- Check completion channel presence while toggling Rx interrupts on a given
  queue.

Fixes: 3c7d44af252a ("net/mlx5: support user space Rx interrupt event")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix return value in Rx interrupts code
Adrien Mazarguil [Wed, 14 Jun 2017 11:49:16 +0000 (13:49 +0200)]
net/mlx5: fix return value in Rx interrupts code

A negative return value is documented for that function in case of error.

Fixes: 3c7d44af252a ("net/mlx5: support user space Rx interrupt event")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix Rx interrupts support checks
Adrien Mazarguil [Wed, 14 Jun 2017 11:49:15 +0000 (13:49 +0200)]
net/mlx5: fix Rx interrupts support checks

Not exposing Rx interrupts callbacks when this feature is unsupported is
less intrusive than having two different versions for these functions.

Fixes: 3c7d44af252a ("net/mlx5: support user space Rx interrupt event")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx5: fix misplaced Rx interrupts functions
Adrien Mazarguil [Wed, 14 Jun 2017 11:49:14 +0000 (13:49 +0200)]
net/mlx5: fix misplaced Rx interrupts functions

These functions do not belong to the data path. Their prototypes are also
misplaced.

Fixes: 3c7d44af252a ("net/mlx5: support user space Rx interrupt event")
Cc: stable@dpdk.org
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
7 years agonet/mlx4: fix Rx interrupts management
Adrien Mazarguil [Wed, 14 Jun 2017 11:49:13 +0000 (13:49 +0200)]
net/mlx4: fix Rx interrupts management

This commit addresses various issues that may lead to undefined behavior
when configuring Rx interrupts.

While failure to create a Rx queue completion channel in rxq_setup()
prevents that queue from being created, existing queues still have theirs.
Since the error handler disables dev_conf.intr_conf.rxq as well, subsequent
calls to rxq_setup() create Rx queues without interrupts. This leads to a
scenario where not all Rx queues support interrupts; missing checks on the
presence of completion channels may crash the application.

Considering that the PMD is not supposed to disable user-provided
configuration parameters (dev_conf.intr_conf.rxq), and that these can
change for subsequent rxq_setup() calls anyway, properly supporting a mixed
mode where not all Rx queues have interrupts enabled is a better approach.

To do so with a minimum set of changes, priv_intr_efd_enable() and
priv_create_intr_vec() are first refactored as a single
priv_rx_intr_vec_enable() function (same for their "disable" counterparts).
Since they had to be used together, there was no point in keeping them
separate.

Remaining changes:

- Always clean up before reconfiguring interrupts to avoid memory leaks.
- Always clean up when closing the device.
- Use malloc()/free() instead of their rte_*() counterparts since there is
  no need to store the vector in huge pages-backed memory.
- Allow more Rx queues than the size of the event file descriptor array as
  long as Rx interrupts are not requested on all of them.
- Properly clean up interrupt handle when disabling Rx interrupts (nb_efd
  and intr_vec reset to 0).
- Check completion channel presence while toggling Rx interrupts on a given
  queue.

Fixes: 9f05a4b81809 ("net/mlx4: support user space Rx interrupt event")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Moti Haimovsky <motih@mellanox.com>
7 years agonet/mlx4: fix Rx interrupts with multiple ports
Adrien Mazarguil [Wed, 14 Jun 2017 11:49:12 +0000 (13:49 +0200)]
net/mlx4: fix Rx interrupts with multiple ports

Several Ethernet device structures are allocated on top of a common PCI
device for mlx4 adapters with multiple ports. These inherit a common
interrupt handle from their parent PCI device, which prevents Rx interrupts
from working properly on all ports as their configuration is overwritten.

Use a local interrupt handle to address this issue.

Fixes: 9f05a4b81809 ("net/mlx4: support user space Rx interrupt event")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Moti Haimovsky <motih@mellanox.com>
7 years agonet/mlx4: fix typos from prior commit
Adrien Mazarguil [Wed, 14 Jun 2017 11:49:11 +0000 (13:49 +0200)]
net/mlx4: fix typos from prior commit

Fixes: 9f05a4b81809 ("net/mlx4: support user space Rx interrupt event")

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Moti Haimovsky <motih@mellanox.com>
7 years agoapp/testpmd: enable DDP get info feature
Andrey Chilikin [Fri, 16 Jun 2017 09:25:15 +0000 (10:25 +0100)]
app/testpmd: enable DDP get info feature

This patch demonstrates how to get information about dynamic device
personalization (DDP) profile.

Command 'ddp get info (path_to_profile)' extracts and prints
information about the given profile.

Signed-off-by: Andrey Chilikin <andrey.chilikin@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
7 years agonet/i40e: get information about DDP profile
Andrey Chilikin [Fri, 16 Jun 2017 09:25:14 +0000 (10:25 +0100)]
net/i40e: get information about DDP profile

This patch adds ability to request information about dynamic device
personalization (DDP) profile.

Signed-off-by: Andrey Chilikin <andrey.chilikin@intel.com>
Acked-by: Beilei Xing <beilei.xing@intel.com>
7 years agodoc: add testpmd commands for DDP
Beilei Xing [Fri, 16 Jun 2017 02:43:35 +0000 (10:43 +0800)]
doc: add testpmd commands for DDP

Add testpmd commands for loading dynamic device personalization (DDP)
package and getting loaded DDP info list.

Signed-off-by: Beilei Xing <beilei.xing@intel.com>
7 years agodoc: add VLAN flow limitation on mlx5 PMD
Shahaf Shuler [Tue, 13 Jun 2017 10:20:58 +0000 (13:20 +0300)]
doc: add VLAN flow limitation on mlx5 PMD

On mlx5 PMD Flow pattern without any specific vlan will match for vlan
packets as well.

Cc: stable@dpdk.org
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agonet/tap: support flow API isolated mode
Pascal Mazon [Wed, 24 May 2017 15:41:12 +0000 (17:41 +0200)]
net/tap: support flow API isolated mode

With this patch, it is possible to enable or disable the isolate
feature anytime, even immediately after a probe while the tap has not
been configured yet. It will do its job as soon as the netdevice gets
created.

A specific implicit flow rule is created with the lowest priority (all
other flow rules will be evaluated before), at the end of the list. If
isolated mode is enabled, the associated action will be to drop the
packet. Otherwise, the action would be passthrough.

In case of a remote netdevice, implicit rules on it will be removed in
isolated mode, to ensure only actual flow rules redirect packets to the
tap.

Signed-off-by: Pascal Mazon <pascal.mazon@6wind.com>
7 years agonet/mlx5: implement isolated mode from flow API
Nélio Laranjeiro [Wed, 24 May 2017 13:44:08 +0000 (15:44 +0200)]
net/mlx5: implement isolated mode from flow API

Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
7 years agonet/mlx5: fix creation of drop flows
Nélio Laranjeiro [Thu, 15 Jun 2017 08:25:16 +0000 (10:25 +0200)]
net/mlx5: fix creation of drop flows

Drop flows being created when the port is stop should not access to the
drop table hash queues as it is invalid.

Fixes: 028761059aeb ("net/mlx5: use an RSS drop queue")
Cc: stable@dpdk.org
Signed-off-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
Acked-by: Shahaf Shuler <shahafs@mellanox.com>
7 years agonet/cxgbe: fix alignment for data offset in mbuf
Rahul Lakkireddy [Thu, 15 Jun 2017 02:13:54 +0000 (07:43 +0530)]
net/cxgbe: fix alignment for data offset in mbuf

Fixup alignment for data offset when refilling mbufs.

Fixes: edd04c619685 ("net/cxgbe: update Rx path for Chelsio T6")

Signed-off-by: Rahul Lakkireddy <rahul.lakkireddy@chelsio.com>
Signed-off-by: Kumar Sanghvi <kumaras@chelsio.com>
7 years agodoc: announce igb flow API support
Wei Zhao [Wed, 14 Jun 2017 08:47:56 +0000 (16:47 +0800)]
doc: announce igb flow API support

Add release notes update to announce support of rte_flow on igb NIC.
And update NIC features document for this feature.

Signed-off-by: Wei Zhao <wei.zhao1@intel.com>
7 years agonet/szedata2: use macro from common library
Matej Vido [Wed, 14 Jun 2017 11:08:57 +0000 (13:08 +0200)]
net/szedata2: use macro from common library

Macro for alignment is defined in the common library.
Use macro from the common library in own macro definition.

Signed-off-by: Matej Vido <vido@cesnet.cz>
7 years agonet/szedata2: remove unused macro
Matej Vido [Wed, 14 Jun 2017 08:21:20 +0000 (10:21 +0200)]
net/szedata2: remove unused macro

Fixes: 2f3193cf0f3e ("pci: inherit common driver in PCI driver")

Signed-off-by: Matej Vido <vido@cesnet.cz>
7 years agonet/ixgbe: support packet type parsing in SSE Rx
Qi Zhang [Tue, 13 Jun 2017 08:58:26 +0000 (04:58 -0400)]
net/ixgbe: support packet type parsing in SSE Rx

Hardware PTYPE in Rx desc will be parsed to fill mbuf's packet_type.

Signed-off-by: Ray Kinsella <ray.kinsella@intel.com>
Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/mlx5: implement drop action in hardware classifier
Shachar Beiser [Sun, 4 Jun 2017 05:25:21 +0000 (05:25 +0000)]
net/mlx5: implement drop action in hardware classifier

The current drop action is implemented as a queue tail drop,
requiring to instantiate multiple WQs to maintain high drop rate.
This commit, implements the drop action in hardware classifier.
This enables to reduce the amount of contexts needed for the drop,
without affecting the drop rate.

Signed-off-by: Shachar Beiser <shacharbe@mellanox.com>
Acked-by: Nelio Laranjeiro <nelio.laranjeiro@6wind.com>
7 years agoapp/testpmd: print statistics periodically
Pablo de Lara [Thu, 6 Jul 2017 03:05:16 +0000 (04:05 +0100)]
app/testpmd: print statistics periodically

Add parameter to print port statistics periodically
(disabled by default), if interactive mode is not enabled.

This is useful to allow the user to see port statistics
without having to get into the internal command line.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
7 years agoapp/testpmd: add parameter to start forwarding Tx first
Pablo de Lara [Thu, 15 Jun 2017 04:04:03 +0000 (05:04 +0100)]
app/testpmd: add parameter to start forwarding Tx first

Add parameter to start forwarding sending first
a burst of packets, which is useful when testing
a loopback connection.

This was already implemented as an internal command,
but adding it as a parameter is interesting, as it
allows the user to test a loopback connection without
entering in the internal command line.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
7 years agopci: increase domain storage to 32 bits
Stephen Hemminger [Wed, 5 Jul 2017 16:55:32 +0000 (09:55 -0700)]
pci: increase domain storage to 32 bits

In some environments, the PCI domain can be larger than 16 bits.
For example, a PCI device passed through in Azure gets a synthetic domain
id  which is internally generated based on GUID. The PCI standard does
not restrict domain to be 16 bits.

This change breaks ABI for API's that expose PCI address structure.

The printf format for PCI remains unchanged, so that on most
systems (with only 16 bit domain) the output format is unchanged
and is 4 characters wide.  For example: 0000:00:01.0
Only on sysetms with higher bits will the domain take up more
space; example: 12000:00:01.0

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
7 years agopci: remove unnecessary casts in address parsing
Stephen Hemminger [Wed, 5 Jul 2017 16:55:31 +0000 (09:55 -0700)]
pci: remove unnecessary casts in address parsing

The function strtoul returns unsigned long and can be directly
assigned to a smaller type. Removing the casts allows easier
expansion of PCI domain.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
7 years agousertools: add option to unbind all devices
Ferruh Yigit [Thu, 4 May 2017 14:10:50 +0000 (15:10 +0100)]
usertools: add option to unbind all devices

-u accepts "dpdk" argument to unbind all devices bound to a DPDK driver.

Usage:
usertools/dpdk-devbind.py -u dpdk

Example:
$ usertools/dpdk-devbind.py -s

Network devices using DPDK-compatible driver
============================================
0000:08:00.1 '...' drv=igb_uio unused=
0000:81:00.0 '...' drv=igb_uio unused=
0000:88:00.0 '...' drv=igb_uio unused=
0000:88:00.1 '...' drv=igb_uio unused=
...

$ usertools/dpdk-devbind.py -u dpdk
$ usertools/dpdk-devbind.py -s

Network devices using DPDK-compatible driver
============================================
<none>
....

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoethdev: use device name from device structure
Ferruh Yigit [Fri, 9 Jun 2017 18:36:06 +0000 (19:36 +0100)]
ethdev: use device name from device structure

Device name resides in two different locations, in rte_device->name and
in ethernet device private data.

For now, the copy in the ethernet device private data is required for
multi process support, the name is the how secondary process finds about
primary process device.

But in the ethdev library some eth_dev->data->name usage can be
converted to rte_device->name.

This patch updates ethdev to use rte_device->name when possible.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agodrivers/net: use device name from device structure
Ferruh Yigit [Fri, 9 Jun 2017 18:36:05 +0000 (19:36 +0100)]
drivers/net: use device name from device structure

Device name resides in two different locations, in rte_device->name and
in ethernet device private data.

For now, the copy in the ethernet device private data is required for
multi process support, the name is the how secondary process finds about
primary process device.

But for drivers there is no reason to use the copy in the ethernet
device private data.

This patch updates PMDs to use only rte_device->name.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoethdev: ensure same name size for device and ethdev
Ferruh Yigit [Fri, 9 Jun 2017 18:36:04 +0000 (19:36 +0100)]
ethdev: ensure same name size for device and ethdev

rte_device->name copied into eth_dev->name, right now size is same for
both but the requirement is not clear.

This patch highlights the relation without changing actual sizes.

Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
7 years agoethdev: add fuzzy match in flow API
Qi Zhang [Tue, 13 Jun 2017 03:07:05 +0000 (23:07 -0400)]
ethdev: add fuzzy match in flow API

Add new meta pattern item RTE_FLOW_TYPE_ITEM_FUZZY in flow API.

This is for device that support fuzzy match option.
Usually a fuzzy match is fast but the cost is accuracy.
i.e. Signature Match only match pattern's hash value, but it is
possible that two different patterns have the same hash value.

Matching accuracy level can be configured by subfield threshold.
Driver can divide the range of threshold and map to different
accuracy levels that device support.

Signed-off-by: Qi Zhang <qi.z.zhang@intel.com>
7 years agoeal: fix config file path when checking process
Jianfeng Tan [Mon, 26 Jun 2017 06:49:46 +0000 (06:49 +0000)]
eal: fix config file path when checking process

When primary process is booted with --file-prefix option, the API,
rte_eal_primary_proc_alive(), uses a wrong config file path to
check if primary process is alive.

Fix it by calling helper function to get config file path.

Fixes: dd3e00138d74 ("eal: check if primary process is alive")
Cc: stable@dpdk.org
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
7 years agoethdev: fix secondary process crash on unused virtio
Jianfeng Tan [Mon, 3 Jul 2017 06:37:31 +0000 (06:37 +0000)]
ethdev: fix secondary process crash on unused virtio

Suppose we have 2 virtio devices for a VM, with only the first one,
virtio0, binding to igb_uio. Start a primary DPDK process, driving
only virtio0. Then start a secondary DPDK process, it encounters
segfault at eth_virtio_dev_init() because hw is NULL, when trying
to initialize the 2nd virtio devices.
    1539                    if (!hw->virtio_user_dev) {

We could add a precheck to return error when hw is NULL. But the
root cause is that virtio devices which are not driven by the primary
process are not exluded by secondary eal probe function.

To support legacy virtio devices bound to none kernel driver, we
removed RTE_PCI_DRV_NEED_MAPPING in
commit 962cf902e6eb ("pci: export device mapping functions").
At the boot of primary process, ether dev is allocated in rte_eth_devices
array, rte_eth_dev_data is also allocated in rte_eth_dev_data array; then
probe function fails; and ether dev is released. However, the entry in
rte_eth_dev_data array is not cleared. Then we start secondary process,
and try to attach the virtio device that not used in primary process,
the field, dev_private (or hw), in rte_eth_dev_data, is NULL.

To fail the dev attach, we need to clear the field, name, when we
release any ether devices in primary, so that below loop in
rte_eth_dev_attach_secondary() will not find any matched names.
        for (i = 0; i < RTE_MAX_ETHPORTS; i++) {
                if (strcmp(rte_eth_dev_data[i].name, name) == 0)
                        break;
        }

Fixes: 6d890f8ab512 ("net/virtio: fix multiple process support")
Cc: stable@dpdk.org
Reported-by: Reshma Pattan <reshma.pattan@intel.com>
Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com>
7 years agomem: do not advertise physical address when no hugepages
Olivier Matz [Mon, 3 Jul 2017 10:04:07 +0000 (12:04 +0200)]
mem: do not advertise physical address when no hugepages

When populating a mempool with a virtual memory area, the mempool
library expects to be able to get the physical address of each page.

When started with --no-huge, the physical addresses may not be available
because the pages are not locked in memory. It sometimes returns
RTE_BAD_PHYS_ADDR, which makes the mempool_populate() function to fail.

This was working before the commit cdc242f260e7 ("eal/linux: support
running as unprivileged user"), because rte_mem_virt2phy() was returning
0 instead of RTE_BAD_PHYS_ADDR, which was seen as a valid physical
address.

Since --no-huge is a debug function that breaks the support of physical
drivers, always set physical addresses to RTE_BAD_PHYS_ADDR in memzones
or in rte_mem_virt2phy(), and ensure that mempool won't complain in that
case.

Fixes: cdc242f260e7 ("eal/linux: support running as unprivileged user")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Reviewed-by: Jan Blunck <jblunck@infradead.org>
7 years agoexamples/l3fwd: add loop count for hash multi-lookup
Jianbo Liu [Tue, 4 Jul 2017 10:24:04 +0000 (18:24 +0800)]
examples/l3fwd: add loop count for hash multi-lookup

New macro to define how many times of hash lookup in one time, and this
makes the code more concise.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agoexamples/l3fwd: add NEON implementation
Jianbo Liu [Tue, 4 Jul 2017 10:24:03 +0000 (18:24 +0800)]
examples/l3fwd: add NEON implementation

Use ARM NEON intrinsics to accelerate l3 fowarding.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agoarch/arm: add vcopyq_laneq_u32 for old gcc
Jianbo Liu [Tue, 4 Jul 2017 10:24:02 +0000 (18:24 +0800)]
arch/arm: add vcopyq_laneq_u32 for old gcc

Implement vcopyq_laneq_u32 if gcc version is lower than 7.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agoexamples/l3fwd: rearrange LPM code
Jianbo Liu [Tue, 4 Jul 2017 10:24:01 +0000 (18:24 +0800)]
examples/l3fwd: rearrange LPM code

Some common code can be used by other ARCHs, move to l3fwd_lpm.c

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agoexamples/l3fwd: extract common code from multi packet send
Jianbo Liu [Tue, 4 Jul 2017 10:24:00 +0000 (18:24 +0800)]
examples/l3fwd: extract common code from multi packet send

Keep x86 related code in l3fwd_sse.h, and move common code to
l3fwd_common.h, which will be used by other Archs.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agoexamples/l3fwd: rename file for sequential hash lookup
Jianbo Liu [Tue, 4 Jul 2017 10:23:59 +0000 (18:23 +0800)]
examples/l3fwd: rename file for sequential hash lookup

The l3fwd_em_sse.h is enabled by NO_HASH_LOOKUP_MULTI.
Renaming it because it's only for sequential hash lookup,
and doesn't include any x86 SSE instructions.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agoexamples/l3fwd: reorganise multi hash lookup
Jianbo Liu [Tue, 4 Jul 2017 10:23:58 +0000 (18:23 +0800)]
examples/l3fwd: reorganise multi hash lookup

Extract common code from l3fwd_em_hlm_sse.h, and add to the new file
l3fwd_em_hlm.h.

Signed-off-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agonet: implement CRC for ARM64 NEON
Ashwin Sekhar T K [Tue, 4 Jul 2017 09:24:07 +0000 (02:24 -0700)]
net: implement CRC for ARM64 NEON

Added CRC compute APIs for arm64 utilizing the pmull
capability.

Added new file net_crc_neon.h to hold the arm64 pmull
CRC implementation.

Added wrappers in rte_vect.h for those neon intrinsics
which are not supported in GCC version < 7.

Verified the changes with crc_autotest unit test case

Signed-off-by: Ashwin Sekhar T K <ashwin.sekhar@caviumnetworks.com>
Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agoeal: move gcc version definition to common header
Ashwin Sekhar T K [Tue, 4 Jul 2017 09:24:06 +0000 (02:24 -0700)]
eal: move gcc version definition to common header

Moved the definition of GCC_VERSION from lib/librte_table/rte_lru.h
to lib/librte_eal/common/include/rte_common.h.

Tested compilation on:
 * arm64 with gcc
 * x86 with gcc and clang

Signed-off-by: Ashwin Sekhar T K <ashwin.sekhar@caviumnetworks.com>
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
Acked-by: Jianbo Liu <jianbo.liu@linaro.org>
7 years agomk: add crypto capability for armv8a and thunderx
Ashwin Sekhar T K [Tue, 4 Jul 2017 09:24:05 +0000 (02:24 -0700)]
mk: add crypto capability for armv8a and thunderx

armv8-a has optional CRYPTO extension which adds the
AES, PMULL, SHA1 and SHA2 capabilities. -march=armv8-a+crypto
enables code generation for the ARMv8-A architecture together
with the optional CRYPTO extensions.

Added the following flags to detect the corresponding
capability at compile time.
 * RTE_MACHINE_CPUFLAG_AES
 * RTE_MACHINE_CPUFLAG_PMULL
 * RTE_MACHINE_CPUFLAG_SHA1
 * RTE_MACHINE_CPUFLAG_SHA2

At run-time, the following flags can be used to detect the
capabilities.
 * RTE_CPUFLAG_AES
 * RTE_CPUFLAG_PMULL
 * RTE_CPUFLAG_SHA1
 * RTE_CPUFLAG_SHA2

Signed-off-by: Ashwin Sekhar T K <ashwin.sekhar@caviumnetworks.com>
Reviewed-by: Jan Viktorin <viktorin@rehivetech.com>
7 years agoexamples/performance-thread: support ARM64
Ashwin Sekhar T K [Tue, 4 Jul 2017 08:22:41 +0000 (01:22 -0700)]
examples/performance-thread: support ARM64

Updated Makefile to allow compilation for arm64 architecture.

Added necessary arm64 support for lthread.

Fixed minor compilation errors for arm64 compilation.

Tested the apps l3fwd-thread and lthread_pthread_shim on thunderx
and x86_64.

Signed-off-by: Ashwin Sekhar T K <ashwin.sekhar@caviumnetworks.com>
7 years agoexamples/performance-thread: reorganise arch code
Ashwin Sekhar T K [Tue, 4 Jul 2017 08:22:40 +0000 (01:22 -0700)]
examples/performance-thread: reorganise arch code

Moved the architecture dependent stack set code to architecture
specific directory.

Signed-off-by: Ashwin Sekhar T K <ashwin.sekhar@caviumnetworks.com>
7 years agoexamples/performance-thread: remove non-SSE4 fallbacks
Bruce Richardson [Tue, 20 Jun 2017 15:23:13 +0000 (16:23 +0100)]
examples/performance-thread: remove non-SSE4 fallbacks

Since this example is for x86_64 platforms only, and since SSE4 is now a
mandatory requirement, we can remove the ifdefs checking for that
instruction set level, and the fallbacks if it is not present.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoexamples/l3fwd: remove checks for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:12 +0000 (16:23 +0100)]
examples/l3fwd: remove checks for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agoexamples/ip_pipeline: remove macro check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:11 +0000 (16:23 +0100)]
examples/ip_pipeline: remove macro check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/ixgbe: remove fallback code for x86 non-SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:10 +0000 (16:23 +0100)]
net/ixgbe: remove fallback code for x86 non-SSE4

Since SSE4 is now part of minimum requirements for DPDK on x86, we no
longer need this fallback code.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/i40e: remove checks for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:09 +0000 (16:23 +0100)]
net/i40e: remove checks for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we no longer
need these checks.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet/enic: replace check for SSE4 with check for x86
Bruce Richardson [Tue, 20 Jun 2017 15:23:08 +0000 (16:23 +0100)]
net/enic: replace check for SSE4 with check for x86

Since SSE4 is now minimum requirement for x86 platforms we can replace the
check for SSE4 with a check for x86

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agocrypto/zuc: remove check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:07 +0000 (16:23 +0100)]
crypto/zuc: remove check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agocrypto/snow3g: remove check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:06 +0000 (16:23 +0100)]
crypto/snow3g: remove check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agocrypto/kasumi: remove check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:05 +0000 (16:23 +0100)]
crypto/kasumi: remove check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agocrypto/aesni_mb: remove check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:04 +0000 (16:23 +0100)]
crypto/aesni_mb: remove check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agotable: remove check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:03 +0000 (16:23 +0100)]
table: remove check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
the scalar version on x86.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agosched: remove check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:03 +0000 (16:23 +0100)]
sched: remove check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
7 years agonet: remove check for SSE4
Bruce Richardson [Tue, 20 Jun 2017 15:23:02 +0000 (16:23 +0100)]
net: remove check for SSE4

Since SSE4 is now part of the minimum requirements for DPDK, we don't need
to check for its presence any more.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>