From patchwork Tue Apr 18 11:39:44 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215507 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 352BAC77B75 for ; Tue, 18 Apr 2023 11:40:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231278AbjDRLkO (ORCPT ); Tue, 18 Apr 2023 07:40:14 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49362 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230352AbjDRLkK (ORCPT ); Tue, 18 Apr 2023 07:40:10 -0400 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2052.outbound.protection.outlook.com [40.107.15.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id ED4351713 for ; Tue, 18 Apr 2023 04:40:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=bH8cJzX7FRT26rtAo3D76MfeKzXIV9Q2T9pZo4fo4ijaSvSjHU+W7fDCMcARWV8cEOherlIEPGT5/ymS/4uCnouyOyjaJuDlaHruwSji/CNre3WMLDE+qtE6N9q0GbpgjBUUhBx8uLqdZDpnZUBXBgd48zJ9mLXr4mAfXeP1aQxRZHSARoLgVT2CFotmqMERtjOwGfWfiI8DVTB9QW1e0WDqvR/M/YDH5kjQRJ7lD7MGSAY/MOLDgu+8BRTp2gAtEBvFuwOtaUf5AyqDuwhyAuafXG2WOBVNFXPmD6HTvRBzAz0/1OW/lykV2i+dBunWa0XjJ3CfC3xZ06YO+HMdeA== 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=Gqb1KsTyfaWKLTemehXFPumS1ecAsJY3Ugv6j/bUJ2A=; b=mgqfdXRxf67EZVuDhhwUwWTgGVtTLcDP8dvGyhZJrLVlY36uBno90rprJJF1lTJTuHdSYj3E5MO7w+iAAiWQgnhb4VXNjSadFzA631+l/8DQEqcoLawNLqFOgR8ZRYJvrC9jAUq2+6odWEgKINn+SOwMBaCEciVSQsX5sLD6cAxNd/hXtCvQ3rL8wj6D0xiKBURdPrjaf/IqfIlBkyKB6UeKmyAMozin0WpZ8JxbfCG4W6369RPyu0wu6z1TOO/LWku/XSsPqLZJ3vYuYe6LsWleboFfFkr5Op4dPFWGQa6OD1oyUj/zAOXEqMn3roBwQtBV10++oSvnGg5eC1641w== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Gqb1KsTyfaWKLTemehXFPumS1ecAsJY3Ugv6j/bUJ2A=; b=OpSVgXDRcqISO9Me3ctKFbY+Vq41RPlYYq2ozqsZOcWItZjp097hn3Xp12YhC0+F8GlkgS9+zqDAXRXWCnq4WQC+AfWXjbX4tZovETkdomO1WhBcgu2Sx8r4cRawryJUX6o5dS4N8YxQMbzBKdI+WIH7tenw54UB82Hw8a0XfDw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PA4PR04MB7824.eurprd04.prod.outlook.com (2603:10a6:102:cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 11:40:06 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:06 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 01/10] tc/taprio: add max-sdu to the man page SYNOPSIS section Date: Tue, 18 Apr 2023 14:39:44 +0300 Message-Id: <20230418113953.818831-2-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PA4PR04MB7824:EE_ X-MS-Office365-Filtering-Correlation-Id: 8f3d56fd-55e1-45e6-9c59-08db4001a844 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rJEAPKhO7AD/BYmncYcB/LnUNguE5ZZoiSvLvFdqSYuejT+htC1h4lk32Bh4O9tWF/8ZHuk+SCPK1m8+3xsFrlH9bEA9+Zt96OAl5ycZ+ve3Wly21F8ee8eKGD85J4qvq7ad0enw3RrlH763svaCXc1h7jYfWbb4oCVCDCSkrtSTNbx95KnfyQwm3XQsDQTEKt42a8G2Z7WF5zyyH/WQEM5UU6WtDvqyecdcPNHdhTJYcdaVdN/3jqU1FIIKejjVMPGP+lT/Da45ck7XgH1uKpLjHqmoVr5d5wsuhCsfeNRxWSgImXBh3FroL6qduxZLhPYs7BWP20p0t3gwyW56I97o0+xnPC6GAXYwfz8u6Xh3HFe0deIY0Mil5vsFf+gcbua8eUZvbRDbdlI/2ZbQAE0VuRgmkoUge30NpVGbond+X4vuIiRu3SAWcQUe0qzCANPBn19gDxZTnv6g6GEcY9iW3gAMuv8TYkNMqtqUO5hbR+dBTzS7iUwZK8vPqUivQ2HuEr8MRl07e61nKGIxOrOmMamtVeKQicGd11yUPSu20e7Rd4hzRnXLfsV3d5v41SLONewgElH5hyhDSq1LTlABOOaxkDzXq0ZDLDX4PBduKYIubt/okCCyJKyk7Jy9 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(366004)(346002)(396003)(376002)(451199021)(6916009)(4326008)(316002)(54906003)(66946007)(66556008)(66476007)(186003)(6506007)(6512007)(1076003)(26005)(38350700002)(38100700002)(2616005)(83380400001)(5660300002)(41300700001)(8676002)(478600001)(52116002)(6486002)(6666004)(8936002)(36756003)(86362001)(2906002)(4744005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: epBvgKyKvxAux11v1QkpYEltP7xg3Ca6TKF5KZjpI0Z2zdnKlV0RUVh21lw9UYeFMwUIct45/R3ADZ44g/D8L03+nVEVSTLx7aDyyax0S6DVbXMk8FE2TAF6cfETcCBiRYfvugSJbwegvKRNTxKRrrseBq1ami1CjoJq6DPZtaPJuCpz3uBoIBZLzo01acWDCthYtcCdpaUfp9oKpdR2N+yfszhXlIK78kFqEql7cnPFcrFrWJo790HuKA/g87mOKdyTQa+xkQb2JfMZmTTUJchiksHv28b67TCACf5PBBP4/Sxom62cIVoh1lSczWfPgf8RMaJzQqH3lXc6cSdpQxEH8p7eEFob5DUKNZU9XvV/jiXxlxjERrZ1Sm++F0p47ZIIdqQ400w037L8cjVtYO/TQAAAJG6ORrCHH4OY1Xn4zU3R0X+hvjbIk+rx/CG0GOxSy3ndr5NJpXg5jfdPWNI9Gjm5nuHUgfrfpVS31yrE6Rj+fy/1XOMlrLLk9bNnGlvmSNvST3vQhyo6Y/aJFvl5EDHV19+7RfQywzlpKy8uEss2J6ny7EE69lcUTIRQNj2eZNBdoC05u72npAEc/MVP/DpMX0XyI1/e2dHEOUnpe2Y9YGqjfqEb6PDtBeeuaPrzM1gebyIq5XkL9bNSS9H+TMoqcqGIwXNONym2ct0n6Y2DS9twojin7NyDBHsRhfLvizDJeKjet4tzVqXyi3dC8q02+H2hwhl/6jm2Dqcz8icp0uV3d/IfLSlu4f/Iq7qo5o/voUXJ0yd5rm7LH51y8rFupn8OL/igGjlt3GLa1kgfxfybx0pQUUumxYyylrGTJypA4P9vaZtNBhalXe/xYrDHzLtssZOZx4eUqtH6bt1xjrjkVCp7MBWGMZG/hMb7CXaNoAiXF9h2VRMS6wT5+99ZDcRM5Cq1XvuxepdcsbCYxY4VVpM4RL+0ZrV5ViZ7RaPa3CmtkDslJwBr5Odyhlq2xohoBW93T/DuExq5SydPnqo6FhoiDldh1edVR2Rv9F9VSPuBn15vF/IZUgSQLbJ2HjQvu8IrlMTwQMP7A1WMEmL2fmeBoNQMR+5WdHd3rVowUMM+uEONMD7VCZHyyIc9GeV0EErAnAdD1iJyH69dQ96py/QPxEITHGtb32m9Zjci3ZvpRuZULdhdL28fUo3iUivaHm0Ylpr57yXEKc+2KIg4JzAUugRIyaqbn7pdhRtpa0yuAwe4i0O6ylCpa6+TI48i6chAeiG3nDRK1X/Nya2P+ooLeYQaNPavTWUYdc8hROb+qrUE5sXL3gO4x43IquIlKdpwFeCdtS1KAYmGLwOSnD9564VB+wVdmHUsGYSoSpQLPf7U+2Ka7a8WuW44wkYPCl8G/HnMcNuzYXd7bEupPBhOkPgWZ1zIHRTPTKP6RETrN6+IB/K5LL3ON+EIz8oAyXeZTu139leIC41t8RV2WEP0v9XJCcm/RnOcfp34mwgviOesI6A2Y/z9v78XxlhVwynzFx0dsoiYE+ICilUN7TQd1Z7WqaTZMaHkBU+8M9WExck0W1lY1QEe59nWhmz1vBHs7LMiBHa/5salaJ9SMbBtLRBAV7O5WgOTZhzui7svCyYr7NNygA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8f3d56fd-55e1-45e6-9c59-08db4001a844 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:06.7440 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: pMMegX3xTiLzFbk7whi/SD53b2EYKyeD5YxfkmICsXzuXvXhVj+uiXQ7pMixcUGIv350c5SwR1yNmtcRYourUw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7824 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com Although the max-sdu argument is documented in the PARAMETERS section, it is absent from the SYNOPSIS. Add it there too. Signed-off-by: Vladimir Oltean --- v1->v2: none man/man8/tc-taprio.8 | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/man/man8/tc-taprio.8 b/man/man8/tc-taprio.8 index e1f32e73bab0..9adee7fd8dde 100644 --- a/man/man8/tc-taprio.8 +++ b/man/man8/tc-taprio.8 @@ -32,6 +32,10 @@ clockid .ti +8 .B sched-entry +.ti +8 +[ +.B max-sdu + ] .SH DESCRIPTION The TAPRIO qdisc implements a simplified version of the scheduling From patchwork Tue Apr 18 11:39:45 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215508 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C5F0CC77B76 for ; Tue, 18 Apr 2023 11:40:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231476AbjDRLkQ (ORCPT ); Tue, 18 Apr 2023 07:40:16 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49372 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230411AbjDRLkM (ORCPT ); Tue, 18 Apr 2023 07:40:12 -0400 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2052.outbound.protection.outlook.com [40.107.15.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0AA7C9D for ; Tue, 18 Apr 2023 04:40:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=W/i/yEup9wI7N5Bdio7ev/GnK0QwzpBdTU00aY2g8KNZbFo59i0Rp2G4poIbJgxqbGpubiculVDO/w5FGVBMa4NAs3zILamI+jIcf58OeNuDSA2G8FHYLoM9t+4/XNPovXIsACaFtkjExNL0NExl4ga65gj9TSNKxoPzr7JKG9NDi4XKl2moLe7m26NDO1N5N6XKxUPb8asidBeQvkD9S2tb3nmjDOREkeYzV74/qjawMPxCvd6o9CsZM68gXrCxuJeLeJH+lnLKRw4s976TW8D9jzI3jpYR66eEXCPyJBuuZyBF/GPAOtZJipMbURlUi1CyDdLckxTcLqt09e1Vgw== 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=9XFeGrQ89YMVtlvv3dTZJfT6spL7hRK0/Z640Vjz03M=; b=mHenODVqJN9sCfYLoqphodVZN1yCFRAS3EIqgZOfg5l/AquJ6M87D3IzOGe/oE960z9dRIokGecDnpRPSCRduo5hU8Z0lMg8fQbKVKnG4HYhi7uz/OTrZqIBiEerzj8umsUtuQnLy0nTo7CzdM3GAnnBpiYFtQSs8vSlcR+nsA4OtkCkISCwUCa48k3wjkwGKPavpLGT4lS7Yc22Gvfx3w+dXrkVBjJdV3gAp5MEJiLxV0vCNDLJHa6UdfMpjVggF5ZpRi8pp1UZ6Zh2kSjKPmIw9GIZVanuu9utUYmfwnuBJa6jBIb1Vqqb0YhNJJYkXBVhbSu16SQ2c2uXnadLDg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9XFeGrQ89YMVtlvv3dTZJfT6spL7hRK0/Z640Vjz03M=; b=L0uARk9mlR9dzsThuf9zlp5/ZoaMt6jnnmmiL1MZLxFL9SPj0Ms+u3xk58b+YxI4dDffFebFlG9cQxI4rKohyAhanFjDSt81KWT1VIuRIMu4t1vTlkeze63jBkFRYQqtDjlvF9piIHVLeL3JCWWp5vX9aHwoec7C/p6xjOm8gME= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PA4PR04MB7824.eurprd04.prod.outlook.com (2603:10a6:102:cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 11:40:07 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:07 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 02/10] tc/taprio: add a size table to the examples from the man page Date: Tue, 18 Apr 2023 14:39:45 +0300 Message-Id: <20230418113953.818831-3-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PA4PR04MB7824:EE_ X-MS-Office365-Filtering-Correlation-Id: eebe68ca-544e-4828-6ff8-08db4001a89a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 7lESQ2YrmyY8QNPmHwiK2oPwNHaIxw/dzvA2XjDoyysGMqYZyJElPRke1I8br+nTqThR1oCpyu8pfJgoDwCHoeOx/4j5INoL3fEEaP6zopVRLMWHeGbWFdW4rf03Ef2zrjPGMTQ1AGOAUXiNqSeTJZf/6pnvX/wHr/IarUe5LTzATO+8LZpvuxJSZ4Ds8lvQsmvIu8krRK2JUKp3f3A87yHL6TDi0jhzJcSPkmwuxIjh/2AVk4Ud9G8My8R+Vro0FCEAo2qWKL8IPxesFnCxnm3WbNQBSkDKk/V1QDWenJQDZeTVr6BMn67PfUoB3LP98JARj/lhtuNxYS1ufMLmnpypew7dW39FX+/dPYnxTc47wahoa4+kObu8DDWE9VR+UqPh5E7rV+g0chBRMyqKca96Q6rv/zLLD0mSzFKVHZNB33DxwrvlKzE2pqbZHICvlnU6v9An3tHkKCbZ0MEe3/FcKFY+ifbrLrtkiKopOHrSx7S62XAemwsYJ/hNr4azZXolFhQZUZ+x/dkH8RmH5KugdJR3t+wPApJ5jKbfGr72qIIqZ91WelEn7/TLW71B0ihORWSgW6EvWTvUNzmjVMbksAIJc9+BFjthcYrbMevXM2RKL/piDpkyIWYnHzO6 X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(366004)(346002)(396003)(376002)(451199021)(6916009)(4326008)(316002)(54906003)(66946007)(66556008)(66476007)(186003)(6506007)(6512007)(1076003)(26005)(38350700002)(38100700002)(2616005)(83380400001)(5660300002)(41300700001)(8676002)(478600001)(52116002)(6486002)(6666004)(8936002)(36756003)(86362001)(2906002)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /2XX3go3F73OC8Hjnw6A9fCj3ILquBFe7x9EDfC8B1cf+JrXs+a88QqCXNZKNiBoe8Z9Xfqv0Di/YV9hJbC4XtXwNbBVg2y1RVWCl7Xk6ixqAkXWi5nGj74EoZDVG/GrbPXTXAf8INNdCSZkHzDdwUwmuuvR18DJg9/IVDPjwK1N3ZwadPL+8i3vhEsHvCV+kvbPhsbAQW9jaRvhol7W9wU/IWUY61LJsD66L4VrTkBGQeFyeycX7rknXzRkyPkJsHcE6fDgzKiY8iqVDQTsZJUrUuqkYNPRb3uIbsuv/r+LQH1xH0lu2CCxTu55E5kQQy1DvHFkREjWscLyr+Q8wryuXEF47/TZQW76mR2xON6RA/0DIf5sVVEOlnjtGqGDScnmndZXPmVBRz6LECzMkDF9AFc2Q8NPSyd4s4PZYwGUMl0mai0oA996oZAwTxqZGNNeJgNruWog5aGUD4GkIVXM8XW93w+hFljgijesC7l+cOPZ81agvzag/lIUWzVVnOHbUP2rzkhwZtAFrwShjaPx/YG9TGUIDs1RAYjPXfo1bbYyYijjEb42+dfKk+fOexD3/NM000ZMFK5SmmotjTRtXkbgiswg0aQBa2j9awAFa/sxGO/ndXtDbcpiZOLifbwfcMgFIYiJmm9kC379raJfUCcx3wSe/lydqeiLOXKhfqBlwcvRkHMBX2DlBlzVqvggJGhXJrbbp1wXKnWJy2mTv0h5FTtPzD0A+WITTBA834b7OXT4XylhjTEp+Ut3Nir35v/zBuRrOhn9jbzHWFRO0dhLlZlu3sEtL8RPcRAk/AW328BJc//sukhKxFys+hMdUlnd54bDs/fopcH/naiHmYLSeS4fO3a0WrZBosp2kHCBCI4xgUOM5fSertQAFm3ST5yIYh1IGdIRH5cQiCPB1Zi4N77crA4zMVr3fuFv2UTV5Zmjc1j62oiLIOTFJy4IRWaxnhqkh3hXWmmawlt03c5wqwlFQgCC9oeK2q8R+3VD8UBstyPSN2P/6yftFYDJNOLWC6CgS2pCnEOX2BheiZmgpLT0vOnYLLUe9rddTwYzld6+saNM92NPLxv+DjLqoDSUTbpoZlPme5W37kP9U7WJWyUNADy91I2XpifUPjwoJFASKAY6hSx5xybPXQXCU//kKGVykA4ni/tgKys8GPjuMU7JF4xA6czuyGFpA/dtBXIGFCdDM3mm2UxMG47o+QMGnpV7CUbTxZd977hQFuTQnIWJkTPtm6jEi2EnhMzW79WCrayu65VMSBz+dyZXudAE+FC3/bYjKEoOHWPSUPQ75QQUt2CmBPJeei390Y6qh02ROTj5NePBmpOPv0MVdgkIzm/UEsLShpPZ/2hFJiANLlLetx3pEe08RSNccwJsNAGJXoPk/2r6kbtF/zsjzXeMDbIMv0AE6O5syOD35EvSjeb0qrXMv9sxLR1vI8xQ5PpR1MPg556Z9AbhOMx++5s7l/YRJsA3h0VLtaA1c5lgCWPhzEvi3dWEW4WSw1MTKIIDWNd74XFaE/eanmj62ZM3CIlfUEc0JPW2SHEUtDCgl6m8q8t41Fzr7Zxk+e4qqUDqgdVs8gmJE8uPKODdZdVk1KtuBp9iNCU7OA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: eebe68ca-544e-4828-6ff8-08db4001a89a X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:07.2323 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: ZND6x9Mvl3sdlHNV8B+rGFH2/l3cXbGdhM/kYjbCMYrYlJLCedue4gsr1YSJBwDmCa97JOl+gzIXjlAnBlLldQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7824 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com Since kernel commit a3d91b2c6f6b ("net/sched: taprio: warn about missing size table"), the kernel emits a warning netlink extack if the user doesn't specify a stab. We want the user be aware of the fact that the L1 overhead is determined by taprio exactly based on the overhead of the stab, so we want to encourage users to add a size table to the Qdisc. Teach them how. Signed-off-by: Vladimir Oltean --- v1->v2: none man/man8/tc-taprio.8 | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/man/man8/tc-taprio.8 b/man/man8/tc-taprio.8 index 9adee7fd8dde..c3ccefea9c8a 100644 --- a/man/man8/tc-taprio.8 +++ b/man/man8/tc-taprio.8 @@ -177,7 +177,7 @@ reference CLOCK_TAI. The schedule is composed of three entries each of 300us duration. .EX -# tc qdisc replace dev eth0 parent root handle 100 taprio \\ +# tc qdisc replace dev eth0 parent root handle 100 stab overhead 24 taprio \\ num_tc 3 \\ map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \\ queues 1@0 1@1 2@2 \\ @@ -193,7 +193,7 @@ Following is an example to enable the txtime offload mode in taprio. See for more information about configuring the ETF qdisc. .EX -# tc qdisc replace dev eth0 parent root handle 100 taprio \\ +# tc qdisc replace dev eth0 parent root handle 100 stab overhead 24 taprio \\ num_tc 3 \\ map 2 2 1 0 2 2 2 2 2 2 2 2 2 2 2 2 \\ queues 1@0 1@0 1@0 \\ @@ -222,10 +222,11 @@ NIC's current PTP time. In addition, the MTU for traffic class 5 is limited to 200 octets, so that the interference this creates upon traffic class 7 during the time window when their gates are both open is bounded. The interference is determined by the transmit time of the max SDU, plus the L2 header length, plus -the L1 overhead. +the L1 overhead (determined from the size table specified using +.BR tc-stab(8)). .EX -# tc qdisc add dev eth0 parent root taprio \\ +# tc qdisc add dev eth0 parent root stab overhead 24 taprio \\ num_tc 8 \\ map 0 1 2 3 4 5 6 7 \\ queues 1@0 1@1 1@2 1@3 1@4 1@5 1@6 1@7 \\ @@ -237,5 +238,8 @@ the L1 overhead. flags 0x2 .EE +.SH SEE ALSO +.BR tc-stab(8) + .SH AUTHORS Vinicius Costa Gomes From patchwork Tue Apr 18 11:39:46 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215510 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 35010C6FD18 for ; Tue, 18 Apr 2023 11:40:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231517AbjDRLkU (ORCPT ); Tue, 18 Apr 2023 07:40:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229515AbjDRLkN (ORCPT ); Tue, 18 Apr 2023 07:40:13 -0400 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2052.outbound.protection.outlook.com [40.107.15.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4643D1713 for ; Tue, 18 Apr 2023 04:40:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mw7WXPHthZN7AdiArhM+mupom/kN8pnLMr6ms6ZCFx7o9Vsas4nV4+lpalLsSLZyoJ4fMsj+JHtzYIpHK5bAkinVx78e18bF0lqyFxm+c62FVvb8CW9FLYOv5bBNGA6nkcb8uHQE+nhHKWf5kaDeLQEeFoCM0j1OptNO8m20tgCexE6aPREy6iTKHhaRcPHnxja6VRmc2otIpd/e8wkG5KZyXiHmfOxFZyaShG2MNxdQC7aYv/2u2FLtUdAXBdcqraxAlTe2OLPXjmGjIOgdsBVh2qQDjvKdl4yJ87ETFoW1mlJDT6Hp5e7LRjclZ1+zQAxKFHve1H42U/K4nx4s5A== 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=HUecmt+nSkaSY3R5+VXxthBovsGOjQGo/OMIDun1hKE=; b=YNho/04hCO/CoWVX8zwRgs7SXe8xuzZCaNpdnd7/DrT4/n40vbO1QxeEY1MKcQk9ZcWE/VyXjuKT2OVf8QOTjfiu54bK84tlLLAp0GAxBOt+Ih8cSz0rv5idIlx4wT/PoFxeJ5FpEVtb+h9u0MGiTGi+O1ULtGCRu1BbrG8hfJzoxfcDq2UG230tH4wDc3h18suZC3ypKZLbCMBrCaCKJ5Wibi3IY7JfNAGl22H5dlosnfySin3GkJH10Du+qql659FoXoNusJBganz5hmdMS4kSNgv8Jy44f2JLdpgay3m+tcgYUIuRbCkid76TgnRPzr9sll4SjyaG+lgQ5QMesw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=HUecmt+nSkaSY3R5+VXxthBovsGOjQGo/OMIDun1hKE=; b=Hw5pcL/tpqfF0b74W8Ma/wQaMujSpMp2DxAUFi/ju3GVZyAtkjrXFKllwei+r8D1th4iRVjtGGPfwcMFkLV0RBdzQJyxsbwOobwFD9chna8NPDOqkZvxfRWoxyqJkPwa1PDqaxe2WpaJuCpVrfel1wB0XjLurtdcP57XLrc3Q7c= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PA4PR04MB7824.eurprd04.prod.outlook.com (2603:10a6:102:cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 11:40:07 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:07 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 03/10] tc/mqprio: fix stray ] in man page synopsis Date: Tue, 18 Apr 2023 14:39:46 +0300 Message-Id: <20230418113953.818831-4-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PA4PR04MB7824:EE_ X-MS-Office365-Filtering-Correlation-Id: 8e9230a8-6bad-49b1-57e0-08db4001a8e4 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ypKj3VNsMIBerlhP8UUOnEBMCQcqAF/oE/9gCuc5rqmaPFXmsUaBiVAwasrvQK3VdM2T2gS0RmAwGHRjezWDoLXbiiQvkeVOBhg3AeDzkdvay9j/e6RLbBx5CQLfBi8rddpF/eUnf9dcAui+thgFOI5803G0G9PSMIjidE9olQZV1v3PxgdJEJONznRWj6XoODUO+tGqqVgvGLQzj966pAa3dV6vUmUZ+cxM6vwhD5zctudBNmrtgL9e3aQJzr5paHq4KQE2xiDs3bsyg3srANWStY8CYrfnrv4riZJiWwNehqvgd+ATENJih66mEaA19ly/oM/UzYjZaXoL5Vapepaa3SqnbrWrI1PbLJu1gWBC3ykxwx9Er78wouE+QFtJkK2VjpxubSzWREajBQxUY1GreKyWkaVRYAoefwd2XwzfciL8utj+S6mYpoafFIc4XiTjkUelp0i/SzZkyHr0XUgDB3RkMfawo6I36YRE87Q9cj50q873UemERh3oAiVaf3Msa0dE9/x+G5zdx+DaD0vwpHMPvK0rSawsny8k/tpZXdi4i5dMMiLEMHXr/mx0oIFUuJTsucVlwseDEsLyw/G2hQ+q8E2Qp4rgz5bTtCx/gR5OeZ+c7fu7UYV12wmf X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(366004)(346002)(396003)(376002)(451199021)(6916009)(4326008)(316002)(54906003)(66946007)(66556008)(66476007)(186003)(6506007)(6512007)(1076003)(26005)(38350700002)(38100700002)(2616005)(83380400001)(5660300002)(41300700001)(8676002)(478600001)(52116002)(6486002)(6666004)(8936002)(36756003)(86362001)(2906002)(4744005)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 9xYRmWrz8JbH+VBgIKHwuYNHOawdr6QI0R/WinmGUyeKKSRoL+tC2p1/CMfplPrF/4Sfl6YNXmRYA5FEp8PMiFDwB8d39TRhYgdmYrFnHHAulTMe7qIP77Cd0PA/7VAS4ZAdLntAwxemm7UkrN3X+68J2IbFc23DQrEM5GipjLOcUf/HbCMf83Yxyh8MjM8JUl+awMKl7hjpH6DwLUCYDuShYJEUMkyUZ/Hmp5AVpMREN1VcpP/iadxj5qZAigiRQoMltBLgu3Of3TkH8lX+cowdeeBfjMo1zfTPqVCj2GL5bMlMoB8W1Puz+sXewtvSxtdYtf0PjdCw+YmJg+DIdcOQnkM2kLsQ5CmFAnm7+Kf0+1++z7sG0iSESahetWh37X+R4tPmBWREtICeG6WFmhlBC4uYOR3m9Z1J/W4YRZOcy9JOgOYJHb5+ts+UeIYK45nBGPFPxwBXK0nuAyJvIzK3nPAw3OUQGaeZzELnVrroNDtP3ty4Py3zA55Hh5vtXkJDhW3l5yq8QIpK6yDJ7DyFiW/ipH5PUGBAA+0WPgOIpIgipk5fZCE/68xMVNNGLFsOLpeOKm3RW4hGuMPK4/3uPE7vf+nr6ZFFt2T/jaZ2S+HoLvRMc102XNEg9lwyX2+egCglDYPN1FyQ0A7ERFAgB/XNO5OR6p8iW0oFXPsyX8XAdJQ3VlFYXGOZZOMM6AZ7O7td/G22fUSWBQFVKpQDgaB95xyZiXG3cfp/mmBjS5Mall03ZPxM8rNe3VPLMBsJsYkmU+n/ht/MfsPNFLjCesgcC4c/wxfzpLOgtXA3K/G7NJy5aZD36IqAMxfmxDLS5eaMZtFVle2+HLXiUIo6TgmnwXzghUSe6o/zC0BWSeZIxoSjdori/g5hjDGNOvwFmtLz/he8UsxG9uJ+XIm51rBmA/d3SMuGWJ3pd6dVciOzMmG/irGgweLGn1LOITNIy5uHbpPqLudAd/lhe646tBs38KjZE7zLGJYA33Ptr8bzjerjMJlLj2yC0em3B/aRNognXmB1WHHzKD3d+ag3Kmk2Us+PDfwIH0C/1knXx0saxGPKkzPDiSPLHGwPsCd92nFtvu/GXYHvW0qoulCjWtJ8yRcI0AL4LCk9xo/LMjv0QVT/aqIn0Id9xYMrflNwb9kdi7i1iZPGb//czeIeHKMblb6VSXm8EaMQ5ZnkTz3jwipaxTdt7LiHdLnp0Pa+0M7Chc1TtTR3A50/8d5P0fy6T58AGkefH9Ty6uVd3qGV7Xj52ec2MECzADs579KB037eK0am2VV9bm0Rrjdyw/l9cqzRPRcNd42rbxVrECJvvdNsn3+DMLVozxaAoZdkUvHAmBidUV9stxmp+pHYUd+tUSHBy+BcOtKb/8C9wTfVsFzFBuJeDIdNa0FNZntFAa+4DHcD3XxyNe5OSn91VNC3Dqb3Xt2tMUYWW761b7DilG3kQMBq2FysillB2OG6t0eqjHv6UnhYA2tQedruNLrmg7v6LWshCz2JTLK1AWdQallbXw5NaL4XgNJ7AqMLzyqyrrooQxasTgPowhfhwADYtW1HJueyDb314U1a4zax0QNvyjhwT1OHGMMFFTz8ojvLmuWoMzdkxgysmw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8e9230a8-6bad-49b1-57e0-08db4001a8e4 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:07.7692 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: zOkyVTX2yuBqHMLe+RVI/awQ8/L+uuazeAQW8dzDu513mRiE7UDHxZWhJytHOq+RETznuE+dlkl3icm3vxnnKQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7824 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com The closing ] bracket doesn't close anything, it is extraneous. Remove it. Signed-off-by: Vladimir Oltean --- v1->v2: none man/man8/tc-mqprio.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/man/man8/tc-mqprio.8 b/man/man8/tc-mqprio.8 index 16ecb9a1ddea..51c5644c36bd 100644 --- a/man/man8/tc-mqprio.8 +++ b/man/man8/tc-mqprio.8 @@ -17,7 +17,7 @@ count1@offset1 count2@offset2 ... .B ] [ hw 1|0 .B ] [ mode -dcb|channel] +dcb|channel .B ] [ shaper dcb| .B [ bw_rlimit From patchwork Tue Apr 18 11:39:47 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215512 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 527ADC77B75 for ; Tue, 18 Apr 2023 11:40:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231489AbjDRLkY (ORCPT ); Tue, 18 Apr 2023 07:40:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49432 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231428AbjDRLkO (ORCPT ); Tue, 18 Apr 2023 07:40:14 -0400 Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on2052.outbound.protection.outlook.com [40.107.15.52]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6DB664C3B for ; Tue, 18 Apr 2023 04:40:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nJwxpTvX0MDIRjGR/n80NMOqzOpsCL0c/LHglf6KzpA9KkJatGdP7IrbY/GCE2n5gGROdaHwW3TjtsEZgI/c5IV3/u6FpeEX0lhleRIWuTDxe9HC1Z7v8kLqPv5hXlNcf9VlV+oJvmvR1CNzIYFMTUHNzFcMTOOS7JZZRu77rRiOk1MtWzbVBo8hpxS3frS/wBVVK+v8s8VuAoeiCRFk4fLZHDyCYzorEzdvE6GepYFDRDBGLAQWhHkkdtxvr1YjdixFfFUVaVxL22IA9gFP4HeCeLbnhLpGmD/R8AakIXrFBtHr5VOwgwlssu2y6aewahLpWRGfqAa+XTuh0WQh0g== 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=19SkOQoO0PTZMiZ+iswIRgcZZLkXOz0KPwkBPcg5r+8=; b=OQDVqhf4GMaKf3XacETpAlFm5f2UkQJyO05ow+Y0U6k/5x0tg7tJqAlcDsTlHiI3qDkTPu3e0LzKkVoXZBi30jfu21/RPwnRs0CvTTGc6iM8S/j9/tjngnAd3zeNvM7+KZ2mQYphxyBmbYUmUH2diQDLab9lTz+66z5/Ix90KFTC+ygp5TYPaHWumojMYKoZPGu4GFaA3HZZoQePre3JV20LzA9JApIB+nxgnnt8z4A7tT0FsMqBn4xboYHepIRandBBfSid8jKvPbMFL9TpjZjtI/5ac2lyDrhurq7HOcnoZuNL0cVhnC6lTarzPdqK7seEczyvSULGQrf2w1W8yg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=19SkOQoO0PTZMiZ+iswIRgcZZLkXOz0KPwkBPcg5r+8=; b=Ehe0B7832aWHkn/WNqTei8yvjc+KPmG9I2dLPK9qdzNlNJxCrYYs4kzB3tIsMU5LZM2DeClSr3jkbFH/UIHNpLVrlM/6sZub/xpsxB5jsuRA8vDvf5CXd7kb1ucPsZCAvqOnqL2W9hxH+Ad5odnAPCwbcKGE1OyLaCf4f57goVU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PA4PR04MB7824.eurprd04.prod.outlook.com (2603:10a6:102:cd::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6298.45; Tue, 18 Apr 2023 11:40:08 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:08 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 04/10] tc/mqprio: use words in man page to express min_rate/max_rate dependency on bw_rlimit Date: Tue, 18 Apr 2023 14:39:47 +0300 Message-Id: <20230418113953.818831-5-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PA4PR04MB7824:EE_ X-MS-Office365-Filtering-Correlation-Id: 5d8f49cd-9014-49fa-2b73-08db4001a93a X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: foWJVZ+8a7Gsm57nJ02t4kgsXjVjX9c8DdrKl9xTCUH0mowLQUUFWJZGSDTvHpJdZLob+dNxvB0kmtvOjWTRAgAWVNI5M/98iEdsYClNGQE/X5rqs8A9LE3SUiVvRF3hKDUvSO6ClwHzUHhuLWWj+vHvV5Y94tao4ExzS4tZs7b+m8avIf3mzjOT6NNZndeCMqQM2yT2qABoqIYStz+iZG9K7xgJydXEl+rCp4tHV1pqZWKwnGQHkmBFC/VZLfE6buC415+SWwttGF2gOe1mtkhgm6ytjRqh2IOqnoD9IJyqY7jBc+n1VojxHU6ixD3Pb9rGHpthRhbkpEdPPhG6oRPsb0U1uoZRsL+wMXNOaNeEP/Ib33528YJHj64pHTi6I786+swZUrTmUpx0CU/H8vMBYr17j5JPDrqP4Yd5yjRR3DcCR6a0K9MaCKj1/hl/jDlaqzOcTre66Y8Txp3yGzLtBL05uniUbAyVh+9Q1Lf62LNcH3ugQX42OYh8Svae1h/yfQV/+riWR/zIezNVk+zhvBl/H0GSk3tujT3VkzzmImN07l3oGv/q84JegejgWc/jyNHkb8wDqgkinCZTfZ9Jr07Qas+zPxuyma1BvPJK5tA3a7w9sa743pCsDICu X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(39860400002)(136003)(366004)(346002)(396003)(376002)(451199021)(6916009)(4326008)(316002)(54906003)(66946007)(66556008)(66476007)(186003)(6506007)(6512007)(1076003)(26005)(38350700002)(38100700002)(2616005)(83380400001)(5660300002)(41300700001)(8676002)(478600001)(52116002)(6486002)(6666004)(8936002)(36756003)(86362001)(2906002)(44832011);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 5NjU2y/Ao7qxbXAp8hJPGypDTX9LKQozd6kX98D2X65oBgHXqpO17BVOZALU16EZCub7JRqc9NWIypSCTIazOyfk40xJoO5f7Ai8R1svx3hPKc3Rp1GO3wrNdNwSey5Q/aSP6h8MxchInWzmf+FH7NMf8eNvoNLlPYQ1GSkT71EHSwbBPt1oTzGAVIIBGGixhZffCiyRs0K5bOcEsslyR9jBgmQWvPWBe7ZdjK0zIKMiP5PA40dbdRAyQdRmokkkfZMqj1F95jomqQx59tBMAN23N/mLrSdSO3dVwpJx/8mdSzqhofj7lrfrZlqckWEEf34EY5URWNRTsQAJee9X/rnSgrOBHiofMSuMtzn9t8an/Cdwcn9xJjqfHhjhXO2rkHwD/Qxr5nGeGvgUejMHN5TTfB+ZTZ4p84Hetahk4rlOL/MGyHcxsshprmqY0N1DPF9OvyOe8HLsrbbHXM4oeu19JKnIMMzgz041IfAoCdhX2pkbOkIrqWCv6aIrgFbvOpKU1bonH4oUNie7YxBjE56AIo06surv2LNmZgD30R/ZZhCf7aXJ7HSOABYB9RTc0Bf6CmgQ5GwpwzCUMn14CGLdgQ2pIyh7bVyOBVPnokjssdjGDeGFbgGSPbFXddtC99pO8g2E5NT3kHq+n3igruy25PQ2X+x9xh1K0i9HJ9XekfryJB2hw+uODi1p0A4dL9NjvsKm1CMUSK2VzlH+c3NF5NjvjMHR59pprHesWQ0k+8HihRDF85GmJV5+ErVCYym1hx8guwXqADdXDCQgwY/Ezza0VCZeXflCvbBrKPzK8MUGhpH+WiwWtN2hlPyamOFx1ZyXhN+kKSr/tWUo0OyGcFTa+V9wpRTjgcWdaLmMaBX++N7/DeD/O0yNQL1+dt9mV229M1+H58roaS6Ua7rs2fgKD6Q1oZNQ+MZ5WB1VZHXP1qLlhd1AmF3Orl71tY1K1ivQEIKDhY4Uf8pzSk757r8VbZ0x0n0JMD0/eyognv4pqHimDtDnd6p28Rde3K9eaqwGQadNDCT941lC3y8o8Pt/7uZ7+V83c+Q/vz8/kuRDbfSdJOKU/srC0fI8Sapm6xVSXWIAm/v6up7q+VwgG2WGhDb1ylRzG5jvM3noew3XlLS+Ch1QUBB4qa2PxtLlEfnLmzPrkNQP8FDm9bOZBP4LwTmkfHuuMn16WqptCYnxT757Bml6A8HKvdhy/qz4C+jr4VXitZ/yeqOMZdazKtZxMFt/SJtQkBkhX0H8LPCG627qxBTPM6apoUtSaFrWBHsL9zNalAygWqaRtSpHgkv+1GGWqBpuDy/iLq+ouhf+gWRC1SPADFbjIBUUqLh5oB04GFRJ8NMQwYHBGmw2UygGbjKkLVArle+/SdZ/yeb7QcjFjWyU50ExxAjKChPGekqZP6Gh+XMXVEwBHXLjs4qVTzHO1SEGhCdVG6HD2ljPVTCjuwkv8hcvfARsvvIjdNvLwigiRkDGbEiDFIpLanDoPTjrPkCXuvbpSpl1Tq7QGkMUlb7pd5ZRDJg3dc5xdxVOgG6rVYQ0PEc46G8ei4bioccmE6+R7rWAQtBM2NDTeZaI/DwvfbMDOQbysE2KewJBKj/OEyjXXk7pQw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5d8f49cd-9014-49fa-2b73-08db4001a93a X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:08.2922 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fpHy7dMdaq/f9waK7mvfJZMlf6JYpZqDaD4sIH4eEvmvGioLYJXkPhm8ym97TW6eOQtQOSuJGooi98bQWLTjJA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PA4PR04MB7824 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com It is confusing and easy to get lost in the soup of brackets when trying to explain that min_rate and max_rate are only accepted as optional arguments when "shaper" takes the value "bw_rlimit". Before (synopsis): [ shaper dcb| [ bw_rlimit min_rate min_rate1 min_rate2 ... max_rate max_rate1 max_rate2 ... ]] After (synopsis): [ shaper dcb|bw_rlimit ] [ min_rate min_rate1 min_rate2 ... ] [ max_rate max_rate1 max_rate2 ... ] Signed-off-by: Vladimir Oltean --- man/man8/tc-mqprio.8 | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/man/man8/tc-mqprio.8 b/man/man8/tc-mqprio.8 index 51c5644c36bd..e17c50621af0 100644 --- a/man/man8/tc-mqprio.8 +++ b/man/man8/tc-mqprio.8 @@ -19,13 +19,12 @@ count1@offset1 count2@offset2 ... .B ] [ mode dcb|channel .B ] [ shaper -dcb| -.B [ bw_rlimit +dcb|bw_rlimit ] [ .B min_rate -min_rate1 min_rate2 ... +min_rate1 min_rate2 ... ] [ .B max_rate max_rate1 max_rate2 ... -.B ]] +.B ] .SH DESCRIPTION @@ -142,11 +141,19 @@ for hardware QOS defaults. Supported with 'hw' set to 1 only. .TP min_rate -Minimum value of bandwidth rate limit for a traffic class. +Minimum value of bandwidth rate limit for a traffic class. Supported only when +the +.B 'shaper' +argument is set to +.B 'bw_rlimit'. .TP max_rate -Maximum value of bandwidth rate limit for a traffic class. +Maximum value of bandwidth rate limit for a traffic class. Supported only when +the +.B 'shaper' +argument is set to +.B 'bw_rlimit'. .SH EXAMPLE From patchwork Tue Apr 18 11:39:48 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215509 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7404DC77B75 for ; Tue, 18 Apr 2023 11:40:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231502AbjDRLkS (ORCPT ); Tue, 18 Apr 2023 07:40:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49376 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230429AbjDRLkM (ORCPT ); Tue, 18 Apr 2023 07:40:12 -0400 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2074.outbound.protection.outlook.com [40.107.14.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 76CE4E58 for ; Tue, 18 Apr 2023 04:40:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JGLHtex3UwRu4qx7oyZ8K440A9RebT0w7wrplanChIlsSt3J7f7svyiC8JdTmkvbDBxmTrMojeMhNgZXSU44an33ZZoP23hxWv1Sq0KSwVDBgVmsAiGOPtIaTpbYyepbdLXd4SumLTWA43piS+gaFXBQ9JMU5hrE0iqS1+TFLAuV9kMFwRncZ4tTKOVOx8YCwtgSJYlWsyH70gq//XO8Vydo7596Yq+X3GvrzIN9UtLnG9R3pr0weBOxeWm6leJJmpGnsFklN2GKKGBpUUivj6I+agp5faXnZlK87NV5GQ4IwOnQ3sVEhVfjRdDjYJXf1jU/Nqd5pbBsUIvjOTRu3A== 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=5LHUKjdRdLt90b4bpVCfhoE8M+YD/IMIyeJeYAbEQ9I=; b=EInc8z2iFSzWpZShRinfWRRQzROxIJdQ69byvJOJn5LJLpphNfTDEQkYeBtPoy/nvdwCEq9G2EZSq5eg3SbNb30ceLXWEf6Jl6+TNLbQZijpWr/HejlK8FWpqpqWehNu6hqBccSbPWbVcxyNCfmw/xHdbHw3jYrB2VwW55unzn2pCmHa3oBb24rDrklp3rMhDk/QzJ55cO6TOzfFezyHbbH+qxxFJBK+MMYJ1dOt9AX063+/tj3XlHWTt432LfHoXiYXlBdKe+BSbKoVxv5lhr3dXV5auujUMHzW/yysFBwAsMv5lPTf0C5FmoxOGvgGA+9cIHw8TO2YktZTPkvtIw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5LHUKjdRdLt90b4bpVCfhoE8M+YD/IMIyeJeYAbEQ9I=; b=gemaGLHvxYZ1EfcwDJJgv34IDCED7PJGGoIaLKZGawhBs+0tSMe9pOR8f3I1PSpAcgxLeGeyxqyQ/OQkz5u4pBtJfeZBTKaxcvBTaM11EadDZTgusZt/Zdd0LdjBPuuz8e5gYx+N0oJdv17cH7YioFN2TaPsV3YPU73semnkRhk= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAXPR04MB8557.eurprd04.prod.outlook.com (2603:10a6:102:214::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.20; Tue, 18 Apr 2023 11:40:09 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:08 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 05/10] tc/mqprio: break up synopsis into multiple lines Date: Tue, 18 Apr 2023 14:39:48 +0300 Message-Id: <20230418113953.818831-6-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAXPR04MB8557:EE_ X-MS-Office365-Filtering-Correlation-Id: bae2be6c-9e2d-4ae9-3a5a-08db4001a98b X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: popdYHbw5afF688goqQV4ok/Ve/W9HzhEortPh3eCU7LsXNSsUoWYDUKwxNeMcRqxjQvX/3mLl2lGYEADISxzjvySliE8vktHDtK2nK4gw7FjettLJkAl28SEUBurLowBKSYKjtAOihLiw8sEquV5IU1TORvIuSh/EoqZHD3U60fXIAv6FQ9FkwqqKVgfZxT2RjbmAGB5+Iwu3nyE6BKbqOc+zsxkAqGHSD41BcxjxUeIbDJfW/VMyw3a6wcbf/hu5Tonga4X7EgN2FhGotq7aokxn6jXBE+Jy36Cvn5ewa02AuTnbBjvcFYGLEeFJHzmbRi1TO+vLPoPoaogQbT+T8JZp55vN9k+DlxVVn6SdJsVkG3p5wDDXu/sFYKhHTV7Luc6vu1t8X2+AgmjIKswFCoqvVX2PrrwrXC19RofjYK9jRmMAaOnnFndnpQba8UB5/YWFqyCWDjMmwOzv7Os8Iem1PrSd9N9Sny9LvuN+DER51967NFCh8wzm2alnq03GXmMXUeR8Y8NNJp8pKSKtClbAkmy4bUbHQJLBWWs7birczprP9myKY+WiKHXbMZH2rx438Zay5ov8/p/rM4tr1x09Sq2qryMzrvsRj5SdLmOQbGqzo7nGQPOLCjX9/S X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199021)(316002)(4326008)(66946007)(66556008)(66476007)(6916009)(478600001)(54906003)(8936002)(8676002)(5660300002)(44832011)(41300700001)(38100700002)(38350700002)(186003)(83380400001)(2616005)(6486002)(6666004)(52116002)(6512007)(6506007)(1076003)(26005)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: W2QCMLM7+DUTO3tY7z4iDHe+cJG8QXbqUCIi1A2NI4vZu9LNqo6OMPYiY1ztkSjZ5tHfwK2SySkYWylv91/YA2kNL4NtmZZEFLSGWZtzaUb4nMfLMvAtJdAoZJb34mf5hh+gAycx1l3wbUThe2x/1+entMtryRHOMRyLoVZDFKu6TSJ3GIT0YQ+y0Wvkoy4SWJPtn9T3NbQiWh0bqlJXo4vbplnFabG+E93SQcit/8ogaVceZTO9yClzroGtC1SmMzbiJvIyJ3j4FbhfCjpfhMA9PRJ7uocKAWJD7hT+2vFiB3MKJFHpa5q85RTRWiAKPIfOG2/fH773zHXYq/zyqQSm6mw3SPU1NOAukX+XVJ5srFrz3T/LeSh0tMNfMtorAHqk09E0w6fz3K91I/77VOr0y59OTL1O1cPGWxxcnAVK2+J1JKKR9ovd+hKbsOtTL9vYYDBvsRsXJUzI/hDzB7kC1uWVGfIsZn5PXN/4Mi6Es1y6VdLnDsmAXAeFG4txtj5nBmSS0DYbIYgvu7KMqeF5gXS1N7v+x7S03sSnhQbJ4UDrOuhIYkXuUmycs/mhd0AehqIaSFS3dYDfPDa0RukGTz9eO2AlVhMWxXb/sZq3tgH8PScubJLlem7BgibpwE7ADQtDCqMI/STTEBctw6E59VF8xvHp37+RujSV5uIzfpqWYVuHy11qswyMBZIPr8ZdBBNM4ZQ2iSnJe4Ckz4+PaNUGPrX+73gHy0wSBDhW5DON8lQ7XG9LkA32L+OrCj3FmuI0YGF7zNQtH4NiiVJwDzZ01XhLHUXt5x0YXBatNshW8KtjmUNDrYcu5htAmJYUMuXdn8+eWxuq84q9gEEwRyqOrnZrdDX+igPEkyMScoIx4HxjoSiKl966frFRSRebmlrvMbcYK+UAziBAatgOJVErayRQwJh3jWcLn15W1xedIOZu9WYk+4MThtOz0LFIaa+htcJJFZWC+suYq6ZE9sfzNGmcLeZUizUbIg8DqANQnvjV3t8OFYO/Od4gYFuP8t3fBfjuqQDN55YnUz9JlSvBs9Ck72w45YoVkvwU8VjdwZaFfbeI9RuWhHbfieNkfl/19FE3mu1WyxjsVcJCWgrCskAz4y5GgCh7W+/VxhjjHCJQYEvbgIAo1sdOB78OVLsjrh3Q+InVxfAMWukSUyqyELdDsdWdcymTjJYlD5rjTu5TOVeG9YpMCwom0QVQJqPsYBMsleYg/QcUqTwri+EYpBJ21GU3N4/hb22F9VU+rWyqGMRzLpg4nzx8p3LQxBo7LK5UzINwQDv/FjW7o/t9xPrN9ozxaKk5OS++NQHPRUiPXPPxWi2QZcrzTgxgB4xDfX4EbudZon0suEmZH0ZzTerSLynp+kdGvcwyBfRhcrC2xyHaghdtWjBsLF4s/cgoYdwW6TSjFbwRFBdFVz9zh6JLmT0gmj1oI5PO3GNVGtwzZ1VZ0db66QhkhZDMQAiFAXM9IIWE2s8Xg4vjAFW8AesZ2UKoGRx1p65ejSfh9RDpJt4MKwpPvULkfu9i4BNMjNisODt9pmw9K5qXKrA/cyO6Lq2iEQMnC6gqdetBLXmIaxJTI7rhTcs7QIGN0DR8Wwnz33WYxBvl9g== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bae2be6c-9e2d-4ae9-3a5a-08db4001a98b X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:08.8372 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: LUEOKR1D5UfTwecQz3I58cFQTuntYno/+qAAFzh/6cEc49mUHxIDJMI6+v8dfYszrTIJDKEW6iN5C9Qnr+xkeQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8557 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com tc-taprio(8) has a synopsis which is much easier to follow, because it breaks up the command line arguments on multiple lines. Do this in tc-mqprio(8) too. Also, the highlighting (bold) of the keywords is all wrong. Take the opportunity to fix that. Signed-off-by: Vladimir Oltean --- v1->v2: none man/man8/tc-mqprio.8 | 41 ++++++++++++++++++++++++----------------- 1 file changed, 24 insertions(+), 17 deletions(-) diff --git a/man/man8/tc-mqprio.8 b/man/man8/tc-mqprio.8 index e17c50621af0..3441cb68a27f 100644 --- a/man/man8/tc-mqprio.8 +++ b/man/man8/tc-mqprio.8 @@ -3,23 +3,30 @@ MQPRIO \- Multiqueue Priority Qdisc (Offloaded Hardware QOS) .SH SYNOPSIS .B tc qdisc ... dev -dev -.B ( parent -classid -.B | root) [ handle -major: -.B ] mqprio [ num_tc -tcs -.B ] [ map -P0 P1 P2... -.B ] [ queues -count1@offset1 count2@offset2 ... -.B ] [ hw -1|0 -.B ] [ mode -dcb|channel -.B ] [ shaper -dcb|bw_rlimit ] [ +dev ( +.B parent +classid | root) [ +.B handle +major: ] +.B mqprio +.ti +8 +[ +.B num_tc +tcs ] [ +.B map +P0 P1 P2... ] [ +.B queues +count1@offset1 count2@offset2 ... ] +.ti +8 +[ +.B hw +1|0 ] [ +.B mode +dcb|channel ] [ +.B shaper +dcb|bw_rlimit ] +.ti +8 +[ .B min_rate min_rate1 min_rate2 ... ] [ .B max_rate From patchwork Tue Apr 18 11:39:49 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215511 X-Patchwork-Delegate: stephen@networkplumber.org Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 51B7DC77B75 for ; Tue, 18 Apr 2023 11:40:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231524AbjDRLkV (ORCPT ); Tue, 18 Apr 2023 07:40:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231175AbjDRLkO (ORCPT ); Tue, 18 Apr 2023 07:40:14 -0400 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2074.outbound.protection.outlook.com [40.107.14.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D494C4215 for ; Tue, 18 Apr 2023 04:40:12 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TMw+yLhyzY11agnNbn9nw6yndalfxZVE2X7c5LFZNfQZnoEGidTz3SI9IKZZVKqu9OOOj++u6T2Ed3wfwvAsVhVJcgs/MHGjWs8AsrL0wprQH9en1UoS2u1l0S3Vy1muS0RoS+7/P7TITzlR5Ru/d/m1vcZK1b1PHibRUqrdYlDHSZUeoTLTSeEoAd2PtiCITlmbPuEh+O0D0xYQqiCo4Xel52/AwV2Fmrg9RsuVgP1355kPQjB0j+nz9WvWYbZFwAtTxR1JumAkA1LnOIlNdUC1gSlSy5NLNTAESnWZzyaP0a8QBO/wySvd92fRPJ7Z7U4dRbeHxI54loOEcYYy8Q== 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=bBdOFlwPE0mTA1Ez6YflXy0jP/LSyYDVT9/kX8gwLSM=; b=moH9NKZR+LABGJnCZi/9WX2JrEYc7l2MzmdSI5L2Z+qhWYx4zMUaOefEaPZ3Z4MeTYJFXEO9G8WoUhds53Lt2y3/Dyb2AYOGyMN9w5erdv9O47W+Tjrd5PbIIr3vrSZmj9AKVAodgHh/ZyfQz/uKqRWf83SM5vHiwmKjU2gToOctcmvqOMf4gnzDbBw/DKeVGYPaA5afVu9PoBQKA64He/vmGiiCqgdMB/Jyfhbe/bj/mWX2ktFSpuweSQPss/ZMihfPqbMeXdvWYpLw0xFhBj/EytxVuoiKQxtNk5rSB7/gX4xnJkTnTBARVFotdyZh02NDeDCN5rWBo0KtilXYXA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=bBdOFlwPE0mTA1Ez6YflXy0jP/LSyYDVT9/kX8gwLSM=; b=Omcv+ghte9WSK1fHSkCriesnnLPrI2JkdISEQFpsGuHtKRtDSFwfqc6rmN5nfRjxZGhCcgBzUSDxfza1D6QRRLOXE+9cHoG7HEXIXQXUK6rnOhB3qtL3hxYIzipWGNCoRz32Z++a20VxgFCycP9iA0XPPbt9C3NI71czCxk0iY4= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAXPR04MB8557.eurprd04.prod.outlook.com (2603:10a6:102:214::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.20; Tue, 18 Apr 2023 11:40:09 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:09 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 06/10] tc/taprio: break up help text into multiple lines Date: Tue, 18 Apr 2023 14:39:49 +0300 Message-Id: <20230418113953.818831-7-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAXPR04MB8557:EE_ X-MS-Office365-Filtering-Correlation-Id: 57743141-501d-4bd9-ab9e-08db4001a9de X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 76drLe4XISJFwM528G5j+RXHc/TosYtJjp90PFzRu4romZMzy2u1obtRPjw9wLkyvUbf4Xw5HzIGG8b2u8HX14y+GTEkwGd/Mqlc1M/s0HyiY3Xyjygu5Vxv0I7eBuUZo5urDi7huf5BeUhYHrgfijB7J7NysmPAx42Eq/MnUiaNesV1b9w29N4rK/X8LJZsLRBg67CiIrm+cgyj0W7vgPCJo6DP0sX+SAXXXQtuHd69j7re4ZAB+8cKFM93uMxl2+9HYVnZWq5qOx+4XLaW3bG8iddjUHKxj1fJQKVFTOSbk3lkeQn8nfvcig3MFbdWjeMOiThrly9AXoE0z7y8nzl7TfkbkBunpue5grYIoh+iSHH/BzpZJTEZbKZuhrlhM6TdiJFYI4IJB/nC/qnbv3R6h/IS8VA0PF1CUedMwOnfylj+Mx8N98ddYXCo7EmQ12ZIxRLewjcLIJ5uMd62QrorNz0x6lSAsLqsXp5Ns1v4EvbcWRtylBb7qUOrzsukXTo49qUt9W72rXOsrh6BWiAdbE86KyOfsnBJbc1rCpbQCSh9W8xuxB/Hkjf8qeoB5Rpv2EF+aRNpu2tG0EbYDiXsGpLG+1R/DnsjH60xzbHTWv46zq9j5i80h6ExPLSu X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199021)(316002)(4326008)(66946007)(66556008)(66476007)(6916009)(478600001)(54906003)(8936002)(8676002)(5660300002)(44832011)(41300700001)(38100700002)(38350700002)(186003)(83380400001)(2616005)(6486002)(6666004)(52116002)(6512007)(6506007)(1076003)(26005)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Iydy7PLaO9/lHsDFrRB+ATB+/chADKlcArIqY0WLstyDYzA3/Vh44z3k5OIcVkN6HGuP4xGvfvX/ioqtN6MEXavkxMzTSnBDHgLjpNpTm7ADAekaj5QoygVqiFylfePOjpeEJ+Of68JwHGBfkuHDE2uZMb2TtuGwZb88qsGOsVxWnFukw9BUoWP4TZzi/ezt4TYU8W5LLYfew/tl7FuHl8EPTKnadvZwIJQuSFaohB0+04VyetwniK5aC03FB+RWLa2M+DLWhtLCe0gRoEGW0jPXr+0efBZiL0yqKCwES+duuPP1vi9OcjvkmkZNRaDySHlkDpn7iUlE/xkYWVKeIEUqkHCm8VyKC3A3Z/PV5JbKUZpNrvV8nGIuvk/S7uD/gWi+VjJGjdWYVqWt0ze55KlOGPma8UYBSDvKuNXpApqMvW7av7xeSWhEQaC14zIpfUEs7nNPUBlxInWINAxjcIHMhUhVl75Med5kNXNPxKBXR47XvKJWNQy2ONjiPg06LCMQej8iSXDgkGHzngKRJtZEDy3+EX62PZnNKO5jlZUI2TXbr3PnHNBsE7EamvKBLa4S8hT5/SEnfJOoJZGf6Ci7WvMg4t4TXxt9XiEyjCq+QunmntbQ6Dzjnx7K4khCAOeer8LfRiW1c7LtGvERO5pGnBJcD2UW/T+LQAnvhdMzD13dZ79ijQmUHA7arAXTO/9YsFo5hr1UBGNSDCxiAOjdd/hxtHRdshIHSAtj0TTPgPWc+aLNIckg0UC31xGBXlHOEbrmsD8gMGdZyqhomoJQWj6HWRCfTiLK6wJiDynsgGFoArFpDe5RBvfXMd1l0bA9qjm+haw2ykNDz00xd/XtGpfXbqfGCh4IAwFNwg69dkwhIw9UyRePzJleiA+wHZ3HLq3ArRtF6NBHXC6cLwgj/NlLkeLlxwks9+TuM4o7J9bM8F9IcdTPNjPdDI7h43zzsqq+0Nv2maKhG/Z8EQIanJOs36ZCCyVyLgYdjlozV8mw/OYOCc7mB3ErljK/Ftqj7+UpvmpnbkpH1rMoy/Y3jcfOgGMEjX8wkcEhvctit1wi447nrXncHKXcjMzLTLcxnev5pbGzCO5CQNw335JR5s3RO4lLH/r8kIpLTYFU1li3CV/ARmH8Y1r8qVXlJK6K2O/OP1rVFxuEzm7RI2GTBORaRJSBA1sWiXxtEkSZo/u4/jV+su+Lbps7UoENS17I9QN8CI0ysgivnfOU4v/Gp+pnse5buQjFol/seAjIkkuhAlbLOdad++GoZvFNjBH8ejcET6tQk1/n8PCyTWV1tOG7gSIIVm3Y0mNmSw0CAyRRXHRh1sd0HU55EdWujbqelETIkk//JWbFnuKdSH7UkulYRj0dWTfhoW8VTDHg8girzaKApp0BbI5XvK8l0a7L/a7qyYuTI2LaKaX9kPj9QiI/gUjWnTjQNcEM88VuvLrbgLyJzUCt8oieUgu1TNBOas2R/VvbgE8AngkwgMxJIbJNhKNo4cd4DJIK4c7HZIy+F7fVZu31aBUCvmtjM3liQLfvmLOSMT/hx4Nr026li7+mdc81AUbSo+XodrPuR8NAWoSfwwpdcvON4KOYavnauC8vkTkobotNNKhbNg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 57743141-501d-4bd9-ab9e-08db4001a9de X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:09.3604 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: fesV+dFG9K1+8tVp9VlYfBA3ZNB3cgqPlglZ8pWGlNNaS4c7pOwhIHKP0O9yOBBsQvQOqIi+XGbaTKFMLn+A0w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8557 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com Currently, the output of "tc qdisc add dev lo taprio help" looks absolutely horrible, it looks better in the source code. Put new lines in the output everywhere where the text switches to a new line in the source code. Signed-off-by: Vladimir Oltean --- v1->v2: patch is new tc/q_taprio.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tc/q_taprio.c b/tc/q_taprio.c index e00d2aa9a842..c0da65fe3744 100644 --- a/tc/q_taprio.c +++ b/tc/q_taprio.c @@ -45,10 +45,10 @@ static void explain(void) { fprintf(stderr, "Usage: ... taprio clockid CLOCKID\n" - " [num_tc NUMBER] [map P0 P1 ...] " - " [queues COUNT@OFFSET COUNT@OFFSET COUNT@OFFSET ...] " - " [ [sched-entry index cmd gate-mask interval] ... ] " - " [base-time time] [txtime-delay delay]" + " [num_tc NUMBER] [map P0 P1 ...]\n" + " [queues COUNT@OFFSET COUNT@OFFSET COUNT@OFFSET ...]\n" + " [ [sched-entry index cmd gate-mask interval] ... ]\n" + " [base-time time] [txtime-delay delay]\n" "\n" "CLOCKID must be a valid SYS-V id (i.e. CLOCK_TAI)\n"); } From patchwork Tue Apr 18 11:39:50 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215513 X-Patchwork-Delegate: dsahern@gmail.com Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 96CA0C77B76 for ; Tue, 18 Apr 2023 11:40:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231533AbjDRLkZ (ORCPT ); Tue, 18 Apr 2023 07:40:25 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49456 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231467AbjDRLkP (ORCPT ); Tue, 18 Apr 2023 07:40:15 -0400 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2074.outbound.protection.outlook.com [40.107.14.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3B9366588 for ; Tue, 18 Apr 2023 04:40:14 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=S6/IvhIjbruDZN8oIVoAMQvIxfNFToqKyMfl2bU1L4udOuxmkI5hls1+0oa3AxpWYsYiXAC+tACzjguoYa2WpwvdhFDiuQo3VLCtIrubLFKhqWedx4wuS/zMBlRzlnK9wPz8X0lM7opIPqEzXNJF0uL/DbHmE1i/juAtYj1K9Tlz7RhICzorjqDexJ6Vb6Caen3XjOhERmT+CHxZ8iTgh3Yl284/aYzK2iw1z9B7qOSA8BuThaItcoPcbZSTyXfZ+AhnU3nReMHA4CQ3Afu/xdR5s4dcMMYscW9XgbloYgzAtT6SM6c9naJ6+oESWvAEzXqLZrTfV1T9BAWI7eHqqg== 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=B4kCcLJF5HqiC0hhqDQ/lL4g+vy+vtxFCLDXtUKHLB8=; b=P1WZEO6Yfdc7bS9Ti7L6XngO5lNEpK8m2k1V/VD0wyxN4WE71Ssjt2hm+AaNwKMUNkyImY5cxOXrbTKd3u8Ix9Mb55DRT7bwdUAFpuZfp2T64re4pqa1QgpkZZT/MFZDnstq0fcdV6mKFxwzpjYVlEk6GC6hfWmKKR7op6uXTyHK0tLstYnmu+oiUNuiMiLRw8+qlaTcHxSgjBkyoMTppkYdzA4K3QcBzFdFh2lNpu4tqS7bPIkSrGyUlOYHMgDSdG6snTseZyChXPk9VfEg8Yw7AXuACJjTo26ap3pqLQfSqGEF/W289gd0XI7tF/ThVlONvNMpMr+gvM2S5zCNcQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=B4kCcLJF5HqiC0hhqDQ/lL4g+vy+vtxFCLDXtUKHLB8=; b=rf+FqSSjOyfu6S5bfhWcS5sZk4f6E1t7ZKb+Vd7fPkWRjIKXiY2x7/aICcp5R/s9609Hht9KeYAlQB/q5GyC1pHJDuXc26U3wZtRKzIgC9dUxlNIUSP1Q7OHIbCRpFZsEMh+uJlHBTuMy5xcGaNTchq1/mkQ2r7hR8fBngKi020= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAXPR04MB8557.eurprd04.prod.outlook.com (2603:10a6:102:214::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.20; Tue, 18 Apr 2023 11:40:10 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:09 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 07/10] Update kernel headers Date: Tue, 18 Apr 2023 14:39:50 +0300 Message-Id: <20230418113953.818831-8-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAXPR04MB8557:EE_ X-MS-Office365-Filtering-Correlation-Id: be47db24-8920-4bfc-9395-08db4001aa28 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: UKPlZoupvoKo+sxKQ15BGNTzPyWg+sufkmFrEJIOxoaTiBi/PpRvYMnviMnGrA0T7Y3cfpkLoSaA/DnYj/8NeW5xNPyc46a+9/+Q96XUoG5oUYIHg/InllxVaIXo0BsKHGAlVomUe0T2Hs5H16jrrhqCaWbgQuFlWcNiw5n7rC4K6FvQ5RLwLXYGIq7W8oyiJnmumJtPX25PcQAyLU9fSOR8nMu44rGSuhKJqmWRGhcpOgu8dQ+qD7uNT3QSyWXM1amOe5KhugFzA8WXFZmu6z8S5pA6VAwL+eZi8IVB9R6Kw4kk7oC2rbaKp78WDu5hw7p4gg6qStJjnHSdfSQQqNsjusUMyXVx/t6ZvzQlJ6EinbvG9oShEaK3yH2w3QDagJerjrSSPi766NfgSDYZlOrII0UJd5qptEpc8UpJXqH03kyhC22cKVierSOvg4tuCN4Vsmv9E8QeFHjUvO0bTzKeXJl+Q3q1hKJAbK3GqiRwntIl4i8+JbIKQ8JzzGVJMPz5Nj0Ygo1lWu8g1QvXDr1qd2TZtdRh11D14AOsTd11bbV/P8bGVIKZPFX/7JKYtefIpB6jU4rhHDeDKAT3S/A1H8cf0fYIdb1lK4s3iT/eGCPjCs1qgHnUFmW8hiig X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199021)(316002)(4326008)(66946007)(66556008)(66476007)(6916009)(478600001)(54906003)(8936002)(8676002)(5660300002)(44832011)(15650500001)(41300700001)(38100700002)(38350700002)(186003)(83380400001)(2616005)(6486002)(6666004)(52116002)(6512007)(6506007)(1076003)(26005)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: Pz9wm7IYESFE3Mp+f/ZpSa/yV519J/4mctvqKs4iCjZM10Po1rMYTgFey4GDomupvNMqKOmOfcO3hTSAYGnc5EKAcNaqfOuVYbPnX0XbU7IbMFh51sqT2wGYYd9r/2lNXUi6paH84rWQqf1WVTinv1m3Lck2ADhLjzqy+ql/dgxTt5BzVMSht3LJ4OUZicF+iZj8JESSpIsnP+dMRVwxoSjr08kpQpYUv4PLAkHgPo0QjkTXmZl5t/XFYgjt8/zga3327+SrUKAtELo9rOTf9XMsQjLIND39KzH9el1Ky3JXIu8cAzrLhBb0Q0pyTelBNHWwPTxJ4FItkPE/yy+Lndjp+KC4xN0aS0S53hTQnNhppOcrG6Q8LO9h+LwirZjGPxdFiN2SWClWgdXgahnDBuHRO8GT/f81u+ieqJ/PX3D50sPhO83xajwT8sFfVFjoaphfBXBINZdG/wKkluTlmkKwVeBNsIZjmLxuVfg1EbXyYjsa+QGoqN9/hx3YC7Mzpr5VnSXhJuNj0r2LGNW2RW/pOtNkARq3UlRbaZlvb3lxHVuwKvwfLV1Xg13QhR6D4au8JNo8GyRZHje/21cwwY5oBZIrGjxchL9N7NBNBHPeeDyRMwfNtxJ7iJfjVV8FlTGmgP7uSWDhJ0KqflBqX1f1a9u9J7+FQLt7OqEkQEGW+JxNmm63G4TKjMX5+jAMh2oLcvtvekSYpd8WpYeLcF4Piw1xLSUOLAaqN/JaLleGbwv9+xs/dh4qpY0z6pvUjDI4WZL6+Saj3oMYsAzEjdyrn41i0TOTfmCoa6HRiszb+O5rL9iIR6tWTNs3negvJ736aUGF/66UeljFppIVp3IcbyIkj77ci2SRq+dCds6HZBKCSX9CkmDMHx3Ei2qWLQ1fLlGAmQITtvMVHmJ9zixkZ9Oa8W94FimKFbZuEqE6mm2UWBBg/Y7vrqtCyDwqF+XH1GRtEtT5+XQJrsBQ3JGRuZ9M8v2jhsOubD29qK0roNORXRTqWz+iQgt8k+LKXKSbNyirQ2Lasd6AixURhGBZL1pScsp+WLKGb/HYgvo901dGtjukxdi3P3r1kwm2GM/vc+V4cJlYtisErpYaPaiW0p7IFhHQ/MgxF4bO7F2Kz7qPd0icDt06eBQcFGLUervwQfLSiHynEaV4VUD4BivWp13VonXHus5yHrEn2n9Jf0qcjpv1HtI7QgWhCNRzk3xHwHsik7aGOLqP8vUf8i4xYUc6fYYejHLb6apZUsld+SugOdW5zKcvravdmjao4FprDtNVylDfQDmQ5YDBNn2VpMB29bfeK/ZiP1dI8twaTJRvgmbOHesUql76CtRz6+bfNxDbDoLQYtXfM1p9hXJ4BdUgbUmXudlQIdvpEms5b9FnRhenN8BhfAkNhM6rl+U6A0bawkMqjPpTf77tTOXZExdE/3JS3PCrDG9LxY7cTTwqNKzOi55CCosG9H9BUeIKlcRHyrSnCVzC5xPscnAIPPx4566XBTI721eZA7Zix8OUUyjXKDgkb351ibjb8CohLIrqYt/PlaNxqgr4Y/5/x3MLSx28LXXbr+UmGGcK0SJW9MOWMElx8SUoCQq4A4w6UU9mA+I5BuNsrjadAg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: be47db24-8920-4bfc-9395-08db4001aa28 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:09.8632 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: QHXSSqd16oxIEaPk5jFMeZEc3aRqjEdlBehHX+G+C/pX9dW+ZCHEFToO0Di8pAdSbcNuZee+mKZIXNWsNRUS6w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8557 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com Update kernel headers to commit: 3684a23b5aff ("Merge branch 'ocelot-felix-driver-support-for-preemptible-traffic-classes'") Signed-off-by: Vladimir Oltean --- v1->v2: delta generated automatically include/uapi/linux/bpf.h | 61 ++++++++++++++++++++++++++++------ include/uapi/linux/pkt_sched.h | 17 ++++++++++ 2 files changed, 67 insertions(+), 11 deletions(-) diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h index eb0588567cf8..a0a2273d7974 100644 --- a/include/uapi/linux/bpf.h +++ b/include/uapi/linux/bpf.h @@ -1033,6 +1033,7 @@ enum bpf_attach_type { BPF_PERF_EVENT, BPF_TRACE_KPROBE_MULTI, BPF_LSM_CGROUP, + BPF_STRUCT_OPS, __MAX_BPF_ATTACH_TYPE }; @@ -1108,7 +1109,7 @@ enum bpf_link_type { */ #define BPF_F_STRICT_ALIGNMENT (1U << 0) -/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROF_LOAD command, the +/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROG_LOAD command, the * verifier will allow any alignment whatsoever. On platforms * with strict alignment requirements for loads ands stores (such * as sparc and mips) the verifier validates that all loads and @@ -1266,6 +1267,9 @@ enum { /* Create a map that is suitable to be an inner map with dynamic max entries */ BPF_F_INNER_MAP = (1U << 12), + +/* Create a map that will be registered/unregesitered by the backed bpf_link */ + BPF_F_LINK = (1U << 13), }; /* Flags for BPF_PROG_QUERY. */ @@ -1403,6 +1407,11 @@ union bpf_attr { __aligned_u64 fd_array; /* array of FDs */ __aligned_u64 core_relos; __u32 core_relo_rec_size; /* sizeof(struct bpf_core_relo) */ + /* output: actual total log contents size (including termintaing zero). + * It could be both larger than original log_size (if log was + * truncated), or smaller (if log buffer wasn't filled completely). + */ + __u32 log_true_size; }; struct { /* anonymous struct used by BPF_OBJ_* commands */ @@ -1488,6 +1497,11 @@ union bpf_attr { __u32 btf_size; __u32 btf_log_size; __u32 btf_log_level; + /* output: actual total log contents size (including termintaing zero). + * It could be both larger than original log_size (if log was + * truncated), or smaller (if log buffer wasn't filled completely). + */ + __u32 btf_log_true_size; }; struct { @@ -1507,7 +1521,10 @@ union bpf_attr { } task_fd_query; struct { /* struct used by BPF_LINK_CREATE command */ - __u32 prog_fd; /* eBPF program to attach */ + union { + __u32 prog_fd; /* eBPF program to attach */ + __u32 map_fd; /* struct_ops to attach */ + }; union { __u32 target_fd; /* object to attach to */ __u32 target_ifindex; /* target ifindex */ @@ -1548,12 +1565,23 @@ union bpf_attr { struct { /* struct used by BPF_LINK_UPDATE command */ __u32 link_fd; /* link fd */ - /* new program fd to update link with */ - __u32 new_prog_fd; + union { + /* new program fd to update link with */ + __u32 new_prog_fd; + /* new struct_ops map fd to update link with */ + __u32 new_map_fd; + }; __u32 flags; /* extra flags */ - /* expected link's program fd; is specified only if - * BPF_F_REPLACE flag is set in flags */ - __u32 old_prog_fd; + union { + /* expected link's program fd; is specified only if + * BPF_F_REPLACE flag is set in flags. + */ + __u32 old_prog_fd; + /* expected link's map fd; is specified only + * if BPF_F_REPLACE flag is set. + */ + __u32 old_map_fd; + }; } link_update; struct { @@ -1647,17 +1675,17 @@ union bpf_attr { * Description * This helper is a "printk()-like" facility for debugging. It * prints a message defined by format *fmt* (of size *fmt_size*) - * to file *\/sys/kernel/debug/tracing/trace* from DebugFS, if + * to file *\/sys/kernel/tracing/trace* from TraceFS, if * available. It can take up to three additional **u64** * arguments (as an eBPF helpers, the total number of arguments is * limited to five). * * Each time the helper is called, it appends a line to the trace. - * Lines are discarded while *\/sys/kernel/debug/tracing/trace* is - * open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this. + * Lines are discarded while *\/sys/kernel/tracing/trace* is + * open, use *\/sys/kernel/tracing/trace_pipe* to avoid this. * The format of the trace is customizable, and the exact output * one will get depends on the options set in - * *\/sys/kernel/debug/tracing/trace_options* (see also the + * *\/sys/kernel/tracing/trace_options* (see also the * *README* file under the same directory). However, it usually * defaults to something like: * @@ -6379,6 +6407,9 @@ struct bpf_link_info { struct { __u32 ifindex; } xdp; + struct { + __u32 map_id; + } struct_ops; }; } __attribute__((aligned(8))); @@ -7112,4 +7143,12 @@ enum { BPF_F_TIMER_ABS = (1ULL << 0), }; +/* BPF numbers iterator state */ +struct bpf_iter_num { + /* opaque iterator state; having __u64 here allows to preserve correct + * alignment requirements in vmlinux.h, generated from BTF + */ + __u64 __opaque[1]; +} __attribute__((aligned(8))); + #endif /* __LINUX_BPF_H__ */ diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h index 000eec106856..51a7addc56c6 100644 --- a/include/uapi/linux/pkt_sched.h +++ b/include/uapi/linux/pkt_sched.h @@ -719,6 +719,11 @@ enum { #define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1) +enum { + TC_FP_EXPRESS = 1, + TC_FP_PREEMPTIBLE = 2, +}; + struct tc_mqprio_qopt { __u8 num_tc; __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; @@ -732,12 +737,23 @@ struct tc_mqprio_qopt { #define TC_MQPRIO_F_MIN_RATE 0x4 #define TC_MQPRIO_F_MAX_RATE 0x8 +enum { + TCA_MQPRIO_TC_ENTRY_UNSPEC, + TCA_MQPRIO_TC_ENTRY_INDEX, /* u32 */ + TCA_MQPRIO_TC_ENTRY_FP, /* u32 */ + + /* add new constants above here */ + __TCA_MQPRIO_TC_ENTRY_CNT, + TCA_MQPRIO_TC_ENTRY_MAX = (__TCA_MQPRIO_TC_ENTRY_CNT - 1) +}; + enum { TCA_MQPRIO_UNSPEC, TCA_MQPRIO_MODE, TCA_MQPRIO_SHAPER, TCA_MQPRIO_MIN_RATE64, TCA_MQPRIO_MAX_RATE64, + TCA_MQPRIO_TC_ENTRY, __TCA_MQPRIO_MAX, }; @@ -1236,6 +1252,7 @@ enum { TCA_TAPRIO_TC_ENTRY_UNSPEC, TCA_TAPRIO_TC_ENTRY_INDEX, /* u32 */ TCA_TAPRIO_TC_ENTRY_MAX_SDU, /* u32 */ + TCA_TAPRIO_TC_ENTRY_FP, /* u32 */ /* add new constants above here */ __TCA_TAPRIO_TC_ENTRY_CNT, From patchwork Tue Apr 18 11:39:51 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215514 X-Patchwork-Delegate: dsahern@gmail.com Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4AF13C6FD18 for ; Tue, 18 Apr 2023 11:40:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231508AbjDRLk1 (ORCPT ); Tue, 18 Apr 2023 07:40:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49488 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231493AbjDRLkQ (ORCPT ); Tue, 18 Apr 2023 07:40:16 -0400 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2074.outbound.protection.outlook.com [40.107.14.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id CE71349DB for ; Tue, 18 Apr 2023 04:40:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TuW6bI2L/pn0pBciNK0DaMa9eYQsHrEtpehQtTFJqVmLIJa3RRGKtswoIlKMBL8JZ6NPKPjBaHYxTVRgg08Q/XXyCGiAaZ5NBcdpXBHIhA1v7TNtMacXj/2khVf8AWw7KwUOElzvfC/84ytm4UOz6B1udY2wX5AlhErDhw3esXpc/3awP3+KLFs623lXXeU+w+O7sZkXfB/bqax4JZp1fJYO5UeOZhzQ3kY/SQbO6QMAf22NYMzCVI1LTUOguMK68I8dmfsd2hme5l48tGFg/NVggZ8xQMqC+OKzdNvGsX4CarPWY8M7PYnK+wEmXfsVC8sbyyIokOS/ZCVxRbvUnA== 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=NG0zXJRR+83odw50V+4Lu8M1jFYC5+QdcudyJNcV7o0=; b=RQKPC+oSuLrcwRF1jT2qlUa7MJIKRuR3w16xrKCWwGujm/L509pXW44O/uV8lopEbi0oUcbz6NqHCkEp6ibnMawkXf6Uh6vuDpZ1WOKBc0apVSdjaTgYDxlN485L9cC+My7A6Ww0JeGCdZE1nD3R8p9mfkHNpVx2tHRaqkXdlQI8P+VRVB5ArtPuahXFjuDJwNWyLve6DduFf9fR0cNgdxcQnlsd6yWtylUy5ymkC9n9eQ7A20/HTzL2M34i8FikMR5AllN4yVWV9GrZyO4DFp7oHm5Ilhm8zNJKerkPhEn2Z6Znt5JzeHNq6SOQt7TJhhQJYJTtqfiRbwfTEbxBLw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=NG0zXJRR+83odw50V+4Lu8M1jFYC5+QdcudyJNcV7o0=; b=oNLR1YTNqaNOdLCEb/fbf/4PQhVr56gh356oH7PECSPorfPzmyye0VuapjPyMx6I1fgr/oB2Nl/D+3QDA4HBT8q66G/oMxeM0SG9P2lLkEI5kMR6FOgLz2pW6yno1Yw/iUSFHV2EbPE+4O3LFwC+Z5/hx4rZx1EAweu0jDWDYpQ= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAXPR04MB8557.eurprd04.prod.outlook.com (2603:10a6:102:214::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.20; Tue, 18 Apr 2023 11:40:10 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:10 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 08/10] utils: add max() definition Date: Tue, 18 Apr 2023 14:39:51 +0300 Message-Id: <20230418113953.818831-9-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAXPR04MB8557:EE_ X-MS-Office365-Filtering-Correlation-Id: 32a7d8ab-3637-4c7a-403d-08db4001aa77 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cViTrnTLmhzeUnwUKO1et4Bw15zXLvcID5cyhlSypXkxM36Cd1Pvpf4uSRuYUOWhv3gz1h+g/9cIF66T+8lurz2qFdi60aKAtKq2SVFlv7dvwrVOAYsOEqiHW9ywM8NMlisSzAq7Hkyj21KKc5U5oP9DrjOFz9qwrSjD6en9RJKEOAdpsvriqYba4PHq99rskfssfj/Y+ASSXlfnFzTVpOaR9iBOKjTlag2SNODyQOI2Hkd0k5XKh4tSICXzlUtEzXR4n4CrlFIdiyIG71o2dh43E7zCo5s8aYQ/SO+JTKDSY2jg4eRTRv3gAf+S5Hv76RpcBkrlLUvYrdhe/G90y1ZBxlvXXYJGB+E3rrEA80pRvzusjme2kmoaXExQszqOC67GwnE34PKTIl5oHiOkds7Icu1N1gdQh/Ox3x5zAh3O/3IF+Yfp+XdOt//+kF+ypv3YnSkc3MHgc6fIbQpeELDVIhvh2dgV/TRoY+CX+llI5Q73W5uWIYlQyE6HAhnRWWZarjvz6b1ulLggldzjPj+KBpVJzIlde9IfS061THmJ2ULdH8Fx3ChXJ9ttslKzdyFbmdtc2G/OS+oZBHBtNAap+z1m1XDJC1NwSFYPifHz9VXzDBsHDdhXlEIpGgJV X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199021)(316002)(4326008)(66946007)(66556008)(66476007)(6916009)(478600001)(54906003)(8936002)(8676002)(5660300002)(44832011)(41300700001)(38100700002)(38350700002)(186003)(2616005)(6486002)(6666004)(52116002)(6512007)(6506007)(1076003)(26005)(86362001)(36756003)(4744005)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: K2t2iQVGJLFXoa/sMgI0i9ts1ScBqD82krT9zFNpX60YsvdurbUe4mmldCt9jggvXb5BNeDpqibH3lLNIsZDDRafkS6HUBik23W6Y28TqS/tpctxRqH+I390RTX1aSriiSVkem0i5DJt+H1Krm9AyeL5OKWrjoDPrIKpSDHZSMdR3c3ELkMrtsTACBLzlxyfBvNbYln0GS6984BLctHblTsvr4sMP7NHRhVDG09doroYQFiAeTGQzBv9CArDegOhUyKJC72IcGzqWOFfQnhNM44zPdFT/NudGpqKGj2FdRB0b4olDKacsmy1tBdn8stx7i0p7kKsxs3NvFfTokiGZAKrshPGf8CmWyEP+rDxxBBLxPlWiT2W5qg7uNbj9YcBmdWQq0wMdEvRBgL6uYoMAtGYGxr8XPDNAxmKOW9Xd4kdTan9G0ujrEbMDo2zetaGg2V80BPLUOcdhkMzRNkAg7Kqcglhz13UkFA8jYr3kj+KiEKT4Z5tFKMII9Nl8SbTQW0ZrM0MuT3DuldNMuD7BgOsOPz9dguV2OBFTCIyZCXZ9asumW+LsnbK/NS2biQSrnItLZHoQCMyxO6y/FW1DqyWOtkDL4Wu7Z2/6mgKfItuyIRDqaFypCIro4iOJuOJCPtVLVj8nL3zbSf3T1Ih5/Cckz/dmSyTIvnOueBJmoLWP0TcxPWHBaVfb0qcUNkkZYQc5Rl5G2Jn06wg8opsa9l7eUbEqcGz7ZBXL8vEPE2Q/1HFsmnsR08RAYxKckpP740Vb4b83PKmL4gCxKJBhTzZwLO8SkBIjED6E4QxHViEIA+jSL3nKGotcWR13uPlZanEzNlPE1Xq12BzUYNBoC97IA72IDDZNztC5YA0eGtnBT3/4gOd1IsLBnHCTVM3wIxS/L9Os/u+hUGw2/vUBI+oQKrHODdY3d0SNlLBsoEBpz2cbpQZ1o9Xvnef0BPS//gfsVgeR+ymh+XXIeearIhMpB5U6yYUGqSNAoqECFuZkyz1h0aI/LZ4n5CzAqpBSv/eShyxkEeez2KdCpT8LcN0iBWJg+iKRS71PhGo3k/Tsd6BsWRclEiggs0LXqVX/rMgG8LeCvhLH3jHO34gAsMaoArmlgIFzmj451/dhHtZnbieVV5VEeVifz9OaO4OtCUo+e/fILQnWWMq/Gt6rFpCQ1XcIHbueprDuSD1IhEGKjyLEST6UR1dUAgHqbhtaQbGBquDEHBylC2LXXtwMdabLe7WH2hn/r9UcL7cdvNCz8GC9veWgpV5ESvTq4jT/e2Rfl6fLRA4MoQpcybL+dL1htWMupoheovzsFKySgpD2qR6UFEQmiU99H1tuuTfUdxpQl1Z7gPoVSfEGKbMpcUQzxXqObo2Vx0mnTvDo7nCyi09tLLwD+BXln0/EDOK8PWIJl+kltN0YirODdiXEc9semq/kpGVeD4LguwC6GyMsLHaxour6qdiqFTXDy8x2lFvn1XOerEdLc1bocIpxezEKacyqJDVXgRhEHZpYFrYVFhzhv9cJnIwRriamSWB8ChLGq4hui1ZQWL2X0WmtOfCwieSiq+A5l+0K9NFvvz9dqPzFIOONwpNjLampvE2DbMxPds3HllgAg7ofcxPJA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 32a7d8ab-3637-4c7a-403d-08db4001aa77 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:10.3813 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: Dv2g6ktcv96hMApQizRNFKU09TMtBYhd4UNC9zBOZQ1Xo/ZgtJDrd9Sk91Udkk58HvD+wjjvzuOUdThTcCjA7g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8557 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com There is already a min() definition, add this below it. Signed-off-by: Vladimir Oltean --- v1->v2: none include/utils.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/utils.h b/include/utils.h index 2eb80b3e487c..0f1b3bef34d8 100644 --- a/include/utils.h +++ b/include/utils.h @@ -284,6 +284,14 @@ unsigned int print_name_and_link(const char *fmt, _min1 < _min2 ? _min1 : _min2; }) #endif +#ifndef max +# define max(x, y) ({ \ + typeof(x) _max1 = (x); \ + typeof(y) _max2 = (y); \ + (void) (&_max1 == &_max2); \ + _max1 < _max2 ? _max2 : _max1; }) +#endif + #ifndef __check_format_string # define __check_format_string(pos_str, pos_args) \ __attribute__ ((format (printf, (pos_str), (pos_args)))) From patchwork Tue Apr 18 11:39:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215515 X-Patchwork-Delegate: dsahern@gmail.com Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9ECC8C77B75 for ; Tue, 18 Apr 2023 11:40:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231544AbjDRLk3 (ORCPT ); Tue, 18 Apr 2023 07:40:29 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49530 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231506AbjDRLkS (ORCPT ); Tue, 18 Apr 2023 07:40:18 -0400 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2074.outbound.protection.outlook.com [40.107.14.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 07BB57A87 for ; Tue, 18 Apr 2023 04:40:17 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MdV04UqlMlnQDRAtdFDGI3bM5NluTglTtJ+M2wnfr6zgqEbmeAgZhbutr9s0WKDcqr8T7WiOUlBZ5e3AzTC/X+BhIp/DQMbdfHsV+euK09HQmtMW8SgYDlYeTcLiz6q7DlIszilanp1S5xPyD2aDkbOI2op32Kodv9FpfWlvpq4r/oM12XN7CHc43ztEtw9NCIwiavGZdyafsCQs91zY88pX0RYhmXwTNxv73rlDAzL5bt0n2/h5hTzWpZWLX91OG75Btl/rohwnhIwOYHOmvBt51HhuhkDKoiC1oDThYYHjrUHVZz2iu+ldeCRUb1/0n1ndSD/aLJDfIJlVHoA3uQ== 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=1JYHQMylBME+cyRTwOQeHNAv9TvPU3TuNC1NqrRZqbQ=; b=SUDlYphLAfsuCLFLnUIQp6EJRKgviqRnlhQuSltbxSJkaU8WIDwdVGkV0wxqR/MRZRIhnM+3c4fFpTU3wD3sSyO7ff6yy5yGy8inpGnc6+s+omC+ehbdyXYRx3h4rdJfo8To1lXMDe+AjP2/s+2NlzVh/SYiN1yiRNemzNieYvBN5sNkpfPeN5CtohTMRfqqzuJ61OJSLs+RVBKhpW4f7XvbAYZIdls5h1x4SdphVMatuBX/So/rwNCz2bOwKqLe4x4NuiE8jLaEgNdO5Xh4THFzL2mqfyI/+wOkfBh1VdiaB/Q5bOxvqBXqx3U8TMuAAy07xZHycANlSZEp5xcIgA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=1JYHQMylBME+cyRTwOQeHNAv9TvPU3TuNC1NqrRZqbQ=; b=kdFX/DPSQNLeodU2RmccnfSadwIdD92sh0rIwMf9/CX8pFm3r1rnbL71d9wxjsvT+yufES7J59+WUEwoS/ouX4hTo7XkWi3iuZp5YiRkPnSPlMaQBDY4GduYkEEYHiAxrx9qWCJB8A68XFe0/Ik6AWmNLcr+bcH16phgoB2nqOw= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAXPR04MB8557.eurprd04.prod.outlook.com (2603:10a6:102:214::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.20; Tue, 18 Apr 2023 11:40:10 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:10 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 09/10] tc/mqprio: add support for preemptible traffic classes Date: Tue, 18 Apr 2023 14:39:52 +0300 Message-Id: <20230418113953.818831-10-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAXPR04MB8557:EE_ X-MS-Office365-Filtering-Correlation-Id: 1e874259-94a8-4d43-8a7d-08db4001aac3 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ohdicx+SaZ5nb4P3iAeSpnBvSRRh4ueRLo29Y7ZOdPKiYeyG7WhRN9pVU57X/Ss0OtOI+oGZ0nzQhq+hs+pP699oJpgtG0vGE3JpwU571zXoAIJFCRMBG3dnqKc3AaJee0OUXhEUv882mgSbEXyUKAdqVamuX65SCe0E58J6/s0+2UDr/zzCAZX0rZyFRRg7FfD4dyp/yDhPNWsF812yt4KU9fKbEd5jn4aTfStGDuKwQRfW8Ze0hWiQxBbD1B2jRvrI1tqMwf5rFB8OmswMPGs3cTQTacRZzgH7qG50P8yaHJ4+1ZdzA13LMH5hb5kSIpzlFwdL1skzXqAyP6joiz4SfEAfoSwh73xYVQNfbSIIyKwVHuMfb4/xyVd6dp8NXdsj9y4hS7x1rRUI1PAJGUvJD8Tzu+Je4ldwI66IVNAiC1aEUX/urq5REYHeGWMOZjN4XOZYW+pcaw2CGaCxKFBx0GdkHb7J4kfqqsXK+zT0gz22QWysuFq1zCLylZyHkCHjtKwHxMiGvji+xyV3j5XSpU2ujzGae7yV3dE4ThS+WRtRzxjis8UYnoTx0ZSMOKWdWvb0Z6nMiCOw9yk0dvUYlGRPM+oBEoGW3zDFhr2r9RKJbpZPCBbFp5Pa92Tn X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199021)(316002)(4326008)(66946007)(66556008)(66476007)(6916009)(478600001)(54906003)(8936002)(8676002)(5660300002)(44832011)(41300700001)(38100700002)(38350700002)(186003)(83380400001)(2616005)(6486002)(6666004)(52116002)(6512007)(6506007)(1076003)(26005)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: cad5q8Lx6bQ4s6Xo10m9M+8BwRaRD5n3/9IQg2Qtx3+Iy9Ra4SfifcIPMWDqVzH6IWvIfMV5eLZWlSHg9WQVaOpSD0U5CFcBdLrGhbM7KWccuAgCM/1dy3+Z174xxrQgBwyFrphz+YU5MVaJsoQnQvNiV0a2yke0MejLvKEHQAlvHCsulqMP8F29gpfPZ5MTNaJesNdeHBkMzGhmNBeyi7RCmMxmxrizu65fRR5ieit4opaWs2Bk3sdIJwcA2H4x3+8zmMCKnBb88f4w9WMSiDOtQxrzL6xdSx38dP3UrIRDeIuntO94f9KVCWmeHSjGehY2rBcSqQYP1m3TQUPKzSat8XS5jbvSoXu/FSg0JB16HT8Vc3MiMkMfsrgZPhECQLHDRABcZAlkeS0Kcpr+747Jo1CZkYnNvQ6haLO5HQ5xyfYrFU3TpehrrrEDmzHtYe+kTl7HBctabtfn2w9K08J1edsMpjiu4G3Kce414X1ewd+MUDFCN6rebV/96qlNrhkCMz4UYdTZOo2ALiVZhVuDmx3Ja2D1dxNV8gGluAoSd5lBythArnDLJdUwwWnqwUc15/Y++zUh+10tcWzS0MZO9h39rt9hl8IjessDCHqWchM9M8i8854SNHE/3vGQJajsTO7CEiaWKfDh70xe1ZIXkD9AtjHm3k2cPfgrUycFE09rzi2TyFZ3h+YWvqrWb5+/CEyWF7mESi+yJBTlNVc0LjP2pwAglxmZrqsffsowOlOMROvs33FkwTltEpQ8kBupeHDBIE4e7tdK9wlBn3rOjDnLVfOKN/KRaZeI1G/hTkmq7NGOqwePUewGK9sFY9KbdGZMyUV5BEFqa3QzETvWuYdvHTK8qhP6IxnssjpmuhPqAODT/Y9fF96hRJ6CFjnJyYlFx9VF1RolFZ7KcwTqmRiGfTsDq2J3wNPK8Ug9XSgI1Iv2DAgegl5YGdlb9PNS08Y4LK/vx6cEbrDBVW6YMyZRR3v9sDsbvEpdmgXe0ylvnBolVoHHpHUDID8YaYdWOZAzRoAnuFp8YiGWM7wW6yrA+G66dKRL8DWrZX8Juxhw6tnn/nrOuBdSE+dheZSk116hKyNTapyHxW67Z2y1LYT/J0jsrvMNtiOM+OdM8YlhxMLAJbw+Nz24fT3RvBR8IljY+/iDlILdjJbc/y1nYNeJl2hvfS7d5EPqAFUL9Uu2SYXDiVG4ovhfWXQxN03Ksq1IlbrfpYn2HFFh4u/6gQZBoueAy+xr8UFXY5LhAxie44KZFC4KKVxg/du+JzsFNi5ETNu8ZDUBCxRuRfQldEBmDA3K7p6dOLeAqToIz1PbZqAY9bDHyo0kCz5YaWueOV5ENArYWRqD+vE6A+hc2claJ8/tPJRF0h526aUpnWz5NXphqYEEdcEJiGCMpljbIfmRIcuMv2NnRYYV8tlo1FZwvQ/Dq+2ZdhnqgYiEwQI+iN61Nz9gTMeCkq4eVahqdn9MK8opo4ZNtBU6HwvaRCsXa5cYQfZIfP8NQ8ftUtGpPnNH/+m/N3etbb4ayhHYxFN9olsNQNOwRwteIlscq0QBJwp9m9noYA4qVSs/VWpLZ6+w5m+Fsjhj8BoQIExYVIZpIRmYmFcv/lT+xA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1e874259-94a8-4d43-8a7d-08db4001aac3 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:10.8347 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: 0PrQ35AV1874D9NEinmxKMgwRr8kdDY+Rd1jWokvkYYKAps4/aQ9zktrA4fAbXGVALLHoK297Nl3Bvf9TmrWZw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8557 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com Add support for the "fp" argument in tc-mqprio, which takes an array of letters "E" (for express) or "P" (for preemptible), one per traffic class, and transforms them into TCA_MQPRIO_TC_ENTRY_FP u32 attributes of the TCA_MQPRIO_TC_ENTRY nest. We also dump these new netlink attributes when they come from the kernel. Signed-off-by: Vladimir Oltean --- v1->v2: amended help text so that user space (kselftests) could detect the presence of the new feature man/man8/tc-mqprio.8 | 36 ++++++++++++++-- tc/q_mqprio.c | 99 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 132 insertions(+), 3 deletions(-) diff --git a/man/man8/tc-mqprio.8 b/man/man8/tc-mqprio.8 index 3441cb68a27f..724ef906090c 100644 --- a/man/man8/tc-mqprio.8 +++ b/man/man8/tc-mqprio.8 @@ -30,9 +30,11 @@ dcb|bw_rlimit ] .B min_rate min_rate1 min_rate2 ... ] [ .B max_rate -max_rate1 max_rate2 ... -.B ] - +max_rate1 max_rate2 ... ] +.ti +8 +[ +.B fp +FP0 FP1 FP2 ... ] .SH DESCRIPTION The MQPRIO qdisc is a simple queuing discipline that allows mapping @@ -162,6 +164,34 @@ the argument is set to .B 'bw_rlimit'. +.TP +fp +Selects whether traffic classes are express (deliver packets via the eMAC) or +preemptible (deliver packets via the pMAC), according to IEEE 802.1Q-2018 +clause 6.7.2 Frame preemption. Takes the form of an array (one element per +traffic class) with values being +.B 'E' +(for express) or +.B 'P' +(for preemptible). + +Multiple priorities which map to the same traffic class, as well as multiple +TXQs which map to the same traffic class, must have the same FP attributes. +To interpret the FP as an attribute per priority, the +.B 'map' +argument can be used for translation. To interpret FP as an attribute per TXQ, +the +.B 'queues' +argument can be used for translation. + +Traffic classes are express by default. The argument is supported only with +.B 'hw' +set to 1. Preemptible traffic classes are accepted only if the device has a MAC +Merge layer configurable through +.BR ethtool(8). + +.SH SEE ALSO +.BR ethtool(8) .SH EXAMPLE diff --git a/tc/q_mqprio.c b/tc/q_mqprio.c index 99c43491e0be..7a4417f5363b 100644 --- a/tc/q_mqprio.c +++ b/tc/q_mqprio.c @@ -23,12 +23,29 @@ static void explain(void) "Usage: ... mqprio [num_tc NUMBER] [map P0 P1 ...]\n" " [queues count1@offset1 count2@offset2 ...] " "[hw 1|0]\n" + " [fp FP0 FP1 FP2 ...]\n" " [mode dcb|channel]\n" " [shaper bw_rlimit SHAPER_PARAMS]\n" "Where: SHAPER_PARAMS := { min_rate MIN_RATE1 MIN_RATE2 ...|\n" " max_rate MAX_RATE1 MAX_RATE2 ... }\n"); } +static void add_tc_entries(struct nlmsghdr *n, __u32 fp[TC_QOPT_MAX_QUEUE], + int num_fp_entries) +{ + struct rtattr *l; + __u32 tc; + + for (tc = 0; tc < num_fp_entries; tc++) { + l = addattr_nest(n, 1024, TCA_MQPRIO_TC_ENTRY | NLA_F_NESTED); + + addattr32(n, 1024, TCA_MQPRIO_TC_ENTRY_INDEX, tc); + addattr32(n, 1024, TCA_MQPRIO_TC_ENTRY_FP, fp[tc]); + + addattr_nest_end(n, l); + } +} + static int mqprio_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { @@ -43,7 +60,10 @@ static int mqprio_parse_opt(struct qdisc_util *qu, int argc, __u64 min_rate64[TC_QOPT_MAX_QUEUE] = {0}; __u64 max_rate64[TC_QOPT_MAX_QUEUE] = {0}; __u16 shaper = TC_MQPRIO_SHAPER_DCB; + __u32 fp[TC_QOPT_MAX_QUEUE] = { }; __u16 mode = TC_MQPRIO_MODE_DCB; + bool have_tc_entries = false; + int num_fp_entries = 0; int cnt_off_pairs = 0; struct rtattr *tail; __u32 flags = 0; @@ -93,6 +113,21 @@ static int mqprio_parse_opt(struct qdisc_util *qu, int argc, idx++; cnt_off_pairs++; } + } else if (strcmp(*argv, "fp") == 0) { + while (idx < TC_QOPT_MAX_QUEUE && NEXT_ARG_OK()) { + NEXT_ARG(); + if (strcmp(*argv, "E") == 0) { + fp[idx] = TC_FP_EXPRESS; + } else if (strcmp(*argv, "P") == 0) { + fp[idx] = TC_FP_PREEMPTIBLE; + } else { + PREV_ARG(); + break; + } + num_fp_entries++; + idx++; + } + have_tc_entries = true; } else if (strcmp(*argv, "hw") == 0) { NEXT_ARG(); if (get_u8(&opt.hw, *argv, 10)) { @@ -187,6 +222,9 @@ static int mqprio_parse_opt(struct qdisc_util *qu, int argc, addattr_l(n, 1024, TCA_MQPRIO_SHAPER, &shaper, sizeof(shaper)); + if (have_tc_entries) + add_tc_entries(n, fp, num_fp_entries); + if (flags & TC_MQPRIO_F_MIN_RATE) { struct rtattr *start; @@ -218,6 +256,64 @@ static int mqprio_parse_opt(struct qdisc_util *qu, int argc, return 0; } +static void dump_tc_entry(struct rtattr *rta, __u32 fp[TC_QOPT_MAX_QUEUE], + int *max_tc_fp) +{ + struct rtattr *tb[TCA_MQPRIO_TC_ENTRY_MAX + 1]; + __u32 tc, val = 0; + + parse_rtattr_nested(tb, TCA_MQPRIO_TC_ENTRY_MAX, rta); + + if (!tb[TCA_MQPRIO_TC_ENTRY_INDEX]) { + fprintf(stderr, "Missing tc entry index\n"); + return; + } + + tc = rta_getattr_u32(tb[TCA_MQPRIO_TC_ENTRY_INDEX]); + /* Prevent array out of bounds access */ + if (tc >= TC_QOPT_MAX_QUEUE) { + fprintf(stderr, "Unexpected tc entry index %d\n", tc); + return; + } + + if (tb[TCA_MQPRIO_TC_ENTRY_FP]) { + val = rta_getattr_u32(tb[TCA_MQPRIO_TC_ENTRY_FP]); + fp[tc] = val; + + if (*max_tc_fp < (int)tc) + *max_tc_fp = tc; + } +} + +static void dump_tc_entries(FILE *f, struct rtattr *opt, int len) +{ + __u32 fp[TC_QOPT_MAX_QUEUE] = {}; + int max_tc_fp = -1; + struct rtattr *rta; + int tc; + + for (rta = opt; RTA_OK(rta, len); rta = RTA_NEXT(rta, len)) { + if (rta->rta_type != (TCA_MQPRIO_TC_ENTRY | NLA_F_NESTED)) + continue; + + dump_tc_entry(rta, fp, &max_tc_fp); + } + + if (max_tc_fp >= 0) { + open_json_array(PRINT_ANY, + is_json_context() ? "fp" : "\n fp:"); + for (tc = 0; tc <= max_tc_fp; tc++) { + print_string(PRINT_ANY, NULL, " %s", + fp[tc] == TC_FP_PREEMPTIBLE ? "P" : + fp[tc] == TC_FP_EXPRESS ? "E" : + "?"); + } + close_json_array(PRINT_ANY, ""); + + print_nl(); + } +} + static int mqprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) { int i; @@ -309,7 +405,10 @@ static int mqprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt) tc_print_rate(PRINT_ANY, NULL, "%s ", max_rate64[i]); close_json_array(PRINT_ANY, ""); } + + dump_tc_entries(f, RTA_DATA(opt) + RTA_ALIGN(sizeof(*qopt)), len); } + return 0; } From patchwork Tue Apr 18 11:39:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13215516 X-Patchwork-Delegate: dsahern@gmail.com Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 885DBC6FD18 for ; Tue, 18 Apr 2023 11:40:32 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231549AbjDRLka (ORCPT ); Tue, 18 Apr 2023 07:40:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49610 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231519AbjDRLkU (ORCPT ); Tue, 18 Apr 2023 07:40:20 -0400 Received: from EUR01-VE1-obe.outbound.protection.outlook.com (mail-ve1eur01on2074.outbound.protection.outlook.com [40.107.14.74]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C20C87D92 for ; Tue, 18 Apr 2023 04:40:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=btAZxPyZyQ6xQOjiap20JTXq/yaXEtc1blQum5IVkfTTgW5K8386/OmYsu+r3m00udXcB8iFSmpV3yX+1G3I9NAzajoz7os9mE70p14RPYgGCBnkAQq3Q9uztaHW6NKLuMLheMtt/1tCEJTlOFe4df7roEqKvD5ED5jb7Gc5kyLgyXc8EkXfLa4fT91YuhIg2Ko8wXgi7VUoc7JeCvAucCrIVPu7Dzh6rO6C/PBGwWT9EhgA8hA1GUoYA1J/TOmNvsNT8BvZltFj0bXnbyJ3auT9TwYbYuHs7cczWuRnrqFIDCc31QO1pbSEJ2SUBA2Nw6EI6PuebqMi9klGm+creA== 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=OXvepB2lhAalJhLN8VhDNVTUQP9Lr05k/308Y0MT9rI=; b=f6fvWYkI2SEu6BVc9p/TWZ+6UNbUpsEPuSy75nLTglIkUSWzg8plR15KUGdMihOmKrF+IhhNQvWplSoNZ2YRj00fQqrwJa0a+vZooS1oIsy/InHBECC2F7qCPAbrTXDAOyr+Kl0OKfm3YLuCd/ik7v0vY0pBIhy8PQimDC6FAdSel8DlTKif2BUAV+UjY5lbct60NgM3JBByrdebDvtPEji53MfUIa0Y5TehZM/l5JzKgV/Cl0DLP1jBigoJ3VuR8rQrPsE99G14ASoTloDsX7oigu5AbWwHAKFhWpqmrzA6rc44M7jcxKEX7mOL4DvI9MV9hIdAOWOPIR3qJcQ2rw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=OXvepB2lhAalJhLN8VhDNVTUQP9Lr05k/308Y0MT9rI=; b=aU/Vg+ZLdJXUlyh5gT1DvlI6q8E+Far1CBz7We+ZmrutRbj3qLkImegFgLmQmCZIiDW0uODKzH3eT6tMwoU5PeEiZ8nGGOmig7Giky/lOWUnEH4ZivqM1f2GuxayoEL4v5H0iN10roEoA7ITnwdfWGjRrbNPgD04pWV9Faq4CwU= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=nxp.com; Received: from AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) by PAXPR04MB8557.eurprd04.prod.outlook.com (2603:10a6:102:214::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6319.20; Tue, 18 Apr 2023 11:40:11 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::55b1:d2dd:4327:912b%5]) with mapi id 15.20.6298.028; Tue, 18 Apr 2023 11:40:11 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH v2 iproute2-next 10/10] tc/taprio: add support for preemptible traffic classes Date: Tue, 18 Apr 2023 14:39:53 +0300 Message-Id: <20230418113953.818831-11-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230418113953.818831-1-vladimir.oltean@nxp.com> References: <20230418113953.818831-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: VI1PR0501CA0003.eurprd05.prod.outlook.com (2603:10a6:800:92::13) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|PAXPR04MB8557:EE_ X-MS-Office365-Filtering-Correlation-Id: bb02c654-6a25-402d-371f-08db4001ab12 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: L/0AxQ6CREzU3z0II8Ss0nTGF8jJqRB9OeNf0TrxzXUer2HKbrTg1dEwL/v0HnzOOcaS4PjIviH5EJlXaIdmsaHjo/C6z5JIjxbzmY1F2g8zWrgViygXtPtQ6M2iRhMAwUbMxGWzLS65ty9BHXq3V9/eJew5aWpusC9Umqf10szhmYUn/AUrjhJexGKATAvxh728VKrRwQ3SbJGdZKfKMrfM8GD4UWkBsGOT+0eckRA6jQrIcS0m8CWf7w9dSQTcyyNQmwZS6OYOg3u0NmgqlBIWrRwcXnA5m5K22Z1h+Cuj2b60oDTQJK9pXgd/OlmLnXwWxnIIZNKOADGD2iR8VZnd10R3P53Iv2aTGPsnLd2ZREy25Bmx3bBashwwlRudfLL/rYifpbT9iB3koJ3BAGdgN6sHecWzlU4DKd241v9X3HmBgXjIeZuzQjeEqZdjaTT9vg8mY+//Ld/moATk/nezg6rUcIbRWED3MNN1os2r8UrETOFhc6A7tTgFV5r00qEHUZjel886QWdFHmnEl7ohii50wP5nsanj9KHU2XkMl+UsWq7BbTKPY7X9W9wTQ5ZRKQoBzLNJTdZ+N16vfgOdquiEkTjEnJQmP7FQ5LS+Hmt8BKydvh4koEloN0hb X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:AM0PR04MB6452.eurprd04.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(366004)(39860400002)(136003)(346002)(376002)(396003)(451199021)(316002)(4326008)(66946007)(66556008)(66476007)(6916009)(478600001)(54906003)(8936002)(8676002)(5660300002)(44832011)(41300700001)(38100700002)(38350700002)(186003)(83380400001)(2616005)(6486002)(6666004)(52116002)(6512007)(6506007)(1076003)(26005)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 6DAKH/dvcyXO4518PR+6v1hbXRejXGtfGSzHd/l5M9oyLCYkpc+5rk1ApgmgzeUBj7BdNj0zECgliU6IXxCYHM77koVOQq97JWUn20VehbK8CstFAv5toqdhoLE0Z6W6XQyELAspXx6IPSFLmrimGwNdzeQAEKbmzM4nMhTynewgAjfjqTPtTFc/9FsIdqTJVsW6sUYWEsTgem9B7B5FPDogdr1N1gmmEt+aD8lT4coSbli2BfBrcIGBmfNf7u938P/VMVaC3pSTyAWJZ52x9dm3Wgb2uZjaL1WQO/x7DGaK/jbrJ4qGXk4ATYXtidFJeSLkq/NKzwXgGoml0iETxSLi4XyyRaCtqsQrxdpfEdY+HbK9PV8ayJMRPGMjGjgKU9hkXGNwgdJus06Ros1mzbuJNKjS4dsQyP1g8yXs9t7vwGJN7DuQ5ijMy5oAdGb+BOkPyuV6VLsOxZKhgujUBmAr9j2Y3wWvPlKhpKjpeObIBVnDbghtBqpP/D09o7e0cXXDwJ+lmYB8KjHLeo8Pp/pOioPLSh10ZFCt33T0Cq0Llum7GRLIAgjwjoUjhGOYhFzVrrSoSca2Mkvpv78OJC+bZxitgmh9rg4YKNFYHWFMvPYfw1Ls/kFzNvm7pJMYDYMy9ml+z2M8ISkLkY72zfJHlxqkiMhTeTA61Hv01m4qsVgjuSvN6FHBtuPwS+LAGMry0H+e+MnorPGugVP937R4A4owjmJ+4kzb5nM4tDL3iifwqM4JomNiVzUYFdiYltK4+tG9ZH+j7ErdzCJ5bL3nqpd7jk7RTFW2GKGNQx+9hmHKvhmQOmSIV9QlCjRvCBF8oNkK4Y+s0gDN4wplX06E1u6RZX/0oLWlsK21LlfeNFSkfsDvuek94ck/pI9KuqISTmQC45Y7dtDBehJR4eFJfmgCL7kEISyScupxNg9C9QoaI0AVsJIydgBVfcg9Bb0jqPVzNNisSPDX38ytiW5W2qjtXzihzm2tb23wOEyTEDd2jUpVYxKy8B8aLBZJyl6b4MwRAZgT7UMcXvY/6xLiZGqJLyPK2SmOueqTFJZoO0aLnFnJmPQfq6ZZDUb6aA28Y+nlJswksvFTHPVJf6/C6p7ax82YwwYCWAk9hny9oZNqKLesSNlsKZERSqMpiwQiFYq6BhW9zhO6snVbwzavV+AygtikIScyyaKq8NKXGXOZCmWUL3xn39tipQWnNziKDfqlRKfAWXUjG/tsTJ3MKNfQXVrzJE3LQiHf2ypASRASPv7XDj0cjEkOTuBVvHRPJuevtwvaYe924jllriDV46llLDNAnJ8I5d4GGu3zg5PPfA0QXRfUQW2uEEjNiOuX7Wz78xZlkxHXW8JqkfnMxgJWDBeSTRAapvhk8Y/QQAGMsl+QEysbovgHFO4LMRsVCps60Gp9ZqCp/xO3KYJao7gTelvZiFqWCapiqxKOWKwz5plMBoMREDAkvaPUcFt39o4uVNuqWBaDJ59tuPyL5eZ0+o3aRIUN3xLdr1+/o8EJ9OO4de7sKdf8FZQYKEHVzqIPAHbLRRMXNJ7RhL+9CBaGtoMl5Mg0ecIFie+C8mGdb/xsD5ZOr9dL98Vm4+hO5kUNxMCWYYaCeuG2RA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: bb02c654-6a25-402d-371f-08db4001ab12 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 18 Apr 2023 11:40:11.3852 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: a5suG1yyxOwJxHeq+T+BBqy6Ps/WqtyAXBrzCN0UKlB7juxzgogcuBxt6YlIztSfHBV4C2gJNni2schYwsy/rw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR04MB8557 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com Add support for the same kind of "fp" array argument as in mqprio, except here we already have some handling for per-tc entries (max-sdu). We just need to expand that logic such that we also add (and parse) the FP adminStatus property of each traffic class. Signed-off-by: Vladimir Oltean --- v1->v2: amended help text so that user space (kselftests) could detect the presence of the new feature man/man8/tc-taprio.8 | 11 +++++ tc/q_taprio.c | 100 ++++++++++++++++++++++++++++++++----------- 2 files changed, 87 insertions(+), 24 deletions(-) diff --git a/man/man8/tc-taprio.8 b/man/man8/tc-taprio.8 index c3ccefea9c8a..bf489b032a7e 100644 --- a/man/man8/tc-taprio.8 +++ b/man/man8/tc-taprio.8 @@ -36,6 +36,10 @@ clockid [ .B max-sdu ] +.ti +8 +[ +.B fp + ] .SH DESCRIPTION The TAPRIO qdisc implements a simplified version of the scheduling @@ -163,6 +167,13 @@ represents the maximum L2 payload size that can egress that traffic class. Elements that are not filled in default to 0. The value 0 means that the traffic class can send packets up to the port's maximum MTU in size. +.TP +fp +.br +Selects whether traffic classes are express or preemptible. See +.BR tc-mqprio(8) +for details. + .SH EXAMPLES The following example shows how an traffic schedule with three traffic diff --git a/tc/q_taprio.c b/tc/q_taprio.c index c0da65fe3744..bc29710c4686 100644 --- a/tc/q_taprio.c +++ b/tc/q_taprio.c @@ -49,6 +49,7 @@ static void explain(void) " [queues COUNT@OFFSET COUNT@OFFSET COUNT@OFFSET ...]\n" " [ [sched-entry index cmd gate-mask interval] ... ]\n" " [base-time time] [txtime-delay delay]\n" + " [fp FP0 FP1 FP2 ...]\n" "\n" "CLOCKID must be a valid SYS-V id (i.e. CLOCK_TAI)\n"); } @@ -148,17 +149,29 @@ static struct sched_entry *create_entry(uint32_t gatemask, uint32_t interval, ui } static void add_tc_entries(struct nlmsghdr *n, __u32 max_sdu[TC_QOPT_MAX_QUEUE], - int num_max_sdu_entries) + int num_max_sdu_entries, __u32 fp[TC_QOPT_MAX_QUEUE], + int num_fp_entries) { struct rtattr *l; + int num_tc; __u32 tc; - for (tc = 0; tc < num_max_sdu_entries; tc++) { + num_tc = max(num_max_sdu_entries, num_fp_entries); + + for (tc = 0; tc < num_tc; tc++) { l = addattr_nest(n, 1024, TCA_TAPRIO_ATTR_TC_ENTRY | NLA_F_NESTED); addattr_l(n, 1024, TCA_TAPRIO_TC_ENTRY_INDEX, &tc, sizeof(tc)); - addattr_l(n, 1024, TCA_TAPRIO_TC_ENTRY_MAX_SDU, - &max_sdu[tc], sizeof(max_sdu[tc])); + + if (tc < num_max_sdu_entries) { + addattr_l(n, 1024, TCA_TAPRIO_TC_ENTRY_MAX_SDU, + &max_sdu[tc], sizeof(max_sdu[tc])); + } + + if (tc < num_fp_entries) { + addattr_l(n, 1024, TCA_TAPRIO_TC_ENTRY_FP, &fp[tc], + sizeof(fp[tc])); + } addattr_nest_end(n, l); } @@ -168,6 +181,7 @@ static int taprio_parse_opt(struct qdisc_util *qu, int argc, char **argv, struct nlmsghdr *n, const char *dev) { __u32 max_sdu[TC_QOPT_MAX_QUEUE] = { }; + __u32 fp[TC_QOPT_MAX_QUEUE] = { }; __s32 clockid = CLOCKID_INVALID; struct tc_mqprio_qopt opt = { }; __s64 cycle_time_extension = 0; @@ -175,6 +189,7 @@ static int taprio_parse_opt(struct qdisc_util *qu, int argc, bool have_tc_entries = false; int num_max_sdu_entries = 0; struct rtattr *tail, *l; + int num_fp_entries = 0; __u32 taprio_flags = 0; __u32 txtime_delay = 0; __s64 cycle_time = 0; @@ -227,6 +242,23 @@ static int taprio_parse_opt(struct qdisc_util *qu, int argc, free(tmp); idx++; } + } else if (strcmp(*argv, "fp") == 0) { + while (idx < TC_QOPT_MAX_QUEUE && NEXT_ARG_OK()) { + NEXT_ARG(); + if (strcmp(*argv, "E") == 0) { + fp[idx] = TC_FP_EXPRESS; + } else if (strcmp(*argv, "P") == 0) { + fp[idx] = TC_FP_PREEMPTIBLE; + } else { + fprintf(stderr, + "Illegal \"fp\" value \"%s\", expected \"E\" or \"P\"\n", + *argv); + return -1; + } + num_fp_entries++; + idx++; + } + have_tc_entries = true; } else if (strcmp(*argv, "max-sdu") == 0) { while (idx < TC_QOPT_MAX_QUEUE && NEXT_ARG_OK()) { NEXT_ARG(); @@ -369,7 +401,7 @@ static int taprio_parse_opt(struct qdisc_util *qu, int argc, &cycle_time_extension, sizeof(cycle_time_extension)); if (have_tc_entries) - add_tc_entries(n, max_sdu, num_max_sdu_entries); + add_tc_entries(n, max_sdu, num_max_sdu_entries, fp, num_fp_entries); l = addattr_nest(n, 1024, TCA_TAPRIO_ATTR_SCHED_ENTRY_LIST | NLA_F_NESTED); @@ -460,9 +492,10 @@ static int print_schedule(FILE *f, struct rtattr **tb) return 0; } -static void dump_tc_entry(__u32 max_sdu[TC_QOPT_MAX_QUEUE], - struct rtattr *item, bool *have_tc_entries, - int *max_tc_index) +static void dump_tc_entry(struct rtattr *item, + __u32 max_sdu[TC_QOPT_MAX_QUEUE], + __u32 fp[TC_QOPT_MAX_QUEUE], + int *max_tc_max_sdu, int *max_tc_fp) { struct rtattr *tb[TCA_TAPRIO_TC_ENTRY_MAX + 1]; __u32 tc, val = 0; @@ -481,23 +514,30 @@ static void dump_tc_entry(__u32 max_sdu[TC_QOPT_MAX_QUEUE], return; } - if (*max_tc_index < tc) - *max_tc_index = tc; - - if (tb[TCA_TAPRIO_TC_ENTRY_MAX_SDU]) + if (tb[TCA_TAPRIO_TC_ENTRY_MAX_SDU]) { val = rta_getattr_u32(tb[TCA_TAPRIO_TC_ENTRY_MAX_SDU]); + max_sdu[tc] = val; + if (*max_tc_max_sdu < (int)tc) + *max_tc_max_sdu = tc; + } - max_sdu[tc] = val; + if (tb[TCA_TAPRIO_TC_ENTRY_FP]) { + val = rta_getattr_u32(tb[TCA_TAPRIO_TC_ENTRY_FP]); + fp[tc] = val; - *have_tc_entries = true; + if (*max_tc_fp < (int)tc) + *max_tc_fp = tc; + } } static void dump_tc_entries(FILE *f, struct rtattr *opt) { __u32 max_sdu[TC_QOPT_MAX_QUEUE] = {}; - int tc, rem, max_tc_index = 0; - bool have_tc_entries = false; + __u32 fp[TC_QOPT_MAX_QUEUE] = {}; + int max_tc_max_sdu = -1; + int max_tc_fp = -1; struct rtattr *i; + int tc, rem; rem = RTA_PAYLOAD(opt); @@ -505,18 +545,30 @@ static void dump_tc_entries(FILE *f, struct rtattr *opt) if (i->rta_type != (TCA_TAPRIO_ATTR_TC_ENTRY | NLA_F_NESTED)) continue; - dump_tc_entry(max_sdu, i, &have_tc_entries, &max_tc_index); + dump_tc_entry(i, max_sdu, fp, &max_tc_max_sdu, &max_tc_fp); } - if (!have_tc_entries) - return; + if (max_tc_max_sdu >= 0) { + open_json_array(PRINT_ANY, "max-sdu"); + for (tc = 0; tc <= max_tc_max_sdu; tc++) + print_uint(PRINT_ANY, NULL, " %u", max_sdu[tc]); + close_json_array(PRINT_ANY, ""); - open_json_array(PRINT_ANY, "max-sdu"); - for (tc = 0; tc <= max_tc_index; tc++) - print_uint(PRINT_ANY, NULL, " %u", max_sdu[tc]); - close_json_array(PRINT_ANY, ""); + print_nl(); + } - print_nl(); + if (max_tc_fp >= 0) { + open_json_array(PRINT_ANY, "fp"); + for (tc = 0; tc <= max_tc_fp; tc++) { + print_string(PRINT_ANY, NULL, " %s", + fp[tc] == TC_FP_PREEMPTIBLE ? "P" : + fp[tc] == TC_FP_EXPRESS ? "E" : + "?"); + } + close_json_array(PRINT_ANY, ""); + + print_nl(); + } } static int taprio_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)