From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by dpdk.org (Postfix) with ESMTP id 3F4ADDE0 for ; Thu, 20 Apr 2017 20:54:53 +0200 (CEST) Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga101.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 20 Apr 2017 11:54:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.37,225,1488873600"; d="scan'208";a="79289188" Received: from sivswdev02.ir.intel.com ([10.237.217.46]) by orsmga004.jf.intel.com with ESMTP; 20 Apr 2017 11:54:50 -0700 From: Ferruh Yigit To: dev@dpdk.org Cc: Ferruh Yigit , John McNamara , Maryam Tahhan Date: Thu, 20 Apr 2017 19:54:47 +0100 Message-Id: <20170420185448.19162-1-ferruh.yigit@intel.com> X-Mailer: git-send-email 2.8.4 Subject: [dpdk-dev] [RFC 17.08] Flow classification library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 Apr 2017 18:54:53 -0000 DPDK works with packets, but some network administration tools works based on flow information. This library is suggested to provide helper APIs to convert packet based information to the flow records. Library header file has more comments on how library works and provided APIs. Packets to flow conversion will cause performance drop, that is why this conversion can be enabled and disabled dynamically by application. 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. It is possible to define flow with various flow keys, but currently only one type of flow defined in the library, which is more generic, and it offloads fine grained flow analysis to the application. Library enables expanding for other flow types. 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. Thanks, ferruh cc: John McNamara cc: Maryam Tahhan 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_05.rst | 1 + lib/Makefile | 2 + lib/librte_flow_classify/Makefile | 50 +++++ lib/librte_flow_classify/rte_flow_classify.c | 34 ++++ lib/librte_flow_classify/rte_flow_classify.h | 202 +++++++++++++++++++++ .../rte_flow_classify_version.map | 10 + 9 files changed, 306 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