From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 9F8B7A0487
	for <public@inbox.dpdk.org>; Tue,  2 Jul 2019 10:14:22 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id D74D15B3C;
	Tue,  2 Jul 2019 10:14:21 +0200 (CEST)
Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com
 [148.163.129.52]) by dpdk.org (Postfix) with ESMTP id CC44C5B3A
 for <dev@dpdk.org>; Tue,  2 Jul 2019 10:14:20 +0200 (CEST)
X-Virus-Scanned: Proofpoint Essentials engine
Received: from webmail.solarflare.com (uk.solarflare.com [193.34.186.16])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits))
 (No client certificate requested)
 by mx1-us2.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 156BB700079;
 Tue,  2 Jul 2019 08:14:19 +0000 (UTC)
Received: from [192.168.1.11] (85.187.13.154) by ukex01.SolarFlarecom.com
 (10.17.10.4) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Tue, 2 Jul 2019
 09:14:10 +0100
To: Dekel Peled <dekelp@mellanox.com>, <adrien.mazarguil@6wind.com>,
 <wenzhuo.lu@intel.com>, <jingjing.wu@intel.com>,
 <bernard.iremonger@intel.com>, <yskoh@mellanox.com>, <shahafs@mellanox.com>,
 <viacheslavo@mellanox.com>, <arybchenko@solarflare.com>
CC: <dev@dpdk.org>, <orika@mellanox.com>
References: <1553177917-43297-1-git-send-email-dekelp@mellanox.com>
 <cover.1561994563.git.dekelp@mellanox.com>
 <359385afd8826483cd8b7af2c8a5ea45d4d5a9b2.1561994563.git.dekelp@mellanox.com>
From: Andrew Rybchenko <arybchenko@solarflare.com>
Message-ID: <7ebe9e0c-cd76-28ef-0788-1b5a81177139@solarflare.com>
Date: Tue, 2 Jul 2019 11:14:06 +0300
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101
 Thunderbird/60.7.1
MIME-Version: 1.0
In-Reply-To: <359385afd8826483cd8b7af2c8a5ea45d4d5a9b2.1561994563.git.dekelp@mellanox.com>
Content-Type: text/plain; charset="utf-8"; format=flowed
Content-Transfer-Encoding: 7bit
Content-Language: en-US
X-Originating-IP: [85.187.13.154]
X-ClientProxiedBy: ocex03.SolarFlarecom.com (10.20.40.36) To
 ukex01.SolarFlarecom.com (10.17.10.4)
X-TM-AS-Product-Ver: SMEX-12.5.0.1300-8.5.1010-24734.003
X-TM-AS-Result: No-10.328200-8.000000-10
X-TMASE-MatchedRID: VfovoVrt/obmLzc6AOD8DfHkpkyUphL9NV9S7O+u3KYfVuGrjP7J9IBv
 JfFbsOF2zi5dYQjfWjm9ETSqcPWvPDM9BBRuZZ1vnMQdNQ64xfdr9+Kgn2XgeC556rUMDXk2cij
 MZrr2iZ2t2gtuWr1LmpCE/hrvAVoGy7mv6nWHz+y5bYpizETL0H4JYJwdJw4T8jflxBKMkr6hYX
 BVKAz4H1824W2CoDk/AUZWrMnznJrOugYCEJUMNYvqrlGw2G/kTPM1foW4ZgM9nHaKSI6z3ReWU
 U3XBE1U4vM1YF6AJbZFi+KwZZttLwSz8fXAzKymseWplitmp0j6C0ePs7A07RRAJC2k3BZ6F2/A
 L3RE4SZDhp9LevJ6/12gXIbGySGfbei8E831PTw=
X-TM-AS-User-Approved-Sender: Yes
X-TM-AS-User-Blocked-Sender: No
X-TMASE-Result: 10--10.328200-8.000000
X-TMASE-Version: SMEX-12.5.0.1300-8.5.1010-24734.003
X-MDID: 1562055260-G16EK-fWY570
Subject: Re: [dpdk-dev] [PATCH v9 1/3] ethdev: add actions to modify TCP
 header fields
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On 01.07.2019 18:43, Dekel Peled wrote:
> Add actions:
> - INC_TCP_SEQ - Increase sequence number in the outermost TCP header.
> - DEC_TCP_SEQ - Decrease sequence number in the outermost TCP header.
> - INC_TCP_ACK - Increase acknowledgment number in the outermost TCP
> 		header.
> - DEC_TCP_ACK - Decrease acknowledgment number in the outermost TCP
> 		header.
>
> Original work by Xiaoyu Min.
>
> This patch uses the new approach introduced by [1], using a simple
> integer instead of using an action-specific structure for each of
> the new actions.
>
> [1] http://patches.dpdk.org/patch/55773/
>
> Signed-off-by: Dekel Peled <dekelp@mellanox.com>
> Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
> ---
>   doc/guides/prog_guide/rte_flow.rst | 32 ++++++++++++++++++++++++++++++++
>   lib/librte_ethdev/rte_flow.c       |  4 ++++
>   lib/librte_ethdev/rte_flow.h       | 32 ++++++++++++++++++++++++++++++++
>   3 files changed, 68 insertions(+)
>
> diff --git a/doc/guides/prog_guide/rte_flow.rst b/doc/guides/prog_guide/rte_flow.rst
> index 67deed7..bbe32db 100644
> --- a/doc/guides/prog_guide/rte_flow.rst
> +++ b/doc/guides/prog_guide/rte_flow.rst
> @@ -2346,6 +2346,38 @@ Otherwise, RTE_FLOW_ERROR_TYPE_ACTION error will be returned.
>      | ``mac_addr`` | MAC address   |
>      +--------------+---------------+
>   
> +Action: ``INC_TCP_SEQ``
> +^^^^^^^^^^^^^^^^^^^^^^^
> +
> +Increase sequence number in the outermost TCP header.
> +Value to increase TCP sequence number by is a big-endian 32 bit integer.
> +
> +Using this action on non-matching traffic will result in undefined behavior.
> +
> +Action: ``DEC_TCP_SEQ``
> +^^^^^^^^^^^^^^^^^^^^^^^
> +
> +Decrease sequence number in the outermost TCP header.
> +Value to decrease TCP sequence number by is a big-endian 32 bit integer.
> +
> +Using this action on non-matching traffic will result in undefined behavior.
> +
> +Action: ``INC_TCP_ACK``
> +^^^^^^^^^^^^^^^^^^^^^^^
> +
> +Increase acknowledgment number in the outermost TCP header.
> +Value to increase TCP acknowledgment number by is a big-endian 32 bit integer.
> +
> +Using this action on non-matching traffic will result in undefined behavior.
> +
> +Action: ``DEC_TCP_ACK``
> +^^^^^^^^^^^^^^^^^^^^^^^
> +
> +Decrease acknowledgment number in the outermost TCP header.
> +Value to decrease TCP acknowledgment number by is a big-endian 32 bit integer.
> +
> +Using this action on non-matching traffic will result in undefined behavior.
> +
>   Negative types
>   ~~~~~~~~~~~~~~
>   
> diff --git a/lib/librte_ethdev/rte_flow.c b/lib/librte_ethdev/rte_flow.c
> index 3277be1..0c9f6c6 100644
> --- a/lib/librte_ethdev/rte_flow.c
> +++ b/lib/librte_ethdev/rte_flow.c
> @@ -143,6 +143,10 @@ struct rte_flow_desc_data {
>   	MK_FLOW_ACTION(SET_TTL, sizeof(struct rte_flow_action_set_ttl)),
>   	MK_FLOW_ACTION(SET_MAC_SRC, sizeof(struct rte_flow_action_set_mac)),
>   	MK_FLOW_ACTION(SET_MAC_DST, sizeof(struct rte_flow_action_set_mac)),
> +	MK_FLOW_ACTION(INC_TCP_SEQ, sizeof(rte_be32_t)),
> +	MK_FLOW_ACTION(DEC_TCP_SEQ, sizeof(rte_be32_t)),
> +	MK_FLOW_ACTION(INC_TCP_ACK, sizeof(rte_be32_t)),
> +	MK_FLOW_ACTION(DEC_TCP_ACK, sizeof(rte_be32_t)),
>   };
>   
>   static int
> diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
> index 2232856..28445f4 100644
> --- a/lib/librte_ethdev/rte_flow.h
> +++ b/lib/librte_ethdev/rte_flow.h
> @@ -1651,6 +1651,38 @@ enum rte_flow_action_type {
>   	 * See struct rte_flow_action_set_mac.
>   	 */
>   	RTE_FLOW_ACTION_TYPE_SET_MAC_DST,
> +
> +	/**
> +	 * Increase sequence number in the outermost TCP header.
> +	 *
> +	 * Using this action on non-matching traffic will result in
> +	 * undefined behavior.
> +	 */
> +	RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ,
> +
> +	/**
> +	 * Decrease sequence number in the outermost TCP header.
> +	 *
> +	 * Using this action on non-matching traffic will result in
> +	 * undefined behavior.
> +	 */
> +	RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ,
> +
> +	/**
> +	 * Increase acknowledgment number in the outermost TCP header.
> +	 *
> +	 * Using this action on non-matching traffic will result in
> +	 * undefined behavior.
> +	 */
> +	RTE_FLOW_ACTION_TYPE_INC_TCP_ACK,
> +
> +	/**
> +	 * Decrease acknowledgment number in the outermost TCP header.
> +	 *
> +	 * Using this action on non-matching traffic will result in
> +	 * undefined behavior.
> +	 */
> +	RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK,
>   };
>   
>   /**

Other actions have type of configuration data description in a comment just
before the action enum element. I'm not sure why it is skipped here.
It is really vital information.