From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 6418DA09FF; Tue, 29 Dec 2020 11:15:37 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id E5A1E2AA0; Tue, 29 Dec 2020 11:15:35 +0100 (CET) Received: from hqnvemgate25.nvidia.com (hqnvemgate25.nvidia.com [216.228.121.64]) by dpdk.org (Postfix) with ESMTP id 697D4262E for ; Tue, 29 Dec 2020 11:15:34 +0100 (CET) Received: from hqmail.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate25.nvidia.com (using TLS: TLSv1.2, AES256-SHA) id ; Tue, 29 Dec 2020 02:15:32 -0800 Received: from HQMAIL109.nvidia.com (172.20.187.15) by HQMAIL105.nvidia.com (172.20.187.12) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Tue, 29 Dec 2020 10:15:30 +0000 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.104) by HQMAIL109.nvidia.com (172.20.187.15) with Microsoft SMTP Server (TLS) id 15.0.1473.3 via Frontend Transport; Tue, 29 Dec 2020 10:15:30 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=caXMeP8YLc64IqpIZsO4HVF+G+vTjvPuaFxW7oJSgp+NoSiWzFzBqseEQB0oXqgYGtAVlRl1kDnu0IKMaS0nNyaNxOEuuYgpUi6CSAxGtb7MdV2M9jQPL5RIQiWdU8kSnet2kYE3fCX/bAOziBxqXbeb1wilsuv8XxwvNPzEEl/9PLyss5YyehQ0hocfnbTWYs7KAAGgYxklMK+cmtxQ0Y+Bm7kLTuquKZ9UIbWSXWaImqWGNFEvYpYXeLvSXmpwBpJLtMEul/Og3W9NQxDpIrhEwS4EFBpSYVGigQizQ2yECuPEcycJzpN1e7yEcSBdk3VPKRj/ZKP1wibBpJwJkg== 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=jaAflmmRopxf7MJk247TlmBFymI77duKFsarGoGc3EQ=; b=eUH747pc4VTdxBHwRuC/7l5uxXNFFy7QhMAwEkY52IYNHSDiudt99tzh1NQkG0PvHHtTEx/WJoPhhwgU1ednAXqUJLVV4pbkM3ukJluI2ks2iT1jiLTo656opNjLgzHzj99AQ9sGiv7Md+pa1zfzbFeWcsjlAL+UoDJ6IU3itxWupQ3cgfnSgaP5Ke2q0ZrHR6CVcAjP2w8j492eAtsWGuh/WvRZf0DAjnccvjFJpbaxBMv0+OkA+5O8cTLqMMR6NGVDzH1IHMAJkDac4TiV5Rt/OIHEn7Ldvs3QMDzpfophpJYI4snXOa9sfXl9dRLsMVnM377HwnM2VvCm1uAFNA== 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 Received: from DM6PR12MB4987.namprd12.prod.outlook.com (2603:10b6:5:163::31) by DM6PR12MB3689.namprd12.prod.outlook.com (2603:10b6:5:1c7::32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3721.19; Tue, 29 Dec 2020 10:15:29 +0000 Received: from DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::e1e4:bf73:a753:2665]) by DM6PR12MB4987.namprd12.prod.outlook.com ([fe80::e1e4:bf73:a753:2665%4]) with mapi id 15.20.3700.031; Tue, 29 Dec 2020 10:15:29 +0000 From: Ori Kam To: Shiri Kuzin , "dev@dpdk.org" CC: Slava Ovsiienko , NBU-Contact-Adrien Mazarguil , "ferruh.yigit@intel.com" , NBU-Contact-Thomas Monjalon , Raslan Darawsheh Thread-Topic: [PATCH 1/6] ethdev: update GTP headers Thread-Index: AQHW3VHvLxa2z/+GkUCzJeZsVnlglqoN3CuA Date: Tue, 29 Dec 2020 10:15:28 +0000 Message-ID: References: <20201228194432.30512-1-shirik@nvidia.com> <20201228194432.30512-2-shirik@nvidia.com> In-Reply-To: <20201228194432.30512-2-shirik@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: 02d6214a-0517-4c6b-c3c6-08d8abe2aad5 x-ms-traffictypediagnostic: DM6PR12MB3689: 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:115; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: fqhVGJ/1gAdhyLjm6Oi4aFlt+8W+BvStadr0rduTgYLlLLSVF3D4ll12QpoHiGE75MnpqwXcM4HF+dTIYZu+N2HTMEVSLoFP0N0u+vSoynwIKbPnZTGXON23Xs6goUrPRBskNmiTwTinksDy4VeS0G+Btf5FREIn+PHqX65KsLsCkYWI5NSOb4+8E/N3U3Up7tnfpKjCD0WcLYVG3xQPte23PJHiPoAzGY60/Bl1zN5j4Q1pNBM0r9v9omnuPySd3ws7eGViEQfqUp7Ddxk3gkJtnXPfbtWPiW3QIOg/aCUbJE03TMHjbr4Ds+90WfXGKHhosNAutC/K/KOB4Mx9m05hTjuudl3+6SWuqikGqEhwXud++sfhiUi3+zBeY5PFVXxAU4Pa9QVLv2b/VasfXg== 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)(346002)(39860400002)(136003)(376002)(396003)(366004)(5660300002)(86362001)(83380400001)(8676002)(2906002)(8936002)(33656002)(71200400001)(7696005)(76116006)(66476007)(52536014)(9686003)(478600001)(26005)(66946007)(6506007)(54906003)(107886003)(66446008)(15650500001)(66556008)(64756008)(316002)(110136005)(4326008)(55016002)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?us-ascii?Q?2CnvgH54EJ6fYSnK2fn83Wc5FnpmOpZZIsojJd3EToSjbNVkJ+SdufXHA2++?= =?us-ascii?Q?2TF2Y1KYsfq/APV28OSok9LNdgZSdIXc4xA8lYvleDQOnDkvBy8+P33oAWaC?= =?us-ascii?Q?XPH654CBqSRXDdY+NUs9tI+6tGZG+QdLOo4gSOaXpHwwM3199J2v2z8ug6jW?= =?us-ascii?Q?9lbUuwKdk4cj7O2x4QXFP4IYmsI9xvdSUuE/mr/V14Z6ZELOCD0+q1T1Am1K?= =?us-ascii?Q?0PI4qeTRfGuVoOUKy0cCVPLm8pIFVaRnouFPbt5d6n/PSz33m5snDEUSjj50?= =?us-ascii?Q?guKHo4u4R6zjbVdEEe2gIwAYh1hMl4GCgCqQfxjEg/Wo05qbR4LNVVxYaLUk?= =?us-ascii?Q?ykO3HUmCX4UyQjofaJnN9CjAUacB0pncOIMUShsjpv5zDiYtephtYVcyoZgD?= =?us-ascii?Q?nLqc9Fn1SBGE/Ljl1VPi5QJj/D7XOWgyXFrqAwZMQs/aMLrZdI6eDVzJ4rBj?= =?us-ascii?Q?bXS0rdWQPbK1AOCuhemyRJye+IFt9cBHaALZQ+4H2A0eyS+bNsrPj7eKJwQ1?= =?us-ascii?Q?+4LMzXrycI4Ngfld2DwnVxR19PuS+WflTshJIivzNy6YdSsjjNpJAke7gQRx?= =?us-ascii?Q?lmWesvPXlYUblDF4K0jDT3RT/x7kOSAkLook5EXX11uFNu6fAZ1wOMWlDHru?= =?us-ascii?Q?ld6FqrZmc1u2qontEiw2QoI+/SNMHFPfYu2TXqjcktct9BsRl25qRn6Wuawk?= =?us-ascii?Q?NctiKWuirBvzjjpB3Lty5Hxcyi6gtTpLA1Qtj0vOFQe/XUxEiJcpPUZK80ZG?= =?us-ascii?Q?MC1DW33Vt/ajEaeM6aucPq1VkeJ6+wtGk0DRO4Z1ST6YqoQ+F4LFBKCRZ69T?= =?us-ascii?Q?NvOpIrkfAhCuYn484jyvMI7nO2kudMA6eK2CpvdH0sZahEkQZLsB0R+l4k51?= =?us-ascii?Q?r4FOe27KGzSMD6ZvTxfjW3IbtOqwLH/XXRq9otCRxCK0Ecbcv4mUvtFQu0Ao?= =?us-ascii?Q?AGKjd77tvI2ak5xif38BfZ0npYjc+JIeutG+c2DGdalvcm37WkNlczicmHZl?= =?us-ascii?Q?86lE?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4987.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 02d6214a-0517-4c6b-c3c6-08d8abe2aad5 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Dec 2020 10:15:28.9430 (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: fbtEQv7+cEL424EqTlc6Ru1ABt4OzXqbQB4HoMX+0jawThzxKafF2XcATwtcnoGcxZVjOAvYHWP+W9xExTc6+A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB3689 X-OriginatorOrg: Nvidia.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1609236932; bh=jaAflmmRopxf7MJk247TlmBFymI77duKFsarGoGc3EQ=; h=ARC-Seal:ARC-Message-Signature:ARC-Authentication-Results:From:To: CC:Subject:Thread-Topic:Thread-Index:Date:Message-ID:References: In-Reply-To:Accept-Language:Content-Language:X-MS-Has-Attach: X-MS-TNEF-Correlator:authentication-results:x-originating-ip: x-ms-publictraffictype:x-ms-office365-filtering-correlation-id: x-ms-traffictypediagnostic:x-ld-processed: x-ms-exchange-transport-forked:x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers:x-ms-exchange-senderadcheck: x-microsoft-antispam:x-microsoft-antispam-message-info: x-forefront-antispam-report:x-ms-exchange-antispam-messagedata: Content-Type:Content-Transfer-Encoding:MIME-Version: X-MS-Exchange-CrossTenant-AuthAs: X-MS-Exchange-CrossTenant-AuthSource: X-MS-Exchange-CrossTenant-Network-Message-Id: X-MS-Exchange-CrossTenant-originalarrivaltime: X-MS-Exchange-CrossTenant-fromentityheader: X-MS-Exchange-CrossTenant-id:X-MS-Exchange-CrossTenant-mailboxtype: X-MS-Exchange-CrossTenant-userprincipalname: X-MS-Exchange-Transport-CrossTenantHeadersStamped:X-OriginatorOrg; b=D9sogHTuwg57SnLX6ySecNQSgNudMsLLHgTKPzdUoPhuz/t/pvKyfb45gR+c8hvFV ywO+FYYMn2F5WSP+QuLU8ltwemlgPWE31cNCaAVfzfBl/wSJNxvLMKr2wJACZ7IqM5 7hHY27vbHFFWCWs5jayjZFGzfzZEd6aDHQoTw2K1sk0PpMqNprnyBK0X6r5Zm3DQSi ArfU/qgrIidKphPT2+UJFU+6JI9JR5JMW307lK+cxmt22UkXe1qy96MD1bT0bSLkAc C3wu7FP7VwTy57CrBn/HOPw3yt8+Ko3vRSiiBjyjAcahP/h2WpQDMrm1/gxJ2tDkzb vJfaI0+WJEOSA== Subject: Re: [dpdk-dev] [PATCH 1/6] ethdev: update GTP headers 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" > -----Original Message----- > From: Shiri Kuzin >=20 > From: Viacheslav Ovsiienko >=20 > This patch introduces the GTP header individual flag bit fields > and the header optional word with N-PDU number, Sequence Number > and Next Extension Header type. >=20 > Signed-off-by: Viacheslav Ovsiienko > --- > lib/librte_net/rte_gtp.h | 33 ++++++++++++++++++++++++++++++--- > 1 file changed, 30 insertions(+), 3 deletions(-) >=20 > diff --git a/lib/librte_net/rte_gtp.h b/lib/librte_net/rte_gtp.h > index 104384cc53..6a6f9b238d 100644 > --- a/lib/librte_net/rte_gtp.h > +++ b/lib/librte_net/rte_gtp.h > @@ -27,13 +27,40 @@ extern "C" { > * 16-bit payload length after mandatory header, 32-bit TEID. > * No optional fields and next extension header. > */ > +__extension__ > struct rte_gtp_hdr { > - uint8_t gtp_hdr_info; /**< GTP header info */ > + union { > + uint8_t gtp_hdr_info; /**< GTP header info */ > + struct { > +#if RTE_BYTE_ORDER =3D=3D RTE_LITTLE_ENDIAN > + uint8_t pn:1; /**< N-PDU Number present bit */ > + uint8_t s:1; /**< Sequence Number Present bit */ > + uint8_t e:1; /**< Extension Present bit */ > + uint8_t res1:1; /**< Reserved */ > + uint8_t pt:1; /**< Protocol Type bit */ > + uint8_t ver:3; /**< Version Number */ > +#elif RTE_BYTE_ORDER =3D=3D RTE_BIG_ENDIAN > + uint8_t ver:3; /**< Version Number */ > + uint8_t pt:1; /**< Protocol Type bit */ > + uint8_t res1:1; /**< Reserved */ > + uint8_t e:1; /**< Extension Present bit */ > + uint8_t s:1; /**< Sequence Number Present bit */ > + uint8_t pn:1; /**< N-PDU Number present bit */ > +#endif > + }; > + }; > uint8_t msg_type; /**< GTP message type */ > - uint16_t plen; /**< Total payload length */ > - uint32_t teid; /**< Tunnel endpoint ID */ > + rte_be16_t plen; /**< Total payload length */ > + rte_be32_t teid; /**< Tunnel endpoint ID */ > } __rte_packed; >=20 > +/* Optional word of GTP header, present if any of E, S, PN is set. */ > +struct rte_gtp_hdr_ext_word { > + rte_be16_t sqn; /**< Sequence Number. */ > + uint8_t npdu; /**< N-PDU number. */ > + uint8_t next_ext; /**< Next Extension Header Type. */ > +} __rte_packed; > + > /** GTP header length */ > #define RTE_ETHER_GTP_HLEN \ > (sizeof(struct rte_udp_hdr) + sizeof(struct rte_gtp_hdr)) > -- > 2.21.0 Acked-by: Ori Kam Thanks, Ori