Copyright (c) 2014-2018, Linaro Limited Copyright (c) 2019, Nokia All rights reserved. SPDX-License-Identifier: BSD-3-Clause 1. Intro OpenDataPlane API generic Linux implementation. Directory linux-generic contains the header and source files and additional platform test scripts for ODP linux-generic implementation. 2. Build See DEPENDENCIES file about system requirements and dependencies to external libraries/packages. It contains also more detailed build instructions. Generally, ODP is built with these three steps: ./bootstrap ./configure make 3. Configuration file See config/README for application runtime configuration options. 4. Packet I/O When passing a packet I/O device name to odp_pktio_open() one can explicitly specify the used implementation internal pktio type. The pktio type can be selected by adding a pktio type prefix to the device name separated by a colon (:). E.g. socket:eth1 netmap:eth2 The supported pktio types are: dpdk ipc loop netmap null pcap socket socket_mmap tap 5. Random data On x86 ODP_RANDOM_TRUE type random data is generated using rdseed [1] via compiler builtin functions. If OpenSSL is not available or its use for generating random data is disabled with the --disable-openssl-rand configure option, ODP_RANDOM_CRYPTO type random data is generated using rdrand [1]. Note that there may be issues with the quality or security of rdrand and rdseed. [2] 6. References [1] Intel Digital Random Number Generator (DRNG) Software Implementation Guide. John P Mechalas, 17 October 2018. https://www.intel.com/content/www/us/en/developer/articles/guide/intel-digital-random-number-generator-drng-software-implementation-guide.html [2] RDRAND. Wikipedia, 29 September 2021. https://en.wikipedia.org/wiki/RDRAND#Reception