summaryrefslogtreecommitdiff
path: root/lib/librte_pipeline/Makefile
AgeCommit message (Collapse)Author
2018-10-12pipeline: add symmetric crypto table actionFan Zhang
This patch adds the symmetric crypto action support to pipeline library. The symmetric crypto action works as the shim layer between pipeline and DPDK cryptodev and is able to interact with cryptodev with the control path requests such as session creation/deletion and data path work to assemble the crypto operations for received packets. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-04-04pipeline: add port in action APIsJasvinder Singh
This API provides a common set of actions for pipeline input ports to speed up application development. Each pipeline input port can be assigned an action handler to be executed on every input packet during the pipeline execution. The pipeline library allows the user to define his own input port actions by providing customized input port action handler. While the user can still follow this process, this API is intended to provide a quicker development alternative for a set of predefined actions. The typical steps to use this API are: * Define an input port action profile. * Instantiate the input port action profile to create input port action objects. * Use the input port action to generate the input port action handler invoked by the pipeline. * Use the input port action object to generate the internal data structures used by the input port action handler based on given action parameters. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-04-04pipeline: add traffic manager actionJasvinder Singh
Add implementation of traffic manager action. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-04-04pipeline: add traffic metering actionJasvinder Singh
Add traffic metering action implementation. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-04-04pipeline: add table action APIsJasvinder Singh
This API provides a common set of actions for pipeline tables to speed up application development. Each match-action rule added to a pipeline table has associated data that stores the action context. This data is input to the table action handler called for every input packet that hits the rule as part of the table lookup during the pipeline execution. The pipeline library allows the user to define his own table actions by providing customized table action handlers (table lookup) and complete freedom of setting the rules and their data (table rule add/delete). While the user can still follow this process, this API is intended to provide a quicker development alternative for a set of predefined actions. The typical steps to use this API are: * Define a table action profile. * Instantiate the table action profile to create table action objects. * Use the table action object to generate the pipeline table action handlers (invoked by the pipeline table lookup operation). * Use the table action object to generate the rule data (for the pipeline table rule add operation) based on given action parameters. * Use the table action object to read action data (e.g. stats counters) for any given rule. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-01-04lib: use SPDX tag for Intel copyright filesBruce Richardson
Replace the BSD license header with the SPDX tag for files with only an Intel copyright on them. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
2017-10-24mk: do not generate LDLIBS from directory dependenciesOlivier Matz
The list of libraries in LDLIBS was generated from the DEPDIRS-xyz variable. This is valid when the subdirectory name match the library name, but it's not always the case, especially for PMDs. The patches removes this feature and explicitly adds the proper libraries in LDLIBS. Some DEPDIRS-xyz variables become useless, remove them. Reported-by: Gage Eads <gage.eads@intel.com> Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Reviewed-by: Gage Eads <gage.eads@intel.com>
2017-03-27mk: optimize directory dependenciesOlivier Matz
Before this patch, the management of dependencies between directories had several issues: - the generation of .depdirs, done at configuration is slow: it can take more than one minute on some slow targets (usually ~10s on a standard PC without -j). - for instance, it is possible to express a dependency like: - app/foo depends on lib/librte_foo - and lib/librte_foo depends on app/bar But this won't work because the directories are traversed with a depth-first algorithm, so we have to choose between doing 'app' before or after 'lib'. - the script depdirs-rule.sh is too complex. - we cannot use "make -d" for debug, because the output of make is used for the generation of .depdirs. This patch moves the DEPDIRS-* variables in the upper Makefile, making the dependencies much easier to calculate. A DEPDIRS variable is still used to process library dependencies in LDLIBS. After this commit, "make config" is almost immediate. Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Tested-by: Robin Jarry <robin.jarry@6wind.com> Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.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-29pipeline: fix truncated dependency listPanu Matilainen
In other libraries, dependency list is always appended to, but in commit 6cbf4f75e059 it with an assignment. This causes the librte_eal dependency added in commit 6cbf4f75e059 to get discarded, resulting in missing dependency on librte_eal. Fixes: 6cbf4f75e059 ("mk: fix missing internal dependencies") Signed-off-by: Panu Matilainen <pmatilai@redhat.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2016-06-13mk: fix missing internal dependenciesChristian Ehrhardt
This patch adds missing DEPDIRS to avoid any library referring to symbols they are not linked against. Signed-off-by: Christian Ehrhardt <christian.ehrhardt@canonical.com>
2016-03-10pipeline: support packet redirection at action handlersJasvinder Singh
Currently, there is no mechanism that allows the pipeline ports (in/out) and table action handlers to override the default forwarding decision (as previously configured per input port or in the table entry). The port (in/out) and table action handler prototypes have been changed to allow pipeline action handlers (port in/out, table) to remove the selected packets from the further pipeline processing and to take full ownership for these packets. This feature will be helpful to implement functions such as exception handling (e.g. TTL =0), load balancing etc. Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-11-26pipeline: add bulk adding and deleting for tableMarcin Kerlin
Added functions for adding/deleting multiple records to table owned by pipeline. The LIBABIVER number is incremented. Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com> Signed-off-by: Marcin Kerlin <marcinx.kerlin@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-02-03mk: add library version extensionNeil Horman
To differentiate libraries that break ABI, we add a library version number suffix to the library, which must be incremented when a given libraries ABI is broken. This patch enforces that addition, sets the initial abi soname extension to 1 for each library and creates a symlink to the base SONAME so that the test applications will link properly. Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2015-02-03lib: provide initial versioningNeil Horman
Add linker version script files to each DPDK library to put a stake in the ground from which we can start cleaning up API's Signed-off-by: Neil Horman <nhorman@tuxdriver.com> Acked-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com>
2014-06-17pipeline: new packet framework logicCristian Dumitrescu
The Packet Framework pipeline library provides a standard methodology (logically similar to OpenFlow) for rapid development of complex packet processing pipelines out of ports, tables and actions. A pipeline is constructed by connecting its input ports to its output ports through a chain of lookup tables. As result of lookup operation into the current table, one of the table entries (or the default table entry, in case of lookup miss) is identified to provide the actions to be executed on the current packet and the associated action meta-data. The behavior of user actions is defined through the configurable table action handler, while the reserved actions define the next hop for the current packet (either another table, an output port or packet drop) and are handled transparently by the framework. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Acked-by: Pablo de Lara Guarch <pablo.de.lara.guarch@intel.com> Acked by: Ivan Boule <ivan.boule@6wind.com>