1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
/* Copyright (c) 2013, Linaro Limited
* All rights reserved
*
* SPDX-License-Identifier: BSD-3-Clause
*/
/**
* @mainpage
*
* @section sec_1 Introduction
*
* OpenDataPlane (ODP) provides a data plane application programming
* environment that is easy to use, high performance, and portable
* between networking SoCs. This documentation is both a user guide
* for developers who wish to use ODP and a detailed reference for ODP
* programmers covering APIs, data structures, files, etc. It should
* also be useful for those wishing to implement ODP on other
* platforms.
*
* @image html overview.png
*
* ODP consists of a common layer and an implementation layer.
* Applications written to the common layer are portable across all
* ODP implementations. To compile and run an ODP application, it is
* compiled against a specific ODP implementation layer. The purpose
* of the implementation layer is to provide an optimal mapping of ODP
* APIs to the underlying capabilities (including hardware
* co-processing and acceleration support) of of SoCs hosting ODP
* implementations. As a bootstrapping mechanism for applications, as
* well as to provide a model for ODP implementers, ODP provides a
* 'linux-generic' reference implementation designed to run on any SoC
* which has a Linux kernel. While linux-generic is not a performance
* target, it does provide a starting point for ODP implementers and
* application programmers alike. As a pure software implementation
* of ODP, linux-generic is designed to provide best-in-class performance
* for general Linux data plane support.
*
* @section Staging
*
* ODP is a work in progress and is expected to evolve significantly
* as it develops. Since the goal of ODP is to provide portability
* across disparate platforms and architectures while still providing
* near-native levels of performance on each conforming
* implementation, it is expected that the ODP architecture and the
* APIs presented here will evolve based on the experience in
* implementing and tuning ODP for operation on multiple platforms.
* For the time being, then, the goal here is not so much as to
* present a stable API, but rather a usable one that can be built
* upon to reach a clearly defined end goal.
*
* ODP releases will follow a standard major/minor/revision
* three-level naming designation. The intent is that APIs will be
* stable across major revisions such that existing APIs will work
* unchanged within a major revision, though minor revisions may add
* new APIs. Across major revisions some API changes may make
* application source changes necesary. These will be clearly noted
* in the release notes associated with any given ODP release.
*
* This consistency will commence with the 1.0.0 release of ODP, which
* is expected later in 2014. Pre-release 1 it should be expected
* that minor revisions may require API source changes as ODP is still
* "growing its roots". This is release 0.1.0 of ODP and is being
* made available as a "public preview" to the open source community
* for comment/feedback/evaluation.
*
* @section contact Contact Details
* - The main web site is http://www.opendataplane.org/
* - The git repo is https://git.linaro.org/lng/odp.git
* - Bug tracking is https://bugs.linaro.org/buglist.cgi?component=General&list_id=2474&product=OpenDataPlane
*
*/
|