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 20ED143D1E; Fri, 22 Mar 2024 09:02:53 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BC4C442DF1; Fri, 22 Mar 2024 09:02:52 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by mails.dpdk.org (Postfix) with ESMTP id 8FA9B4003C for ; Fri, 22 Mar 2024 09:02:51 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 42M0K3IZ020062; Fri, 22 Mar 2024 01:02:44 -0700 Received: from nam11-bn8-obe.outbound.protection.outlook.com (mail-bn8nam11lp2169.outbound.protection.outlook.com [104.47.58.169]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3x0ybu9634-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 22 Mar 2024 01:02:43 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Y3Ze1ox6VlwQMXOOhMs3zUnP3ZE32eR/b5IaQReARX6MoqoqtJgnj2rw2VDIiI6v6lYeafKYFrPc6dfv75zyGahru91y3z6gVpk3ir2nvlND6hvkifwC5kkBn/zashmna96/7nyr8Nv9ke3/mnmbRpLNou/Hykw5XU8HzZ39SU3mJ3ODVCEyS72sN65/2vUSuYh1RiGohVzuIoKUXZrPYZEUUmvHgiQPFbYT292ri+f2Jv5QZQdrzX1/jasmoxgqQg39rGE4Z7T5Xc6WkJOu7D+e33sNQW/+EqlO87Ffcit958Z76402jNf1QR50+sX1MsiMN0R37DYqDIUVDbXqeA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=4qwGmMANf3Cj9pxuxDPbrEQ9WCrzrJVeizJ1537uogY=; b=BLGqqCebAqEFsbrD0ObMCqOyK+vjUDA7jrXzz638e4m0OFlOpAinebBdnhkrJbp8wwD+c4CwJtBLGlk53+ZfdAIUhUU/gy9PHEzJ7D5i0VodtHLqrM5aH5G+CrrGn2SunVh3dcnjk53TKvuDepisen8ZHhyPnDE3lBIJDy1WAK5REeSgUwrbOmZI45DLC4oMcA17QzGpzguBOzI4ZrQMXYPxkL9ZBbvPX4QnWGRRq3iW1/AwHF70nHrqyn2L7EAMOTouXlQ0y4AqspePUqy4qkRTWicdmu5uztYrbIi/whCvKlOZ6orQTnHdBtV/jL7HHXZaq+l9tj8rP5YdJYvYxw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=4qwGmMANf3Cj9pxuxDPbrEQ9WCrzrJVeizJ1537uogY=; b=tUQK0zmF81iU32rTotUjgZGI8iy9xO7PgWo50xBI6ZKmfSNjh/Ax9hNRF+VoY1VC5YtjMJ4msWDEz2XipMQd02C5Sq5KFGeAKazz+o/8VB4OxL63BM2j2J+rUjBHlBTDfnZn4sSKbYyZznDCjgTha81c2TI357TVSlLT9apwVhI= Received: from PH0PR18MB5071.namprd18.prod.outlook.com (2603:10b6:510:16b::15) by SA1PR18MB4694.namprd18.prod.outlook.com (2603:10b6:806:1d5::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.23; Fri, 22 Mar 2024 08:02:40 +0000 Received: from PH0PR18MB5071.namprd18.prod.outlook.com ([fe80::b2bd:bab4:73f2:6c52]) by PH0PR18MB5071.namprd18.prod.outlook.com ([fe80::b2bd:bab4:73f2:6c52%7]) with mapi id 15.20.7386.025; Fri, 22 Mar 2024 08:02:40 +0000 From: Kiran Kumar Kokkilagadda To: Robin Jarry , "dev@dpdk.org" , Jerin Jacob , Nithin Kumar Dabilpuram , Zhirun Yan Subject: RE: [EXTERNAL] [PATCH] graph: enhance export to graphviz Thread-Topic: [EXTERNAL] [PATCH] graph: enhance export to graphviz Thread-Index: AQHaeumxPab3AIULnEGQMHOE0anmRbFDaDAA Date: Fri, 22 Mar 2024 08:02:39 +0000 Message-ID: References: <20240320171120.255142-2-rjarry@redhat.com> In-Reply-To: <20240320171120.255142-2-rjarry@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB5071:EE_|SA1PR18MB4694:EE_ x-ms-office365-filtering-correlation-id: f9e7324e-7d9e-49b6-cff2-08dc4a4671f3 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: vmMU5DXnaFIKB9Mb4jBRBgzsGR0TpPA2cK/p3guK+JGZSzu7tOR/Y0Ruzu7CiPT+Cad4HB6Q4pWu5HgbVmEyPP7A3IlM7tqqAFqWbW/baKfZRsUfJCUgGyJ7dhOnCFG+9pQZsBpnwu+qiz04XoYoh7RAv8W7Df60dBvUzairtgP4I6CUQTXxqKcf6IqrCghXnVqhq2RVNvmjJlDbrMvND+Vm0W8VWGLscCuZ9Z7mZwn+OWmM0W1wQ2S6DXS8WRrBjkcSNVPii7U8JyCnzt9WI2w70L6Q765IX93OqNjZMzoML1XRwM1+y0VCi+kT7Ea4xTjqMwgYeKKA3wsinE9nJiVc5w42vbmWcDVszfGBq4e5ViX2SyJXjmN8EzlzvUpMs8Cdlbpzx2tDz3lDzi6lFaWul+/Hta46pjX5lGxIvwUDYFUqkKFMHppX4xB40XhiuJszCyg6PvySd5RN1ep708E1fU1TpG2N5iLA5PXnsHZpJEKdDn7yCrILFUQ3Il7Q9ycJ8zQzbSQMwsOeBHaGiODTJS3TtdRsAknZOfSCQOnl+QhHsJ1VlIyfQ7NTRefOzP8yHgE1Qo7Vcxo6ejEkJm2Kp4mzERBM3BXU2Sh5hdRVntN5NsIQK7nk0JoJIs3FrvUbZtop1W9Zt+kaGIq0C+GFaurKKGR0Z5D3gujUdNc= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB5071.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(376005)(1800799015)(366007)(38070700009); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?NtfcpCWxkac/3atrjQMMLkzCr+vb0CAOSUX8hL9ap50IzAWWfxkXx4vr4t3v?= =?us-ascii?Q?PL2KiGrYQJIkTr9wiqWwiJ+5UKRo/4qFmoVhOBG9094E8HisW+c5QpqI8qDp?= =?us-ascii?Q?57m0xPsGkP/EIv29fb1V18wxhY0IrmbDnxUaImG9hTl/B9C++p92C/Cmujqq?= =?us-ascii?Q?d7Abf74+XdPMzbzvxCKZ/1pnhDUl1Vi9UHPjHQbvsPvu3yQSdHsieWFMmEH2?= =?us-ascii?Q?amGngcLVt4aTUmomDBL11KOPa1/zcRdHf9EZ3Vp+DU3cIWO2u2Wtb4iiveqy?= =?us-ascii?Q?zl3uxyEdUYl8PObzk9ZDXSHIw15nZOmtUiIWXFu52R6xAhrN2w9fAetuU+X8?= =?us-ascii?Q?VezB1lF5VxsHjCMxKZXf1x9X7oRJ1EDNBH1RvIC0ubEebo9+hBqECAOqX9cD?= =?us-ascii?Q?B0lOmoO7lotw07Gukh5291bQEFrgYyKB2/Nl7jUvzafZ54tkO1NFyjj8nQMJ?= =?us-ascii?Q?6sbrLxFKEGj1Sq7DQC53/T+oVveXEunYRZacNYyBcfDbSMyPSDpPoBuw7L8u?= =?us-ascii?Q?2SBP+wcIlfyrSwWpYO2xzdqfH+7gw0+rBN8H5Y1PaRKQXQs3rkfSDt877Pe3?= =?us-ascii?Q?UYRIbf64nCIZH3fxld3of0oCm1rWtelpp+leH9Uv+3tXNS8EHgUybZIuuwWu?= =?us-ascii?Q?6cuVjwzmOTNexF36Q17j3PssN3lFOQWEkaQoNzb4ohR9I+umurJoxWWgFrfJ?= =?us-ascii?Q?eP2ovKOGm2dawjgJLckZkfUH0QVkM9QnHA5KB8UCFW84MUa1kKEuiIJgZCYY?= =?us-ascii?Q?yogCbUv6lqGPHhZ00YFpPu42ImoyyzSWRJ6uK3wQWwLGyEjwjva7ng0Bbga1?= =?us-ascii?Q?zFCuKDZgTOeM1+4RMuuqyjlgE0vJg+76ki+8u5kV4thgSLUdqa7TPGN/mCSf?= =?us-ascii?Q?98aMOodpOYIPmsiDa2SA4xlgxQae8b4Ao5KT2fJ1dqzAq1wT729t3j3CfVpg?= =?us-ascii?Q?LaVnXu/KeY8Af9CyTq0NyA6RbAhViqQKucEBnw2qTV1/9TbwTNfpbIb9VLJA?= =?us-ascii?Q?rS7ER9OFnEkKCKNcEJhMg3ZAIn2RQAJo0ysqhyTt2QzkOig2SdqYOQisR7ky?= =?us-ascii?Q?nfJH4IHJYJwOrnJ67sNoWsgpz8CGBk7C3n7dRQMZp0snYfPYVFcUv5EU29Up?= =?us-ascii?Q?FHCwjV8/KuyWqnYqjcJ1YNGBMmCuvUYVAp08nFJJsm3vrPylZrOr9UQLzZV5?= =?us-ascii?Q?/uix7UZ5fB+Iz1O13l9t6QvCVWgMLU4lyTtisgZo+DD0zwbksHI9hMCQbHmv?= =?us-ascii?Q?948BwlEcEZNBZ1CUPmHqTsxDdJ/QlbcnVs61JzX2Hx/E2lirlcq9vv/nFhek?= =?us-ascii?Q?227MhL+lK149+42+mOjg28jp2V7JazEdP8IQrHIcohn05GBrP/Uvli4l5L0X?= =?us-ascii?Q?MmQmmcIHBlUneHg+FQjUUXN6XEsZzwPztLkJcP7iFN+rH7FCTJOPT1VolbBs?= =?us-ascii?Q?9dgyAXvQYrYj6uj76SsibMP1ihWDjkkRF7HrafvqWY6sQBkGM9MzKZmCevLk?= =?us-ascii?Q?s3xgH7T/MlAGtwIxTO/XIDXF93PzI8ohJDuC5MlYmyCsQagJf3tRmkaa+h7o?= =?us-ascii?Q?C8Hyvizf1+f0Qcb9TfsYIVKdxU7uwToa/GmZydoh?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB5071.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f9e7324e-7d9e-49b6-cff2-08dc4a4671f3 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Mar 2024 08:02:39.9543 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: j3PSa9Fq4i6AUCojxGElyJa4WAuQOTE/T0NlTEzk6oEyN4OWHMIvt1C4l6SK//hbIvSuCwU+nmqk8OptbQ0QPg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR18MB4694 X-Proofpoint-GUID: _0RD8MN4P8ucFAZ31IsrxfANQSvfpI6u X-Proofpoint-ORIG-GUID: _0RD8MN4P8ucFAZ31IsrxfANQSvfpI6u X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-22_04,2024-03-21_02,2023-05-22_02 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 > -----Original Message----- > From: Robin Jarry > Sent: Wednesday, March 20, 2024 10:41 PM > To: dev@dpdk.org; Jerin Jacob ; Kiran Kumar > Kokkilagadda ; Nithin Kumar Dabilpuram > ; Zhirun Yan > Subject: [EXTERNAL] [PATCH] graph: enhance export to graphviz >=20 > Prioritize security for external emails: Confirm sender and content safet= y > before clicking links or opening attachments >=20 > ---------------------------------------------------------------------- > * Quote graph name to avoid parsing errors when it contains a dash. > * Use fixed margin and smaller font for a more compact layout. > * Use sans-serif font, the default is times new roman which is not the > best choice for a packet processing generated graph. > * Force bold blue border and arrows for source nodes. > * Force dark orange borders for sink nodes (nodes without next nodes). >=20 > Link: https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__f.jarry.cc_r= te- > 2Dgraph- > 2Ddot_before.svg&d=3DDwIDAg&c=3DnKjWec2b6R0mOyPaz7xtfQ&r=3DowEKckYY4FT > mil1Z6oBURwkTThyuRbLAY9LdfiaT6HA&m=3DpyYDQxlqMplh30E36wiXH6LLReml > Q19SXfdBaWFn9w76vzq1CZdH- > MC9xnFF1F73&s=3Dj08NkMjMiHpSAVfucSwMN7c769_JbCqmTlEv-O0LyeQ&e=3D > Link: https://urldefense.proofpoint.com/v2/url?u=3Dhttps-3A__f.jarry.cc_r= te- > 2Dgraph- > 2Ddot_after.svg&d=3DDwIDAg&c=3DnKjWec2b6R0mOyPaz7xtfQ&r=3DowEKckYY4FTmi > l1Z6oBURwkTThyuRbLAY9LdfiaT6HA&m=3DpyYDQxlqMplh30E36wiXH6LLRemlQ1 > 9SXfdBaWFn9w76vzq1CZdH-MC9xnFF1F73&s=3DdQTT3aUgxo- > oZVMsw0KJR1UT2Gn3oi9r50TAJdIgJLs&e=3D > Signed-off-by: Robin Jarry Acked-by: Kiran Kumar Kokkilagadda > --- > lib/graph/graph.c | 32 +++++++++++++++++++++++++------- > 1 file changed, 25 insertions(+), 7 deletions(-) >=20 > diff --git a/lib/graph/graph.c b/lib/graph/graph.c index > 26f0968a978d..147bc6c685c5 100644 > --- a/lib/graph/graph.c > +++ b/lib/graph/graph.c > @@ -674,25 +674,43 @@ __rte_node_stream_alloc_size(struct rte_graph > *graph, struct rte_node *node, static int graph_to_dot(FILE *f, struct = graph > *graph) { > - const char *src_edge_color =3D " [color=3Dblue]\n"; > - const char *edge_color =3D "\n"; > struct graph_node *graph_node; > char *node_name; > rte_edge_t i; > int rc; >=20 > - rc =3D fprintf(f, "Digraph %s {\n\trankdir=3DLR;\n", graph->name); > + rc =3D fprintf(f, "digraph \"%s\" {\n\trankdir=3DLR;\n", graph->name); > + if (rc < 0) > + goto end; > + > + rc =3D fprintf(f, "\tnode [margin=3D0.02 fontsize=3D11 fontname=3Dsans]= ;\n"); > if (rc < 0) > goto end; >=20 > STAILQ_FOREACH(graph_node, &graph->node_list, next) { > + const char *attrs =3D ""; > node_name =3D graph_node->node->name; > + > + rc =3D fprintf(f, "\t\"%s\"", node_name); > + if (rc < 0) > + goto end; > + if (graph_node->node->flags & RTE_NODE_SOURCE_F) { > + attrs =3D " [color=3Dblue style=3Dbold]"; > + rc =3D fprintf(f, "%s", attrs); > + if (rc < 0) > + goto end; > + } else if (graph_node->node->nb_edges =3D=3D 0) { > + rc =3D fprintf(f, " [color=3Ddarkorange]"); > + if (rc < 0) > + goto end; > + } > + rc =3D fprintf(f, ";\n"); > + if (rc < 0) > + goto end; > for (i =3D 0; i < graph_node->node->nb_edges; i++) { > - rc =3D fprintf(f, "\t\"%s\"->\"%s\"%s", node_name, > + rc =3D fprintf(f, "\t\"%s\" -> \"%s\"%s;\n", node_name, > graph_node->adjacency_list[i]->node- > >name, > - graph_node->node->flags & > RTE_NODE_SOURCE_F > - ? src_edge_color > - : edge_color); > + attrs); > if (rc < 0) > goto end; > } > -- > 2.44.0