From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jack Min Subject: [PATCH v6 2/3] app/testpmd: add commands of modify TTL Date: Tue, 16 Oct 2018 08:14:27 +0000 Message-ID: <20181016081350.24765-3-jackmin@mellanox.com> References: <20181013032348.26380-1-jackmin@mellanox.com> <20181016081350.24765-1-jackmin@mellanox.com> Mime-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Cc: "dev@dpdk.org" To: Adrien Mazarguil , Wenzhuo Lu , Jingjing Wu , Bernard Iremonger , John McNamara , Marko Kovacevic Return-path: Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0080.outbound.protection.outlook.com [104.47.2.80]) by dpdk.org (Postfix) with ESMTP id 111BE4CC7 for ; Tue, 16 Oct 2018 10:14:29 +0200 (CEST) In-Reply-To: <20181016081350.24765-1-jackmin@mellanox.com> Content-Language: en-US List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" add commands which supports following TTL actions: - RTE_FLOW_ACTION_TYPE_DEC_TTL - RTE_FLOW_ACTION_TYPE_SET_TTL Signed-off-by: Xiaoyu Min Acked-by: Yongseok Koh --- app/test-pmd/cmdline_flow.c | 34 +++++++++++++++++++++ doc/guides/testpmd_app_ug/testpmd_funcs.rst | 5 +++ 2 files changed, 39 insertions(+) diff --git a/app/test-pmd/cmdline_flow.c b/app/test-pmd/cmdline_flow.c index 4a2764270..3efc2d86e 100644 --- a/app/test-pmd/cmdline_flow.c +++ b/app/test-pmd/cmdline_flow.c @@ -256,6 +256,9 @@ enum index { ACTION_SET_TP_DST, ACTION_SET_TP_DST_TP_DST, ACTION_MAC_SWAP, + ACTION_DEC_TTL, + ACTION_SET_TTL, + ACTION_SET_TTL_TTL, }; =20 /** Maximum size for pattern in struct rte_flow_item_raw. */ @@ -836,6 +839,8 @@ static const enum index next_action[] =3D { ACTION_SET_TP_SRC, ACTION_SET_TP_DST, ACTION_MAC_SWAP, + ACTION_DEC_TTL, + ACTION_SET_TTL, ZERO, }; =20 @@ -974,6 +979,12 @@ static const enum index action_set_tp_dst[] =3D { ZERO, }; =20 +static const enum index action_set_ttl[] =3D { + ACTION_SET_TTL_TTL, + ACTION_NEXT, + ZERO, +}; + static const enum index action_jump[] =3D { ACTION_JUMP_GROUP, ACTION_NEXT, @@ -2636,6 +2647,29 @@ static const struct token token_list[] =3D { .next =3D NEXT(NEXT_ENTRY(ACTION_NEXT)), .call =3D parse_vc, }, + [ACTION_DEC_TTL] =3D { + .name =3D "dec_ttl", + .help =3D "decrease network TTL if available", + .priv =3D PRIV_ACTION(DEC_TTL, 0), + .next =3D NEXT(NEXT_ENTRY(ACTION_NEXT)), + .call =3D parse_vc, + }, + [ACTION_SET_TTL] =3D { + .name =3D "set_ttl", + .help =3D "set ttl value", + .priv =3D PRIV_ACTION(SET_TTL, + sizeof(struct rte_flow_action_set_ttl)), + .next =3D NEXT(action_set_ttl), + .call =3D parse_vc, + }, + [ACTION_SET_TTL_TTL] =3D { + .name =3D "ttl_value", + .help =3D "new ttl value to set", + .next =3D NEXT(action_set_ttl, NEXT_ENTRY(UNSIGNED)), + .args =3D ARGS(ARGS_ENTRY_HTON + (struct rte_flow_action_set_ttl, ttl_value)), + .call =3D parse_vc_conf, + }, }; =20 /** Remove and return last entry from argument stack. */ diff --git a/doc/guides/testpmd_app_ug/testpmd_funcs.rst b/doc/guides/testp= md_app_ug/testpmd_funcs.rst index ca060e108..02612cc60 100644 --- a/doc/guides/testpmd_app_ug/testpmd_funcs.rst +++ b/doc/guides/testpmd_app_ug/testpmd_funcs.rst @@ -3802,6 +3802,11 @@ This section lists supported actions and their attri= butes, if any. - ``mac_swap``: Swap the source and destination MAC addresses in the outer= most Ethernet header. =20 +- ``dec_ttl``: Performs a decrease TTL value action + +- ``set_ttl``: Set TTL value with specificed value + - ``ttl_value {unsigned}``: The new TTL value to be set + Destroying flow rules ~~~~~~~~~~~~~~~~~~~~~ =20 --=20 2.17.1