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 A42C2A0C4F for ; Thu, 15 Jul 2021 09:02:02 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 3271140143; Thu, 15 Jul 2021 09:02:02 +0200 (CEST) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2055.outbound.protection.outlook.com [40.107.94.55]) by mails.dpdk.org (Postfix) with ESMTP id 9B54640140 for ; Thu, 15 Jul 2021 09:02:00 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Bdq1g9wttPs0r75b8b8aL8QeVoRDfNbb/JFQl7cIRa5F+wqfugkgzBE5dEMXN+ZDo5Hs0JuanyL2p32nLoqlkVA1wX60NOPMSKDauWWdIAQ87YmrGu+rK/QL8uXOMbswARLti1T7/93TT5nb2DvwIJh6a4mnaWVV2SQsaRyKNysLuSSGX1blUBXBzkmEYAsd50Mbt+CrPE8MiLEZXE5RYWSkpUgWQLHs0auTKxoK2CusEv1pxUkGu2LjXvc9LYAsL6NodqMQflzDZtfupvyRdWORUwTbLaLc15QcRsMJrDqnP+alGkXLoWR2lNqFH8tBFPC55a/iOj8tkJW7Ay6DSg== 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=pMVVol6UCojy6Sn5CWi2tBkRnWpPc76meJolECCi0Y8=; b=FR8QTmNnx5dhIjEZjdn03wYob2YcYSfI4vQR/LDw2MTq5uQnUZxD7j4/c1GbNKy58Fl+Cpodkm5q8Z1irttwBHVicnMEwx0GSmjckOqn4ogZ6jBgtifspnTZpSMxFP1fUygKD1MAq3JOqgZIWg0gD0UtiupEAmuxgEk3jiaIMS0VKFZO4PAadNwmWgeSbYMP3C9xvzjJGZ6ubuecRsCvp9rjtwuWFJt9r1ouuVeWkMOdpkfcjDhzhabSYv8jj/46EImSaLZh6BnOavJTNRE8h5iPyl3WhY2W5E9s6C2bV2Jp7yPU3WtrLwUnHm4Q9KFXRhsVp2n0iH/0OK+y4TJq8Q== 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=pMVVol6UCojy6Sn5CWi2tBkRnWpPc76meJolECCi0Y8=; b=sr9Dv8Gl8B65X5n/tEQGRqYwPFPidCpVWhlMhnBuWUoUPmJzlG0Z1/W4gBBbYr/17il8hH4Br2eq50XnDGZw/2iORt+33t57/BUet7C+Rtkg84pbqY8y53Y9uUOKeyi5hvs99QyPyKjkjv0cnnFdBLtQ0dJ66flKQg9CRaw39vkBFnDMk6nS9NRf5XpVEn0X3J7dH24mLIpPWRFS5wh+QekIgCuBQ5JQlBE2kdgY0BLH0sFgiOdP+yE+eNSCBnXv5+r2iaMtSr8s47ybK7LRQGHBYM8r9srdyuq+QRqnl5zqufXBpolKN6vpturnYcaYwkfChTHsqTF18Cld08Zvtw== Received: from DM8PR12MB5494.namprd12.prod.outlook.com (2603:10b6:8:24::9) by DM8PR12MB5397.namprd12.prod.outlook.com (2603:10b6:8:38::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4308.21; Thu, 15 Jul 2021 07:01:59 +0000 Received: from DM8PR12MB5494.namprd12.prod.outlook.com ([fe80::2424:ff5f:bba6:42b1]) by DM8PR12MB5494.namprd12.prod.outlook.com ([fe80::2424:ff5f:bba6:42b1%5]) with mapi id 15.20.4331.023; Thu, 15 Jul 2021 07:01:59 +0000 From: Asaf Penso To: "users@dpdk.org" Thread-Topic: [DISCUSSION] code snippet documentation Thread-Index: Add5RxapGnpY5D0tS4m/cC+5PYBHHA== Date: Thu, 15 Jul 2021 07:01:59 +0000 Message-ID: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dpdk.org; dkim=none (message not signed) header.d=none;dpdk.org; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: dac5c90f-1716-42c4-c00b-08d9475e70b9 x-ms-traffictypediagnostic: DM8PR12MB5397: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 2LWMZV05N50AbyJLmAAQbzxV4C7ZVttJB/rrgZ7Km86JZabeBHjJBu1TpIOzPOtA1/D4OABpQOOkBPGgKat0Ie61L5sJ8tJSVGAsb5I+SSNIkEntcdEsPKqBdEF2XMURIBiDavZRJW7sPgPo87hPH7esnpbb1z0lJWM6LVmaLJP9pLyGXjN41GHwEKXmK/zlp7FDykf83dMERH8wcY75i3Ds7rTzRtHjMcbIJyehDplaBwL511iqd65zTDTxu+Asg5ycQrQeMg+5IdoRkk3xGw0eBmAyhX11qCRa0WNmUchEG7CXruw3tDCv4zXJa4p2fw202KGfKXsYON6pQAlKgy12BJc/a245mPDInzwNXBHK5otnlRt9n/vEXTvyv3s+AJsRIRiHiK+C+YIwHP/a4qkGimzmtqE2BD40R9CBXXf0UOzjrNGVk1MpgJPLG0lhQwncMgyj6wIaV7CKbuhD/FD4Dvy3XyK5ItP2VgxDew2v4koYnOwzTjf/FTyaJwjAJMreBpgeOJQRNI0gYrll7LPAs9QDh8CgGuTVKpxK3l/OsOG3w6J0CDR80ZfQWXMgXmeGv8eR7+Qb0KwFVIlekh5Jc83F0gJjZdmxjTBRcrp4B90RQKQz3Bf8mrPjrSXVuZib2z17g6eqH5y2AFEihVMp3ijtBR6al2XtZN9T/lQ1C8TPmskNDRqh8DRiEthXYbjBNWyEPWcnkdTExNuFvQ== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM8PR12MB5494.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(66946007)(8676002)(66476007)(66556008)(64756008)(52536014)(76116006)(66446008)(5660300002)(316002)(6916009)(8936002)(71200400001)(6506007)(33656002)(478600001)(55016002)(26005)(7696005)(122000001)(2906002)(186003)(86362001)(9686003)(38100700002)(38070700004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?rKI3CGXh/kk8FN3vXo1YfLD1F0LAkX4EXbrJu5wtWpg/d40h6rwC9JIaXjDu?= =?us-ascii?Q?o1tu0oJ8rqfysri4NAWQvdaPuqwNNCOWFgvzKwbTwmzFSPTPPSwYennw9Byr?= =?us-ascii?Q?4eKYaq709vEzHkC6Oshh4gj+0V5yVnWa9IF0conD5o2gP0np5LRxzUG4rkij?= =?us-ascii?Q?U3vB9EpiKn31A6VbQuEUECeOemesZ0ys72U/cvBPz0A+w6g4tEP1M8DOCGgt?= =?us-ascii?Q?WZUgZhdP7iuwgA75hraLhDn9fpx4BNlMDABo8IQpl25S8DWnuwuY1ZLHlyQe?= =?us-ascii?Q?PiUnpKemK8gSSfyUqLl4LDExZkDMT5l1XF+RPmlNH39JtTDG7UfR1cXChliQ?= =?us-ascii?Q?fE0Sa3iIAuoZyOq1sz9Sn4lFAV/4GafzWenSRluQl1fOjYBMEs/YDFR+D1uY?= =?us-ascii?Q?SvJEIcGnQbIRP9W4v7dZgVdWKE9dX23Uf2mH6M0LZ2o+OveJDU/JCZDSRyoU?= =?us-ascii?Q?NXQHkaG8j8smPTPu7U0dlLCLaYucq27wj2ty9TZjAqz5EuSSH31V9COiS41l?= =?us-ascii?Q?IqjLm3o9n3KS2knDvgxhX6t5dJlDz5MZhL2eIL6gAuajQ24y/k+FyOJMLk5C?= =?us-ascii?Q?xbuXh5m0I34JHLhvjnzFy+I3K8APK22ubHBGY2CT/Pkg/fmaISyMpvYD9azc?= =?us-ascii?Q?nrUfZLmyS/5wdmnkodleg7Xom26ug28HDJcuaLBXAn8GGO8dtp04ff+jIJ37?= =?us-ascii?Q?hoEn9WppChn563D3vYcqWZXoO802LQjJzVUDszKi17aj+OFa0QXKU5C7UNJs?= =?us-ascii?Q?qzf8HPdkljoyOQaGEWxsKAP/Tc0u/WSCQMi1ORZd1gRgYToO4DXdJtXcIEMQ?= =?us-ascii?Q?5zHWyNZgZ7D5/2VR/Dg4TkjLcGEsltV2aG2B6KXzmzY2h6Er7L8FfN+gFtQV?= =?us-ascii?Q?G5Kl0iVE+BLdODIxAASWUNeV48R+4LGyG0+ANgFkgGHDltVPkMZTVBeZ5mQv?= =?us-ascii?Q?JVn/KItb/fa+QyVYbTKXtAe9IbV5IA6QOc9cBRjEJadAkSM9BxPhrrSj2xTy?= =?us-ascii?Q?U2VPqMX45djJIQi0+duWGmf4eoGaVJWlIzgr5EBCBJaermv9/fZGSXgNzGyv?= =?us-ascii?Q?Bd+DjDtO5zFg5628veXbpQwFbTFRCplIS5Im48lsXpSmL1lDc2KpoaQZe6f8?= =?us-ascii?Q?m/GKO3VSU3tXu5wtFmlhPFXKWYWe56l8jXRyPgI+R8WBBdqPUfeOXj+UbROe?= =?us-ascii?Q?WKsJHDatrOPDAj67NmQEoYaqEJCvPlc+Sh+BPpWZEMz3LkflgYmp87H1uCNP?= =?us-ascii?Q?aTXWe00hI0kj+ZT7xRgijAuaxZrofEH4j1pxDtcVrHWCN7vKJ/CKtohZOy/u?= =?us-ascii?Q?7QIHf6rQ1ipR6BFIIFOxiSF0?= x-ms-exchange-transport-forked: True 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: DM8PR12MB5494.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: dac5c90f-1716-42c4-c00b-08d9475e70b9 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2021 07:01:59.2698 (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: sxrNH371kAw9O4DXjccUbTcSyo631MchAzmddV68duIust2JOH/FRWxI65tk57yFQOdphP6ofUhNaKuxim8WLA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM8PR12MB5397 Subject: [dpdk-users] [DISCUSSION] code snippet documentation X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: users-bounces@dpdk.org Sender: "users" Hello DPDK community, I would like to bring up a discussion about a way to have code snippets as = an example for proper usage. The DPDK tree is filled with great pieces of code that are well documented = and maintained in high quality. I feel we are a bit behind when we talk about usage examples. One way, whenever we implement a new feature, is to extend one of the test-= * under the "app" folder. This, however, provides means to test but doesn't provide a good usage exam= ple. Another way is to check the content of the "example" folder and whenever we= have a BIG new feature it seems like a good place. This, however, doesn't provide a good option when we talk about small featu= res. If, for example, we extend rte_flow with an extra action then providing a f= ull-blown example application is somewhat an entry barrier. A third option could be to document it in one of the .rst files we have. Obviously, this requires high maintenance and no option to assure it still = compiles. I'd like to propose another approach that will address the main two issues:= remove the entry barrier and assure compilation. In this approach, inside the "examples" folder we'll create another folder = for "snippets". Inside "snippets" we'll have several files per category, for example, rte_f= low_snippets.c Each .c file will include a main function that calls the different use case= s we want to give as an example. The purpose is not to generate traffic nor read rx/tx packets from the DPDK= ports.=20 The purpose is to have a good example that compiles properly. Taking the rte_flow_snippets.c as an example its main function would look l= ike this: int main(int argc, char **argv) { rte_flow_snippet_match_5tuple_and_drop(); rte_flow_snippet_match_geneve_ope_and_rss(); ... Return 0; } Regards, Asaf Penso