#
91dc9c13 |
| 13-Nov-2018 |
Herakliusz Lipiec <herakliusz.lipiec@intel.com> |
examples/ipv4_multicast: fix leak of cloned packets
The ipv4_multicast sample application was dropping packets when using mbuf clone. When creating an L2 header and copying metadata from the source
examples/ipv4_multicast: fix leak of cloned packets
The ipv4_multicast sample application was dropping packets when using mbuf clone. When creating an L2 header and copying metadata from the source packet, the ol_flags were also copied along with all the other metadata. Because the cloned packet had IND_ATTACHED_MBUF flag set in its ol_flags, this caused the packets to never be freed when using rte_pktmbuf_free. Since copying ol_flags from the cloned packet is not necessary in the first place, just don't do it.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org
Reported-by: Dong Wang <dong1.wang@intel.com> Signed-off-by: Herakliusz Lipiec <herakliusz.lipiec@intel.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Dong Wang <dong1.wang@intel.com>
show more ...
|
#
23021f1c |
| 17-Oct-2018 |
Wei Zhao <wei.zhao1@intel.com> |
examples/ipv4_multicast: enable multicast promiscuous
This example has not been enable for receiving multicast packet, so it will drop multicast packet. Users must send packet with ether MAC destina
examples/ipv4_multicast: enable multicast promiscuous
This example has not been enable for receiving multicast packet, so it will drop multicast packet. Users must send packet with ether MAC destination address the same as pf port MAC address, in order to forward packet successfully, but this is an example for forwarding ipv4 multicastpacket. So calling function rte_eth_promiscuous_enable() or rte_eth_allmulticast_enable() can enable promiscuous mode of all multicast packet. And also, DPDK has rte API function of rte_eth_dev_set_mc_addr_list() for setting specific multicast filter table for specific multicast IP address, but this example do not support this configuration, so it need to be enable multicast promiscuous mode instead.
Signed-off-by: Wei Zhao <wei.zhao1@intel.com> Tested-by: Dong Wang <dong1.wang@intel.com>
show more ...
|
#
323e7b66 |
| 04-Sep-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: make default behavior CRC strip on Rx
Removed DEV_RX_OFFLOAD_CRC_STRIP offload flag. Without any specific Rx offload flag, default behavior by PMDs is to strip CRC.
PMDs that support keepin
ethdev: make default behavior CRC strip on Rx
Removed DEV_RX_OFFLOAD_CRC_STRIP offload flag. Without any specific Rx offload flag, default behavior by PMDs is to strip CRC.
PMDs that support keeping CRC should advertise DEV_RX_OFFLOAD_KEEP_CRC Rx offload capability.
Applications that require keeping CRC should check PMD capability first and if it is supported can enable this feature by setting DEV_RX_OFFLOAD_KEEP_CRC in Rx offload flag in rte_eth_dev_configure()
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Tomasz Duszynski <tdu@semihalf.com> Acked-by: Shahaf Shuler <shahafs@mellanox.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Jan Remes <remes@netcope.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com>
show more ...
|
#
ab3ce1e0 |
| 02-Jul-2018 |
Ferruh Yigit <ferruh.yigit@intel.com> |
ethdev: remove old offload API
In DPDK 17.11, the ethdev offloads API has changed: commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") commit ce17eddefc20 ("ethdev: introduce Rx queue
ethdev: remove old offload API
In DPDK 17.11, the ethdev offloads API has changed: commit cba7f53b717d ("ethdev: introduce Tx queue offloads API") commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") The new API is documented in the programmer's guide: http://doc.dpdk.org/guides/prog_guide/poll_mode_drv.html#hardware-offload
For reminder, the main concepts in the new API were: - All offloads are disabled by default - Distinction between per port and per queue offloads.
The transition bits are now removed: - Translation of the old API in ethdev - rte_eth_conf.rxmode.ignore_offload_bitfield - ETH_TXQ_FLAGS_IGNORE
The old API bits are now removed: - Rx per-port rte_eth_conf.rxmode.[bit-fields] - Tx per-queue rte_eth_txconf.txq_flags - ETH_TXQ_FLAGS_NO*
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com> Reviewed-by: Shahaf Shuler <shahafs@mellanox.com>
show more ...
|
#
d9a42a69 |
| 05-Apr-2018 |
Thomas Monjalon <thomas@monjalon.net> |
ethdev: deprecate port count function
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the applica
ethdev: deprecate port count function
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Such application iterates over ports by its own mean. The most common pattern is to request the port count and assume ports with index in the range [0..count[ can be used.
In order to fix this common mistake in all external applications, the function rte_eth_dev_count is deprecated, while introducing the new functions rte_eth_dev_count_avail and rte_eth_dev_count_total.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
8728ccf3 |
| 05-Apr-2018 |
Thomas Monjalon <thomas@monjalon.net> |
fix ethdev ports enumeration
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Suc
fix ethdev ports enumeration
Some DPDK applications wrongly assume these requirements: - no hotplug, i.e. ports are never detached - all allocated ports are available to the application
Such application iterates over ports by its own mean. The most common pattern is to request the port count and assume ports with index in the range [0..count[ can be used.
There are three consequences when using such wrong design: - new ports having an index higher than the port count won't be seen - old ports being detached (RTE_ETH_DEV_UNUSED) can be seen as ghosts - failsafe sub-devices (RTE_ETH_DEV_DEFERRED) will be seen by the application
Such mistake will be less common with growing hotplug awareness. All applications and examples inside this repository - except testpmd - must be fixed to use the iterator RTE_ETH_FOREACH_DEV.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
show more ...
|
#
867a6c66 |
| 12-Jan-2018 |
Kevin Laatz <kevin.laatz@intel.com> |
examples: increase default ring sizes to 1024
Increase the default RX/TX ring sizes to 1024/1024 to accommodate for NICs with higher throughput (25G, 40G etc)
Signed-off-by: Kevin Laatz <kevin.laat
examples: increase default ring sizes to 1024
Increase the default RX/TX ring sizes to 1024/1024 to accommodate for NICs with higher throughput (25G, 40G etc)
Signed-off-by: Kevin Laatz <kevin.laatz@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com>
show more ...
|
#
6b85f708 |
| 26-Dec-2017 |
Shahaf Shuler <shahafs@mellanox.com> |
examples/ipv4_multicast: convert to new ethdev offloads API
Ethdev offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") commit cba7f53b717d ("ethdev: intr
examples/ipv4_multicast: convert to new ethdev offloads API
Ethdev offloads API has changed since:
commit ce17eddefc20 ("ethdev: introduce Rx queue offloads API") commit cba7f53b717d ("ethdev: introduce Tx queue offloads API")
This commit support the new API.
Signed-off-by: Shahaf Shuler <shahafs@mellanox.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
3998e2a0 |
| 19-Dec-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
examples: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@i
examples: use SPDX tag for Intel copyright files
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
4c20622a |
| 10-Nov-2017 |
Ilya V. Matveychikov <matvejchikov@gmail.com> |
examples/ipv4_multicast: fix segments number type
Fixes: 97cb466d65c9 ("mbuf: use 2 bytes for port and nb segments")
Signed-off-by: Ilya V. Matveychikov <matvejchikov@gmail.com>
|
#
015f9489 |
| 03-Nov-2017 |
Bruce Richardson <bruce.richardson@intel.com> |
examples: remove dependency on PCI
All PCI functionality should be hidden from apps via the PCI bus driver, the EAL and individual device drivers. Therefore remove the inclusion of rte_pci.h from sa
examples: remove dependency on PCI
All PCI functionality should be hidden from apps via the PCI bus driver, the EAL and individual device drivers. Therefore remove the inclusion of rte_pci.h from sample apps.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
show more ...
|
#
4c00cfdc |
| 04-Nov-2017 |
Thomas Monjalon <thomas@monjalon.net> |
remove useless memzone includes
The memzone header is often included without good reason.
Signed-off-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
|
#
f8244c63 |
| 29-Sep-2017 |
Zhiyong Yang <zhiyong.yang@intel.com> |
ethdev: increase port id range
Extend port_id definition from uint8_t to uint16_t in lib and drivers data structures, specifically rte_eth_dev_data. Modify the APIs, drivers and app using port_id at
ethdev: increase port id range
Extend port_id definition from uint8_t to uint16_t in lib and drivers data structures, specifically rte_eth_dev_data. Modify the APIs, drivers and app using port_id at the same time.
Fix some checkpatch issues from the original code and remove some unnecessary cast operations.
release_17_11 and deprecation docs have been updated in this patch.
Signed-off-by: Zhiyong Yang <zhiyong.yang@intel.com> Acked-by: Adrien Mazarguil <adrien.mazarguil@6wind.com> Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
show more ...
|
#
b5906927 |
| 16-Jul-2017 |
Thomas Monjalon <thomas@monjalon.net> |
examples: remove duplicate includes
Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
|
#
60efb44f |
| 25-May-2017 |
Roman Zhukov <roman.zhukov@oktetlabs.ru> |
examples: adjust Rx and Tx descriptors to device limits
Signed-off-by: Roman Zhukov <roman.zhukov@oktetlabs.ru> Signed-off-by: Andrew Rybchenko <arybchenko@solarflare.com>
|
#
5e470a66 |
| 10-Apr-2017 |
Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com> |
examples: limit max frame size
Some PMDs do not support 9,5K jumbo frames, so the example fails. Limit the frame size to the maximum supported by the underlying NIC.
Signed-off-by: Andriy Berestovs
examples: limit max frame size
Some PMDs do not support 9,5K jumbo frames, so the example fails. Limit the frame size to the maximum supported by the underlying NIC.
Signed-off-by: Andriy Berestovskyy <andriy.berestovskyy@caviumnetworks.com>
show more ...
|
#
60da774e |
| 08-Apr-2017 |
Jeff Guo <jia.guo@intel.com> |
examples: enable HW CRC strip by default
Since VF can not disable/enable HW CRC strip for non-DPDK PF drivers, and kernel driver almost default enable that feature, if disable it in example app's rx
examples: enable HW CRC strip by default
Since VF can not disable/enable HW CRC strip for non-DPDK PF drivers, and kernel driver almost default enable that feature, if disable it in example app's rxmode, VF driver will report the VF launch failure. So this patch default to enable HW CRC strip to let VF launch successful.
Cc: stable@dpdk.org
Signed-off-by: Jeff Guo <jia.guo@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
show more ...
|
#
9d5ca532 |
| 14-Feb-2017 |
Keith Wiles <keith.wiles@intel.com> |
examples: fix optind reset
The variable optind should be reset to one not zero.
From the man page: "The variable optind is the index of the next element to be processed in argv. The system initial
examples: fix optind reset
The variable optind should be reset to one not zero.
From the man page: "The variable optind is the index of the next element to be processed in argv. The system initializes this value to 1. The caller can reset it to 1 to restart scanning of the same argv, or when scanning a new argument vector.”
The problem I saw with my application was trying to parse the wrong option, which can happen as DPDK parses the first part of the command line and the application parses the second part. If you call getopt() multiple times in the same execution, the behavior is not maintained when using zero for optind.
Signed-off-by: Keith Wiles <keith.wiles@intel.com>
show more ...
|
#
f0372301 |
| 31-Aug-2016 |
Amine Kherbouche <amine.kherbouche@6wind.com> |
remove unused ring includes
This patch removes all unused <rte_ring.h> headers.
Signed-off-by: Amine Kherbouche <amine.kherbouche@6wind.com>
|
#
50705e8e |
| 22-Apr-2016 |
Thomas Monjalon <thomas.monjalon@6wind.com> |
eal: add assert macro for debug
The macro RTE_VERIFY always checks a condition. It is optimized with "unlikely" hint. While this macro is well suited for test applications, it is preferred in librar
eal: add assert macro for debug
The macro RTE_VERIFY always checks a condition. It is optimized with "unlikely" hint. While this macro is well suited for test applications, it is preferred in libraries and examples to enable such check in debug mode. That's why the macro RTE_ASSERT is introduced to call RTE_VERIFY only if built with debug logs enabled.
A lot of assert macros were duplicated and enabled with a specific flag. Removing these #ifdef allows to test these code branches more easily and avoid dead code pitfalls.
The ENA_ASSERT is kept (in debug mode only) because it has more parameters to log.
Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
09419f23 |
| 31-Mar-2016 |
Thomas Monjalon <thomas.monjalon@6wind.com> |
ethdev: use constants for link state
Define and use ETH_LINK_UP and ETH_LINK_DOWN where appropriate.
Signed-off-by: Marc Sune <marcdevel@gmail.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6
ethdev: use constants for link state
Define and use ETH_LINK_UP and ETH_LINK_DOWN where appropriate.
Signed-off-by: Marc Sune <marcdevel@gmail.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
show more ...
|
#
693f715d |
| 27-Jan-2016 |
Huawei Xie <huawei.xie@intel.com> |
remove extra parentheses in return statement
fix the error reported by checkpatch: "ERROR: return is not a function, parentheses are not required"
remove parentheses in return like: "return (lo
remove extra parentheses in return statement
fix the error reported by checkpatch: "ERROR: return is not a function, parentheses are not required"
remove parentheses in return like: "return (logical expressions)"
remove parentheses in return a function like: "return (rte_mempool_lookup(...))"
Fixes: 6307b909b8e0 ("lib: remove extra parenthesis after return")
Signed-off-by: Huawei Xie <huawei.xie@intel.com>
show more ...
|
#
1e685446 |
| 11-Jun-2015 |
Helin Zhang <helin.zhang@intel.com> |
examples/ipv4_multicast: support double vlan stripping and insertion
The outer vlan should be copied from source packet buffer to support double vlan stripping and insertion, as double vlan can be s
examples/ipv4_multicast: support double vlan stripping and insertion
The outer vlan should be copied from source packet buffer to support double vlan stripping and insertion, as double vlan can be stripped or inserted by some of NIC hardware.
Signed-off-by: Helin Zhang <helin.zhang@intel.com> Acked-by: Jingjing Wu <jingjing.wu@intel.com>
show more ...
|
#
824cb29c |
| 29-Apr-2015 |
Konstantin Ananyev <konstantin.ananyev@intel.com> |
apps: fix default mbuf size
Latest mbuf changes (priv_size addition and related fixes) exposed small problem with testpmd and few other sample apps: when mbuf size is exaclty 2KB or less, that cause
apps: fix default mbuf size
Latest mbuf changes (priv_size addition and related fixes) exposed small problem with testpmd and few other sample apps: when mbuf size is exaclty 2KB or less, that causes ixgbe PMD to select scattered RX even for configs with 'normal' max packet length (max_rx_pkt_len == ETHER_MAX_LEN). To overcome that problem and unify the code, new macro was created to represent recommended minimal buffer length for mbuf. When appropriate, samples are updated to use that macro.
Fixes: dfb03bbe2b ("app/testpmd: use standard functions to initialize mbufs and mbuf pool")
Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com>
show more ...
|
#
ea0c20ea |
| 22-Apr-2015 |
Olivier Matz <olivier.matz@6wind.com> |
apps: use helper to create mbuf pools
When it's possible, use the new helper to create the mbuf pools. Most of the patch is trivial, except for the following files that have some specifics (indirect
apps: use helper to create mbuf pools
When it's possible, use the new helper to create the mbuf pools. Most of the patch is trivial, except for the following files that have some specifics (indirect mbufs): - ip_fragmentation - ip_pipeline - ipv4_multicast - vhost
Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
show more ...
|