summaryrefslogtreecommitdiff
path: root/examples/ip_pipeline/Makefile
AgeCommit message (Collapse)Author
2018-10-12examples/ip_pipeline: add cryptodevFan Zhang
This patch adds symmetric crypto device abstraction to ip_pipeline sameple application. Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-07-12examples: make Linux environment check consistentThomas Monjalon
Some Makefiles are using CONFIG_RTE_EXEC_ENV and others are using CONFIG_RTE_EXEC_ENV_LINUXAPP. Use the latter one for consistency. We could remove CONFIG_RTE_EXEC_ENV later if considered useless. Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
2018-04-10examples/ip_pipeline: skip in FreeBSD buildJasvinder Singh
IP_Pipeline app is not supported in FreeBSD environment. Therefore, skip it while building the sample apps on FreeBSD. Fixes: 4bbf8e30aa5e ("examples/ip_pipeline: add CLI interface") Fixes: 2f74ae28e23f ("examples/ip_pipeline: add tap object") Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2018-04-05examples/ip_pipeline: add threadsJasvinder Singh
Add threads data structure and initialisation functions to run the pipeline. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-05examples/ip_pipeline: add pipeline objectJasvinder Singh
Add pipeline object implementation to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-05examples/ip_pipeline: add action profile objectsJasvinder Singh
Add action profile object implementation to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
2018-04-05examples/ip_pipeline: add KNI objectJasvinder Singh
Add kni object implementation to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
2018-04-05examples/ip_pipeline: add tap objectJasvinder Singh
Add tap object implementation to the application Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
2018-04-05examples/ip_pipeline: add traffic manager objectJasvinder Singh
Add traffic manager object implementation to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-05examples/ip_pipeline: add sw queue objectJasvinder Singh
Add swq object implementation to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Kevin Laatz <kevin.laatz@intel.com>
2018-04-05examples/ip_pipeline: add link objectJasvinder Singh
Add link object implementation to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
2018-04-05examples/ip_pipeline: add mempool objectJasvinder Singh
Add mempool object implementation to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com>
2018-04-05examples/ip_pipeline: add CLI interfaceJasvinder Singh
CLI interface allowing connectivity with external agent (e.g. telnet, netcat, Python script, etc) is added to the application. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-05examples/ip_pipeline: remove infra codeJasvinder Singh
All the actions associated with application pipelines tables and ports are now implemented using the new action APIs. Therefore, thousands of lines of code are eliminated from the application. The reduced code size is easier to maintain and extend. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-04examples/ip_pipeline: remove master pipelineJasvinder Singh
remove master pipeline. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-04examples/ip_pipeline: remove firewall pipelineJasvinder Singh
Remove firewall pipeline. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-04examples/ip_pipeline: remove flow actions pipelineJasvinder Singh
Remove flow actions pipeline. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-04examples/ip_pipeline: remove flow classification pipelineJasvinder Singh
Remove flow classification pipeline. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-04examples/ip_pipeline: remove routing pipelineJasvinder Singh
Remove routing pipeline. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-04-04examples/ip_pipeline: remove passthrough pipelineJasvinder Singh
remove passthrough pipeline. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-02-19meter: add configuration profileCristian Dumitrescu
This patch adds support for meter configuration profiles. Benefits: simplified configuration procedure, improved performance. Q1: What is the configuration profile and why does it make sense? A1: The configuration profile represents the set of configuration parameters for a given meter object, such as the rates and sizes for the token buckets. The configuration profile concept makes sense when many meter objects share the same configuration, which is the typical usage model: thousands of traffic flows are each individually metered according to just a few service levels (i.e. profiles). Q2: How is the configuration profile improving the performance? A2: The performance improvement is achieved by reducing the memory footprint of a meter object, which results in better cache utilization for the typical case when large arrays of meter objects are used. The internal data structures stored for each meter object contain: a) Constant fields: Low level translation of the configuration parameters that does not change post-configuration. This is really duplicated for all meters that use the same configuration. This is the configuration profile data that is moved away from the meter object. Current size (implementation dependent): srTCM = 32 bytes, trTCM = 32 bytes. b) Variable fields: Time stamps and running counters that change during the on-going traffic metering process. Current size (implementation dependent): srTCM = 24 bytes, trTCM = 32 bytes. Therefore, by moving the constant fields to a separate profile data structure shared by all the meters with the same configuration, the size of the meter object is reduced by ~50%. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com>
2018-01-30examples: enable linking both static and sharedBruce Richardson
Since the DPDK build now includes both static and shared libraries, we need a new way to enable building the examples using either method from the one installation. To do this, we add in a default "shared" target, and a separate "static" target which links in the DPDK static libraries. In both cases, the final application name is symlinked to the last-built static or shared target, with both binaries able to co-exist in the build directory. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
2018-01-30examples: use pkg-config in makefilesBruce Richardson
Change the example app Makefiles to query if DPDK is installed and registered using pkg-config. If so, build directly using pkg-config info, otherwise fall back to using the original build system with RTE_SDK and RTE_TARGET This commit changes the makefiles for the basic examples, i.e. those which do not have multiple subdirectories underneath the main examples dir. Examples not covered are: * ethtool * multi_process * performance-thread * quota_watermark * netmap_compat * server_node_efd * vm_power_manager Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
2018-01-30examples: put app name and sources at top of makefilesBruce Richardson
Reorder the text in the makefiles, so that the app name and the source files are listed first. This then will allow them to be shared later in a combined makefile building with pkg-config and RTE_SDK-based build system. Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
2018-01-04examples: 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-12mk: sort headers before wildcard inclusionLuca Boccassi
In order to achieve fully reproducible builds, always use the same inclusion order for headers in the Makefiles. Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
2017-01-17examples/ip_pipeline: remove useless makefile lineThomas Monjalon
A dollar sign is missing and it is not needed because of VPATH. Reported-by: Ilya V. Matveychikov <matvejchikov@gmail.com> Suggested-by: Ferruh Yigit <ferruh.yigit@intel.com> Signed-off-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2016-06-08examples/ip_pipeline: add string parsing helpersPiotr Azarewicz
Add a couple of additional functions that will allow to parse many types of input parameters, i.e.: bool, 16, 32, 64 bits, hex, etc. Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-12-07examples/ip_pipeline: add flow actions pipelineFan Zhang
Flow actions pipeline is an extension of flow-classification pipeline. Some of the operations of flow classification pipeline such as traffic metering/marking(for e.g. Single Rate Three Color Marker (srTCM), Two Rate Three Color Marker trTCM)), policer can be performed separately in flow action pipeline to avoid excessive computational burden on the CPU core running the flow-classification pipeline. The Flow action pipeline implements various function such as traffic metering, policer, stats. Traffic mettering can configured as per the required context, for examples- per user, per traffic class or both. These contexts can be applied by specifying parameters in configuration file as shown below; [PIPELINE1] type = FLOW_ACTIONS core = 1 pktq_in = RXQ0.0 RXQ1.0 RXQ2.0 RXQ3.0 pktq_out = TXQ0.0 TXQ1.0 TXQ2.0 TXQ3.0 n_flows = 65536 n_meters_per_flow = 1 flow_id_offset = 158 ip_hdr_offset = 142 color_offset = 64 The entries of flow and dscp tables of flow actions pipeline can be modified through command-line interface. The commands to add or delete entries to the flow table, DSCP(differentiated services code point) table and for statistics collection, etc have been included. The key functions such as Traffic Metering/marking and policer functions have been implemented as flow-table action handler. Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Signed-off-by: Fan Zhang <roy.fan.zhang@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-12-07examples/ip_pipeline: reconfigure thread binding dynamicallyPiotr Azarewicz
Up till now pipeline was bound to thread selected in the initial config. This patch allows binding pipeline to other threads at runtime using CLI commands. Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com> Signed-off-by: Piotr Azarewicz <piotrx.t.azarewicz@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: rework flow classification pipelineMaciej Gajdzica
Flow classification pipeline implementation is split to two files. pipeline_flow_classification.c file handles front-end functions (cli commands parsing) pipeline_flow_classification_ops.c contains implementation of functions done by pipeline (back-end). Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: rework routing pipelineMaciej Gajdzica
Routing pipeline implementation is split to two files. pipeline_routing.c file handles front-end functions (cli commands parsing) pipeline_routing_ops.c contains implementation of functions done by pipeline (back-end). Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: rework firewall pipelineDaniel Mrzyglod
Firewall pipeline implementation is split to two files. pipeline_firewall.c file handles front-end functions (cli commands parsing) pipeline_firewall_ops.c contains implementation of functions done by pipeline (back-end). Signed-off-by: Daniel Mrzyglod <danielx.t.mrzyglod@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: rework passthrough pipelineJasvinder Singh
Passthrough pipeline implementation is split to two files. pipeline_passthrough.c file handles front-end functions (cli commands parsing) pipeline_passthrough_ops.c contains implementation of functions done by pipeline (back-end). Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: add application threadMaciej Gajdzica
Application thread runs pipelines on assigned cores. Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: add master pipelineJasvinder Singh
Master pipeline is responsible for command line handling and communicationg with all other pipelines via message queues. Removed cmdline.c file, as its functionality will be split over multiple pipeline files. Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: move pipelines to separate directoryMaciej Gajdzica
Moved pipelines to separate folder, removed not needed pipelines and modified Makefile to match that change. Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: rework initialization parametersMaciej Gajdzica
After changes in config parser, app params struct is changed and requires modifications in initialization procedures. Signed-off-by: Maciej Gajdzica <maciejx.t.gajdzica@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: add config file checksJasvinder Singh
After loading configuration from a file, data integrity is checked. Signed-off-by: Jasvinder Singh <jasvinder.singh@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-07-09examples/ip_pipeline: rework config file syntaxPawel Wodkowski
New syntax of config files is needed for ip_pipeline example enhancements. Some old files are temporarily disabled in the Makefile. It is part of a bigger change. Signed-off-by: Pawel Wodkowski <pawelx.wodkowski@intel.com> Acked-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com>
2015-02-23mbuf: remove build option to disable refcntSergio Gonzalez Monroy
This patch removes all references to RTE_MBUF_REFCNT, setting the refcnt field in the mbuf struct permanently. Signed-off-by: Sergio Gonzalez Monroy <sergio.gonzalez.monroy@intel.com> Acked-by: Olivier Matz <olivier.matz@6wind.com> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
2014-09-17mbuf: rename RTE_MBUF_SCATTER_GATHER into RTE_MBUF_REFCNTOlivier Matz
It seems that RTE_MBUF_SCATTER_GATHER is not the proper name for the feature it provides. "Scatter gather" means that data is stored using several buffers. RTE_MBUF_REFCNT seems to be a better name for that feature as it provides a reference counter for mbufs. The macro RTE_MBUF_SCATTER_GATHER is poisoned to ensure this modification is seen by drivers or applications using it. Signed-off-by: Olivier Matz <olivier.matz@6wind.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Pablo de Lara <pablo.de.lara.guarch@intel.com>
2014-07-19examples: fix default build targetPablo de Lara
L3fwd-acl and ip pipeline apps were using old x86_64-default-linuxapp-gcc as their default target, instead of x86_64-native-linuxapp-gcc Signed-off-by: Pablo de Lara <pablo.de.lara.guarch@intel.com> Acked-by: Thomas Monjalon <thomas.monjalon@6wind.com>
2014-06-17examples/pipeline: packet framework sampleCristian Dumitrescu
This Packet Framework sample application illustrates the capabilities of the Intel DPDK Packet Framework toolbox. It creates different functional blocks used by a typical IPv4 framework like: flow classification, firewall, routing, etc. CPU cores are connected together through standard interfaces built on SW rings, which each CPU core running a separate pipeline instance. Signed-off-by: Cristian Dumitrescu <cristian.dumitrescu@intel.com> Tested-by: Waterman Cao <waterman.cao@intel.com> Acked-by: Pablo de Lara Guarch <pablo.de.lara.guarch@intel.com> Acked by: Ivan Boule <ivan.boule@6wind.com>