The warnings about functions not returning values can be removed from the
code by just adding an attribute to the function to specifies it doesn't
return. The GCC bug referenced in the makefile which prevents this from
working has been fixed for >10 years according to bugzilla.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Tue, 22 Oct 2019 15:43:03 +0000 (16:43 +0100)]
examples/ethtool: build as part of meson build
Since the code for the ethtool example was contained in subdirectories the
compilation of this example is different from most of the other apps, and
it had not been abled when the user requests a build with "-Dexamples=all".
To simplify the build with meson, the separate ethtool library is not build
separately, rather the app is built as a single entity.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Tue, 22 Oct 2019 15:43:02 +0000 (16:43 +0100)]
examples/bpf: remove from list of examples to build
The examples/bpf directory does not contain an example app, but rather
example code for use with testpmd's BPF support. Therefore, we should not
attempt to build it when the user requests "examples=all". This also
synchronises the meson behaviour with make which similarly doesn't compile
up the code.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Tue, 24 Sep 2019 12:04:14 +0000 (13:04 +0100)]
port: fix pcap support with meson
The meson build was missing the define to enable pcap port support if
libpcap (development) package was found on the build platform. Rather than
duplicating the checks for libpcap found in the pcap net PMD build file, we
can move the checks to the top-level config directory and reference the
RTE_PCAP_PORT setting elsewhere in the build.
Bugzilla ID: 351 Fixes: 5b9656b157d3 ("lib: build with meson") Cc: stable@dpdk.org Reported-by: Cristian Bidea <cristian.bidea@keysight.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Tested-by: Cristian Bidea <cristian.bidea@keysight.com>
Ciara Power [Thu, 10 Oct 2019 12:36:03 +0000 (13:36 +0100)]
raw/ioat: fix initial ring size check
When running the ioat_rawdev_autotest, the ring size was initially required
to be 0. This prevented the test being run multiple times, as the ring size
is modified to a non-zero value when running the first test.
A global variable is now used to track the expected ring size, and is used
in the initial value check. This enables the test to be run more than
once.
Fixes: 849470d522ed ("raw/ioat: add configure, start and stop functions") Cc: stable@dpdk.org Reported-by: Yinan Wang <yinan.wang@intel.com> Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Ciara Power [Thu, 10 Oct 2019 12:36:02 +0000 (13:36 +0100)]
raw/ioat: fix device state after test
The ioat rawdev was initially started during the test, however was never
stopped. This would cause issues when running the test again, as the device
cannot be configured when in a running state.
The device is now stopped after the test has completed, or if the test is
terminated due to error.
Fixes: 849470d522ed ("raw/ioat: add configure, start and stop functions") Cc: stable@dpdk.org Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Any file with ABI versioned functions needs different macros for shared and
static builds, so we need to accommodate that. Rather than building
everything twice, we just flag to the build system which libraries need
that handling, by setting use_function_versioning in the meson.build files.
To ensure we don't get silent errors at build time due to this meson flag
being missed, we add an explicit error to the function versioning header
file if a known C macro is not defined. Since "make" builds always only
build one of shared or static libraries, this define can be always set, and
so is added to the global CFLAGS. For meson, the build flag - and therefore
the C define - is set for the three libraries that need the function
versioning: "distributor", "lpm" and "timer".
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Tested-by: Andrzej Ostruszka <amo@semihalf.com> Reviewed-by: Andrzej Ostruszka <amo@semihalf.com>
The compat.h header file provided macros for two purposes:
1. it provided the macros for marking functions as rte_experimental
2. it provided the macros for doing function versioning
Although these were in the same file, #1 is something that is for use by
public header files, which #2 is for internal use only. Therefore, we can
split these into two headers, keeping #1 in rte_compat.h and #2 in a new
file rte_function_versioning.h. For "make" builds, since internal objects
pick up the headers from the "include/" folder, we need to add the new
header to the installation list, but for "meson" builds it does not need to
be installed as it's not for public use.
The rework also serves to allow the use of the function versioning macros
to files that actually need them, so the use of experimental functions does
not need including of the versioning code.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Reviewed-by: Andrzej Ostruszka <amo@semihalf.com>
Ciara Power [Thu, 26 Sep 2019 15:11:59 +0000 (16:11 +0100)]
app/procinfo: use strlcpy for copying string
Replaced strncpy and strcpy with strlcpy.
Also replaced snprintf with strlcpy where applicable.
Using strlcpy is safe practice when copying strings, as it will include
a null terminator.
Fixes: 2deb6b5246d7 ("app/procinfo: add collectd format and host id") Fixes: 8a37f37fc243 ("app/procinfo: add --show-port") Cc: stable@dpdk.org Reported-by: Reshma Pattan <reshma.pattan@intel.com> Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Igor Ryzhov [Fri, 25 Oct 2019 18:30:58 +0000 (19:30 +0100)]
kni: add ability to set min/max MTU
Starting with kernel version 4.10, there are new min/max MTU values in
net_device structure, which are set to ETH_MIN_MTU and ETH_DATA_LEN by
default. We should be able to change these values to allow MTU more than
1500 to be set on KNI.
Signed-off-by: Igor Ryzhov <iryzhov@nfware.com> Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
Use of %llx print formatting causes meson build error on Power systems with
RHEL 7.6 and gcc 4.8.5. Replace with PRIx64 macro.
Fixes: 9b62e2da1844 ("vhost: register new regions with userfaultfd") Cc: stable@dpdk.org Signed-off-by: David Christensen <drc@linux.vnet.ibm.com> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com>
gcc 4.8.5 used on RHEL 7.6 can identify a Power 9 CPU but cannot generate
Power 9 code when the "-mcpu=native" command line argument is used. Test
whether the compiler can generate Power 9 code and adjust the machine
setting appropriately.
Signed-off-by: David Christensen <drc@linux.vnet.ibm.com>
David Marchand [Sun, 27 Oct 2019 06:14:05 +0000 (07:14 +0100)]
ethdev: bump library version
Let's stick to the current model of per library ABI version until the
new model is in place.
The ABI changed in the incriminated commit.
The release notes were updated accordingly but the compiled version
number has been missed.
Fixes: 4f25d7d2252f ("ethdev: add return code to device info get function") Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
David Marchand [Fri, 25 Oct 2019 13:56:06 +0000 (15:56 +0200)]
log: add log stream accessor
Define an accessor so that users can write their debug message to the
same stream than the rte_log infrastructure.
Use it in the qat infrastructure.
Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Kevin Traynor <ktraynor@redhat.com>
David Marchand [Fri, 25 Oct 2019 13:56:04 +0000 (15:56 +0200)]
net/bonding: use non deprecated PCI API
rte_eal_compare_pci_addr has been deprecated since v17.11.
Convert to rte_pci_addr_cmp.
Fixes: c848b518bbc7 ("net/bonding: support bifurcated driver in eal") Cc: stable@dpdk.org Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
Ciara Power [Fri, 25 Oct 2019 09:56:08 +0000 (10:56 +0100)]
examples/load_balancer: remove example
This example can be removed because DPDK now has a range
of libraries, especially rte_eventdev, that did not exist
previously for load balancing, making this less relevant.
Also, modern NIC cards have greater ability to do load balancing,
e.g. using RSS, over a wider range of fields than earlier cards did.
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Ciara Power [Fri, 25 Oct 2019 09:56:06 +0000 (10:56 +0100)]
examples/quota-watermark: remove example
Original DPDK rings code had explicit support for a
single watermark per-ring, but more recent releases of
DPDK had a more general mechanism where each enqueue
or dequeue call could return the remaining elements/free-slots
in the ring.
Therefore, this example is not as relevant as before and can be removed.
Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Stephen Hemminger <stephen@networkplumber.org> Acked-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Chunsong Feng [Fri, 25 Oct 2019 12:37:05 +0000 (20:37 +0800)]
net/hns3: fix FLR reset
PF FLR resets the PCIe ECAM space of all VFs under the PF
and does not automatically recover. Therefore, the VF driver
needs to restore the ECAM configuration, including
bus_master_en, msix_enable to avoid FLR reset failure.
Fixes: 2790c6464725 ("net/hns3: support device reset") Signed-off-by: Chunsong Feng <fengchunsong@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Hongbo Zheng [Fri, 25 Oct 2019 12:37:04 +0000 (20:37 +0800)]
net/hns3: fix error code for firmware timeout
Configuration commands are sent to firmware for processing.
When firmware processing timeout, the corresponding error
code is returned. Considering that it is more reasonable to
use error code -ETIME for timeout error, the error code for
processing timeout is changed from -EBADE to -ETIME.
Fixes: 737f30e1c3ab ("net/hns3: support command interface with firmware") Signed-off-by: Hongbo Zheng <zhenghongbo3@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Wei Hu (Xavier) [Fri, 25 Oct 2019 12:37:03 +0000 (20:37 +0800)]
net/hns3: fix offload flag for RSS hash
This patch adds PKT_RX_RSS_HASH flag to rx packet's ol_flags
to repair the bug that hns3 pmd driver doesn't set
PKT_RX_RSS_HASH flag. In hns3 network engine RSS is always
enabled.
Fixes: bba636698316 ("net/hns3: support Rx/Tx and related operations") Signed-off-by: Hao Chen <chenhao164@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Hao Chen [Fri, 25 Oct 2019 12:37:02 +0000 (20:37 +0800)]
net/hns3: fix statistics
This patch fixes the statistics problems for sending and receiving
message as belows:
1.In receiving direction, for FCS error messages, drivers should not
record them in rte_eth_stats.ipackets statistics.
2.In sending direction, for messages of illegal length, too long or
equals 0, drivers should not notify the network card hardware to
send them, should not continue to send the remaining message in burst,
and record them in rte_eth_stats.opackets statistics.
Fixes: 8839c5e202f3 ("net/hns3: support device stats") Signed-off-by: Hao Chen <chenhao164@huawei.com> Signed-off-by: Wei Hu (Xavier) <xavier.huwei@huawei.com>
Andrew Rybchenko [Thu, 24 Oct 2019 17:46:09 +0000 (18:46 +0100)]
net/virtio: fix Tx checksum offloads
Missing parenthesis around expression before type cast to struct
virtio_net_hdr pointer makes the arithmetic to be in
sizeof(struct virtio_net_hdr) units.
Use rte_pktmbuf_mtod_offset() to fix the problem.
Type of head_size is changed to signed since some compilers bark
on unary minus applied to unsigned.
Fixes: 1ae55ad38e5e ("net/virtio: fix mbuf data and packet length mismatch") Cc: stable@dpdk.org Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Tiwei Bie <tiwei.bie@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Venkat Duvvuru [Thu, 24 Oct 2019 07:44:32 +0000 (13:14 +0530)]
net/bnxt: uninit locks during resource cleanup
Currently, bnxt_uninit_locks is called inside bnxt_dev_uninit. However,
the more appropriate place to call it is inside bnxt_uninit_resources.
This is more logical, as all the resources uninitialization is happening
inside bnxt_uninit_resources.
Kalesh AP [Thu, 24 Oct 2019 07:44:31 +0000 (13:14 +0530)]
net/bnxt: fix memory leak
During hot fw upgrade or error recovery, driver does cleanup and
reallocation of resources. But driver reallocates memory for ring
group info table without freeing the allocated memory during
device init.
Fix this memory leak by moving the freeing of ring group info table
to bnxt_free_mem() in bnxt_uninit_resources().
Kalesh AP [Thu, 24 Oct 2019 07:44:28 +0000 (13:14 +0530)]
net/bnxt: add more checks during firmware reset
Added check for fw reset or fw errors in few more routines.
While processing the events, if it is fw fatal or non-fatal
event, there is no need to process the remaining events as
driver triggers recovery mechanism.
Also added a check for fw reset or fatal error in bnxt_disable_int()
to avoid bar access in case of fatal error.
net/bnxt: fix crash after removing and adding slaves
On removing the slave interface, slave_remove in bonding module calls
_rte_eth_dev_reset which in turn frees both Tx and Rx queues.
1. segfault is seen after removing/adding the slave interface and starting
bond interface.
In this below path, when mtu is set for the slave interface, queues are
not created yet and driver reference to queue[0] causes the segfault.
slave_configure:
rte_eth_dev_set_mtu
rte_eth_dev_configure
rte_eth_rx_queue_setup
2. segfault is seen on starting the port after removing from bond device.
This is a testpmd bug where in, on starting the port, testpmd is supposed
to recreate the queues before starting the port.
Fixed these by adding check for queues created before accessing them.
Kalesh AP [Thu, 24 Oct 2019 07:44:23 +0000 (13:14 +0530)]
net/bnxt: fix race between start and interrupt handler
During port start, driver enables interrupts. At the end of port start
driver schedules the alarm for fw health check. This can cause race
between interrupt handler and schedule fw health check alarm thread
which falsely detects FW error.
Fixes: 9d0cbaecc91a ("net/bnxt: support periodic FW health monitoring") Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com> Reviewed-by: Ajit Khaparde <ajit.khaparde@broadcom.com>
Venkat Duvvuru [Thu, 24 Oct 2019 07:44:22 +0000 (13:14 +0530)]
net/bnxt: fix default MAC check
bnxt_set_hwrm_vnic_filters programs default mac addr and the
same default mac is added by mac_add_addr_op routine as well.
This redundant mac add is avoided by checking if the default
mac is already added.
However, that check is wrong. The check should consider the
mac index as well to determine the default mac. This patch
fixes it by using mac index to determine the default mac.
net/bnxt: fix RSS configuration for Thor controller
rss_table structure stores receive, completion ring IDs for Thor based
controllers and receive queue id for others. Below commit accidentally
left the old code and hence was always overwriting receive ring id with
queue id for Thor. This causes subsequent VNIC_RSS_CFG command to fail.
Ajit Khaparde [Thu, 24 Oct 2019 07:44:19 +0000 (13:14 +0530)]
net/bnxt: fix writing MTU to FW
We are currently writing the MAX supported MTU size even though
the MTU passed by the application is a different value.
Configure the application specified MTU instead.
Fixes: b7778e8a1c00 ("net/bnxt: refactor to properly allocate resources for PF/VF") Cc: stable@dpdk.org Signed-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com> Signed-off-by: Somnath Kotur <somnath.kotur@broadcom.com>
Driver was setting maximum receive unit differently in bnxt_mtu_set_op
and bnxt_hwrm_vnic_alloc. Moreover firmware adds the 4 bytes for FCS.
Fixed it by setting correct maximum receive unit value.
Peng Huang [Thu, 24 Oct 2019 09:37:34 +0000 (09:37 +0000)]
app/testpmd: fix Tx checksum when TSO enabled
This patch fixed the TX checksum value problem when enabled TSO in
tunnel packets, because outer UDP checksum calculation depend on
the TSO configuration.
Fixes: 0f62d63593ed ("app/testpmd: support tunneled TSO in checksum engine") Cc: stable@dpdk.org Signed-off-by: Peng Huang <peng.huang@intel.com> Acked-by: Bernard Iremonger <bernard.iremonger@intel.com>
Raslan Darawsheh [Wed, 23 Oct 2019 11:31:45 +0000 (11:31 +0000)]
net/mlx: fix debug build with icc
Trying to compile mlx5 pmd in debug mode with icc
will lead to compilation failures due to the fact that
icc doesn't have support for the pragma of pedantic.
Flavio Leitner [Thu, 24 Oct 2019 16:29:19 +0000 (13:29 -0300)]
vhost: fix IPv4 checksum
Currently the IPv4 header checksum is calculated including its
current value, which can be a valid checksum or just garbage.
In any case, if the original value is not zero, then the result
is always wrong.
The IPv4 checksum is defined in RFC791, page 14 says:
Header Checksum: 16 bits
The checksum algorithm is:
The checksum field is the 16 bit one's complement of the one's
complement sum of all 16 bit words in the header. For purposes of
computing the checksum, the value of the checksum field is zero.
Thus force the csum field to always be zero.
Fixes: b08b8cfeb2ae ("vhost: fix IP checksum") Cc: stable@dpdk.org Signed-off-by: Flavio Leitner <fbl@sysclose.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Jin Yu [Thu, 24 Oct 2019 10:21:59 +0000 (18:21 +0800)]
examples: delete vhost SCSI example
This example is too old and SPDK will not maintain this example
anymore. Also SPDK has submitted a new vhost example vhost-blk.
We will keep on maintaining vhost-blk and It shows the packed
ring and live recovery support.
Signed-off-by: Jin Yu <jin.yu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
This driver supports none of DCB, RSS or VMDQ modes, therefore must
check and return error if configured incorrectly.
Virtio can distribute Rx packets across multi-queue, but there is
no controls (algorithm, redirection table, hash function) except
number of Rx queues and ETH_MQ_RX_NONE is the best fit meaning
no method is enforced on how to route packets to MQs.
Fixes: c1f86306a026 ("virtio: add new driver") Cc: stable@dpdk.org Signed-off-by: Dilshod Urazov <dilshod.urazov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Ilya Maximets [Thu, 17 Oct 2019 15:00:19 +0000 (17:00 +0200)]
vhost: disable host TSO for linear buffers without extbuf
If linear buffers requested and external buffers are not, vhost
will not be able to receive any buffer that doesn't fit in a
single mbuf. Moreover, if such a buffer will appear in a vring
it will never be dequeued and the whole vring will become dead
breaking the network connection.
Disable segmentation offloading from the host side to avoid
having such a big buffers.
Fixes: c3ff0ac70acb ("vhost: improve performance by supporting large buffer") Signed-off-by: Ilya Maximets <i.maximets@ovn.org> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Ilya Maximets [Wed, 16 Oct 2019 14:31:07 +0000 (16:31 +0200)]
vhost: return error message for mbuf allocation failure
mbuf allocation failure is a hard failure that highlights some
significant issues with memory pool size or a mbuf leak.
We still have the message for subsequent chained mbufs, but not
for the first one. It was removed while introducing extbuf
support for large buffers. But it was useful for catching
mempool issues and needs to be returned back.
Marvin Liu [Thu, 24 Oct 2019 16:08:31 +0000 (00:08 +0800)]
vhost: optimize packed ring dequeue
Optimize vhost device packed ring dequeue function by splitting batch
and single functions. No-chained and direct descriptors will be handled
by batch and other will be handled by single as before.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Marvin Liu [Thu, 24 Oct 2019 16:08:29 +0000 (00:08 +0800)]
vhost: optimize packed ring enqueue
Optimize vhost device packed ring enqueue function by splitting batch
and single functions. Packets can be filled into one desc will be
handled by batch and others will be handled by single as before.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Marvin Liu [Thu, 24 Oct 2019 16:08:28 +0000 (00:08 +0800)]
vhost: update packed ring dequeue
Buffer used ring updates as many as possible in vhost dequeue function
for coordinating with virtio driver. For supporting buffer, shadow used
ring element should contain descriptor's flags. First shadowed ring
index was recorded for calculating buffered number.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Marvin Liu [Thu, 24 Oct 2019 16:08:26 +0000 (00:08 +0800)]
vhost: flush enqueue updates by cacheline
Buffer vhost packed ring enqueue updates, flush ring descs if buffered
content filled up one cacheline. Thus virtio can receive packets at a
faster frequency.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Marvin Liu [Thu, 24 Oct 2019 16:08:25 +0000 (00:08 +0800)]
vhost: add packed ring batch dequeue
Add batch dequeue function like enqueue function for packed ring, batch
dequeue function will not support chained descriptors, single packet
dequeue function will handle it.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Marvin Liu [Thu, 24 Oct 2019 16:08:23 +0000 (00:08 +0800)]
vhost: add packed ring batch enqueue
Batch enqueue function will first check whether descriptors are cache
aligned. It will also check prerequisites in the beginning. Batch
enqueue function do not support chained mbufs, single packet enqueue
function will handle it.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Marvin Liu [Thu, 24 Oct 2019 16:08:22 +0000 (00:08 +0800)]
vhost: try to unroll for each loop
Create macro for adding unroll pragma before for each loop. Batch
functions will be contained of several small loops which can be
optimized by compilers' loop unrolling pragma.
Signed-off-by: Marvin Liu <yong.liu@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Alvin Zhang [Tue, 8 Oct 2019 10:52:31 +0000 (18:52 +0800)]
net/i40e: fix exception with multi-driver
If support-multi-driver is enabled, the global registers should not
be configured. But with the current code base, if creating a flow
with rte_flow API, the global register GLQF_FD_MSK may be changed.
Yahui Cao [Thu, 24 Oct 2019 12:56:37 +0000 (20:56 +0800)]
net/ice: fix IPv6 UDP port matching
Reverse the src and dest notion, since the HW expects them to be from Tx
perspective where as the input from user is from Rx filter view.
Fixes: f5cafa961fae ("net/ice: add flow director create and destroy") Signed-off-by: Yahui Cao <yahui.cao@intel.com> Reviewed-by: Xiaolong Ye <xiaolong.ye@intel.com>
Ciara Power [Wed, 23 Oct 2019 12:53:00 +0000 (13:53 +0100)]
ethdev: fix include of ethernet header file
The include for rte_ether.h in each of these files should not use
quotes, as the header file is not in the librte_ethdev directory.
These are now updated to use <> symbols, to search directories
pre-designated by the compiler.
Fixes: 57668ed7bc08 ("net: move ethernet definitions to the net library") Cc: stable@dpdk.org Signed-off-by: Ciara Power <ciara.power@intel.com> Acked-by: Thomas Monjalon <thomas@monjalon.net>
Wisam Jaddo [Thu, 17 Oct 2019 08:13:52 +0000 (08:13 +0000)]
app/testpmd: fix missing GENEVE item in raw encap
Fixes: 0f4203fe9d18 ("app/testpmd: support GENEVE pattern item in flow rules") Cc: stable@dpdk.org Signed-off-by: Wisam Jaddo <wisamm@mellanox.com> Acked-by: Ori Kam <orika@mellanox.com>
Anand Sunkad [Thu, 17 Oct 2019 13:20:50 +0000 (13:20 +0000)]
net/memif: support multiple Tx
When Multiple slave/master Memif's interfaces are created in single
process data transmission over second connection is not successful.
Issue is because of "mq->in_port" is not initialized with
"dev->data->port_id" in memif_tx_queue_setup() function, and while
transmitting packets over second connection in eth_memif_tx function
it refer "mq->in_port" which is always zero, which leads to data
transmission always in 0th port.
To mitigate the issue,"mq->in_port" is initialized with
"dev->data->port_id" in memif_tx_queue_setup() function.
Signed-off-by: Anand Sunkad <anand.sunkad@benisontech.com> Reviewed-by: Jakub Grajciar <jgrajcia@cisco.com>
Jakub Grajciar [Wed, 23 Oct 2019 08:07:32 +0000 (10:07 +0200)]
net/memif: fix Unix domain address length
Define MEMIF_SOCKET_UN_SIZE to size of unix domain socket address.
Report error in case of longer path.
Fixes: b923866c6974 ("net/memif: allow for full key size in socket name") Signed-off-by: Jakub Grajciar <jgrajcia@cisco.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
Ting Xu [Tue, 22 Oct 2019 16:26:36 +0000 (16:26 +0000)]
app/testpmd: add GTP parsing and Tx checksum offload
Enable testpmd to forward GTP packet in csum fwd mode.
A GTP header structure (without optional fields and extension header)
is defined in new rte_gtp.h.
A parser function in testpmd is added. GTPU and GTPC packets are both
supported, with respective UDP destination port and GTP message type.