aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2017-12-11linux-gen: pool: modify CONFIG_POOL_CACHE_SIZE from 256 to 2552.0Kevin Wang
CONFIG_POOL_CACHE_SIZE is used in pool_cache_t. In pool_cache_t, there is another variable "num" which type is uint32_t. So if set CONFIG_POOL_CACHE_SIZE to 256 here, the capacity of pool_cache_t is 1028B which will waste 60B in one cache line. So reduce it to 255. Signed-off-by: Kevin Wang <kevin.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ola Liljedahl <ola.Liljedahl@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-12-08linux-dpdk: fix inconsistent *_INVALID definesYi He
Fixed inconsistent defines of ODP_BUFFER_INVALID, ODP_EVENT_INVALID and ODP_TIMEOUT_INVALID as NULL instead of 0xffffffff for linux-dpdk platform, to align with linux-generic as well as abi compatible headers. Signed-off-by: Yi He <yi.he@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-12-08linux-dpdk: fix platform testsYi He
Fixed search path in pktio_run.sh for pktio_main executable, and Makefile.am to run platform tests with wrapper script. Signed-off-by: Yi He <yi.he@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-12-08linux-dpdk: crypto bug fixesBalakrishna Garapati
Signed-off-by: Balakrishna Garapati <balakrishna.garapati@linaro.org> Reviewed-by: Yi He <yi.he@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-12-08linux-dpdk: changes which are needed for odp_crypto to workBalakrishna Garapati
All the changes are within the linux-dpdk/odp_crypto.c file: 1) Added missing brackets which made it impossible to create a crypto session 2) Increased the number of queues created, from nb_queue_pairs - 1 to nb_queue_pairs, what seems to work better 3) Removed a memory leak - the memory allocated for iv and aad were not freed Signed-off-by: Szymon Sliwa <szs@semihalf.com> Signed-off-by: Balakrishna Garapati <balakrishna.garapati@linaro.org> Reviewed-by: Yi He <yi.he@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-12-08test: enable dpdk initialization before running validation on linux-dpdkBalakrishna Garapati
Signed-off-by: Balakrishna Garapati <balakrishna.garapati@linaro.org> Reviewed-by: Yi He <yi.he@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-12-08linux-dpdk: pktio: Do not reset parse fields when parsing not enabledHonnappa Nagarahalli
When parsing of the packet is not enabled, application will not look at parse meta data fields. Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ola Liljedahl <ola.Liljedahl@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-12-08linux-dpdk: pool: Remove unused CONFIG_POOL_MAX_NUMHonnappa Nagarahalli
CONFIG_POOL_MAX_NUM is not used in linux-dpdk. Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ola Liljedahl <ola.Liljedahl@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-12-08linux-generic: pool: allocate ring memory based on pool sizeHonnappa Nagarahalli
Adjust the size of ring based on configured number of buffers in the pool. Signed-off-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ola Liljedahl <ola.Liljedahl@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-29doc: application-api-guide: exclude subsystem filesBogdan Pricope
Exclude subsystem files form application API guide document. Documentation will be added when API will be stable. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-29linux-gen: modular-framework: move schedule subsystem header to a public folderBogdan Pricope
Move schedule subsystem header to a public folder. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-29linux-gen: modular-framework: move queue subsystem header to a public folderBogdan Pricope
Move queue subsystem header to a public folder. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-29linux-gen: modular-framework: move pool subsystem header to a public folderBogdan Pricope
Move pool subsystem header to a public folder. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-29linux-gen: modular-framework: move buffer subsystem header to a public folderBogdan Pricope
Move buffer subsystem header to a public folder. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-29linux-gen: packet: get pool_hdl from odp_buffer_hdr_tKevin Wang
In odp_packet_rem_data() and odp_packet_add_data(), pool_hdl is able to be gotten from odp_packet_hdr_t, don't need to get from pool_t indirectly. Signed-off-by: Kevin Wang <kevin.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ola Liljedahl <ola.Liljedahl@arm.com> Reviewed-by: Brian Brooks <brian.brooks@arm.com> Reviewed-by: Yi He <yi.he@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-11-29linux-gen: pool: rearrange pool_t to separate control and data planeKevin Wang
Separate the pool's control plane and data plane data structures. This avoids sharing control plane related data and dataplane related data on the same cache line. Signed-off-by: Kevin Wang <kevin.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Ola Liljedahl <ola.Liljedahl@arm.com> Reviewed-by: Brian Brooks <brian.brooks@arm.com> Reviewed-by: Yi He <yi.he@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-11-22linux-gen: pktio: use pktio operations data poolBogdan Pricope
Pktio instances need a memory area where to store configuration or state information. This patch replaces utilization of a fixed size memory area with a variable size memory area allocated from a predefined pool. This reduces the memory size needed to store pktio array. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Yi He <yi.he@linaro.org>
2017-11-22linux-gen: pktio: add pktio operations data poolBogdan Pricope
Pktio instances need a memory area where to store configuration or state information. The size and structure of this area depends on pktio type. This pool is meant to be used for allocation of such memory areas. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Yi He <yi.he@linaro.org>
2017-11-22driver.h: add parameter when registering enumeratorsJosep Puigdemont
If a class registers more than once the same enumerator, as it could happen for different PCI platforms, we need to provide information for the enumerator probe function to know where to act. This information shall be provided in the odpdrv_enumr_param_t structure as a void pointer, which will be passed to the probe() function of the enumerator. Signed-off-by: Josep Puigdemont <josep.puigdemont@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Yi He <yi.he@linaro.org>
2017-11-13linux-gen: buffer: remove burst metadata from odp_buffer_hdr_tKevin Wang
The total packet meta data size was 7 cache lines for Linux-generic. For scalable scheduler, the burst metadata is not required. So just remove it for scalable scheduler. After the changes, the size of the meta data is 4 cache lines for Linux-generic. Signed-off-by: Kevin Wang <kevin.wang@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Reviewed-by: Brian Brooks <brian.brooks@arm.com> Reviewed-by: Yi He <yi.he@linaro.org>
2017-11-10Merge branch 'api-next' into 2.0Yi He
Reviewed-by: Honnappa Nagarahalli <honnappa.Nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-03linux-gen: pktio: remove duplicate odp_packet_io_internal.h2.0-native-driversBogdan Pricope
Enable utilization of linux-generic version of odp_packet_io_internal.h for linux-dpdk platform. Subsequently, linux-dpdk version of odp_packet_io_internal.h is removed. This is part of an attempt to reduce the delta between linux-dpdk and linux-generic platforms to permit integration of linux-dpdk pktios in linux-generic. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.Nagarahalli@arm.com> Reviewed-by: Krishna Garapati <balakrishna.garapati@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-03linux-gen: pktio: move SOCK_ERR_REPORT macro from odp_packet_io_internal.hBogdan Pricope
Move SOCK_ERR_REPORT macro from linux-generic version of odp_packet_io_internal.h to a common header file. This is part of an attempt to cleanup linux-generic version of odp_packet_io_internal.h from macros used only in linux-generic platform before enabling it for linux-dpdk platform as well. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.Nagarahalli@arm.com> Reviewed-by: Krishna Garapati <balakrishna.garapati@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-03linux-gen: pktio: move sysfs stats function prototypeBogdan Pricope
Move sysfs stats function prototype from linux-generic version of odp_packet_io_internal.h to a new header file. This is part of an attempt to remove from linux-generic version of odp_packet_io_internal.h all the references to symbols implemented only in linux-generic platform before enabling it for linux-dpdk platform as well. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.Nagarahalli@arm.com> Reviewed-by: Krishna Garapati <balakrishna.garapati@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-03linux-gen: pktio: move socket stats function prototypesBogdan Pricope
Move socket stats function prototypes from linux-generic version of odp_packet_io_internal.h. This is part of an attempt to remove from this header file all the references to symbols implemented only in linux-generic platform before enabling it for linux-dpdk platform as well. Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.Nagarahalli@arm.com> Reviewed-by: Krishna Garapati <balakrishna.garapati@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-11-01remove uarea_size from packet meta dataJoyce Kong
Signed-off-by: Joyce Kong <joyce.kong@arm.com> Reviewed-by: Honnappa Nagarahalli <honnappa.Nagarahalli@arm.com> Reviewed-by: Ola Liljedahl <ola.Liljedahl@arm.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Yi He <yi.he@linaro.org>
2017-10-31api: packet: change argument to insert for l3 and l4 chsumsMaxim Uvarov
function name already has l3 and l4 layer, argument insert is more clean here. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-10-30Merge branch 'master' into api-nextMaxim Uvarov
2017-10-30travis: fix script to check patches to not fail on new branchMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-10-30validation: shmem: compare info page size to all supported huge page sizesMatias Elo
Compare odp_shm_info_t.page_size to all supported page sizes on the system. This enables passing the test when shmem is not allocated using the system's default huge page size. Signed-off-by: Matias Elo <matias.elo@nokia.com> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-30linux-gen: pktio: remove duplicate pktio_ops subsystem implementationBogdan Pricope
Remove duplicate pktio_ops subsystem implementation Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-10-30linux-gen: pktio: socket: build SOCKET_MMAP pktio based on configuration optionBogdan Pricope
Build SOCKET_MMAP pktio based on configuration option Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-10-30linux-gen: pktio: socket: build SOCKET pktio based on configuration optionBogdan Pricope
Build SOCKET pktio based on configuration option Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-10-30linux-gen: pktio: tap: build TAP pktio based on configuration optionBogdan Pricope
Build TAP pktio based on configuration option Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-10-30linux-gen: pktio: ipc: build ipc pktio based on configuration optionBogdan Pricope
Build ipc pktio based on configuration option Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-10-30linux-dpdk: pktio: dpdk: build dpdk pktio based on configuration optionBogdan Pricope
Build dpdk pktio based on configuration option Signed-off-by: Bogdan Pricope <bogdan.pricope@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Honnappa Nagarahalli <honnappa.nagarahalli@arm.com> Signed-off-by: Yi He <yi.he@linaro.org>
2017-10-27validation: packet: add packet_print_data testPetri Savolainen
Test the new packet payload print function with couple of lengths and offsets. Added line feeds to separate packet print output from CUnit prints. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-27linux-gen: packet: implement odp_packet_data_printPetri Savolainen
Implemented the new packet payload print function using ODP_PRINT macro. Removed an extra space from the print macro as well as extra null char and line feed from odp_packet_print. Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-27api: packet: print packet dataPetri Savolainen
Added debug print function which includes packet payload bytes. Printing starts from offset, so it's easy to e.g. limit print to IPv4 header bytes only: odp_packet_print_data(pkt, l3_offset(pkt), 20) Signed-off-by: Petri Savolainen <petri.savolainen@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Ilias Apalodimas <ilias.apalodimas@linaro.org> Reviewed-by: Balasubramanian Manoharan <bala.manoharan@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-27shippable: add libconfig and libnumaMaxim Uvarov
add libconfig and libnuma for docker image for api-next. Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-10-26linux-gen: packet: add debugging asserts in packet codeBill Fischofer
Restore the ODP_ASSERTS() that assist application debugging that were lost in the recent packet reference rework. When using --enable-debug insert guards to detect duplicate packet frees as well as attempts to modify known shared data sections of packet references. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Dmitry Eremin-Solenikov <dmitry.ereminsolenikov@linaro.org> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-26doc: userguide: add section on api specification principlesBill Fischofer
Add section to the User Guide that highlights that unless otherwise documented, API behavior is undefined if applications pass invalid parameters to them. Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org> Reviewed-by: Petri Savolainen <petri.savolainen@linaro.org>
2017-10-26Merge branch 'master' into api-nextMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-26api: pool: Return address range for pool objectsSachin Saxena
Pool info support has been extented to provide minimum and maximum addresses of application accessible data for any pool object (event). Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com> Reviewed-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-10-26linux-gen: netmap: remove minimum frame len checkMatias Elo
Checking the minimum frame length is unnecessary as netmap drops truncated frames internally. Signed-off-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-10-26linux-gen: netmap: use thread id to make vdev mac addresses uniqueMatias Elo
Previously the mac addresses of virtual netmap devices would clash if multiple odp processes were run on the same host. Signed-off-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Bill Fischofer <bill.fischofer@linaro.org>
2017-10-25Merge branch 'master' into api-nextMaxim Uvarov
Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-25linux-gen: dpdk: bump target dpdk version to 17.08Matias Elo
Changes: - Function rte_set_log_level() is now deprecated. Replace it with rte_log_set_global_level(). - New dependency added to libnuma. - Pcap-based virtual devices are renamed to net_pcap. - DPDK pktio devices cannot be restarted after calling rte_eth_dev_close(). Move rte_eth_dev_close() calls to global terminate from odp_pktio_close(). Signed-off-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-25linux-gen: dpdk: create missing dpdk mempools in zero-copy modeMatias Elo
In zero-copy dpdk pktio mode a matching dpdk mempool is required for each odp packet pool from which packets are sent using dpdk pktio. This is required for all packet pools, even for those which are not passed directly to pktio devices as odp_pktio_open() parameters. Signed-off-by: Matias Elo <matias.elo@nokia.com> Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org>
2017-10-25linux-gen: pktio: ignore num_queues parameter if classifier enabledMaxim Uvarov
Api defines statemet: "When classifier is enabled in odp_pktin_queue_config() this value is ignored, otherwise at least one queue is required." https://bugs.linaro.org/show_bug.cgi?id=3289 Signed-off-by: Maxim Uvarov <maxim.uvarov@linaro.org> Reviewed-by: Bill Fischofer <bill.fischofer@linaro.org>