Commit Graph

2285 Commits

Author SHA1 Message Date
Jingjing Wu
b9a8b2f809 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: d8b90c4eab ("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>
2015-04-01 21:45:10 +02:00
Pablo de Lara
be2d7a05eb 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>
2015-04-01 21:27:08 +02:00
John McNamara
2b1a550910 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: ebf8050afd ("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>
2015-04-01 21:13:24 +02:00
Thomas Monjalon
b5a1f1ae2f 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>
2015-04-01 21:12:46 +02:00
Thomas Monjalon
f14db469be version: 2.0.0-rc3
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2015-03-31 03:34:24 +02:00
Siobhan Butler
c5331c7a1d 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>
2015-03-31 03:28:34 +02:00
Siobhan Butler
2a96aca9ec 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>
2015-03-31 03:27:27 +02:00
Siobhan Butler
a73a9510eb 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>
2015-03-31 03:21:41 +02:00
Helin Zhang
ef7d286685 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>
2015-03-31 03:19:07 +02:00
Changchun Ouyang
c0f4d7a4ed 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>
2015-03-31 03:12:52 +02:00
Huawei Xie
9bc23cb820 doc: add vhost-user to sample guide
add vhost user documentation
fix some minor issues

Signed-off-by: Huawei Xie <huawei.xie@intel.com>
2015-03-31 03:02:44 +02:00
Huawei Xie
42683a7da7 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>
2015-03-31 03:00:57 +02:00
Changchun Ouyang
f904713a50 doc: add new vlan option in vhost sample guide
see commit: e3d61d1609.

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2015-03-31 02:55:07 +02:00
Siobhan Butler
92893bbd40 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>
2015-03-31 02:55:07 +02:00
Changchun Ouyang
b9fcaeec5f doc: add ixgbe VF RSS guide
Update the prog guide for commit: 42d2f78abc

Signed-off-by: Changchun Ouyang <changchun.ouyang@intel.com>
2015-03-31 02:55:07 +02:00
Bruce Richardson
5af3be004b 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>
2015-03-31 02:55:07 +02:00
Olivier Matz
2542ad53d8 doc: add description of the offload API
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
2015-03-31 02:55:07 +02:00
Olivier Matz
c22f2fee16 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>
2015-03-31 02:55:07 +02:00
Olivier Matz
2802b62a75 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>
2015-03-31 02:55:07 +02:00
Pawel Wodkowski
ccefe752ca doc: add jobstats sample guide
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
[Thomas: fix image extensions for PDF]
2015-03-31 02:54:52 +02:00
Pawel Wodkowski
24b7590ae4 doc: add jobstats library and sample release notes
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
2015-03-31 02:54:28 +02:00
Pawel Wodkowski
5bf6dc2a63 doc: update bonding mode 6 release notes
Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com>
2015-03-31 02:10:41 +02:00
Pablo de Lara
e3ab7a94ef 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>
2015-03-31 02:08:51 +02:00
Cunming Liang
e1ed63b0bd doc: cleanup multi-pthread prog guide
Fixes: 1733be6d31 ("doc: new eal multi-pthread feature")

Reported-by: Siobhan Butler <siobhan.a.butler@intel.com>
Signed-off-by: Cunming Liang <cunming.liang@intel.com>
2015-03-31 02:00:08 +02:00
Thomas Monjalon
972e365bfe 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>
2015-03-31 01:33:22 +02:00
Thomas Monjalon
08558763b7 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>
2015-03-31 00:13:28 +02:00
Thomas Monjalon
5ca9b4efeb doc: fix file attributes
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
Acked-by: Siobhan Butler <siobhan.a.butler@intel.com>
2015-03-31 00:12:51 +02:00
Nicolás Pernas Maradei
cf8e1910ff 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>
2015-03-30 23:59:22 +02:00
Pawel Wodkowski
205f47e57c 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>
2015-03-30 22:44:03 +02:00
Shelton Chia
74144773b9 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>
2015-03-30 22:30:26 +02:00
Changchun Ouyang
880dcec287 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>
2015-03-30 22:10:23 +02:00
John McNamara
467465d86d 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>
2015-03-30 21:51:48 +02:00
Maciej Gajdzica
444b872a76 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>
2015-03-30 19:10:15 +02:00
Maciej Gajdzica
4ad7a16a13 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>
2015-03-30 19:10:15 +02:00
Maciej Gajdzica
495f91870e 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>
2015-03-30 19:10:15 +02:00
Bruce Richardson
2911571232 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>
2015-03-30 19:10:09 +02:00
Miroslaw Walukiewicz
2f95a470b8 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>
2015-03-26 22:33:41 +01:00
Pavel Boldin
38f4f01f8f 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>
2015-03-26 22:33:41 +01:00
Haifeng Lin
5c561b0a23 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>
2015-03-26 22:33:41 +01:00
Jia Yu
10ef5d7891 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>
2015-03-26 22:33:41 +01:00
Adrien Mazarguil
ad37b97d8d 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>
2015-03-26 22:33:41 +01:00
Jingjing Wu
8a4a11ce4c 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>
2015-03-26 22:29:15 +01:00
Jingjing Wu
891121d891 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>
2015-03-26 22:27:52 +01:00
Jingjing Wu
817c579c25 ixgbe: fix 5tuple filter overwrite
This patch corrects the index to fix the issue that is second 5tuple filter
overwrites the first one.

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

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Marvin Liu <yong.liu@intel.com>
2015-03-26 22:27:51 +01:00
Jingjing Wu
8f6b95f6ac 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: 231d43909a ("igb: migrate flex filter to new API")

Signed-off-by: Jingjing Wu <jingjing.wu@intel.com>
Acked-by: Marvin Liu <yong.liu@intel.com>
2015-03-26 22:27:51 +01:00
Bruce Richardson
14b53e27b3 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: 4dc294158c ("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>
2015-03-26 22:27:51 +01:00
Yerden Zhumabekov
504a29af13 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: 614289298d ("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>
2015-03-26 22:27:51 +01:00
Haifeng Gao
91a8743eb9 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: f7f97c1604 ("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>
2015-03-23 17:34:23 +01:00
Andre Richter
25a6912796 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>
2015-03-23 14:29:31 +01:00
Julien Cretin
12a8e30fd7 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>
2015-03-23 12:35:20 +01:00