dpdk.git
9 years agombuf: clean old refcnt option
Thomas Monjalon [Tue, 31 Mar 2015 12:45:06 +0000 (14:45 +0200)]
mbuf: clean old refcnt option

CONFIG_RTE_MBUF_SCATTER_GATHER was renamed into CONFIG_RTE_MBUF_REFCNT
by commit 62814bc2e923 and removed by commit 4769bc5a27cc.
Some traces remain because of delayed patches.

It can also be removed from doxygen config.
It is now poisoned in rte_mbuf.h to warn any misuse.

Fixes: d0dff9ba445e ("doc: sample application user guide")
Fixes: fc1f2750a3ec ("doc: programmers guide")
Fixes: 4769bc5a27cc ("mbuf: remove build option to disable refcnt")

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
9 years agodoc: update mlx4 usage and dependencies
Adrien Mazarguil [Thu, 2 Apr 2015 09:33:43 +0000 (11:33 +0200)]
doc: update mlx4 usage and dependencies

- libmlx4 and libibverbs dependencies distributed with Mellanox OFED are now
  also available on DPDK.org to make installation easier.
- Document Mellanox OFED and firmware versions to use.
- Add links to Mellanox and its community websites.
- Add kernel modules parameters section.

Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
9 years agodoc: comment i40e firmware version
Helin Zhang [Fri, 3 Apr 2015 08:06:55 +0000 (16:06 +0800)]
doc: comment i40e firmware version

Added notes for i40e firmware version. As base driver to support the
latest version of firmware (FVL3E) hasn't been integrated, currently
the validated version of firmware is 4.2.6.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agoi40e: fix link status timeout
Cunming Liang [Wed, 1 Apr 2015 02:33:34 +0000 (10:33 +0800)]
i40e: fix link status timeout

API *rte_eth_link_get* expect to call a wait to complete link_update.
That's the difference between *rte_eth_link_get_nowait*.
The patch fixes the issue that i40e link_update ignores the wait_to_complete flag.
The issue impacts those applications calling rte_eth_link_get to get wrong intermediate link status.

Signed-off-by: Cunming Liang <cunming.liang@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
9 years agoi40e: fix out of bound read
Jingjing Wu [Thu, 12 Feb 2015 11:22:23 +0000 (19:22 +0800)]
i40e: fix out of bound read

Klocwork reports array 'src_offset' may use index 16.
In function i40e_srcoff_to_flx_pit, index j + 1 can reach I40E_FDIR_MAX_FLEX_LEN.
This patch fixes this issue to avoid array bound.

Test report: http://www.dpdk.org/ml/archives/dev/2015-March/016030.html

Fixes: d8b90c4eabe9 ("i40e: take flow director flexible payload configuration")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Min Cao <min.cao@intel.com>
9 years agodoc: add note for --txqflags in testpmd
Pablo de Lara [Wed, 1 Apr 2015 12:10:11 +0000 (13:10 +0100)]
doc: add note for --txqflags in testpmd

Since txqflags is now set from the default rx/tx configuration,
depending on the PMD, it might not be 0.
Therefore, user has to overwrite it with --txqflags 0.

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agomk: fix pdf doc rules order
John McNamara [Wed, 1 Apr 2015 11:32:45 +0000 (12:32 +0100)]
mk: fix pdf doc rules order

Re-ordered the guide-pdf-% and guide-% rules to allow
the doc-guides-pdf target to build with make 3.81. It
builds unmodified with all later versions of make.

Fixes: ebf8050afd44 ("doc: add pdf output")

Reported-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agopci: rename passthrough driver to kernel driver
Thomas Monjalon [Tue, 31 Mar 2015 22:00:37 +0000 (00:00 +0200)]
pci: rename passthrough driver to kernel driver

Kernel driver (kdrv) seems easier to understand than
passthrough driver (pt_driver). It's also more generic
as a PMD could run on top of any PCI kernel driver if
it would offer such support.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: David Marchand <david.marchand@6wind.com>
9 years agoversion: 2.0.0-rc3
Thomas Monjalon [Tue, 31 Mar 2015 01:33:48 +0000 (03:33 +0200)]
version: 2.0.0-rc3

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agodoc: update tested OS list in release notes
Siobhan Butler [Sun, 22 Mar 2015 12:33:27 +0000 (12:33 +0000)]
doc: update tested OS list in release notes

Updated Operating Systems tested during 2.0 in release notes

Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: update release notes for new sample apps
Siobhan Butler [Thu, 12 Mar 2015 12:13:54 +0000 (12:13 +0000)]
doc: update release notes for new sample apps

 Updated release notes release description notes:
 - added new sample applications to list: Link Bonding,Skeleton, Callbacks, Jobstats
 - updated copyright date to 2015

Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: update faq
Siobhan Butler [Sun, 22 Mar 2015 13:25:07 +0000 (13:25 +0000)]
doc: update faq

Added some of the questions posted to the mailing list to the FAQ section of release notes.

Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: update testpmd user guide
Helin Zhang [Mon, 9 Mar 2015 14:39:23 +0000 (22:39 +0800)]
doc: update testpmd user guide

It updated the user guide of testpmd, for the newly supported commands
of getting/setting hash functions, and the command of showing port
information.

Signed-off-by: Helin Zhang <helin.zhang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agodoc: add common issues in vhost sample guide
Changchun Ouyang [Fri, 27 Mar 2015 13:20:06 +0000 (13:20 +0000)]
doc: add common issues in vhost sample guide

Added some documentation on common issues for the vhost sample app
and how to resolve them.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: add vhost-user to sample guide
Huawei Xie [Wed, 11 Mar 2015 16:21:47 +0000 (00:21 +0800)]
doc: add vhost-user to sample guide

add vhost user documentation
fix some minor issues

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
9 years agodoc: add vhost-user guide
Huawei Xie [Wed, 11 Mar 2015 16:22:21 +0000 (00:22 +0800)]
doc: add vhost-user guide

Add vhost user documentation

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: add new vlan option in vhost sample guide
Changchun Ouyang [Tue, 3 Mar 2015 02:23:06 +0000 (10:23 +0800)]
doc: add new vlan option in vhost sample guide

see commit: e3d61d1609cb9b3ea851c7776bfbb60dcfe8844a.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agodoc: add warning for fm10k early driver
Siobhan Butler [Sun, 22 Mar 2015 11:32:35 +0000 (11:32 +0000)]
doc: add warning for fm10k early driver

This patch adds a note to the release notes new features,
as a warning regarding the early status of the FM10K driver for pre-release access

Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: add ixgbe VF RSS guide
Changchun Ouyang [Tue, 3 Mar 2015 08:50:48 +0000 (16:50 +0800)]
doc: add ixgbe VF RSS guide

Update the prog guide for commit: 42d2f78abcb77ecb769be

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
9 years agodoc: add note on needing igb_uio for VF devices
Bruce Richardson [Mon, 23 Mar 2015 16:19:50 +0000 (16:19 +0000)]
doc: add note on needing igb_uio for VF devices

Since the uio_pci_generic module requires that the device to which it is
being bound supports legacy interrupts, there can be problems using it
with VF devices. Add a note to the GSG doc to document this fact, and
provide information on loading igb_uio as a replacement.

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: add description of the offload API
Olivier Matz [Thu, 19 Mar 2015 16:36:38 +0000 (17:36 +0100)]
doc: add description of the offload API

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
9 years agodoc: update testpmd guide about csum forward engine
Olivier Matz [Thu, 19 Mar 2015 16:36:37 +0000 (17:36 +0100)]
doc: update testpmd guide about csum forward engine

Document the functions introduced by commit 64fc36064d.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agodoc: fix prefix in file references
Olivier Matz [Thu, 19 Mar 2015 16:35:12 +0000 (17:35 +0100)]
doc: fix prefix in file references

There are some references to DPDK.xyz.mk files that do not exist in the
dpdk tree. This was probably the result of an automatic replacement, so
restore the proper file names which are rte.xyz.mk.

Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
9 years agodoc: add jobstats sample guide
Pawel Wodkowski [Wed, 18 Mar 2015 10:20:39 +0000 (11:20 +0100)]
doc: add jobstats sample guide

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
[Thomas: fix image extensions for PDF]

9 years agodoc: add jobstats library and sample release notes
Pawel Wodkowski [Fri, 20 Mar 2015 09:43:35 +0000 (10:43 +0100)]
doc: add jobstats library and sample release notes

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
9 years agodoc: update bonding mode 6 release notes
Pawel Wodkowski [Fri, 20 Mar 2015 09:43:34 +0000 (10:43 +0100)]
doc: update bonding mode 6 release notes

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
9 years agodoc: add missing new EAL options in testpmd guide
Pablo de Lara [Fri, 27 Mar 2015 16:50:13 +0000 (16:50 +0000)]
doc: add missing new EAL options in testpmd guide

Added information on testpmd user guide
for -l, --lcores and --master-lcore options

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: cleanup multi-pthread prog guide
Cunming Liang [Wed, 4 Mar 2015 00:51:16 +0000 (08:51 +0800)]
doc: cleanup multi-pthread prog guide

Fixes: 1733be6d3147 ("doc: new eal multi-pthread feature")

Reported-by: Siobhan Butler <siobhan.a.butler@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
9 years agodoc: nics guide
Thomas Monjalon [Sat, 31 Jan 2015 22:06:06 +0000 (23:06 +0100)]
doc: nics guide

Create nics guide by moving chapters about Intel and Mellanox NICs.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: move Xen guide out of programmers guide
Thomas Monjalon [Fri, 30 Jan 2015 22:47:18 +0000 (23:47 +0100)]
doc: move Xen guide out of programmers guide

Xen is an environment comparable to Linux and FreeBSD which
have their own guide.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: fix file attributes
Thomas Monjalon [Fri, 30 Jan 2015 16:18:12 +0000 (17:18 +0100)]
doc: fix file attributes

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agomaintainers: claim pcap PMD
Nicolás Pernas Maradei [Wed, 18 Mar 2015 21:25:06 +0000 (21:25 +0000)]
maintainers: claim pcap PMD

Signed-off-by: Nicolás Pernas Maradei <nicolas.pernas.maradei@emutex.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agoapp/test: fix strict aliasing with gcc 4.4
Pawel Wodkowski [Fri, 27 Mar 2015 10:56:00 +0000 (11:56 +0100)]
app/test: fix strict aliasing with gcc 4.4

Fix strict aliasing rule error seen in gcc 4.4

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
9 years agoe1000: fix power down of fiber serdes link
Shelton Chia [Sat, 7 Mar 2015 03:57:38 +0000 (11:57 +0800)]
e1000: fix power down of fiber serdes link

When stopping interface, only shutdown method for copper cable was called.

Signed-off-by: Shelton Chia <jiaxt@sinogrid.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agovirtio: fix crash in secondary process
Changchun Ouyang [Fri, 27 Mar 2015 13:23:15 +0000 (21:23 +0800)]
virtio: fix crash in secondary process

It needs Rx function even in the case of secondary process,
and it also needs check if it supports mergeable feature or not.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
9 years agoethdev: add packet count parameter to Rx callback
John McNamara [Thu, 12 Mar 2015 16:54:28 +0000 (16:54 +0000)]
ethdev: add packet count parameter to Rx callback

Added a parameter to the RX callback to pass in the number of
available RX packets in addition to the number of dequeued packets.
This provides the RX callback functions with additional information
that can be used to decide how packets from a burst are handled.

The TX callback doesn't require this additional parameter so the RX
and TX callbacks no longer have the same function parameters. As such
the single RX/TX callback has been refactored into two separate callbacks.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agoenic: fix possible data loss
Maciej Gajdzica [Fri, 20 Feb 2015 16:13:20 +0000 (16:13 +0000)]
enic: fix possible data loss

Field ig_vlan_strip_en in struct enic type is int. It is used only by
function enic_set_nic_cfg which expects uint_8 as argument. Changed type
of the field to prevent possible loss of precision.

Macro GET_CONFIG passes result of sizeof operation to the function
vnic_dev_spec. This function expects parameter of type unsigned int.
Changed that parameter type to size_t in function declaration to prevent
possible data loss.

Define ENIC_ALIGN is used only by function rte_memzone_reserve_aligned,
which expects argument of type unsigned. Defined constant is of type
unsigned long long. Changed type to unsigned long to prevent possible
loss of precision.

In function writeq is written in two 32-bit long registers with writel
function. When trying to write val >> 32, static code analysis tool
reports that 64-bit value is passed to function expecting 32-bit value.
Added cast to clear this warning.

Issues found with static code analysis tool.

Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com>
9 years agovirtio: fix type for queue id
Maciej Gajdzica [Fri, 20 Feb 2015 16:12:39 +0000 (16:12 +0000)]
virtio: fix type for queue id

Changed vtpci_queue_idx type in function virtio_dev_queue_setup from
uint8_t to uint16_t to prevent possible data loss. Also changed type of
head variable in function virtio_send_command from uint32_t to uint16_t.

Variable rcv_cnt declared in function virtio_recv_mergeable_pkts was of
type uint32_t. It was used by virtqueue_dequeue_burst_rx function, which
expects argument of type uint16_t. Changed rcv_cnt variable type to
uint16_t to prevent possible data loss.

Issues found with static code analysis tool.

Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
9 years agobond: fix type for port and queue id
Maciej Gajdzica [Fri, 20 Feb 2015 16:12:22 +0000 (16:12 +0000)]
bond: fix type for port and queue id

In some places port_id is declared as int or uint16_t, which causes data
loss when using functions expecting port_id as uint8_t.

Previous type of rx and tx queue_id field was int, which caused possible
data loss when calling functions expecting uint16_t as an argument.

Issues found with static code analysis tool.

Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com>
9 years agombuf: add explanation for confusing checks when freeing
Bruce Richardson [Thu, 26 Mar 2015 21:14:54 +0000 (21:14 +0000)]
mbuf: add explanation for confusing checks when freeing

The logic used in the condition check before freeing an mbuf is
sometimes confusing, so explain it in a proper comment.

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>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
9 years agotable: fix crash during key overload
Miroslaw Walukiewicz [Tue, 3 Mar 2015 14:16:00 +0000 (09:16 -0500)]
table: fix crash during key overload

hash_key8_ext, hash_key16_ext and hash_key32_ext tables allocate cache
entries to support table overload cases. The crash can occur when cache
entry is free after use.
The problem is with computing the index of the free cache entry.

Signed-off-by: Mirek Walukiewicz <miroslaw.walukiewicz@intel.com>
Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com>
Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
9 years agovhost: fix file struct leakage
Pavel Boldin [Mon, 23 Mar 2015 12:53:45 +0000 (14:53 +0200)]
vhost: fix file struct leakage

Due to increased `struct file's reference counter subsequent call
to `filp_close' does not free the `struct file'. Prepend `fput' call
to decrease the reference counter.

Signed-off-by: Pavel Boldin <pboldin@mirantis.com>
Acked-by: Huawei Xie <huawei.xie@intel.com>
9 years agovhost: fix index when mbuf allocation fails
Haifeng Lin [Sat, 21 Mar 2015 01:47:00 +0000 (09:47 +0800)]
vhost: fix index when mbuf allocation fails

When failed to malloc buffer from mempool we just update last_used_idx but
not used->idx so after many times vhost thought have handle all packets
but virtio_net thought vhost have not handle all packets and will not
update avail->idx.

Signed-off-by: Haifeng Lin <haifeng.lin@huawei.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
Acked-by: Huawei Xie <huawei.xie@intel.com>
9 years agobond: remove memory allocation for PCI driver
Jia Yu [Mon, 23 Mar 2015 21:53:56 +0000 (14:53 -0700)]
bond: remove memory allocation for PCI driver

eth_driver already contains rte_pci_driver data structure.
Allocating rte_pci_driver without referencing it after bond
creation causes memory leakage.

Signed-off-by: Jia Yu <jyu@vmware.com>
Acked-by: Declan Doherty <declan.doherty@intel.com>
9 years agomlx4: remove old VMware compatibility code
Adrien Mazarguil [Wed, 25 Mar 2015 10:34:31 +0000 (11:34 +0100)]
mlx4: remove old VMware compatibility code

CONFIG_RTE_LIBRTE_MLX4_COMPAT_VMWARE has no effect since this option enables
MLX4_PMD_COMPAT_VMWARE. This macro is not used by the PMD which expects
MLX4_COMPAT_VMWARE instead.

Because this option does not work and the related code is no longer useful
for VMware (as it actually supports the flow steering API), remove it
entirely.

Signed-off-by: Olga Shern <olgas@mellanox.com>
Signed-off-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
9 years agoi40e: disable buggy VEB switching
Jingjing Wu [Fri, 20 Mar 2015 07:31:48 +0000 (15:31 +0800)]
i40e: disable buggy VEB switching

Disable VEB switching by removing ALLOW_LB on SRIOV vsi.

If the source mac address of packet sent from VF is not listed in the
VEB's mac table, the VEB will switch the packet back to the VF.
It's a hardware issue. Enabling ALLOW_LB flag will block VF functions.

Test report: http://www.dpdk.org/ml/archives/dev/2015-March/015687.html

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
Tested-by: Huilong Xu <huilongx.xu@intel.com>
9 years agoi40e: fix flow director
Jingjing Wu [Wed, 25 Mar 2015 21:38:12 +0000 (05:38 +0800)]
i40e: fix flow director

This patch sets the local variable ctxt to zero to avoid uncertain
data causes error when creating a vsi for flow director.

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
9 years agoixgbe: fix 5tuple filter overwrite
Jingjing Wu [Wed, 25 Mar 2015 04:47:13 +0000 (12:47 +0800)]
ixgbe: fix 5tuple filter overwrite

This patch corrects the index to fix the issue that is second 5tuple filter
overwrites the first one.

Fixes: 4c54a7e7bd42 ("ixgbe: migrate ntuple filter to new API")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Marvin Liu <yong.liu@intel.com>
9 years agoigb: fix flex filter check for unsupported 82576
Jingjing Wu [Thu, 26 Mar 2015 04:53:21 +0000 (12:53 +0800)]
igb: fix flex filter check for unsupported 82576

Flex filter is currently not supported for NIC 82576.
Only i350 and 82580 support it.
So The MAC_TYPE_FILTER_SUP_EXT is used to check whether the MAC type is
i350 or 82580.

Fixes: 231d43909a31 ("igb: migrate flex filter to new API")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Marvin Liu <yong.liu@intel.com>
9 years agoethdev: fix crash with multiprocess
Bruce Richardson [Thu, 26 Mar 2015 17:02:45 +0000 (17:02 +0000)]
ethdev: fix crash with multiprocess

The data structure for the rx and tx callbacks is local to each process
since it contains function pointers and cannot be shared between
different unique binaries. However, because it is not in
rte_eth_dev_data structure, the array is not getting initialized for
secondary processes - neither is it getting appropriately resized if the
number of RX/TX queues changes. This causes crashes in secondary
processes as they dereference a null pointer in struct rte_eth_dev.

This patch fixes this by introducing an upper-bound on the number of
queues per port that can be configured, and then uses this to make the
array statically sized, thereby avoiding the crashes.

Fixes: 4dc294158cac ("ethdev: support optional Rx and Tx callbacks")

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agohash: fix strict-aliasing for CRC
Yerden Zhumabekov [Tue, 24 Mar 2015 13:31:55 +0000 (19:31 +0600)]
hash: fix strict-aliasing for CRC

Fix rte_hash_crc() function by making use of uintptr_t variable
to hold a pointer to data being hashed. In this way, casting uint64_t
pointer to uint32_t avoided.

Fixes: 614289298daf ("hash: slice CRC data into 8-byte pieces")

Signed-off-by: Yerden Zhumabekov <e_zhumabekov@sts.kz>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agoeal: remove argument need of --create_uio_dev option
Haifeng Gao [Mon, 23 Mar 2015 08:11:39 +0000 (16:11 +0800)]
eal: remove argument need of --create_uio_dev option

eal options OPT_CREATE_UIO_DEV does not need argument so set it to zero.
It needs to reset create_uio_dev explicitly.

Fixes: f7f97c16048e ("pci: add option --create-uio-dev to run without hotplug")

Signed-off-by: Haifeng Gao <gaohaifeng.gao@huawei.com>
Acked-by: Olivier Matz <olivier.matz@6wind.com>
9 years agotools: fix vfio support
Andre Richter [Mon, 23 Mar 2015 12:06:25 +0000 (13:06 +0100)]
tools: fix vfio support

This patch fixes several minor issues in setup.sh:

     - show_nics() would not display the current Ethernet settings if
       the user only loads the vfio-pci module, b/c it only checks for
       presence of igb_uio. Fix this by adding a check for vfio-pci.

     - unbind_nics(): Fix option naming and string inside function.

     - Exchange a forgotten "igb_uio" with "vfio-pci" in a comment.

Signed-off-by: Andre Richter <andre.o.richter@gmail.com>
9 years agoapp/testpmd: fix potential out of bounds read
Julien Cretin [Mon, 9 Mar 2015 13:21:09 +0000 (14:21 +0100)]
app/testpmd: fix potential out of bounds read

After the last enabled port has been seen, and the last time we
evaluate the loop condition, there is an out of bounds read in
ports[p].enabled because p is equal to size, which is the length of
ports.

Signed-off-by: Julien Cretin <julien.cretin@trust-in-soft.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agohash: fix crc32 error when built for i686 and run in x86_64
Michael Qiu [Mon, 23 Mar 2015 08:43:07 +0000 (16:43 +0800)]
hash: fix crc32 error when built for i686 and run in x86_64

When compile target i686 in platform x86_64, the stub function will
be called, and return zero.

Fixes: 12fa4a00788d ("hash: fix unsupported crc instruction in i686 platform")

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agokni: fix build with kernel 3.19
Pablo de Lara [Sun, 22 Mar 2015 18:02:16 +0000 (18:02 +0000)]
kni: fix build with kernel 3.19

Due to API changes in functions ndo_dflt_bridge_getlink
(commit 2c3c031c) and ndo_fdb_add (commit f6f6424b)
in kernel 3.19, DPDK would not build.

This patch solves the problem, by checking the kernel version
and adding the necessary new parameters.

Mind that function igb_ndo_fdb_add does not need the extra parameter
if USE_CONST_DEV_UC_CHAR is not set, since that macro is only defined
when kernel is greater or equal than 3.7

Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agoapp/test: fix build with gcc < 4.4
Marvin Liu [Thu, 19 Mar 2015 03:16:57 +0000 (11:16 +0800)]
app/test: fix build with gcc < 4.4

Option var-tracking-assignments supported in gcc from 4.4.
Add gcc version check wil fix this issue.

error: unrecognized command line option "-fno-var-tracking-assignments"

Fixes: 74adbc5ef704 ("app/test: disable variable tracking assignment for memcpy")

Signed-off-by: Marvin Liu <yong.liu@intel.com>
9 years agoapp/test: fix build constructor with gcc < 4.4
Marvin Liu [Thu, 19 Mar 2015 03:16:56 +0000 (11:16 +0800)]
app/test: fix build constructor with gcc < 4.4

Build app/test will be failed for function only defined but not used.
test_prefetch.c:65: error: ‘testfn_prefetch_cmd’ defined but not used

Add attribute used in test function declaration can fix this.
static void __attribute__((used)) testfn_##t(void);

Fixes: 727909c59231 ("app/test: introduce dynamic commands list")

Signed-off-by: Marvin Liu <yong.liu@intel.com>
9 years agoenic: fix build with gcc < 4.4
Marvin Liu [Thu, 19 Mar 2015 03:16:55 +0000 (11:16 +0800)]
enic: fix build with gcc < 4.4

gcc4.3 will raise warnings in blow code for initialized field overwritten.

enic_main.c: In function ‘enic_set_rsskey’:
enic_main.c:845: error: initialized field overwritten
enic_main.c:845: error: (near initialization for ‘rss_key.key’)
enic_main.c:846: error: initialized field overwritten
enic_main.c:846: error: (near initialization for ‘rss_key.key’)
enic_main.c:847: error: initialized field overwritten
enic_main.c:847: error: (near initialization for ‘rss_key.key’)

static union vnic_rss_key rss_key = {
.key[0] = ...,
.key[1] = ...,
.key[2] = ...,
.key[3] = ...,
};

Change struct initialized code reference to ISO 9899 section 6.7.8.
gcc4.3 will happy for that.

static union vnic_rss_key rss_key = {
.key = {
[0] = ...,
[1] = ...,
[2] = ...,
[3] = ...,
}

Signed-off-by: Marvin Liu <yong.liu@intel.com>
9 years agofm10k: fix build with gcc < 4.4
Marvin Liu [Thu, 19 Mar 2015 03:16:54 +0000 (11:16 +0800)]
fm10k: fix build with gcc < 4.4

Build fm10k driver in Suse11 SP3 will be failed for unrecognized flag.
cc1: error: unrecognized command line option "-Wno-unused-but-set-variable"

This flag is supported from gcc 4.4, so add gcc version check in fm10k.
In the same time, make option check more clear in ixgbe driver.

Signed-off-by: Marvin Liu <yong.liu@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agoeal/x86: fix build sse3 functions with gcc < 4.4
Marvin Liu [Thu, 19 Mar 2015 03:16:52 +0000 (11:16 +0800)]
eal/x86: fix build sse3 functions with gcc < 4.4

In Suse11 SP3, there'll be errors for not found sse3 functions.
rte_memcpy.h: In function ‘rte_memcpy’:
rte_memcpy.h:625: error: implicit declaration of function ‘_mm_alignr_epi8’
rte_memcpy.h:625: error: nested extern declaration of ‘_mm_alignr_epi8’
rte_memcpy.h:625: error: incompatible type for argument 2 of ‘_mm_storeu_si128’

These functions defined in tmmintrin.h and should be included in.

Fixes: 9144d6bcdefd ("eal/x86: optimize memcpy for SSE and AVX")

Signed-off-by: Marvin Liu <yong.liu@intel.com>
9 years agoeal/linux: fix build functions pread and pwrite
Marvin Liu [Thu, 19 Mar 2015 03:16:58 +0000 (11:16 +0800)]
eal/linux: fix build functions pread and pwrite

Function pread need macro _XOPEN_SOURCE be defined.
Add _GNU_SOURCE will fix this issue.

error: implicit declaration of function ‘pread’

Fixes: 4a499c649590 ("eal/linux: enable uio_pci_generic support")

Signed-off-by: Marvin Liu <yong.liu@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agoapp/testpmd: fix reconfig flag for all ports
Yong Liu [Fri, 13 Mar 2015 02:38:23 +0000 (10:38 +0800)]
app/testpmd: fix reconfig flag for all ports

When port id is RTE_PORT_ALL, port_id_is_invalid will also return zero.
So this function will only set ports[255] need_reconfig flag, other ports will
be skipped.

Fixes: edab33b1c01d ("app/testpmd: support port hotplug")

Signed-off-by: Marvin Liu <yong.liu@intel.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
9 years agovhost: fix build
Huawei Xie [Thu, 19 Mar 2015 10:43:24 +0000 (18:43 +0800)]
vhost: fix build

Fix the error "missing initializer" and "cast to pointer from integer of different size".

For the pointer to integer cast issue, need to investigate changing the typeof mapped_address.

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>
9 years agoixgbe: fix buffer overrun in non-bulk alloc mode
Pawel Wodkowski [Thu, 19 Mar 2015 16:09:16 +0000 (17:09 +0100)]
ixgbe: fix buffer overrun in non-bulk alloc mode

When bulk alloc is enabled at compile time but preconditions for
it are not met at runtime the ixgbe_reset_rx_queue() function
overrides rxq->sw_ring not allocated elements.

Fixes: 01fa1d6215fa ("ixgbe: unify Rx setup")

Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
9 years agoixgbe: fix build without builk alloc
Konstantin Ananyev [Fri, 20 Mar 2015 13:59:37 +0000 (13:59 +0000)]
ixgbe: fix build without builk alloc

If RTE_LIBRTE_IXGBE_RX_ALLOW_BULK_ALLOC is disabled in the config file,
RTE_PMD_IXGBE_RX_MAX_BURST macro and ixgbe_recv_pkts_bulk_alloc function
are not declared, and some parts of the ixgbe code were still trying to
use them.

Fixes: 01fa1d6215fa ("ixgbe: unify Rx setup")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agoeal/x86: move header file for vector instructions
Konstantin Ananyev [Wed, 18 Mar 2015 17:08:15 +0000 (17:08 +0000)]
eal/x86: move header file for vector instructions

lib/librte_eal/common/include/rte_common_vect.h ->
lib/librte_eal/common/include/arch/x86/rte_vect.h

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agodoc: remove blank pages in pdf
Thomas Monjalon [Wed, 18 Mar 2015 17:41:57 +0000 (18:41 +0100)]
doc: remove blank pages in pdf

The "manual" Latex template provided by Sphinx introduce a lot
of useless and confusing blank pages.
Let's remove them.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
9 years agodoc: tune pdf fonts
John McNamara [Tue, 3 Feb 2015 14:11:15 +0000 (14:11 +0000)]
doc: tune pdf fonts

This mainly adds metadata but also includes an override to the
Latex formatter to control the font size in code blocks.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
9 years agodoc: fix version for python 3
Thomas Monjalon [Wed, 18 Mar 2015 17:25:51 +0000 (18:25 +0100)]
doc: fix version for python 3

When generating Latex for PDF, this error occurs:
    ! Undefined control sequence.
    \version ->b'2.0.0-rc2\n
Decoding bytes stream into UTF-8 fixes the issue.

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
9 years agodoc: add pdf output
John McNamara [Tue, 3 Feb 2015 14:11:14 +0000 (14:11 +0000)]
doc: add pdf output

Add make system support for building PDF versions of
the guides. Requires Python Sphinx and TexLive Full.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: John McNamara <john.mcnamara@intel.com>
9 years agodoc: convert image extensions to wildcard
John McNamara [Tue, 3 Feb 2015 14:11:18 +0000 (14:11 +0000)]
doc: convert image extensions to wildcard

Changed all image.svg and image.png extensions to image.*
This allows Sphinx to decide the appropriate image type
from the available image options.

In case of PDF, SVG images are converted and Sphinx must pick
the converted version.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
9 years agodoc: refactor split cell formatting in table
John McNamara [Tue, 3 Feb 2015 14:11:17 +0000 (14:11 +0000)]
doc: refactor split cell formatting in table

Refactored split cell in test_pipeline table to allow it to
convert cleanly to PDF.

The Sphinx/Latex converter doesn't handle split cells like the
following:

  +-------------+--------------+
  | Header 1    | Header 2     |
  +=============+==============+
  |             |              |
  |             |              |
  +-------------+              |
  |             |              |
  |             |              |
  +-------------+--------------+

Instead the table was refactored to a simpler format:

  +-------------+--------------+
  | Header 1    | Header 2     |
  +=============+==============+
  |             |              |
  |             |              |
  +-------------+--------------+
  |             |              |
  |             |              |
  +-------------+--------------+

The same information was retained in the table.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
9 years agodoc: fix encoding of (r) character
John McNamara [Tue, 3 Feb 2015 14:11:16 +0000 (14:11 +0000)]
doc: fix encoding of (r) character

Change encoding of (r) from Latin-1 to UTF8 to match the other
symbols in the doc and to allow it to convert cleanly to PDF.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
9 years agoi40e: revert internal switch of PF
Thomas Monjalon [Wed, 18 Mar 2015 09:55:09 +0000 (10:55 +0100)]
i40e: revert internal switch of PF

VEB switching is blocking VF.
If the source mac address of packet sent from VF is not listed in the
VEB’s mac table, the VEB will switch the packet back to the VF.
It's an hardware issue.

Reverts: 2ccabd8cd1f6 ("i40e: enable internal switch of PF").

Reported-by: Jingjing Wu <jingjing.wu@intel.com>
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Helin Zhang <helin.zhang@intel.com>
9 years agoversion: 2.0.0-rc2
Thomas Monjalon [Tue, 17 Mar 2015 22:02:56 +0000 (23:02 +0100)]
version: 2.0.0-rc2

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agoversion: fix include
Thomas Monjalon [Fri, 13 Mar 2015 17:25:44 +0000 (18:25 +0100)]
version: fix include

When including rte_version.h without string.h, there is a compilation error:
include/rte_version.h: error: implicit declaration of function ‘strlen’

Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agonull: fix dereference before null check
Tetsuya Mukawa [Mon, 16 Mar 2015 03:43:21 +0000 (12:43 +0900)]
null: fix dereference before null check

This patch fixes potential null pointer access of eth_null_copy_tx().

Reported-by: John Mcnamara <john.mcnamara@intel.com>
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
9 years agonull: fix memory leak of kvargs
Tetsuya Mukawa [Tue, 17 Mar 2015 04:12:41 +0000 (13:12 +0900)]
null: fix memory leak of kvargs

'struct rte_kvargs' is allocated in rte_kvargs_parse(), and should be
freed with rte_kvargs_free().

Reported-by: John Mcnamara <john.mcnamara@intel.com>
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
9 years agopcap: fix memory leak of kvargs
Tetsuya Mukawa [Tue, 17 Mar 2015 04:12:41 +0000 (13:12 +0900)]
pcap: fix memory leak of kvargs

'struct rte_kvargs' is allocated in rte_kvargs_parse(), and should be
freed with rte_kvargs_free().

Reported-by: John Mcnamara <john.mcnamara@intel.com>
Signed-off-by: Tetsuya Mukawa <mukawa@igel.co.jp>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
9 years agoaf_packet: fix some leaks
Ouyang Changchun [Wed, 11 Mar 2015 01:34:01 +0000 (09:34 +0800)]
af_packet: fix some leaks

Fix possible memory leak issue: free kvlist before return;
Fix possible resource lost issue: close qssockfd before return;

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Acked-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: John W. Linville <linville@tuxdriver.com>
9 years agotools: remove absolute path of chmod for vfio setup
Andre Richter [Thu, 12 Mar 2015 17:18:00 +0000 (18:18 +0100)]
tools: remove absolute path of chmod for vfio setup

setup.sh uses /usr/bin/chmod, but depending on distribution, it is not always there.
For example, Ubuntu has /bin/chmod. Fix this by removing the absolute path, like it is
done e.g. with grep.

Signed-off-by: Andre Richter <andre.o.richter@gmail.com>
9 years agoscripts: add ABI checking utility
Neil Horman [Tue, 17 Mar 2015 18:08:41 +0000 (14:08 -0400)]
scripts: add ABI checking utility

There was a request for an abi validation utilty for the ongoing ABI stability
work.  As it turns out there is a abi compliance checker in development that
seems to be under active development and provides fairly detailed ABI compliance
reports.  Its not yet intellegent enough to understand symbol versioning, but it
does provide the ability to identify symbols which have changed between
releases, along with details of the change, and offers developers the
opportunity to identify which symbols then need versioning and validation for a
given update via manual testing.

This script automates the use of the compliance checker between two arbitrarily
specified tags within the dpdk tree.  To execute enter the $RTE_SDK directory
and run:

./scripts/validate_abi.sh $GIT_TAG1 $GIT_TAG2 $CONFIG

where $GIT_TAG1 and 2 are git tags and $CONFIG is a config specification
suitable for passing as the T= variable in the make config command.

Note the upstream source for the abi compliance checker is here:
http://ispras.linuxbase.org/index.php/ABI_compliance_checker

It generates a report for each DSO built from the requested tags that developers
can review to find ABI compliance issues.

Signed-off-by: Neil Horman <nhorman@tuxdriver.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agodoc: remove copyright from base of html page
Siobhan Butler [Thu, 12 Mar 2015 10:59:29 +0000 (10:59 +0000)]
doc: remove copyright from base of html page

Removing Intel copyright from base of page for each document.

Signed-off-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agodoc: fix quote
Jingjing Wu [Tue, 3 Mar 2015 07:53:39 +0000 (15:53 +0800)]
doc: fix quote

remove the coma character by using ' character

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
9 years agodoc: update release notes for fm10k
Chen Jing D(Mark) [Fri, 13 Mar 2015 09:14:19 +0000 (17:14 +0800)]
doc: update release notes for fm10k

Add feature list for fm10k driver.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: update fm10k prog guide
Chen Jing D(Mark) [Fri, 13 Mar 2015 09:14:18 +0000 (17:14 +0800)]
doc: update fm10k prog guide

DPDK introduced pmd driver for PCIE host-interface of Intel Ethernet
Switch FM10000 Series, update programming guide to describe the new
driver and usage.

Signed-off-by: Chen Jing D(Mark) <jing.d.chen@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
[Thomas: fix title underline]

9 years agodoc: update virtio prog guide
Ouyang Changchun [Mon, 2 Mar 2015 08:40:47 +0000 (16:40 +0800)]
doc: update virtio prog guide

This patch add contents for major change in single virtio implementation,
also add back something for merge-able feature and promiscuous mode in virtio.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
9 years agodoc: add Rx and Tx callbacks sample app user guide
John McNamara [Wed, 25 Feb 2015 19:46:02 +0000 (19:46 +0000)]
doc: add Rx and Tx callbacks sample app user guide

Added a sample application guide for the rxtx_callbacks app.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agodoc: add basic forwarding skeleton user guide
John McNamara [Wed, 25 Feb 2015 19:46:01 +0000 (19:46 +0000)]
doc: add basic forwarding skeleton user guide

Added a sample application guide for the basic forwarding
/skeleton app.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agoexamples/skeleton: improve documentation
John McNamara [Wed, 25 Feb 2015 19:46:00 +0000 (19:46 +0000)]
examples/skeleton: improve documentation

Minor refactoring and comments to make the sample app and
code examples clearer for the sample app guide.

Signed-off-by: John McNamara <john.mcnamara@intel.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
9 years agomaintainers: claim EAL Intel x86
Konstantin Ananyev [Wed, 11 Mar 2015 11:14:30 +0000 (11:14 +0000)]
maintainers: claim EAL Intel x86

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agomaintainers: claim misc sample applications
Bruce Richardson [Wed, 11 Mar 2015 10:48:07 +0000 (10:48 +0000)]
maintainers: claim misc sample applications

Claim the following sample applications:
* dpdk_qat
* helloworld
* l2fwd
* skeleton

Signed-off-by: Bruce Richardson <bruce.richarsdon@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agomaintainers: claim ring pmd library
Bruce Richardson [Wed, 11 Mar 2015 10:31:54 +0000 (10:31 +0000)]
maintainers: claim ring pmd library

Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
9 years agovhost: add hint on how to add or remove device to a data core
Benoît Canet [Fri, 27 Feb 2015 10:22:45 +0000 (11:22 +0100)]
vhost: add hint on how to add or remove device to a data core

Let's make sure people will not forget to set and unset VIRTIO_DEV_RUNNING.

Signed-off-by: Benoît Canet <benoit.canet@nodalink.com>
Acked-by: Huawei Xie <huawei.xie@intel.com>
9 years agoixgbe: unify Rx setup
Vlad Zolotarov [Thu, 12 Mar 2015 21:17:32 +0000 (23:17 +0200)]
ixgbe: unify Rx setup

   - Set the callback in a single function that is called from
     ixgbe_dev_rx_init() for a primary process and from eth_ixgbe_dev_init()
     for a secondary processes. This is instead of multiple, hard to track places.
   - Added ixgbe_hw.rx_bulk_alloc_allowed - see ixgbe_hw.rx_vec_allowed description below.
   - Added ixgbe_hw.rx_vec_allowed: like with Bulk Allocation, Vector Rx is
     enabled or disabled on a per-port level. All queues have to meet the appropriate
     preconditions and if any of them doesn't - the feature has to be disabled.
     Therefore ixgbe_hw.rx_vec_allowed will be updated during each queues configuration
     (rte_eth_rx_queue_setup()) and then used in rte_eth_dev_start() to configure the
     appropriate callbacks. The same happens with ixgbe_hw.rx_vec_allowed in a Bulk Allocation
     context.
   - Bugs fixed:
      - Vector scattered packets callback was called regardless the appropriate
        preconditions:
         - Vector Rx specific preconditions.
         - Bulk Allocation preconditions.
      - Vector Rx was enabled/disabled according to the last queue setting and not
        based on all queues setting (which may be different for each queue).

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
9 years agoixgbe: fix Rx CRC stripping for X540
Vlad Zolotarov [Thu, 12 Mar 2015 21:17:31 +0000 (23:17 +0200)]
ixgbe: fix Rx CRC stripping for X540

According to x540 spec chapter 8.2.4.8.9 CRCSTRIP field of RDRXCTL should
be configured to the same value as HLREG0.RXCRCSTRP.

Clearing the RDRXCTL.RSCFRSTSIZE field for x540 is not required by the spec
but seems harmless.

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
9 years agoixgbe: fix endianness of ring descriptor access
Vlad Zolotarov [Thu, 12 Mar 2015 21:17:30 +0000 (23:17 +0200)]
ixgbe: fix endianness of ring descriptor access

Use the rte_le_to_cpu_xx()/rte_cpu_to_le_xx() when reading/setting HW ring
descriptor fields.
Fixed the above in ixgbe_rx_alloc_bufs() and in ixgbe_recv_scattered_pkts().

Signed-off-by: Vlad Zolotarov <vladz@cloudius-systems.com>
Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
9 years agofm10k: set pointer to NULL after free
Michael Qiu [Fri, 6 Mar 2015 07:56:47 +0000 (15:56 +0800)]
fm10k: set pointer to NULL after free

It could be a potential not safe issue.

Signed-off-by: Michael Qiu <michael.qiu@intel.com>
Acked-by: Jing Chen <jing.d.chen@intel.com>
9 years agovhost: add build option for vhost-user
Huawei Xie [Thu, 12 Mar 2015 15:30:23 +0000 (23:30 +0800)]
vhost: add build option for vhost-user

Turn on CONFIG_RTE_LIBRTE_VHOST to enable vhost.
vhost-user is turned on by default. Turn off CONFIG_RTE_LIBRTE_VHOST_USER to
enable vhost-cuse implementation.

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
Acked-by: Changchun Ouyang <changchun.ouyang@intel.com>