[dpdk-dev] [RFC v2] Flow classification library
Iremonger, Bernard
bernard.iremonger at intel.com
Fri May 19 18:30:49 CEST 2017
Hi Ferruh,
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ferruh Yigit
> Sent: Thursday, May 18, 2017 7:12 PM
> To: dev at dpdk.org
> Cc: Yigit, Ferruh <ferruh.yigit at intel.com>; Mcnamara, John
> <john.mcnamara at intel.com>; Tahhan, Maryam
> <maryam.tahhan at intel.com>
> Subject: [dpdk-dev] [RFC v2] Flow classification library
>
> DPDK works with packets, but some network administration tools works
> based on flow information.
>
> This library is suggested to provide helper API to convert packet based
> information to the flow records.
>
> Basically the library consist of a single API that gets packets, flow definition
> and action as parameter and provides flow stats based on action. Application
> should call the API for all received packets.
>
> Library header file has more comments on how library works and provided
> APIs.
>
> Packets to flow conversion will cause performance drop, that is why
> conversion done on demand by an API call provided by this library.
>
> Initial implementation in mind is to provide support for IPFIX metering
> process but library planned to be as generic as possible. And flow information
> provided by this library is missing to implement full IPFIX features, but this is
> planned to be initial step.
>
> Flows are defined using rte_flow, also measurements (actions) are provided
> by rte_flow. To support more IPFIX measurements, the implementation may
> require extending rte_flow addition to implementing this library.
Do you know what extensions are needed to the rte_flow code?
>
> Since both flows and action defined by rte_flow, it is possible to consider this
> library as rte_flow software fallback.
>
> And in case the underlying hardware supports the provided flow and action,
> in implementation details this library may prefer to use hardware support to
> get the requested stats, for the actions that are not supported by hardware
> this library will implement the ways to get the stats.
>
> It will be more beneficial to shape this library to cover more use cases, please
> feel free to comment on possible other use case and desired functionalities.
>
>
> Changes to previous version of the RFC:
> v2:
> * library uses rte_flow to define flows and action.
> * no more callbacks used, user should call API in poll mode for flow stats.
> * library no more maintain any flow data, all flow related stats returned
> by API call and forgotten.
>
> Thanks,
> ferruh
>
> cc: John McNamara <john.mcnamara at intel.com>
> cc: Maryam Tahhan <maryam.tahhan at intel.com>
>
> Ferruh Yigit (1):
> flow_classify: add librte_flow_classify library
>
> config/common_base | 5 +
> doc/api/doxy-api-index.md | 1 +
> doc/api/doxy-api.conf | 1 +
> doc/guides/rel_notes/release_17_08.rst | 1 +
> lib/Makefile | 2 +
> lib/librte_flow_classify/Makefile | 50 ++++++++
> lib/librte_flow_classify/rte_flow_classify.c | 72 ++++++++++++
> lib/librte_flow_classify/rte_flow_classify.h | 129
> +++++++++++++++++++++
> .../rte_flow_classify_version.map | 7 ++
> mk/rte.app.mk | 1 +
> 10 files changed, 269 insertions(+)
> create mode 100644 lib/librte_flow_classify/Makefile create mode 100644
> lib/librte_flow_classify/rte_flow_classify.c
> create mode 100644 lib/librte_flow_classify/rte_flow_classify.h
> create mode 100644 lib/librte_flow_classify/rte_flow_classify_version.map
>
> --
> 2.9.3
More information about the dev
mailing list