summaryrefslogtreecommitdiff
path: root/examples
AgeCommit message (Collapse)Author
2016-07-28examples/ip_pipeline: fix flow classification configSankar Chokkalingam
This configuration is example configuration for flow classification. This fix changes the offset and mask value to compute the hash correctly. This fix does not involve code change and do not impact compilation, build and performance. Fixes: 93771a569daa ("examples/ip_pipeline: rework flow classification CLI") Signed-off-by: Sankar Chokkalingam <sankarx.chokkalingam@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2016-07-25mk: fix link with glibc < 2.17Thomas Monjalon
There is a dependency on librt with old glibc. The -lrt option was added everywhere it is needed but was also added in some applications makefiles as the first link option. The problem is this option is really useful only if added after the objects or libraries using it (except if using --whole-archive). And the -lrt options put after were removed to avoid duplicates. It was resulting in errors linking test application: eal_timer.c:(.text+0x128): undefined reference to `clock_gettime' eal_timer.c:(.text+0x166): undefined reference to `clock_gettime' eal_alarm.c:(.text+0xda): undefined reference to `clock_gettime' eal_alarm.c:(.text+0x211): undefined reference to `clock_gettime' It is fixed by removing superfluous -lrt in app makefiles. Fixes: 281948b4753e ("mk: fix missing librt dependencies") Fixes: 2f6414f4baf1 ("mk: fix static link with glibc < 2.17") Reported-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-07-22examples/l2fwd-ivshmem: fix build with iccFerruh Yigit
icc version 16.0.2, compile error: examples/l2fwd-ivshmem/host/host.c(157): error #3656: variable "total_vm_packets_dropped" may be used before its value is set total_vm_packets_dropped += ctrl->vm_ports[portid].stats.dropped; ^ Fixes: 6aa497249172 ("examples/l2fwd-ivshmem: import sample application") Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Acked-by: Anatoly Burakov <anatoly.burakov@intel.com>
2016-07-22examples/ip_pipeline: fix performance with default configSankar Chokkalingam
In TM, the read size should be lesser than the write size to improve performance. This enables the TM ports to push maximum packets to the output port. This fix changes the burst_read value from 64 to 24 in default_tm_params. Signed-off-by: Sankar Chokkalingam <sankarx.chokkalingam@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2016-07-22examples/ip_pipeline: fix IPv6 flow classificationSankar Chokkalingam
IP Pipeline application with the configuration for Flow Classification IPV6 did not instantiate. Parse error in section "PIPELINE1": entry "dma_src_mask" too long The dma_src_mask check in pipeline_passthrough_parse_args() is wrong. This fix increases the length of dma_src_mask by 1 for NULL termination and corrected the validation of dma_src_mask length. This fix is also propagated to pipeline_fc_parse_args() for key_mask_str validation. Signed-off-by: Sankar Chokkalingam <sankarx.chokkalingam@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2016-07-22examples/ip_pipeline: fix action flow bulk commandSankar Chokkalingam
Error while executing action flow bulk command pipeline> p 1 action flow bulk ./config/action.txt Command "action flow bulk" failed pipeline> The flow action entries are added successfully. But the return value is not computed correctly. Due to this, the error message appears on CLI. The return value is computed with rsp->n_flows after rsp pointer is freed. This fix computes the return value before rsp pointer is freed. Signed-off-by: Sankar Chokkalingam <sankarx.chokkalingam@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2016-07-22examples/performance-thread: add missing bracesPablo de Lara
pthread_detach() function was returning 0 even when not calling lthread_detach(), due to missing braces in conditional (extra indentation was applied, giving a hint this is the correct fix). Fixes: 433ba6228f9a ("examples/performance-thread: add pthread_shim app") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Tested-by: John McNamara <john.mcnamara@intel.com> Acked-by: John McNamara <john.mcnamara@intel.com>
2016-07-22examples/vhost: fix performanceJianfeng Tan
We find significant perfermance drop introduced by below commit, when vhost example is started with --mergeable 0 and inside vm, kernel virtio-net driver is used to do ip based forwarding. The commit, 859b480d5afd ("vhost: add guest offload setting"), adds support for VIRTIO_NET_F_GUEST_TSO4 and VIRTIO_NET_F_GUEST_TSO6, in vhost lib. But inside vhost example, the way to disable tso only excludes the direction from virtio to vhost, but not the opposite direction. When mergeable is disabled, it triggers big_packets path of virtio-net driver to prepare to receive possible big packets with size of 64K. Because mergeable is off, for each entry of avail ring, virtio driver uses 19 desc chained together, with one desc pointing to header, other 18 desc pointing to 4K-sized pages. But QEMU only creates 256 desc entries for each vq, which results in that only 13 packets can be received. VM kernel can quickly handle those packets and go to sleep (HLT). As QEMU has no option to set the desc entries of a vq, so here, we disable VIRTIO_NET_F_GUEST_TSO4 and VIRTIO_NET_F_GUEST_TSO6 with VIRTIO_NET_F_HOST_TSO4 and VIRTIO_NET_F_HOST_TSO6 when we disable tso of vhost example, to avoid VM kernel virtio driver go into big_packets path. Fixes: 9fd72e3cbd29 ("examples/vhost: add virtio offload") Reported-by: Qian Xu <qian.q.xu@intel.com> Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Tested-by: Qian Xu <qian.q.xu@intel.com> Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2016-07-22examples/ipsec-secgw: call start functionHemant Agrawal
The usual device sequence is configure, queue setup and start. Crypto device should be started before use. Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-07-22examples/l2fwd-crypto: call start functionHemant Agrawal
The usual device sequence is configure, queue setup and start. Crypto device should be started before use. Signed-off-by: Akhil Goyal <akhil.goyal@nxp.com> Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-07-22examples/ipsec-secgw: fix build with gcc 4.5Sergio Gonzalez Monroy
GCC 4.5.x does not handle well initializing anonymous union and/or structs. To make the compiler happy we name those anonymous union/struct. Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6") Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-07-16examples/ipsec-secgw: fix inbound crashSergio Gonzalez Monroy
When sending Inbound non IPSec traffic that matches an Inbound Security Policy set to Protect, the code will check that the SPI of the packet and the associated Security Association match. That check should only be done for IPSec packets and results in SEGFAULT when done on non IPSec packets. Fixes: 906257e965b7 ("examples/ipsec-secgw: support IPv6") Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2016-07-16examples/l2fwd-crypto: improve random key generatorPiotr Azarewicz
This patch improve generate_random_key() function by replacing rand() function with reading from /dev/urandom. CID 120136 : Calling risky function (DC.WEAK_CRYPTO) dont_call: rand should not be used for security related applications, as linear congruential algorithms are too easy to break Coverity issue: 120136 Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2016-07-15examples/distributor: fix Rx thread logic for zero packetReshma Pattan
Zero packets can be returned by rte_eth_rx_burst() and rte_distributor_returned_pkts() inside lcore_rx(), so for zero packet scenario instead of proceeding to next operations we should continue to the next iteration of the loop to avoid unnecessary processing overhead which is causing rx packets to be dropped and hence distributor failing to forward the packets. Fixes: 07db4a97 ("examples/distributor: new sample app") Signed-off-by: Reshma Pattan <reshma.pattan@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-07-11examples/ip_pipeline: add config diagram generatorJasvinder Singh
This commit adds Python script for generating diagram of the application configuration file. This script requires graphviz package to be installed on the machine. The input config file is translated to an output file in DOT syntax, which is then used to create the image file using graphviz. To run the script, following command is used; ./diagram-generator.py -f <input configuration file> Some optional arguments are as follows: -h, --help show this help message and exit Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: John McNamara <john.mcnamara@intel.com>
2016-07-11examples/vm_power_manager: remove dependency on internal headerMarvin Liu
Macro CHANNEL_CMDS_MAX_CPUS stand for the maximum number of cores controlled by virtual channels. This macro only be used in the example, so remove it from library to example header file. Signed-off-by: Marvin Liu <yong.liu@intel.com>
2016-07-11examples/bond: check thread terminationPiotr Azarewicz
The example is calling rte_eal_wait_lcore without checking return value. Now it is fixed by checking the value and print proper message. Coverity issue: 37789, 37790 Fixes: cc7e8ae84faa ("examples/bond: add example application for link bonding mode 6") Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2016-07-11examples/tep_term: fix port id checkBeilei Xing
Coverity reported lots of out-of-bounds in function vxlan_link, these issues should happen when index port_id evaluates to 2, cause size of arrays is 2 in structure. Fix this issue by modifying judgement condition, make sure port_id is less than 2. Coverity issue: 107121, 107122, 107123, 107124, 107125 Fixes: 4abe471ed6fc ("examples/tep_term: implement VXLAN processing") Signed-off-by: Beilei Xing <beilei.xing@intel.com>
2016-07-11examples/l3fwd: update usage and documentationBeilei Xing
Update l3fwd example usage and documentation with missing options. Signed-off-by: Beilei Xing <beilei.xing@intel.com> Acked-by: John McNamara <john.mcnamara@intel.com>
2016-07-11examples/l2fwd-crypto: fix stats array lengthSlawomir Mrozowicz
crypto_statistics array was not big enough for storing all the possible crypto device statistics, as its size was RTE_MAX_ETHPORTS, but should be RTE_CRYPTO_MAX_DEVS, leading this to a potential out-of-bounds issue. Coverity issue: 120145 Fixes: 387259bd6c67 ("examples/l2fwd-crypto: add sample application") Signed-off-by: Slawomir Mrozowicz <slawomirx.mrozowicz@intel.com> Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Declan Doherty <declan.doherty@intel.com>
2016-07-11examples/l2fwd-crypto: flush buffersPablo de Lara
Crypto operations are enqueued in the crypto devices when the crypto device buffers are full (MAX_PKT_BURST), in order to be more efficient. The problem is that operations might be stuck in those buffers, if they never get full, and therefore, those operations will never be performed. Therefore, it is necessary to have a buffer flush mechanism, similar to the one used for flush the TX buffers, so eventually, all packets received are ciphered and sent out. Fixes: 387259bd6c67 ("examples/l2fwd-crypto: add sample application") Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-07-11examples/vhost: print error logs on failureJianfeng Tan
When the specified cores and memory lie on different NUMA socket with physical NIC, vhost fails to set up Rx queue, and exits without any hints. This could leads to confusion of users. This patch fixes it by adding some error messages when calling ether APIs returns errors. Suggested-by: Yulong Pei <yulong.pei@intel.com> Signed-off-by: Jianfeng Tan <jianfeng.tan@intel.com> Acked-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2016-07-10examples: fix dependencies on hash libraryThomas Monjalon
The multi_process example do not need rte_hash. But these examples cannot compile if rte_hash is not available: - ipsec-secgw (was already protected - no change) - ipv4_multicast - l3fwd-power - l3fwd-vf - tep_termination - ip_pipeline The ip_pipeline example is not disabled because its dependencies are handled with #ifdef. It may require a separate fix. Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-07-10ethdev: get registers widthZyta Szpak
The ethtool app was allocating too little space for 64-bit registers which resulted in memory corruption. Removes hard-coded assumption that device registers are always 32 bits wide. The rte_eth_dev_get_reg_length and rte_eth_dev_get_reg_info callbacks did not provide register size to the app in any way while is needed to allocate correct number of bytes before retrieving registers using rte_eth_dev_get_reg. This commit changes rte_eth_dev_get_reg_info so that it can be used to retrieve both the number of registers and their width, and removes the now-redundant rte_eth_dev_get_reg_length. Signed-off-by: Zyta Szpak <zyta.szpak@semihalf.com> Acked-by: Remy Horton <remy.horton@intel.com>
2016-07-01mempool: rename functions with confusing namesBruce Richardson
The mempool_count and mempool_free_count behaved contrary to what their names suggested. The free_count function actually returned the number of elements that were allocated from the pool, not the number unallocated as the name implied. Fix this by introducing two new functions to replace the old ones, * rte_mempool_avail_count to replace rte_mempool_count * rte_mempool_in_use_count to replace rte_mempool_free_count In this patch, the new functions are added, and the old ones are marked as deprecated. All apps and examples that use the old functions are updated to use the new functions. Fixes: af75078fece3 ("first public release") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2016-06-29mk: fix internal dependenciesThomas Monjalon
Some libraries were missing their dependency on eal, mbuf, mempool, ring and kvargs. It is revealed by the linker option "-z defs". Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-06-22examples/vhost: add client optionYuanhan Liu
Add --client option to let vhost-switch acts as the client. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2016-06-22vhost: add vhost-user client modeYuanhan Liu
Add a new paramter (flags) to rte_vhost_driver_register(). DPDK vhost-user acts as client mode when RTE_VHOST_USER_CLIENT flag is set. The flags would also allow future extensions without breaking the API (again). The rest is straingfoward then: allocate a unix socket, and bind/listen for server, connect for client. This extension is for vhost-user only, therefore we simply quit and report error when any flags are given for vhost-cuse. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2016-06-22vhost: export device id as the interface to applicationsYuanhan Liu
With all the previous prepare works, we are just one step away from the final ABI refactoring. That is, to change current API to let them stick to vid instead of the old virtio_net dev. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Tested-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Rich Lane <rich.lane@bigswitch.com>
2016-06-22vhost: remove dependency on device private fieldYuanhan Liu
This change could let us avoid the dependency of "virtio_net" struct, to prepare for the ABI refactoring. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Tested-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Rich Lane <rich.lane@bigswitch.com>
2016-06-22vhost: export queue free entriesYuanhan Liu
The new API rte_vhost_avail_entries() is actually a rename of rte_vring_available_entries(), with the "vring" to "vhost" name change to keep the consistency of other vhost exported APIs. This change could let us avoid the dependency of "virtio_net" struct, to prepare for the ABI refactoring. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Tested-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Rich Lane <rich.lane@bigswitch.com>
2016-06-22vhost: rename device id variableYuanhan Liu
I failed to figure out what does "fh" mean here for a long while. The only guess I could have had is "file handle". So, you get the point that it's not well named. I then figured it out that "fh" is derived from the fuse lib, and my above guess is right. However, device_fh represents a virtio net device ID. Therefore, here I rename it to vid (Virtio-net device ID, or Vhost device ID; choose one you prefer) to make it easier for understanding. This name (vid) then will be considered to the only interface to applications. That's another reason to do the rename: it's our interface, make it more understandable. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Tested-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Rich Lane <rich.lane@bigswitch.com>
2016-06-22examples/vhost: make a copy of virtio device idYuanhan Liu
Make a copy of virtio device id (device_fh) from the virtio_net struct, so that we could have less dependency on the virtio_net struct. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Tested-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Rich Lane <rich.lane@bigswitch.com>
2016-06-22vhost: declare device id as intYuanhan Liu
device_fh repsents the device id for a specific virtio net device. Firstly, "int" would be big enough: we don't need 64 bit. Secondly, this could let us avoid the ugly "%" PRIu64 ".." stuff. And since ctx.fh is derived from device_fh, declare it as int, too. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Tested-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Rich Lane <rich.lane@bigswitch.com>
2016-06-22vhost: set/reset device flags internallyYuanhan Liu
It does not make sense to ask the application to set/unset the flag VIRTIO_DEV_RUNNING (that used internal only) at new_device()/ destroy_device() callback. Instead, it should be set after new_device() succeeds and reset before destroy_device() is invoked inside vhost lib. This patch fixes it. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Tested-by: Rich Lane <rich.lane@bigswitch.com> Acked-by: Rich Lane <rich.lane@bigswitch.com>
2016-06-22examples/vhost: fix corrupted vdev tailq listYuanhan Liu
There are two tailq lists, one for logging all vhost devices, another one for logging vhost devices distributed on a specific core. However, there is just one tailq entry, named "next", to chain the two list, which is wrong and could result to a corrupted tailq list, that the tailq list might always be non-empty: the entry is still there even after you have invoked TAILQ_REMOVE several times. Fix it by introducing two tailq entries, one for each list. Fixes: 45657a5c6861 ("examples/vhost: use tailq to link vhost devices") Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com>
2016-06-21examples/ip_pipeline: support KNIWeiJie Zhuang
1. add KNI support to the IP Pipeline sample Application 2. some bug fix 3. update doc 4. add config file with two KNI interfaces connected using a Linux kernel bridge Signed-off-by: WeiJie Zhuang <zhuangwj@gmail.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2016-06-21examples/l2fwd-keepalive: fix memory leakRemy Horton
Fixes memory leaks detected by Coverity. These are due to ephemeral memory allocations not being freed when errors occur. Coverity issue: 127349 Fixes: e2aae1c1ced9 ("ethdev: remove name from extended statistic fetch") Signed-off-by: Remy Horton <remy.horton@intel.com>
2016-06-21examples/ipsec-secgw: support transport modeSergio Gonzalez Monroy
IPSec transport mode support. Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-21examples/ipsec-secgw: support IPv6Sergio Gonzalez Monroy
Support IPSec IPv6 allowing IPv4/IPv6 traffic in IPv4 or IPv6 tunnel. We need separate Routing (LPM) and SP (ACL) tables for IPv4 and IPv6, but a common SA table. Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-21examples/ipsec-secgw: rename SP configSergio Gonzalez Monroy
Modify the default SP config variables names to be consistent with SA. The resulting naming convention is that variables with suffixes _out/_in are the default for ep0 and the reverse for ep1. Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-21examples/ipsec-secgw: fix no SA found caseSergio Gonzalez Monroy
The application only ASSERTS that an SA is not NULL (only when debugging is enabled) without properly dealing with the case of not having an SA for the processed packet. Behavior should be such as if no SA is found, drop the packet. Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application") Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-21examples/ipsec-secgw: rework processing loopSergio Gonzalez Monroy
Rework implementation moving from function pointers approach, where each function implements very specific functionality, to a generic function approach. Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-21examples/ipsec-secgw: add debug build optionSergio Gonzalez Monroy
Add support for building the application with DEBUG=1. This option adds the compiler stack protection flag and enables extra output in the application. Also remove unnecessary VPATH setup. Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-21examples/ipsec-secgw: fix stack smashingSergio Gonzalez Monroy
Building the application with -O3 and -fstack-protection (default in Ubuntu) results in the following error: *** stack smashing detected ***: ./build/ipsec-secgw terminated The error is caused by storing an 8B value in a 4B variable. Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application") Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-21examples/ipsec-secgw: fix esp padding checkSergio Gonzalez Monroy
Current code fails to correctly check padding sequence for inbound packets. Padding sequence starts on 1 but it checks for 0. Fixes: d299106e8e31 ("examples/ipsec-secgw: add IPsec sample application") Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2016-06-20crypto/kasumi: add driver for KASUMI libraryPablo de Lara
Added new SW PMD which makes use of the libsso_kasumi SW library, which provides wireless algorithms KASUMI F8 and F9 in software. This PMD supports cipher-only, hash-only and chained operations ("cipher then hash" and "hash then cipher") of the following algorithms: - RTE_CRYPTO_SYM_CIPHER_KASUMI_F8 - RTE_CRYPTO_SYM_AUTH_KASUMI_F9 Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Deepak Kumar Jain <deepak.k.jain@intel.com>
2016-06-17eal: fix thread naming on FreeBSDThomas Monjalon
rte_thread_setname was a macro defined only for Linux. The function rte_thread_setname() can now be used on FreeBSD as well on Linux. It is required to build librte_pdump. The macro was 0 for old glibc. The function is now returning -1. The related logs are decreased from error to debug level because it is not an important failure, just a debug inconvenience. Fixes: 278f945402c5 ("pdump: add new library for packet capture") Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com> Acked-by: David Marchand <david.marchand@6wind.com>
2016-06-16examples/l2fwd-keepalive: add IPC liveness reportingRemy Horton
Changes the l2fwd keepalive example to show how the new keepalive enhancements can be used to relay core state to an external process. Signed-off-by: Remy Horton <remy.horton@intel.com>
2016-06-16keepalive: add liveness callbackRemy Horton
Adds and documents new callbacks that allow transitions to core states other than dead to be reported to applications. Signed-off-by: Remy Horton <remy.horton@intel.com>