aboutsummaryrefslogtreecommitdiff
path: root/example
AgeCommit message (Collapse)Author
2018-05-07example: timer_accuracy: simple timer accuracy measurement appPetri Savolainen
Added simple application to measure timer accuracy. Uses time API to measure accuracy of received timeouts from timer. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-04-13example: l2fwd: update readme regarding ordered queue usageBill Fischofer
Update the README file to clarify the effect of using ordered queues with direct I/O or output interfaces supporting multiple queues. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Janne Peltonen <janne.peltonen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-03-29build: another DPDK-linking fixDmitry Eremin-Solenikov
Try our best to link with DPDK, if we are doing static linking of examples and tests and we detected shared DPDK library. Build the list of static libraries, in hope they are present on the system (like in Debian/Ubuntu DPDK packages). Linking can still fail, as we have warned during configure time. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-28example: generator: move script back to example directoryDmitry Eremin-Solenikov
Move script back to examples dir, so that platform other than linux-generic might be able to run this test/example, if they choose to implement null: PktIO type. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-26update Linaro Copyrights to 2018 yearMaxim Uvarov
Using simple commands: find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9]), Linaro/ \1-2018, Linaro/g' {} + find . -not -path .git -type f -exec \ sed -i -E 's/ (201[0-9])(-201[0-9]), Linaro/ \1-2018, Linaro/g' {} + Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2018-02-26api: crypto: use cipher_iv_ptr instead of override_iv_ptrDmitry Eremin-Solenikov
In preparation to add auth-specific IV, rename override_iv_ptr field to ciper_iv_ptr. Provide deprecated compatibility field override_iv_ptr. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-26api: crypto: use cipher_iv instead of iv in session paramsDmitry Eremin-Solenikov
In preparation to add auth-specific IV, rename iv field to ciper_iv. Provide deprecated compatibility field iv. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-20example: generator move to platform testsMaxim Uvarov
run generator example with null pktio from linux-generic test directory. Null pktio might not be implemented on other odp implementations. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2018-02-16example: generator: remove useless csum checksBogdan Pricope
Remove useless csum checks: packets are dropped at platform level if have csum errors. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-02-16example: generator: remove busy wait for direct mode receiveBogdan Pricope
Add timeout to avoid unnecessary loops on low traffic. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-24example: l2fwd_simple: do operations to increase code coverageJuha-Matti Tilli
Do some MTU, promiscuous mode and MAC address related operations in odp_l2fwd_simple to increase code coverage. Signed-off-by: Juha-Matti Tilli <juha-matti.tilli@iki.fi> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-24linux-generic: pktio: add null pktio supportJuha-Matti Tilli
Sometimes, you may wish to run an application by using a dummy interface that never receives any packets and that discards transmitted packets. This is possible with non-looping pcap pktio with no input and output pcaps. So, the pktio would be just "pcap:". However, you cannot have two pktios named "pcap:" because there is code to check if the pktio is already opened. Also, the pcap pktio requires that ODP is compiled with the pcap library, which it may not be. Also, pcap is always single-queue and therefore not suitable for modern multi-queue applications. Also, recently a patch was provided to ODP to allow interruptible sleep when receiving packets. This, however, does not work with mixed pcap and socket/netmap pktio types. To fix these issues, a new "null" pktio is introduced. It is used by specifying the interface name to be "null:0", "null:1", or similar. All packets sent to the null pktio are discarded and no packets are received. The null pktio fully supports the interruptible sleep infrastructure, meaning applications can have 0% idle CPU load when one interface is a null interface and another interface is socket or netmap. Signed-off-by: Juha-Matti Tilli <juha-matti.tilli@iki.fi> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-22build: provide an option to link examples dynamicallyDmitry Eremin-Solenikov
Distributions won't like statically-linked binaries. Provide configure switch to link examples and tests dynamically. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bogdan Pricope <bogdan.pricope@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18linux-gen: align: Fix alignment for typedef definitionsIlias Apalodimas
* typedef struct { } ODP_ALIGN() test_t; is correct * typedef struct ODP_ALIGN() {} test_t; is correct and preferred from gcc standards * typedef struct {} test_t ODP_ALIGN() discards align Had segfauls on gcc-7 using that Signed-off-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18linux-gen, include: switch std_clib.h to api+abiDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18build: move ODP include path to common Makefile.incDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-18example: ipsec: update gitignorePetri Savolainen
Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-17example: l2fwd_simple: test interruptible sleep in odp_pktin_recv_tmoJuha-Matti Tilli
Test interruptible sleep within odp_pktin_recv_tmo by using the l2fwd_simple test application. This gives us confidence that odp_pktin_recv_tmo changes work with pktio mechanisms such as .pcap not offering the interrupt-driven implementations. Signed-off-by: Juha-Matti Tilli <juha-matti.tilli@iki.fi> Reviewed-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-15linux-gen: dpdk: simplify linking with shared libdpdkDmitry Eremin-Solenikov
There is no need to pass PMDs when linking with shared DPDK library. Just pass -ldpdk which will pick up all PMDS dynamically. When linking with static DPKD library it is required to pass additional libraries after whole PMD string to fix linking when Libtool will reorder flags. So provide just two variables DPDK_LIBS and DPDK_LIBS_LT. Former should be passed directly to gcc, while later should be passed to libtool. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-15example: ipsec_api: remove file conflict with ipsec exampleDmitry Eremin-Solenikov
ipsec_api example installs program with the same name, as ipsec example does. Remove file conflict between two examples. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-15example: add missing libraries to LDADD variablesDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-14example: generator: replace L3/L4 packet parsing with a simple oneBogdan Pricope
Platform packet parsing is providing information not needed by this application while consuming cycles. Replacing platform packet parsing with a limited parsing may increase performance on RX side. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-14example: generator: add direct mode packet RXBogdan Pricope
Update packet RX processing by adding direct pktin mode. Direct mode should increase throughput on RX side. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-14example: generator: add direct mode pktio configurationBogdan Pricope
Update interface configuration function to support direct mode in addition to scheduler mode. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-14example: generator: add configuration option for scheduler RXBogdan Pricope
Add CLI option to enable/disable packet receive with scheduler API. Default: use direct mode API. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-14example: generator: add configuration option for RX burst sizeBogdan Pricope
Add CLI option to configure RX burst size. Bigger RX burst size may increase packet RX rate. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2018-01-14helper: remove camelcase from icmp protocolBill Fischofer
Change ODPH_IPPROTO_ICMPv4 and ODPH_IPPROTO_ICMPv6 to ODPH_IPPROTO_ICMPV4 and ODPH_PROTO_ICMPV6 to eliminate camelcase issues in ODP examples. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: generator use checksum enablePetri Savolainen
Use new checksum insert enable bits. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bogdan Pricope <bogdan.pricope@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: tm: update gitignorePetri Savolainen
Added missing files to gitignore file. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: generator: use L3/L4 checksum validation status functionsBogdan Pricope
Update odp_generator example application to use L3/L4 checksum validation status functions. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27validation/example: call odp_timer_capability() before creating timer poolKevin Wang
Use odp_timer_capability() to determine the max timer resolution Signed-off-by: Kevin Wang <kevin.wang@arm.com> Reviewed-by: Brian Brooks <brian.brooks@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: adapt ipsec example to use IPsec APIDmitry Eremin-Solenikov
Adapt old (crypto-only) IPsec example to use IPsec API. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: ipsec: adapt to running on top of loop interfacesDmitry Eremin-Solenikov
For quite a long time ipsec (well, crypto in fact) example lacked support for running on top of loopback interfaces, generating and verifying IPsec traffic on the same node. Historical loopback support was disabled, as it used plain queues instead of pktio support. Adapt ipsec example to use loop pktio interfaces. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: ipsec_offload: add ipsec_offload exampleNikhil Agarwal
[DES: adapted example to updated API.] [DES: minor rework to drop odp_ prefix from function names.] Signed-off-by: Nikhil Agarwal <nikhil.agarwal@linaro.org> Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: use odp_proto_layer_t instead of odp_pktio_parser_layer_tDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Balasubramanian Manoharan <bala.manoharan@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: switch to using ODP chksum APIDmitry Eremin-Solenikov
ODP now provides odp_chksum_ones_comp16, switch examples to use it instead of odph_chksum helper function. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27api: crypto: replace redundant packet_ prefixes from definitionsDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27example: ipsec: rewrite using Crypto packet APIDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27api: crypto: add crypto packet operation interfaceDmitry Eremin-Solenikov
Input and output of crypto operations are packets. API is more flexible for application and API pipelining when output is packet with additional metadata. Application or API pipeline stages which do not care about crypto results may work on basic packet metadata. Crypto result event type changes from ODP_EVENT_CRYPTO_COMPL to ODP_EVENT_PACKET. Event subtype (ODP_EVENT_PACKET_CRYPTO) can be used to identify packets with crypto metadata. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-27api: crypto: deprecate ASYNC mode and odp_crypto_compl_tDmitry Eremin-Solenikov
Setting pref_mode to ASYNC now results in SYNC behaviour, so let's deprecate all ASYNC-related crypto items: pref_mode, odp_crypto_compl_t and related functions. Passing context through param/result is also deprecated, as odp_crypto_operation now works only in sync mode, thus there is no need to pass additional data around it. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-11example: generator: replace atomic counter with per worker countersBogdan Pricope
Use of atomic counters reduces total packet throughput. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-11example: generator: add configuration option for csum supportBogdan Pricope
Add configuration option to enable platform checksum support (if available) for calculation and validation. By default, checksum calculation is performed in software and validation is disabled. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-11example: generator: increase maximum TX burst size to 512Bogdan Pricope
Bigger TX bursts may increase packet throughput. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-12-11example: generator: remove 1 ms sleep on send loopBogdan Pricope
The 1 ms sleep is reducing total packet throughput. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-11-08example: fix pointers to odp_l2fwd.c sourceDmitry Eremin-Solenikov
During mass-move of tests I forgot to update odp_l2fwd example to point to new locattion. Fix that now. Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-19example: add ${EXEEXT} when calling compiled programsDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-16example: simplify Makefile.amsDmitry Eremin-Solenikov
- Drop unused $(srcdir) - Drop unused $(EXEEXT) - Drop unused dist_ prefixes - Merge noinst_HEADERS into proper _SOURCES - Merge -static into AM_LDFLAGS - Drop extra _CFLAGS adding -I which is already present on include path Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-16example: switch odp_l3fwd from test_debug.h to example_debug.hDmitry Eremin-Solenikov
Signed-off-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-13example: traffic_mgmt: add to make checkMaxim Uvarov
add traffic_mgmt example to make check https://bugs.linaro.org/show_bug.cgi?id=3024 Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>
2017-10-13example: traffic_mgmt add clean termination pathMaxim Uvarov
example aborted on exit due to missing termination path (exit terminated fd_server which signaled app on the exit from main.) https://bugs.linaro.org/show_bug.cgi?id=3024 Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org>