path: root/examples/flow_filtering
AgeCommit message (Collapse)Author
2018-11-06examples/flow_filtering: remove VLAN itemOri Kam
Since the VLAN is not in use and some PMD can't support vlan = 0 this item was removed. Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API") Cc: Signed-off-by: Ori Kam <>
2018-11-06examples/flow_filtering: filter out unsupported offloadsOri Kam
Some of the requested offloads are not supported by all devices. This patch fixes this issue by setting only the supported offloads. Fixes: feca6c428a5e ("examples/flow_filtering: add Tx queues setup process") Cc: Signed-off-by: Ori Kam <> Acked-by: Wei Zhao <>
2018-10-11net/i40e: config flow director automaticallyXiaoyun Li
I40e driver needed users to config exact fdir mode to create rte_flow rules but it shouldn't. This patch allows users to create rte_flow rules without configuring fdir mode and let the driver config fdir automatically. And remove the workaround in flow filtering example. Signed-off-by: Xiaoyun Li <> Acked-by: Beilei Xing <>
2018-09-14ethdev: make default behavior CRC strip on RxFerruh Yigit
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 <> Acked-by: Tomasz Duszynski <> Acked-by: Shahaf Shuler <> Reviewed-by: Maxime Coquelin <> Acked-by: Jan Remes <> Acked-by: Jerin Jacob <> Acked-by: Hyong Youb Kim <>
2018-08-05examples/flow_filtering: add flow director config for i40eRosen Xu
Rte_fdir_conf of rte_eth_conf should be initialized before port initialization. It is a workaround solution when working with Intel I40e. Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API") Cc: Signed-off-by: Rosen Xu <> Acked-by: Ori Kam <> Reviewed-by: Ferruh Yigit <>
2018-07-04ethdev: remove old offload APIFerruh Yigit
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: 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 <> Signed-off-by: Thomas Monjalon <> Reviewed-by: Andrew Rybchenko <> Reviewed-by: Shahaf Shuler <>
2018-05-25use SPDX license tag in Mellanox copyrighted filesThomas Monjalon
Some files were left with full license and wrong copyright format. They are switched to this format: SPDX-License-Identifier: BSD-3-Clause Copyright 2017 Mellanox Technologies, Ltd Fixes: 5feecc57d90b ("align SPDX Mellanox copyrights") Signed-off-by: Thomas Monjalon <> Acked-by: Hemant Agrawal <> Acked-by: Shahaf Shuler <>
2018-04-27ethdev: remove experimental flag of ports enumerationThomas Monjalon
The basic operations for ports enumeration should not be considered as experimental in DPDK 18.05. The iterator RTE_ETH_FOREACH_DEV was introduced in DPDK 17.05. It uses the function the rte_eth_find_next_owned_by() to get only ownerless ports. Its API can be considered stable. So the flag experimental is removed from rte_eth_find_next_owned_by(). The flag experimental is removed from rte_eth_dev_count_avail() which is the new name of the old function rte_eth_dev_count(). The flag experimental is set to rte_eth_dev_count_total() in the .c file for consistency with the declaration in the .h file. A lot of internal applications are fixed to not allow experimental API. Fixes: 8728ccf37615 ("fix ethdev ports enumeration") Fixes: d9a42a69febf ("ethdev: deprecate port count function") Fixes: e70e26861eaf ("net/mvpp2: fix build") Signed-off-by: Thomas Monjalon <> Tested-by: David Marchand <>
2018-04-18ethdev: deprecate port count functionThomas Monjalon
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 <>
2018-02-01examples/flow_filtering: add delay to wait link updateBeilei Xing
Add up to 9s delay for getting link status to make sure NIC updates link status successfully, just like other applications such as testpmd and l2fwd. Signed-off-by: Beilei Xing <> Acked-by: Ori Kam <>
2018-01-30build: replace license text with SPDX tagBruce Richardson
Signed-off-by: Bruce Richardson <> Reviewed-by: Luca Boccassi <>
2018-01-30examples: enable linking both static and sharedBruce Richardson
Since the DPDK build now includes both static and shared libraries, we need a new way to enable building the examples using either method from the one installation. To do this, we add in a default "shared" target, and a separate "static" target which links in the DPDK static libraries. In both cases, the final application name is symlinked to the last-built static or shared target, with both binaries able to co-exist in the build directory. Signed-off-by: Bruce Richardson <> Acked-by: Luca Boccassi <>
2018-01-30examples: use pkg-config in makefilesBruce Richardson
Change the example app Makefiles to query if DPDK is installed and registered using pkg-config. If so, build directly using pkg-config info, otherwise fall back to using the original build system with RTE_SDK and RTE_TARGET This commit changes the makefiles for the basic examples, i.e. those which do not have multiple subdirectories underneath the main examples dir. Examples not covered are: * ethtool * multi_process * performance-thread * quota_watermark * netmap_compat * server_node_efd * vm_power_manager Signed-off-by: Bruce Richardson <> Reviewed-by: Luca Boccassi <>
2018-01-30examples: put app name and sources at top of makefilesBruce Richardson
Reorder the text in the makefiles, so that the app name and the source files are listed first. This then will allow them to be shared later in a combined makefile building with pkg-config and RTE_SDK-based build system. Signed-off-by: Bruce Richardson <> Reviewed-by: Luca Boccassi <>
2018-01-30examples: build some samples with mesonBruce Richardson
Add support for having selected example apps built as part of a meson, ninja build. By default none are built, and those to be built should be named directly in the -Dexamples='' meson configuration argument. This is useful for developers working on a feature who want to use a suitable example, or examples, to test that feature, as they can compile everything up in one go, and run the example without having to do a ninja install first. This commit adds examples which don't consist of multiple apps in subdirectories to the meson build, so they can be built by default by passing -Dexamples parameter to meson. Not included are the following examples: * ethtool * multi-process * netmap_compat * performance-thread * quota_watermark * server_node_efd * vm_power_manager To test the apps added here, use the following command, merged to one line, to add them to your meson build (command to be run inside the build directory): meson configure -Dexamples=bbdev_app,bond,cmdline,distributor,\ eventdev_pipeline_sw_pmd, exception_path,helloworld,\ ip_fragmentation,ip_pipeline,ip_reassembly, ipsec-secgw,\ ipv4_multicast,kni,l2fwd-cat,l2fwd-crypto,l2fwd-jobstats,\ l2fwd-keepalive,l2fwd,l3fwd-acl,l3fwd-power,l3fwd-vf,l3fwd,\ link_status_interrupt,load_balancer,packet_ordering,ptpclient,\ qos_meter,qos_sched,rxtx_callbacks,skeleton,tep_termination,\ timer,vhost,vhost_scsi,vmdq,vmdq_dcb Signed-off-by: Bruce Richardson <> Reviewed-by: Luca Boccassi <>
2018-01-29examples/flow_filtering: fix port id sizeZhiyong Yang
Ethdev port id has been extended 16bits from 8bits in DPDK 17.11 release, the patch fixes mismatch use. Fixes: 4a3ef59a10c8 ("examples/flow_filtering: add simple demo of flow API") Cc: Signed-off-by: Zhiyong Yang <> Reviewed-by: Ferruh Yigit <>
2018-01-16examples/flow_filtering: convert to new ethdev offloads APIShahaf Shuler
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 <> Acked-by: Ori Kam <> Reviewed-by: Ferruh Yigit <>
2018-01-16examples/flow_filtering: add Tx queues setup processWei Zhao
This example does not have the process to set up the Tx queues, which is required by Intel NICs. So this patch adds that Tx setup to the application. Signed-off-by: Wei Zhao <> Acked-by: Ori Kam <>
2017-11-07examples/flow_filtering: add simple demo of flow APIOri Kam
This application shows a simple usage of the rte_flow API for hardware filtering offloading. In this demo we are filtering specific IP to specific target queue, while sending all the rest of the packets to other queue. Signed-off-by: Ori Kam <>