From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 31968A0524; Mon, 19 Apr 2021 19:37:42 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BDD3A413DE; Mon, 19 Apr 2021 19:37:41 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2064.outbound.protection.outlook.com [40.107.94.64]) by mails.dpdk.org (Postfix) with ESMTP id A4CCE413B0 for ; Mon, 19 Apr 2021 19:37:40 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mOppHZ0o6SU+TWLTJsdAj8G9/tbNuZTyk51GyNK5jvBRUcyfMowh67C81N4AnqmuBW7UH1qHHEIA3DzekjwvZGeA3Rcws8J7Omgjzr2+VJeaKhXpC4ceAxLqfCsm0R3gb05QBVh3BmtZ6pAuIQ0Cn6Gep78LPBiIf/jjDazJySYZAS8oxjGP9WI1c06+I5HSNYvVuufmETR71whdhKKUCy4CYseSLzfMpboEv0O1N6Exfek3c6G8jGS2O/Kz5zGU0JmLeI0hWa3H21+0hbBg0Gp1faVEUSr4/nfvlUwyCjH3rVdB4pgwTz1g92OFA+FFAItUbC6qNzv0UQrU+H7j8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wPK4eX1pSMm/0C8wM/V6PCqi335feHPtYt8o8L6K1Qs=; b=a3Jg6Mf5OqqetTPpolYB58GA+hYbkp0JDmO9gWH4E2+S1Rho5+41WK28UoOwm0KbTUAtgwF1qrLZO0/HGP88NG0+bvBKkJC0yfqWV1hyE/4AiHFjyxkRTQU7l5KMFbX6T2GVUtdErkgfTHoAPQH/QJOpQuVxwjzHp3g736yiEh/xZDFJ7bEDWHZX2Fhib4k6M63/tL2LEl4htsPpfUdHrjmS6teolX5mZ9jsJtqVGlepqAoiafstRhH9OBWEJrfTI3WB0duWHOfYmi+JLVoJ7HV0/mZs9v3RO20D2jprn+x8eVxjoKTM1ZMvR/ak49VGHzoG7tcvpxi3AbRKiKEt7w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=wPK4eX1pSMm/0C8wM/V6PCqi335feHPtYt8o8L6K1Qs=; b=TDtirRwpMMazCo/+gdF36VOOdbOabQlIfwOORnTh+izSk/tSC6X0bS1YVL0tStxp9R07ywpaSKY/mBGs6F5VjWPyCVWQNbzlL21Rwfyq/Kgl8jU5l3HlWDCpXZ9E5Wfg2HSxnA58i0Fn+vZerctsgiQ7nZD2BGGDLncUCKbvi5/GrocvKS8Mwzx0ML+pSULoe1vf/7QGaJRfRd9wEy9Pyx886XW5NOIj2l9ruex3imE1qfrGrOiHDz7dpd+l5e7qSYUVueIEp+JLpN6eHIzdOpjGy1O7LhKUiRHKZElaIGnUsCXvcIcUPfFzP4Z3dasmjbo97MoDkcc0LIn/fkzL/g== Received: from DM6PR12MB4987.namprd12.prod.outlook.com (2603:10b6:5:163::31) by DM6PR12MB4372.namprd12.prod.outlook.com (2603:10b6:5:2af::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Mon, 19 Apr 2021 17:37:38 +0000 Received: from DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::f5ce:c5a8:6aec:e308]) by DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::f5ce:c5a8:6aec:e308%7]) with mapi id 15.20.4042.023; Mon, 19 Apr 2021 17:37:38 +0000 From: Ori Kam To: Bing Zhao , NBU-Contact-Thomas Monjalon , "ferruh.yigit@intel.com" , "andrew.rybchenko@oktetlabs.ru" CC: "dev@dpdk.org" , "ajit.khaparde@broadcom.com" , "xiaoyun.li@intel.com" Thread-Topic: [PATCH v4 3/3] doc: update for conntrack Thread-Index: AQHXNT/YzLpk+vpIKUOGZqA9JAxqJ6q8GexA Date: Mon, 19 Apr 2021 17:37:38 +0000 Message-ID: References: <1618062393-205611-1-git-send-email-bingz@nvidia.com> <1618852616-369498-1-git-send-email-bingz@nvidia.com> <1618852616-369498-4-git-send-email-bingz@nvidia.com> In-Reply-To: <1618852616-369498-4-git-send-email-bingz@nvidia.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [147.236.145.126] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0296dfc2-b382-4585-6812-08d90359d373 x-ms-traffictypediagnostic: DM6PR12MB4372: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: v7UTY9EjTLSvT6RghsX1pidd74nHpU7UaSSkf8esH4HijT2heaShtNZtDWq9MziNoSnPDqqolofDYNv+4mfg1If6ZHzN4gH4jQExWYWaOAPJLwxV0hLKh387RZ0HqG7fmgQkE7MLqz0eFIiiYs0yNYvOzfDzpPVck9H1W5an2UiVeoF7WEVcVRDBcFF0+IqL7QaHvp8Calpge4UgGuxpINMMmnSw2kWkFOkioh2hSLj6fEpu1sYuz9ZG6OsP7LueYgnpbGXGhuPcdy932lF3fmdcYUXAKhdGZop7xULhjdohbK95vzvu4rhW//4Ig6EsDGNeJ/kjwqB6yibC0k727q656phX9Jr+alfbc3Hz8UjfJXBAHTVfUBxMwbLoTy7eKKzqvnQq3uf95lAvBrs3vN08axI89TJyW1y4ppw8IgCifg0FheWXu8Ou64WCQvzI2BDG9RaUb26hlxg6ap8u+qTr5BXheQZF13R+c0YCSSLO4tjvjxpuL3miSPdPbw9TrexHy45g+n0PC69SESs1+JiE4sa/fBsd1uzaUuCE2+A9fqvfhAkpFqEuPQfcykrpQcjzaKj6G6KLZyOnm569AVZIXcrZS078diUTwB+rKfA= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4987.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(346002)(376002)(136003)(366004)(39860400002)(71200400001)(26005)(76116006)(478600001)(52536014)(54906003)(4326008)(33656002)(8676002)(38100700002)(8936002)(86362001)(186003)(64756008)(122000001)(110136005)(55016002)(53546011)(6506007)(316002)(30864003)(2906002)(15650500001)(66946007)(9686003)(66446008)(83380400001)(5660300002)(7696005)(66556008)(66476007); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?vp3rMpJAjHiN4cLjg2PQkN63WyTIoW9ibLXXgeqS+keG3QCdiy1Njje6EdW0?= =?us-ascii?Q?gO8jDu0BrfjBTv79E3pu7NBIA1HYkaR8XxXqKQ+LcTkOeD1zU55l3VW9tvIv?= =?us-ascii?Q?oO8CpQaygbKTL/OsHSKJjCD9gutU8j40kCZZLlZaxl0jfSiXVy2n7dmBrtSS?= =?us-ascii?Q?IdsEZJCKl1Xbi/yKQ03WDw/pKxjEJm4HOIo8phAETwYTqCgIOc4S1sZ1sn7J?= =?us-ascii?Q?P9jyBc4tGXfKsgVG2+JVADmXzYu30grbNuge31eqA5Susw5Wtqa19Zbt6ni9?= =?us-ascii?Q?D17zjuo/gjjFE6G/rojAu2gPuQj9/7BGIQZad6QDHGFWmKNq0zoZenR0c3h6?= =?us-ascii?Q?0kd2CKnBofd4cB2FcxEN88884GBDB2V9towzqyXUsiIsRJteq1jLM92V1IGa?= =?us-ascii?Q?rAFPFAWaznv0oWyV6XWkqk0HcHQuHBsfv/5NYSVz0OEqaVq+RG5mIB69eSWV?= =?us-ascii?Q?mrEP9cbstz42rGZ/VsoCrjwwKWhoAS//GcMb6echoOph3EyxqIjqBKGdPgk5?= =?us-ascii?Q?/eDrO8GdShxc7Gg2yCpE4yyQyykJhll+C681I6rKxwcUu5C9QfKmNNfKlP+B?= =?us-ascii?Q?xRqdDNh0fthEw5gIjzML1zRBbYThh9G8YgtFrR4a/2zJgCOWkIQQ+RxLfoI0?= =?us-ascii?Q?qSKxtkoMAOyxOPty0TOfXZP0UNdWlX5N4oXwFOR87nmz+AF2kEr0r+Ee1ZBy?= =?us-ascii?Q?TPwxggrI3oHnx88C2HAoR6iTOh20KA6S5FALghxGfv1dYcfx6DiBU9f3NDVZ?= =?us-ascii?Q?eN1TqFWx7jpiKrfvW1cWKV8dR5D4eShi6iLpuV//+HjEEIgEiztHAVnmiyM3?= =?us-ascii?Q?BFkSw+kffqyDIzjJqsl1sRBgRDjPXQn0LJOknyF/w/pDUF8hwL1lGa47Wl5i?= =?us-ascii?Q?AySUbuSip9JHI9GNqQmtfkWGz00/FG4Dy8gK/0EQcfllVtocQBc+20DEs+34?= =?us-ascii?Q?zVTRPT7DrkQC1ONasCcSiB5bdWJwDZXvgO3PleMf7S9m6ot+dJXNjhlBlGfj?= =?us-ascii?Q?jmtbnUnaTNSzcEwJ66kMsvI05YJlNiNUxjb3RxgVqCXcofKKO28axxGdCx+P?= =?us-ascii?Q?ze04cJViobRy7gt66NS9fGM9fyN0G8jc8j9qiRyBV8QDHnC6BAych9Ga6rLZ?= =?us-ascii?Q?GNULfoWLqZ7rhjn+huXrYumOre6eEwDYAdc6lSYwhv0PI5nynv8KYfiu/5wo?= =?us-ascii?Q?YLg8sz587+embORN4XByOYGPlyjNtwi0l2z+3oY09xz4uX8Up+xAPv29SyrC?= =?us-ascii?Q?Be5Mb51kTeU4f72TziW2F/KJ3Offkw0VBkGVHEAXbzGQ3qCAZsqLg3PfcHTF?= =?us-ascii?Q?gSo97oeLpaa+cawaMg+CUxks?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4987.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0296dfc2-b382-4585-6812-08d90359d373 X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2021 17:37:38.2765 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5gLKA9tlxjYswL0TuPcCFtQktyZTvihaMtkMSeKdNOqGXUN68RC7jO4ZDwZwNOQqnlmfyVzguJRG6bAh9DG+qA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4372 Subject: Re: [dpdk-dev] [PATCH v4 3/3] doc: update for conntrack X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" Hi Bing I think that this patch should be merged to the two previous patches. Except this, Acked-by: Ori Kam Thanks, Ori > -----Original Message----- > From: Bing Zhao > Sent: Monday, April 19, 2021 8:17 PM > Subject: [PATCH v4 3/3] doc: update for conntrack >=20 > The updated documentations include: > 1. Release notes > 2. rte_flow.rst > 3. testpmd user guide >=20 > Signed-off-by: Bing Zhao > --- > doc/guides/prog_guide/rte_flow.rst | 118 ++++++++++++++++++++ > doc/guides/rel_notes/release_21_05.rst | 4 + > doc/guides/testpmd_app_ug/testpmd_funcs.rst | 35 ++++++ > 3 files changed, 157 insertions(+) >=20 > diff --git a/doc/guides/prog_guide/rte_flow.rst > b/doc/guides/prog_guide/rte_flow.rst > index 4b54588995..caabc49143 100644 > --- a/doc/guides/prog_guide/rte_flow.rst > +++ b/doc/guides/prog_guide/rte_flow.rst > @@ -1398,6 +1398,14 @@ Matches a eCPRI header. > - ``hdr``: eCPRI header definition (``rte_ecpri.h``). > - Default ``mask`` matches nothing, for all eCPRI messages. >=20 > +Item: ``CONNTRACK`` > +^^^^^^^^^^^^^^^^^^^ > + > +Matches a conntrack state after conntrack action. > + > +- ``flags``: conntrack packet state flags. > +- Default ``mask`` matches all state bits. > + > Actions > ~~~~~~~ >=20 > @@ -2842,6 +2850,116 @@ for ``RTE_FLOW_FIELD_VALUE`` and > ``RTE_FLOW_FIELD_POINTER`` respectively. > | ``value`` | immediate value or a pointer to this value = | > +---------------+----------------------------------------------------= ------+ >=20 > +Action: ``CONNTRACK`` > +^^^^^^^^^^^^^^^^^^^^^ > + > +Create a conntrack (connection tracking) context with the provided > information. > + > +In stateful session like TCP, the conntrack action provides the ability = to > +examine every packet of this connection and associate the state to every > +packet. It will help to realize the stateful offload of connections with= little > +software participation. For example, the packets with invalid state may = be > +handled by the software. The control packets could be handled in the > hardware. > +The software just need to query the state of a connection when needed, a= nd > then > +decide how to handle the flow rules and conntrack context. > + > +A conntrack context should be created via ``rte_flow_action_handle_creat= e()`` > +before using. Then the handle with ``INDIRECT`` type is used for a flow = rule > +creation. If a flow rule with an opposite direction needs to be created,= the > +``rte_flow_action_handle_update()`` should be used to modify the directi= on. > + > +Not all the fields of the ``struct rte_flow_action_conntrack`` will be u= sed > +for a conntrack context creating, depending on the HW, and they should b= e > +in host byte order. PMD should convert them into network byte order when > +needed by the HW. > + > +The ``struct rte_flow_modify_conntrack`` should be used for an updating. > + > +The current conntrack context information could be queried via the > +``rte_flow_action_handle_query()`` interface. > + > +.. _table_rte_flow_action_conntrack: > + > +.. table:: CONNTRACK > + > + +--------------------------+-----------------------------------------= --------------------+ > + | Field | Value = | > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D+=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D+ > + | ``peer_port`` | peer port number = | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``is_original_dir`` | direction of this connection for creatin= g flow rule > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``enable`` | enable the conntrack context = | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``live_connection`` | one ack was seen for this connection > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``selective_ack`` | SACK enabled = | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``challenge_ack_passed`` | a challenge ack has passed > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``last_direction`` | direction of the last passed packet = | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``liberal_mode`` | only report state change = | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``state`` | current state = | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``max_ack_window`` | maximal window scaling factor > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``retransmission_limit`` | maximal retransmission times > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``original_dir`` | TCP parameters of the original direction > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``reply_dir`` | TCP parameters of the reply direction = | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``last_window`` | window value of the last passed packet > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``last_seq`` | sequence value of the last passed packet= | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``last_ack`` | acknowledgment value the last passed pac= ket > | > + +--------------------------+-----------------------------------------= --------------------+ > + | ``last_end`` | sum of ack number and length of the last= passed > packet | > + +--------------------------+-----------------------------------------= --------------------+ > + > +.. _table_rte_flow_tcp_dir_param: > + > +.. table:: configuration parameters for each direction > + > + +---------------------+----------------------------------------------= -----------+ > + | Field | Value = | > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+ > + | ``scale`` | TCP window scaling factor = | > + +---------------------+----------------------------------------------= -----------+ > + | ``close_initiated`` | FIN sent from this direction = | > + +---------------------+----------------------------------------------= -----------+ > + | ``last_ack_seen`` | an ACK packet received = | > + +---------------------+----------------------------------------------= -----------+ > + | ``data_unacked`` | unacknowledged data for packets from this dir= ection > | > + +---------------------+----------------------------------------------= -----------+ > + | ``sent_end`` | max{seq + len} seen in sent packets = | > + +---------------------+----------------------------------------------= -----------+ > + | ``reply_end`` | max{sack + max{win, 1}} seen in reply packets= | > + +---------------------+----------------------------------------------= -----------+ > + | ``max_win`` | max{max{win, 1}} + {sack - ack} seen in sent = packets | > + +---------------------+----------------------------------------------= -----------+ > + | ``max_ack`` | max{ack} + seen in sent packets = | > + +---------------------+----------------------------------------------= -----------+ > + > +.. _table_rte_flow_modify_conntrack: > + > +.. table:: update a conntrack context > + > + +----------------+-------------------------------------------------+ > + | Field | Value | > + > +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D+=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > =3D=3D=3D+ > + | ``new_ct`` | new conntrack information | > + +----------------+-------------------------------------------------+ > + | ``direction`` | direction will be updated | > + +----------------+-------------------------------------------------+ > + | ``state`` | other fields except direction will be updated | > + +----------------+-------------------------------------------------+ > + | ``reserved`` | reserved bits | > + +----------------+-------------------------------------------------+ > + > Negative types > ~~~~~~~~~~~~~~ >=20 > diff --git a/doc/guides/rel_notes/release_21_05.rst > b/doc/guides/rel_notes/release_21_05.rst > index 8913dd4f9c..fb978aebe3 100644 > --- a/doc/guides/rel_notes/release_21_05.rst > +++ b/doc/guides/rel_notes/release_21_05.rst > @@ -203,6 +203,10 @@ New Features > the events across multiple stages. > * This also reduced the scheduling overhead on a event device. >=20 > +* **Added conntrack support for rte_flow.** > + > + * Added conntrack action and item for stateful offloading. > + > * **Updated testpmd.** >=20 > * Added a command line option to configure forced speed for Ethernet p= ort. > diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst > b/doc/guides/testpmd_app_ug/testpmd_funcs.rst > index 715e209fd2..efa32bb6ad 100644 > --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst > +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst > @@ -3789,6 +3789,8 @@ This section lists supported pattern items and thei= r > attributes, if any. > - ``s_field {unsigned}``: S field. > - ``seid {unsigned}``: session endpoint identifier. >=20 > +- ``conntrack``: match conntrack state. > + > Actions list > ^^^^^^^^^^^^ >=20 > @@ -4927,6 +4929,39 @@ NVGRE encapsulation header and sent to port id 0. > testpmd> flow create 0 ingress transfer pattern eth / end actions > sample ratio 1 index 0 / port_id id 2 / end >=20 > +Sample conntrack rules > +~~~~~~~~~~~~~~~~~~~~~~ > + > +Conntrack rules can be set by the following commands > + > +Need to construct the connection context with provided information. > +In the first table, create a flow rule by using conntrack action and jum= p to > +the next table. In the next table, create a rule to check the state. > + > +:: > + > + testpmd> set conntrack com peer 1 is_orig 1 enable 1 live 1 sack 1 cack= 0 > + last_dir 0 liberal 0 state 1 max_ack_win 7 r_lim 5 last_win 510 > + last_seq 2632987379 last_ack 2532480967 last_end 2632987379 > + last_index 0x8 > + testpmd> set conntrack orig scale 7 fin 0 acked 1 unack_data 0 > + sent_end 2632987379 reply_end 2633016339 max_win 28960 > + max_ack 2632987379 > + testpmd> set conntrack rply scale 7 fin 0 acked 1 unack_data 0 > + sent_end 2532480967 reply_end 2532546247 max_win 65280 > + max_ack 2532480967 > + testpmd> flow indirect_action 0 create ingress action conntrack / end > + testpmd> flow create 0 group 3 ingress pattern eth / ipv4 / tcp / end a= ctions > indirect 0 / jump group 5 / end > + testpmd> flow create 0 group 5 ingress pattern eth / ipv4 / tcp / connt= rack is > 1 / end actions queue index 5 / end > + > +Construct the conntrack again with only "is_orig" set to 0 (other fields= are > +ignored), then use "update" interface to update the direction. Create fl= ow > +rules like above for the peer port. > + > +:: > + > + testpmd> flow indirect_action 0 update 0 action conntrack_update dir / = end > + > BPF Functions > -------------- >=20 > -- > 2.19.0.windows.1