From patchwork Mon Apr 3 10:52:37 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13198021 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 7C867C76196 for ; Mon, 3 Apr 2023 10:53:29 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231932AbjDCKx1 (ORCPT ); Mon, 3 Apr 2023 06:53:27 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42906 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231644AbjDCKxS (ORCPT ); Mon, 3 Apr 2023 06:53:18 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2079.outbound.protection.outlook.com [40.107.22.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D697111E8A for ; Mon, 3 Apr 2023 03:53:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=IzRto7iZO9cTQAsWB6hpaKAlnxF3sWQxiccbif+VwLEMMIvOIrfuQ/LOpd2HA7h7pxPTHyR8xQkLVN6be+QxcDvglKpHuaaXEHUzTH7zsNRfx/isSsFSDDbk2fEnpkApilXpYifN8wbrR4RgUU64MNvFFu95Z80vaJ8nU6FkmMgXYGTeLxR2i0UP9pkCHz3LLBwY6z72JO53gtoCU3Z1DSobCBIoHpsxs4Nwd9kg846qPuQqh32TN7847Y/cAe+WXkWA9tMztmM/OQoWdOKWBpIqHhJIKWd6MR6GHB9sxyL/1+dKUNCUUwNK/TJOagv/lKjYUEt9xM0DEzvWt7A0/w== 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=JiuxIoM08fUh+XtMh8q7JETTpH7AXWqAV17zxZJK6RY=; b=Svm+ap8TUUtZaFG5m/LI53hNA8PW+gnzrZoFHn68KSpMjwM7txGdIlfTFB90cPhh6y0TxT+yKK7Vk4xPKN15AyZN7fUQZ++bk7h2pBn6JnDfko14mjpOWCBMkIGHerQHxHxfdrHBJobo09WBOp8UOmZGIqwWzrcXsHqaNoHk8JXt3mPkjfOQguNhbwCOtqwvfMPHiMkkKFt4539gDpoMqLUNnuMraXtSRhcOSa6v+NutkDea9vjwIiRJfQOrXAdU1S+fZlnxb8ojSzfmpoFd6LNVnQUcU0Rhawnvp+i0s3ZYKMas4AufIFdRm/pju3O8nsnuzm+DMsrWBWAOh3+2qg== 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=JiuxIoM08fUh+XtMh8q7JETTpH7AXWqAV17zxZJK6RY=; b=IEWeHhWWk0SWsThM5xenP55kUI/M5f/VzIcIZyrQJ0Y1PTcKHXIDmngy9zxgiINqHvt92+v4iNuf26Go9gtyzpvj0ygI2V3/ca05BL8p2YizhFlM8TWatb0ODM5LsDeX4H0hGRucH7lK5MNzmGa/nyjFo5etMQrx8psJb2DfHPA= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:03 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:03 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 1/9] uapi: add definitions for preemptible traffic classes in mqprio and taprio Date: Mon, 3 Apr 2023 13:52:37 +0300 Message-Id: <20230403105245.2902376-2-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: 022d9abe-37ee-4312-cb41-08db34319967 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3uGRYFqMJ8XqnEW8Utu+KnJeq0t1kyaM6h+FQHelV2slm65c2Rhb/rJdHymE9dz92jZnGNv65t3rOSdjMfbo9gRwfbWSNyPj+iteLvbXI0nwGz2XX3i0m3QbVpypJ1US1Wx2Afj+6EG8NkLmLb5OI2FzdkXB25y5KhcizEmCyCCkYsPF7NQEHdCVda/dL3CXpPk289DcmXnCSqY+rS+NzEFyeYUx59b0PCM7i934HbYwpr+nJy7KGMjTgQxw1VK3/kAURnlmxq2OmmuawpgaYge6jbn/z39WzeyIXjh7CD2C66/AhkrL23PKgSFRHZ+oOHJIAPgA0/VVY4bDxk+EQdkDod2qR+9qzXQ30oNhpgPi/HwUE+8fRc1CBgO9bM/D/B0zYihbwaA52sQnMaz0TjbT0MlqweVbkzN+WTOVAd8JoWhP5rZ52zboW0SFqoJAyWBoh/CSExOgirquigYm14O1Ikch6GHGSQ59+LYwMalbI1JE6JVSaV0Uuq2923Rwr0b6+rxQ0fPdElx2ypRjzncwNrOl19pFS0Bbawe7B8jSVlsbOts/Nx276vzsbRCtQ8roZ7eAD55hJ2yakZVVNuVEfYldp05Tre0mInkv1uT04uKpE2w0e2Nw5S8hvL8Em+Qz3y6dOTiti8/1j0UJLg== 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002)(358055004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 2ZE7oX6d0EK4QNEqD199hg29YLTfuvOXwyiatb0PcsCaCx/+oEfmkBfAr33UlE2TeGw6Rw2Co7HXZbZQ2EwQL0IFpLNolSR+rsFAQ4VKDdVXuUTSkwn3dJJ/ccb9+Aine00tu6YkiISESukKvGW2dlQV2Jkv9Jy30z31AtzKmRXdMhJWz+sHIY2986glFWq7rQ3P0+VOeXs21fmnDOycKYlbQlABgBBNgtD/gShORAGfHmXlecYDB+YXH3wexOI10Z5YEJ5koxnsGXOTCdPlcXIv9k+cKgi0KVrcXPFRVRc9P75cuHzR4rNpvwzqDevVyajNpILtZiVlO9Zcx5ZOdal6m+K2+a9wcnV04B86esoYm/zO4djJY8mNtmOMDnifIkKp5Xc4F0wGF2Dv6Vp+tlQv9uwCzKzELR851JWFvMl8zHjGMKo7U6uowf9zOTf8kSfW8fPRAfLdQzUsO/U2K/qS/CIN0E9Zf4/Z8TLArjMT6NB0oeRYqUDDh/r89i0DlcC86MLhqwYf9ij05zxDuaMJOEsT5tuu8GGl8evbudO+pdsIZE5t03zys/tqonTRHN/je+SgAZXMRJD5iEgIal0hSPFnNnzP0+Y7Ek9cpce23scPMJugQuc3c/voXYTYGb804VaKNvCmaY+y7JcgnqKEdQxN55iRjvPNaVjPRCSBh2mdAfut2G+o7pwwXH30dBmlA2xNEQVu8A2FqoSFVyospiiP0Dey3dOTeQAsnCMwB9nbNYApGkDbT6u0so8DqKM4s/2h10oG6TkEMqJdPjvQOEa499Z72/gWCyR/Dd22/yYBhrOXnu6ehDL7QArEaPqJ+4M3WwqyYZcM5UEzpga+6GVjNPi/0Jx5XQwk0L6aosM2c4ZGeKvVwlq3F1akhgWGcyJL99gQ4A0Z7mmbARWs/adfOyW/K3t4eTRbWLm8L9SPFlUeUGjn9PVxvtMAobz9vMbj1uSMib1dggTSPgxf3dhY+WeM4tW/+RGnVxyqsKTP4EIZsvmDbhfLvBQZEaNM8ht8sVT0KxicVqaq5lrFxt6MNWZTWF+6riEmHr1aZCMXmozWm6Kmb5WWQk8DuITo2hyrvVMkvEe3iK9gvzgLVHImi/V4jXd9ACHY3EcusHSQkciJFW50okdfKMydjWyTj0FgS+Y39xobLMUuMdF0VM2c1K9Kf8gkv02Y9eSHHmR0T2Yv4r4gVSP9J6FTrDjc1EceV/0PS8k01noarDuuoYBN0Fvit7r3fT4BYWvR5yeEHXkr+iylpt21L0FD+XMJ+JYHgJk7tyRK0N4biejW4U4ev/oORynoiwPKuIF1hV4S1sXP/nSao9lvKehih5cGaXfXKABYTIuQbty+aIo/I90hkk4B7mItR7TyOQG+ke5zm6pDjxN7gguHZZ71zF3Ucep1M9KH2IAylzEiHBNNZD7Hb+r7PSe1M2we3gicHkw3gvD6UmN4x0P5qzaGrmkhUhGaP052cWg3UJoaEUv1qBSrGlvvGVEL0Z35PFhf21V9iiWUj78imG7FwAS8uKKYSB/1gT7DDPgmNzywRAu9gFTL9ynbRg6BZWym1O6eFmw73yrRbwVWH/smuq1oIdsjEo+RLvd2wewcfhi8JA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 022d9abe-37ee-4312-cb41-08db34319967 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:03.6827 (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: dtK2iIIg36HPNEB3v9vrIwqQyGoODhfFi2CKsHENaQ29xA+zRW4/mKgA4jQgtEb8RKXKKKDbwe+YAPWvrtE2zA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: dsahern@gmail.com Get the definitions from the linux/pkt_sched.h which allow us to add netlink attributes to the TCA_OPTIONS of mqprio and taprio that specify which traffic classes are express and which are preemptible. Signed-off-by: Vladimir Oltean --- include/uapi/linux/pkt_sched.h | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) 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 Mon Apr 3 10:52:38 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13198020 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 E6B9DC761A6 for ; Mon, 3 Apr 2023 10:53:26 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231998AbjDCKxY (ORCPT ); Mon, 3 Apr 2023 06:53:24 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43084 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231918AbjDCKxR (ORCPT ); Mon, 3 Apr 2023 06:53:17 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AED1711E80 for ; Mon, 3 Apr 2023 03:53:10 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=kJFbUgbEolsBjX+yzpq3jsCfv14ivZGgWcutyXBFUYbt7O74EnVyx+Bo4diOvbL4xsP/q1MmNng3VY5Hmiqertd84zkxTUINPWi2bilWoLdfWTTOG7Y8LtWuf3M4T9vFQ3PcLLLnF8JRFsIl124ScJmmIJnZ3VLOot4Lz1s7jTl9YaH4lSisheMJMeNPFcSzg7zfeHcOclbB/HLNm5HFT45jlWyZMFNnadOKk2lyrSArwDVrpvWK7rm5GwkM1kCKNB8ZrpVZlDUyCotXbWXRY3x0kdgB5UZX7l/L+GJYxMFQ+YKBN5x2I880kSyBopfENVIed8WLnJl0YdxA+2zkpg== 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=znKIrnQN1WZHub+seDYhYl1zpdGk2QQamJr5UkNYT0g=; b=MGr38/upMSVfN91oEb2r+2AZVKlOmSJD/pJRtwvolaUiVK4afEY6sLExOQDHqH7kMSawfBnKWIh44DTu6mcJypdyhsOLsp4Unnlzn1ueOWGLACdCIt+DaNxq6b0QZk3IW+OaHAAClPP1UZ1ztBNNKJ69+6dKrzPFVyOTtsviOTyWvFd+l7g2AZBvn9WzuahYoXoYx2gB0tGVtCF8WpR21nu9NHB+u/myZLEQKtFUgB6I2vmzWAFH2mGhDj0Nv170RNeEZDY3cDbRce3PRXMPQZbOM4BRLhcV2DJ18MwdOx0Yfy3hUocXti5+t2zMTwpgWNjDpgLPIuPrT57mFbOSGw== 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=znKIrnQN1WZHub+seDYhYl1zpdGk2QQamJr5UkNYT0g=; b=DigGmspdc4HqUZZQSkNB7oR+qi3wt0HsGeIjaDs9xTjR02r18Z5UqPrW4HTDCTc9LcMOw+L0CjUUfnKk5cXGNqh8P19q4CI7mIQZxZBJe/OemUwWdVHE8OXO1l9YEPF3vjJ3UNqaGFn3Yg18H6ZAvDhSbBbk9PR6j7jVF76RbRM= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:04 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:04 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 2/9] utils: add max() definition Date: Mon, 3 Apr 2023 13:52:38 +0300 Message-Id: <20230403105245.2902376-3-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: 640f5a6c-08d4-4910-9ed9-08db343199bd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aNKuRrwtItpGnMh8XaknCbfg1WLXfrJ3FIqLH38T3owKgwbEyQ3FwVVVn3s2Z1fsPI3noRkbAPfxxhxJvqkgQT3VqXhijtUfyJrQEfOZm80Ydosj6IosGjBq206C+TAXTMH3Av0WQPOisKFPn968YjpL/Sgry/ld4zCE7dB9I5wl+Kbkwoknl6mUMIqnoa0X1XNK517dnSOVm/lrcmf5QWcSNUbjKrEENmcAZsszbxhLIrh+EDo4qPYReZtH0HrFkDHdWG4sLss+A/mVzsb6E4yWY2ITo3FpTCfKkLycBsbWgapolWWSX+ZXUN+GQHRKG3vOoWgZNT1CMLMBI4jeXLBQ8MWxG1KCv0SeJQQPqrnzGXL3CXFfZ8SBFZQEyS6jW31MKjrVZwr26uYuFWsBsi5u0QHHXdABW6Hm878OoMHM7YGUOwxK8mNnAp0+VCe+jG7AkoWgGUVNeiz4sE+tXqbKy0SO9e5IAv4CJdmHYBmuwxsXPEDgRWrwZ6FVSGIuspxOLcNkM8p6ZVSYTqn7Y5dwfxAjhwlmeoMTnvHNRZuM6VSng7LdlSG7W9K8H4NchzdXApBTjoaBrFenvc1LGMm6zVjETbFt32P14gRVAIeFN0TXCCZKJhYFDXqfKlOi 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(4744005)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: aOWvkO8KRio0KCDC/BqEZdU0S8ICs4uB23ZVDMFDn3MjaX4yRryE5g3nDouH+cIVXVbuII9wrBFAKA2ZweMQ1ze09+OHJgBP50cSSPCmR6zaCtb4GDJtCUi2BlrL8CCti8EL3rydb23fMrHvx7s9DAwMeiQaBtPK9SW9X25ovZx2NCpIng5Xp1Sa51HW9K8Mc2tMrQmvhTmnYWFtDwBWkYeffb9CYuXHkl4e+jIueT21qrVdCJIYnYpJES7DqZCcgPBE4M3fhZxqtsxr901r4juUs45tIFjVRRaJO9XtvzdzlpXXm9LKqZGaz+scF7X2hdeffkMcdfUSrUfhNZSS2cQNvv+UvFhVHjVGYkA2eXQKlHLPlkZqpIZ/xk1NV3Wfr4dmwD8vjaSMpF9VhL12YHuYuxZe8aUf3+r5XuMzZRnFN1bGQkaOS8eqawIId8xWa7miEaM1lXkt/oC48D0qZBCXxQ9SWIEeIITFG/g3kq2QCSGD8uAQe79uTWHRobt4IVpBElCpDhiOS8x4nduefd0EA9VKirIlKtUwYLezZLxosijirJ9+alrz8AUE1Zxn71t17YHVAbwCPy6Z37FAni0nTHGZfqG2Z0C4f0zT/8GPCeb1q4K9BwbF9kO31VP5SLXeApYvzvKZ+nOBpyINBkXz5oEmekn8xrK0hxolEdFDHyb5NlHyGdYTxx+3/bypaxx7ZYsvPGFhU/EUjd3qvWSP5zqUbAL6UpK0nHNCwezLJNHmDgX73c3stZKQEHQWH9HsG8LMLaz1RlcGOK4WkplDY2WIhD5QzBBIV18hWwauIukAYbemcjm5mfjvieYrVrkjImelt1K2uDc7zoqRsnyg5E/OGH/TdEjzdDLnaBy7R/N6aJWKDAuwH4N/S3+kDy3SG6ZFqpfE1TKZ1xscy5u6w2U53p9432iJEHU3z9Q6mlqTP/cokwnIfmLSTxn9vILWf/lIM7Kse8ds3AnE4cr5OiuPBLM55bpvUEpLYA0J/89gu0McJeddLU7x04Xxw286T7IJiTc5oxeg57WMsG43n5zimYSdtfYfwn/cO8my82pq49H8flsvqlrAsoeEz8r/BfLa2rA0yANCoFPXSjdi4Peafp/3lohhp/6njGvDwKERywrN94P3qQs1SHX4m7LSVuMTRexKjUZqTJnjuXggLisbZ0wZgzFUp31yALL83GWN628XK4JIqIafJXKnzB8rFDKo7lE5k4rZo5LDMJU7Ot8tfjKEV7V5uUmt8xehbujtk0hm8k4YSgLjYuF97FVNiGCpXuua3cMccHuCEVOIh8Skf9F/8mqVJ+8HJLCYSH75hxQVRjS/P7zDgqvZxJwWxt1b8/NqSQZ/mgBZhoRF7TyyJcUDXRD8+QIBdq6E71xVy+K+EZiy8Qxnrp8ywcAMM4HcxMDl3pzjWTtlZTkSd/6ztc1PTl4CPsRiY7RacSDfCE7N+RQJQFMnmpbTGvbt2puUmtkdxa+yZiCckuikAoZ3WrXpYFAMm5ZfACUDOfATB6LZS+2CbPNoQHpsJG9TyzLUp5FbcOYO0WDg7XKXolfHSMv/Y5qrkx66+fy6vEzfkUPJC9mK13ztBwSh18FoVrnSK1cv7MoA2GFLZg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 640f5a6c-08d4-4910-9ed9-08db343199bd X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:04.2301 (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: lXYgfXag7pVv1K0FYdGM8Fdps05lV8fmq7YaXsB5bOecA9Y8ewJFddb9RsTdiOXWXSUKWyjjUEDbhgLmfI/kCg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 --- 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 Mon Apr 3 10:52:39 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13198022 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 45186C761A6 for ; Mon, 3 Apr 2023 10:53:41 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231916AbjDCKxi (ORCPT ); Mon, 3 Apr 2023 06:53:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43344 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231977AbjDCKxY (ORCPT ); Mon, 3 Apr 2023 06:53:24 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5817D5FED for ; Mon, 3 Apr 2023 03:53:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=MrRxG2LNmnSRFw06/H4ngrDjm3tLukNOGsgBBqEkEoBY0LHc4Yw7M2FuCfw8OT84nA2v4pR9hZ2pCena3gAqTV81gadjHAvGfZibyUAZKLlykgesv9geHSgZmHW8R8L4pcBkY+82POKn3wc3W8mLPv6Mm15SoS7h79P2EGiCPuJGGwMd5Rj2N1/laTYXJlaaeX5Eq+oQHnWZEycBhqNychLElI2HYChn7NbenW5UMO9AI62/3ndkyh3B6/rORGxuu16Y+d6qqNcNs/+lXmn2YSrgaqQjBMqagyC+erHzb6GzQz0ZznzVaNI1bA4xWint5lUGAHUubKt4hhBWNNXq+A== 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=YxOXfYkd8v6OR3EuVIyRZW+DdXXep7qNudyiZAsjyao=; b=jZbFwgRzxUk8D7+Q+F+qR+T0dnNBhrUbI9jog7054fzRy/IvJrqU/H0bnAORirk+5JBIed4nvjinAlO5IWVYMMM35tYsZeybypZlm8L0HL3WF0lUNAX0OZsRGVbHubj4ersQi9E7/eUKs7IhWfO0Jbz2lIEIYuJxD24e+VWUjKVywH3O8u/zyW01InpjcG6p7k1RLhE+tAK2vT3sqzDCz5O+/I9vQJEpoGTVhNQGP5MmJLIly0AU3uXpwsiBfaq8A7RrAIuWtTKi/s/Xey688StLtShEeOSuzLYANwOwnfBdLTl3wps3ZjBi40l1qOhfC1Jek1q3ShIfp75OOyUwcQ== 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=YxOXfYkd8v6OR3EuVIyRZW+DdXXep7qNudyiZAsjyao=; b=ryxmhxXld6nfkJ61Caox6lPFZicnxNqQGNKWfPRPlGljTpC2SHeW4Tp74dAvVhe6wEzF/LrUX6u8aQpH4ujKj2AlpGc0VWOCsscfnLcThz1PVjC+Zyk4BdLUewaJk6BkTD2KnCMBfxE48yueQNFvVHo0cG9NSkDn9HLZuUELIYw= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:04 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:04 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 3/9] tc/taprio: add max-sdu to the man page SYNOPSIS section Date: Mon, 3 Apr 2023 13:52:39 +0300 Message-Id: <20230403105245.2902376-4-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: 33f0c9fa-31f3-4582-adc7-08db34319a0e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: aX1Fi2/4Mq5FydFbg71nh1uoPr+DskU1mVXMShPzZ0YOhhvtv+PhvKCyK3Cs4M/8Se7Nz6xQz0U3TDTXsPiuizBZnZ5iwRQpn5Tq6W/LGNvyKclPmkDvtyoy1ulb0UVkzIyWGQzjWlj+CUx7OOo9Hddg1E3VKdyFwgEuKS9/6XffUnULv9ytOd0QOlbp45k8K/battt/jF0aKa6y7+uGQUYC7tqxfFQC2DFGrk+JAF+r3cYnwTE2282ft4cOMCLRJWj+W9EzSxtn7Eo3zwGv87heKHD7htae+LB1+APq1H/ZVrWf3CiIK7DNfVyedkzfvHIIBuJurSQAvZw9VMMj5Fi+6vySWOsXuv0F/AoeRt7IE6wE379YlUeW+IorkJnAam/WJruNOXtINk0sESi49IPFNtLtus7figT81VA02CltiKPBi96s87HDzmupF26UkE73n0AnGCwjjAaFqIoTmOqfIfxUCN3G2+kWVppm6kef3h47JCDCTVNog0HECZew7apNfpDIgUhxoqUwuAgHTpZWdy3BJ/nw/cNycl1x0YpuuIiR7MDv7aCZy9RxVYIE7+VKJy/XTJfD13xoo5fgGc5CBqInsz+5SLtRAyRUiaGqi78kgn4jzhROoSG3s3rX 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(4744005)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(83380400001)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: u/Uief1Aj2V/8HWVagYFnLjurStNiSdrnzJEoWLzDAP8h4N3NP/BGSfY3PYXIWuiw1mcU8sA+T2tAGeYR9j/84EniWbHjCd/0PnvaapHn5wKmae3dAq8YltrEMQdUIqvjSS2kV7Tz0CEDWBlnAPXZrjMPziqq0WOpiBKJ0/y5uYW5ehMwIZtvzf7SQS5r3lmIi+RhvHvW8gI4qGbo0yyMxKMwrJrcqkDyefmM4xDF9UvOxTKSwou9F2+k/GfYg+kIjGapRf6meE9cGtp9RSfnAOHRje+WWaUJXHank47+m7NFD7hqCndXl0ghyb9cBON3LzgrQ0kNYLVVeXszpfRY/NFfopNLnWNi5lbsHNMYxSY+Jq89FBlQaMG+qJHUaOyQPneBZhHfMD/f8YUMCtMKVMb3MWkpMEOwYIGR5dQWLq1zEdYW+eBbMk6yR7znjrxKwGm1UZoGc8Xw3PgrS+4mjy+anH3t8GAipUp5h1GKaKsQ//kkc5HIBh323zKu3T/RCTo0qXWgylMmVeSyUHi8nIWClTrjT8DXb+aQn6znw1yqkO1DokNNUaCvD31rNbzCW+oMa+wcWtFX8fqwcRK+Qh2eNqfw79AkDMZEXc7hw2dthY8Nvcm5vvW2Vif8X9ewdhQRHReI2S9rMtkTBogdT7NnHI2cURrBTEUQrWP9lX3oMnHO+HgRfeV9rrJ+kPojyE+r6mS9UvRW7LNjTERg2xayL/gHlQuqw+4cbgeUbSvPn/EmVJu5NJ2cUh/QNTyqHoHuuk9pMqsVrQNEQa0igva97c4ccRiW4j087Jjw52knhdWdS+BMwB0iujMIfMcbAdTBm095vQ8p6eyzXGrxt6vZxanLtk/SHtZzF7++VKNJvus19XTDhaLjt6PIxjjOSQLGEw8Pech86XCY0L1zcFqdCPdqSpnymlTzvbmgMXBJ85p2mxQRftUaUWRwIjP2mR8XB6B77ctLMXoPeaRc0qjnO643P4O4LlaVtoFR+V4KkRIoY1Rio7aG6wZvz1tlNB5hRN26pOIQqW2vFzhSrNOnWh7OwAlK9iNpdFnWxrfZsbtKiw9qNSMXvytlp6ojuyfNaUAhI/LLLvLjcL7P6OAfdhVP4uFL1JUI/4bDzpvCA5sDHlnEqE4kroHl/S73uBb1KP2/NlOKqGjCbealtpHNK2JqE8coL3EIRrHUDdMKYSaIUXviGkbNO/NioFMZnCbY7EPHjl50pTPBBR2KG2uI3LCteu2PAWyUIE31qW/I9vxgjz4IP3QdsHKdRwjJJEOLWd7sp+TGSUnTTp0P+k8XO30YI8x9fMYNA/2kQX+TaOIzGhSsAKYZxwv7DawTAGfbjkxS89VFoX3uA5A+PUuqqXoreePPLs6FDfSYeUZEJ6k9hfouFl12jodHDiWRK/ZdDMaUecJfDX4UfL+q2sRPuN6rXGl938mi+TsmkmzJTlG3/Phgjiuy5m3FcUZf63xzhsxOoNzDefLhHi77PHAcTaxgt+bRj4e2WpybfOtb7jQvGc+vuqUcCq9aiDEK0LFG4SfjzqcUf/xTHuJ0OelWrjxMWo3GogrDYuDUm2/tPBY/IehAbHDZKtFnWBvHsbw/3Gx/jIZzYF+EiG89Q== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 33f0c9fa-31f3-4582-adc7-08db34319a0e X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:04.7839 (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: Tvc4/FBAmk/khu+G26qPp7ujjtPh6sgJLpKVrJvI1mF1BdpglhQtrVNouZrS/AG+sgqTE28dQmamxo2zu7uuqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 --- 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 Mon Apr 3 10:52:40 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13198023 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 4CFF7C76196 for ; Mon, 3 Apr 2023 10:53:43 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231749AbjDCKxl (ORCPT ); Mon, 3 Apr 2023 06:53:41 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43358 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231995AbjDCKxY (ORCPT ); Mon, 3 Apr 2023 06:53:24 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2079.outbound.protection.outlook.com [40.107.22.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 588D6619C for ; Mon, 3 Apr 2023 03:53:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GNXjDSo13pR4LXfjdXoavf+nFHNogac4TQvhMHErRKGGgynq+SFHzhftPQ3IX+tJjklP6VF6v90oRahmqB6mXhosvOGKYPYBS8NFeKWzV7vxlgx7Lq+8APLFAp7rjXqnrDiS0HokibL9ou4ssyxUu8kH/e2j4e/3XmHJVhnD71SVrAGl6LzfGcghZC5W9YlxXNXAHceeVU/UrM3csowno3ZWs27MxZgCTHF5qEMhewkD2pmB4GLl1CBaf4hCK+FfLrCiOh+tqH9eJKhXPcBWWMcae1CyLxIMlDhwUKBYvqkMPVMwi+A+htqfUboxmJj/hPRfpEfc2Durpi+ySeK6qg== 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=hpIW2lHarDb6sg0pqNvBFVdZVD1VCq1fzEzW1lgFgAU=; b=DFSEyOF6AXpev70Jjfd2VnJNTnACKlQn/qCvLZKQT0jCY57dZbG05pPVHH2/2UJsInNHP4vAtemtKT8+L09gO0Tcdxl7mbvI5UuI/7gixNrFtvWDBpQDoRs0y55yL53AYL9bBSqFfso2hSxBuwqAUrlVXhuX8EW2cyQhLBRBWQhlh3czFz+X8fBBqKb1hAoIl+USHSsfcMHLCOh4ACCuSCbjws/Z3lKV7cVzD2coQ6T+OmDYXwWV5Px3j2ourJk6k76EEo5OmC6LYEWrfNAxWcsuT29r0dDKFjqnSFOVqg0svgN78bs5hMQW1frVoIuBr5IRRVEU7EGt3L8YIeW6jA== 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=hpIW2lHarDb6sg0pqNvBFVdZVD1VCq1fzEzW1lgFgAU=; b=awAkuYQVffN5ex3N1H1YMmbb1IkGCpA7jA965IoetZOtVondgs/zCLdP7CCQb0fmukn15JYnom1OmJ3ZjxrVOO0RypEcBzW+bEyyM/h44LospyMRwIYiDjhY67vUwricCbgeLn55O4tt7VGsxD94DqvEEylCrmA1f9m3u48frYY= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:05 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:05 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 4/9] tc/taprio: add a size table to the examples from the man page Date: Mon, 3 Apr 2023 13:52:40 +0300 Message-Id: <20230403105245.2902376-5-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: a7e618d2-f626-4883-1f21-08db34319a62 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rJj85wYxFaRwpsL9/sDV5sOCnwvkmNc3Ac84lNVIRUEwA3svyTGrdeHgfKwFqfLaVuZqNWQeEaeKxh+0alrgrKFglZSGFDX3vIlVd2yxESfh+c5UVpmguo+fYwpEuLImtjrkAY2S9Wd1Acph4MDEnqLI/m9KwsQ8n3/hRw5dqx4zxtIF3xwLxz8J1Irh7MPtgxW3FjxFkpCynhIamfAHp/FbGa4zW0gTIiP8j4k8Tn32u+RN3Jy8NcAiRFvJvH/7FYSz/lTE5RcUUblC1uQ/lNQovfbT8sVQlxqK1ZNRv29tMXy7Hzw58C3k6SYdOZFlqwsF5i1nqkZ+69e9M73kQulZ0SD43pVm6hnNcvlIrwu3R4ye6Z1gfBWE0tbyWehJDw5oroU8BKevoxt/ueOkdspOA0rzeErXJ4m2ETrNaeCV5+BsZw7OiAVP03urKN/0LQXyctXApII1hrf4OuvfYAgtMA10Z74jgy8yTUvsdBhKy2YBkvARLdlQXEuaWTgZ/R0OdY03wdzBX9p7ugNHfqtWhAkgDs5qg14qAj912Efq4yN8wlpeAOXRYdnpgHpLoLOfsDOKkCD1uSGzkcdvpH5LOQ4FLsHXHiPoVdGfWXj5Q3czjSwUkoPbU6y3lLnr 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(83380400001)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: vY74K1ymgVqf7PHT5hhIjCrF+YuiMoPq19ecLCeHOxnpXWOyJ0C1W84LwptlaFPvLX8eqK28sXiRcwJv01+brYLjKhjYhmWwFq3OhNJjQZ73ovcOcdjf+oGbUfziq24FoRsREpZFBYCKSj9zCZ1epIhxUP5/YG/ZfnE1USqCdmrznYGHekG4NiSTd46F+xDbiaoEQpkbMDpi6NZrf4flUSsUKPfc++ySnKx1A7jL/w3dV/jg4rRIDJXsRhdqizEzqVFibSpPNk1rzy2n9MhPBNl7sx2/OW6SONYOZu6gIvSk00voluc1DEk4ciXQh78GuM3m99/Gc8cICEdIzjTm523FqoPDhk36QDB1DYPlet26PAbVXIiQMxIMKEaylganV/Tj7vG+j/0lAKwNNN2wgiQh5OK1G8dAJJEBqgGaSCnX2ixbqFy1/mJ23+2KlnobAc2gSi8v5HiipulpiBmEBYTSXFq2U7fITPbrEv155C9/3I/I6pHRHU6Wa0NLP8P2SC6474pqmUjdZlVOgweqmoP0D0v8icHxsSz/lQrNU46DUb1CyaQEhQ5AeVaRo/64wcjbJICAgQXPz1hrjWcg3rot5o/AjhuNoNQU7mwbbhQXnVyTV3NgAfJ7wVeDlRx1PSL/sLmbYhI36zDNs0udxGlS2JuhkWMQsQXhBC9g8e5IWCu5BBbwG9QeSMWQ4vIkTYR8VoypyaqcofGVa5j1TEMdOgoSO0lPmDNsAjCIyTuZTpVOy8aIBe31lNIWkhRT9SSOmrOGpjS+VqDf7Jk48B5bBaroV/RwCKPT7UkLNsKMX/9rKfqI9xVHlfhQUafJ72KuwmPMSU17ulqCibiQLu84oCxhBHiaLwLz0XaIoS0nJ90YCk/xsvtbrshRSP5CdE2KSpWJGn6yGwZ0yIqNvwH/6dll2zparBEq0DbOny65HsOspyhQQ7PIrYPSaK07p9BWhoD6xfARwbE9kkuMLe2tVCv+eSKqmAEolwcvpcGaTwe6w9E1A16QPVDVHgdaV6njVH0YeXUMiUyAF2Yl0EdPe1DdYGY68I/sC8wBv8DZfhASlpTo138ee0N1P9THGLJ+527IjPwze7InGgp/3p047Sfo9ZFMfVdQKjFbdsh/EbfzJBsyKv7dOymtGf5D1Uqjn1Y8G2IUvVwp+PWwl8KLGiXLCbbOhaFRSma8kcJHQTUyBvXdoJyuhNaPx+OLVRulJ9zF9tyitnZ1FtFJ4fNQu6YyV71vZYPSqV1kH1J2kkziUVwypat2QvDUU0xZ6eMerV1VMgRHUFftryA4NGAuXOI8EkrQKA/Fbfe9pdq8+QdK14O5LpgnLQ1ZA96RA6vYJM2wLbFgrCd3RDivA911PI0/Cg+8fC8A8A81kBY4pcGsGHjd6JQPMEBNdOvffKafE1sG5+Oweyh1ckbWF4UITtq9i4sZalqbZ0kkOl37jvt8p65gYbdNeB1GMVS8Ngd7mL+IcYA7YXXZIF/HieDHSgKXIijZ96AlVW9kxFWixqUvcfRAgE+8Uy5i8Ls5ibmBFmD2ognbDoRgKqzxZw474xHnEQD7OaNVjYVV5PozZGtwVVHkTKXrM0j30FlRSrP/UYiV4S2xC5/qF5DiOA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7e618d2-f626-4883-1f21-08db34319a62 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:05.2871 (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: 6vzDl7oKZf8tWH0df6O7lv2RMZdSd1dTz2/aSizdVYRHZFbocCxx6Ao5eYjWv+R7nZbJvQoqqtYy0T70zet7PA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 --- 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 Mon Apr 3 10:52:41 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13198024 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 47682C76196 for ; Mon, 3 Apr 2023 10:53:46 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232099AbjDCKxo (ORCPT ); Mon, 3 Apr 2023 06:53:44 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231918AbjDCKx1 (ORCPT ); Mon, 3 Apr 2023 06:53:27 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 406087692 for ; Mon, 3 Apr 2023 03:53:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RUnZJQHrSZN4vFSXnTmMy9I5aokqVe8aG0B05ysG5aaojoi2xz8I+ciq5O1lJF2l+xtap9rk9KSUN1lYibCUWnnWd7CQ3kHV6qB/rGsC8Eoss5Vg16onjAbrQyfPvHy5tjw4UAsLBVFfrL2vdyktnvULJvBYQAdsZI/AG6yfNkbRPBUs5UCHnG4zjvGjqs5YzCRrY5jyOYsg+brFuuyftFV0M7huAT7nudQVDnp2RyweRB3yuCVT6FsQR3ZuQdXe49LF1dguEX+/noylP6HN88Cuee+vPBIKPGMdhRYlC+0bMJNEELVHH2hsUTqUWxShcT6FxhSPY1diMVAzxxdkGg== 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=XKe2rYfh6qjy9wbM9ZtqMwg4yJB8ASwhehD938LJ8j8=; b=IRa7puric+QMJEXY7mqyULVsvQ9eh39+aY2QkLKf9qGzB6ev12oxe/9tw3TyTi60LltJjZS7qmfNKW2gCRHHrWaOR+/VMoPEXAvSyquoomPYKVxhN0+Qi74IqHzjgHGYMe/+EoVPsONFQmYKMI+P6KRUKPlwWBLrhueEBYGoyQw/ZAsL8QWyUf+SbiIEHVKIof7pk2iNvwrFZDLCAe6cW9Qe07ioaRaKr2UzY9wKoVh88ubsnDjrJKBJQtBlXKzBBgprc++llKzePLPzK+peIdl3lQ/piB2cOVctKVy/ls98F94HzuTO/gsNmGj3ulhflQcyKWNqLhP4L2rj302wMA== 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=XKe2rYfh6qjy9wbM9ZtqMwg4yJB8ASwhehD938LJ8j8=; b=BwOWLsMg8P0Nt6P04MeIm7ViUYQaR8Uo9Uwz70ftY/TAcmx5GRsafGPY2siwvhEFYQJTRNDA0Nf+ifoWyd5W1H3pKzg4DZshF3vsZ1dEfx6HWBsqlgsO2/VIXfQ24LKmvDQMkj5KvHVDHhn+0Yz5W3AmXTEt8mmNE6d7aFfOV68= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:06 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:05 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 5/9] tc/mqprio: fix stray ] in man page synopsis Date: Mon, 3 Apr 2023 13:52:41 +0300 Message-Id: <20230403105245.2902376-6-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: 45073d10-e708-44bc-cbaa-08db34319ab0 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: cJ+t9QEdwYiXBCI+SKG73wdrF/kyXq25qyskZlBYfIQgLINj69xx8xAieoIpENz21bzSz6h/bsH4Xpo++UjUL+V/g8KRY3FIHbGt5rtzm35WIO14OAl7oQgeA37cwWIhtBJrySuV40Loe/DVNJSCNcpoTCzCPX7kVdz47WLp7E9jfCp5D25Z3y5LXYluuvWjXbo2/sksdqRGHWNFW22W3jzjq6GNAwB87CJDuoMxO0i3JsKKY8JM+bTruBdp0cWeEZhxh6WcfqsCPwlqiyaj82tWPdfhYlLmQnu1chqwmS2Xz2XFMzb0XkjZUeoY83bzBF945Wjl0TyyGK/btWpqjD82WsLIDHSZNIYeyrApT+0noj4HxCzD6L0G8DDkBhHqAA6tpg/4m0yL2IyD0/H0g7ro8hfT301eaNS+al82xZEa1j9aZjQuW0jrlRA9MGoFwqLzE14Z5H/gtGBT2xn5fP3OzzoDglneXKgkejYN/ub/iuLxTL5Z0uh2H74xrDLE4AfosnDoGUvuuQc8O3R3Gg20XKgPNf+ltlcpy/WV94s3GeseqjwPCTBsV++089wXZp9K1rYACqS7tbkAaf3Og+PkTNn7rxeaHZG30KrINhstwZlwfzc36L+m/vU2qjTB 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(4744005)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(83380400001)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: b0qNDRzJdXHsR13O0dtDva33+rzkn3oIPmXhFoaKHjPMIAo/eEOhFGgh6X+vkMY/T9abqAjFikc0Rqa9LZGpy3K+Mt9YegVUru6v7SX89BDIBGIYDoik3s+yw+AE2JYpQRCuKJmu2RZ86Qzqy9QezNmKf5ugS5MAgez2qfYXB095AlQerf+dMMHJnJ4gNrqCuwNT4cHw8cwYqHxxAP8sSctqElaGRpBwAFPmL+X/G8so0+Ngm4aMgNzrgOdMbFIv1QXoce3SrBVJIvyoUM0QJZdI+vjgLZUG5TFBaYk3PfZjXLeX7GoyhsGu+rrn1P+FfeeNxyuXLOrj2vuA8OK8tUXGd4yqqUqNjNHypIVreDjCTZzpcoBZBbpkAT7Aasw+PCgoX41NmmvuumiB5vGot1d+SnG4DrlP930WLhc3x3BvcUzRfeEr+b59+A2w7BIDdBvNmKBzEhIkFcoiyCPu02O1ZSM8is7le4PDD5bgFlH+xOwEihfMucvQekWLhtDLT7nzBzgwGtIUawn7X23EzPtPek2G31n61AVLT7DhhhbRIIzkV06wnrXtpy02HKy0Ar8Ub2SZy7/usnnLXBa3McqAhPQi9EUOhPXR+ouBjwl+/T4KTC6dRWdr3mq5edFOLchPCSaS7wEDc1Azt3mQYYpNhTLI1RCO/QKwF0aqth88Azi985vslRXmMUGuybPRwP9nzu1NT6EgcLj47EHmPP12+eSuLWwlJ6hbvDa1Zds6+IVocAaSEstqQvjK+kHR1wj3qEjlBgaQ0tYJfdVLYClfExb/s65UMrb65gvx2Ezci2tuUvT1irLq0SxBGxGf1WrSpkDPji04RlZx+QMK4/nqNJGURNo9M6ETqlJ8cjx9L5fNvjrnmbwsMI9yLaFPl0oR2ISOLXTdd0HrOp6QQXNhv3AoD1XGxw1bgIBFauApJsG7JEHVxQZxTRYzaWhQAwgTlVUFqDHNSMa81RbtNkBKMUGlxBUp77P+HXwPhaApRwijd/A5zLs/aQ0PXX9WP1l+iAzbqFCsHb2rR3Fmy3WdEPsnkVe6hJeMN3OoIL0GFeUv+5bjyBf6NDVBJNdtRPmPG0Oj0piogoSz1RLtgqwdVuS2nC1PQoXrlfYxysgwul0y47F6tZELmeNLqR4FeA0jduGKHa0Sx7gGtlIwpRJCs7rtcc3MJTpXF2s7vCA8S++ose+4689X0j33XFr1z5ZoVdecJUwZIZFrN+ehhDNHrfgqrkpIXoWb5mP5LC0y9ZPkmxKcT9tYTvUAtL6iOQP7JwJFUBmqlssQaDDiBiUUEsX0AbkZJUT15F6t2IqtycF0wndTlNA+9a4VZj5YNlusHsdnj4tv0NY18RchBK7Y/ll8JG7IppqhdRR3zVtZmgHP8vbZRdxLe7pMC5BTlc2FwO69zv7snut94CKNmUWDni40P/cXJBy5PERFAOZKu6mZLIEwqy/dYySsWGXnqktX2FPIyLHTULJjztrpEu9sUC/GmE9aBzuMDiVSaufCwXO5AdTjvvTGMvE8+dGMgEi7JcAUqb0c0/waYtQGHo6OP2r1g7NbXe7mlWRbJPasaDeq2uQsTB/mljk7HLjjHIuhvOtOEcGSTpTQLE69tg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 45073d10-e708-44bc-cbaa-08db34319ab0 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:05.8634 (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: zxZ1HbGUDZUf/CUbf9dpE7adxSWFSfzIyLnXYIO6r4Gcx2A3r/xN6XS3+c6H7yMJUappdlKeZkMJeqlMOqlpzQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 --- 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 Mon Apr 3 10:52:42 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13198025 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 0DB1CC76196 for ; Mon, 3 Apr 2023 10:53:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232109AbjDCKxq (ORCPT ); Mon, 3 Apr 2023 06:53:46 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42838 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231946AbjDCKx1 (ORCPT ); Mon, 3 Apr 2023 06:53:27 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2079.outbound.protection.outlook.com [40.107.22.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BE1FC1027F for ; Mon, 3 Apr 2023 03:53:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=TIoZ1G74CUCU7Z6vNZ1GK2mM9OQZ0s+EQ3R/zxy7Xltf4V8NL8IIS5/z2G98F9GIKZ9gim7rdakYSu8donprdhO6GF/sXE92lP+7M+VgkkWHFxGLf8XmV0eNI0iAStCov2Enc385szkvXC9s39SJadj99GvBdjnClkZsE2PFppvef34HxiFLpJ4tx7jo6eLOjRRzW5e9QwvAPUj41cieY/kAn6W2RvqUiwkXDaPDlvFy7GYVyIZQIXs86YpVfTagfpMfxeMWSlefcuGqqONAjuvxjHPOplGx4cKyr1e4du9Vwqm9xlS063oOIvZws3Z6ZysiMx9mHALNPfnq0cWF6w== 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=LkVhpYFh9dCSwuf475Fz+H6w5vD2ZUDfswcQbo72X7+rXQDJj4WqxgRlsDYlvRr+HOIJ0bcKZ4bMm3WBzcIxD0ohb9FZWS36xHV9973z0JmNrVN6hsd5VhWAwD62gzULFl3sYEBcowwgBXbLd9k9IiBrwNOCOL8vhwuBaR0cELc7yQDnLhAAlDD/KNuLGkc9zLnWo8LGYpNhpchVCufV6G21AsZIDqSQxuG8HQKfSm+6CBLcQlPni4vKh3RMcmC38Bc3Xk/O6in71AN1g2mtnv1iKum+l/TehuGmYQ8X3vaR/1cu7uuYpXXXAdb6fk+uj2PkW9tMDQLfb5oFA8DEjg== 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=DNZ4NAQVwNomZnCN++HuLLPyJajOIZSlG3+W/QlVeYlxecOxbBFOknt8hWetecF9WXQxi3DlFGy/iQcmdglRiv5csBXFxwtbrdI+1Wg5rR42EouXK7XrwAksXLdYx+Y5pXwTjyv/YhCE9jkHDIGP8Aid64Zn8LbXi0fIIDQUz60= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:06 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:06 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 6/9] tc/mqprio: use words in man page to express min_rate/max_rate dependency on bw_rlimit Date: Mon, 3 Apr 2023 13:52:42 +0300 Message-Id: <20230403105245.2902376-7-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: 6fb38b02-f0d4-41bc-0188-08db34319b09 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: 3W5gallDEgk4WmB+iwCvobD9Ne9ZF0CZYMuOpIxneE4t1/0KktcVR+f+neE8jSPFFsLM6V2xS3w6ul/MwTmeuIyZfXn1Sb0vwy6lEeBMUkROR8mb0yOFJUBc43lgbURp1vco/l6h7tIAAiohTpBUZMx2yVzew6mjSoMT1qmwSKTVk6V0Y3/alpAoXCSBAfDWvHO/VzfERl1iTTkbvuAnyz+t0G+ml1jAwLT29UDhTtbejeidP6kaYNiTWmcCSSa76Og9lRdcPDOrvNIlf8ySfNInW3NZoL079KqZz81ZFo9vOBrtH+n9XWKpxig3lUkbw4MsoGGJlboM4ZoXlPBB3mVsvcshIZFg+XzCVnzBmMt4BXCN32BF0Vg++P+wJ0925Nn1dppXjmN70O2116POjGL5gBsysoaOBzOge15FyAr8nHVRkuGMk2y/iJHlk1ugR5EdlsDtA2Um+7pD15Mobw8EMZq7uCd9WT4XKUJXy9O4dxG+Md+EtVFBO1gXeQGwE44NSw3PPiJ3nZ5fp4E0mW/41y/MhZvdUN/vf8vyKGi+oZ5cuuhyCJFVvEPn0GYIPp2kP2Cu4yqIb8hvkkLTytN5Ex770l2fUp6iVQgU3WZXNAKrnWtzCnm8kZ4HtZJX 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(83380400001)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: LkIlyjK5gZJilFYvWS05TNX4kh3OHEC9NA2/V1098z0lbSeKvc1fGH5oQiQo7W1gILLSJMfRyRzkTgQ/c0ZNjGYFDvT43DxpMZHz818o71aPDENhEq6Ag+V372TBSU39HGNRiQwqknNTT73cE+ljcjWyHT13EM3KGdFmd+4PdpPVpystKe9XI8WZqgEc15qz5co3Z0qoEyT5mliAjpL2G+F6ZBV4LLMLtb4+l0lT4BNSF1bPPMW+rZRy33JWd3XgdVlQ8SMSmhsxeFANBPMH/EuVLziEX/9iU539L8HCLMblWGphpS5Rxk4bkzArscvXJMVK5hpgK0cE38Ke3jWGrfZ0wal4zvgI/h0BQpxa5hDQcwiXy7YrMCiOk/fkatu6Vu1a2WJZP7psfLk+3S2Bvs3vUOUuFrT4UfXZIFxCR+IqNcHadX8JYGTKwkAGeZ1EPBKNVjUvGHCC04IVyMeVJluq62lqe1h9s8FTKkcQI6Oc2aUHBzULNyk6nguEwPGYfOolNgEmhfOzKFJZSOghCQIVYxxfsrY44us9maqU2PNcCFYC+fS3OWcB6dSmra+V9I0Eh9umNq/jxcfx4Bt2xNFzb3hbiToZqvyOvHGPB3bHJnxnCuSkrbhQ0blG/z1aA+k+ox4UTfaYL1lEuajH2nm+kSQsz7GhqcQaEOFeaWovF87BJ/4Z+k1qYOtSDCOFpvpGJo0018VTmFqkY8AvMopd03csGGqR7Jaq/ltCCowiXtLvcOvFSuiS0rTPbUMgmkPMTmexS3AZ/BPUJV7qDtssFBdXVHr1zHarxPv5WcOkUkkurqQVS80mIMoHlzmVuayI1HikcboIzMY1LMGjbx2+Ig6kwPNwqe6LE/EJ2OiNcg4FXonU5LgoazWCQwKm7EF2uM3sjNzVHrz4xW/572tsyQwiLmjySw/30nIs7bYBNYVs2bX5D4m2zGsUWebj1UIgbuYoaPPWmvbJVxoVQPacMdrBTfzaScgAPGy5ogI2KF3qER7/vvfDhX1xsWqfWr4Uvkjo93X1zmT9kPTWWqObtSoq4zw932PbwqkQ2eiVCFMvU8NjiHCM1nyHQ0NAmQuytPag3UrNZ6Ys4sdqYZWWAoLeN7R4Fzlr5n0rsDtmHlYllXhMYrK3YbxJSUK4lhSra7Y2wZhrUSeXVUmlD4teWFgCT/zY8m+YH9gNLzwLSFWOs1voXfxpdNEtRsr7jhO+l9om2KKFegkItDbJOkuqICyOw1IcoJEOc9PWeKX+X+jeFEROuNMqHW6/PQyh6inka3bCTeKYHERoquqPrq6RmyFNm5CmApZuBzlG9SLrfNvsX9Dn7uWwpOb3wuraL1PtynHWo1tuxbgwJBJY3o8/lrxxmAprvD7qQzeNZtswOSUsoSASJuVDtBTfgdRx01tcICn5MGSQnexrXPt0P8m3RwASjgcC6YxhcMveSIB3AYQrdzySyq7OrLZ0B+cor+wVrHhPuBD3xKFhKA2o+x6uI4dvueUL3RgDP6hbKoc/Urb/oAZ+1s+7lYVwzH4s1bZqq9XttxWzKv9RK/Su7BiVrCdLWnCdOJwGkIFa+yM9l6HKRkkFw3IDm8V9Zp67teoGns7qmkQ4/JDpSWIFZw== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6fb38b02-f0d4-41bc-0188-08db34319b09 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:06.3890 (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: IdXbzFoRpEjDS/31T06/E/0OemOHkscK9RFDZp4jKGsHBls9jjUns/LS4eHUYPSv0zlBdhFoP4XbxFtME8fMEQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 Mon Apr 3 10:52:43 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Vladimir Oltean X-Patchwork-Id: 13198027 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 AFFF5C77B60 for ; Mon, 3 Apr 2023 10:54:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231969AbjDCKyD (ORCPT ); Mon, 3 Apr 2023 06:54:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42986 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232039AbjDCKxe (ORCPT ); Mon, 3 Apr 2023 06:53:34 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7DBDB76F for ; Mon, 3 Apr 2023 03:53:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AwDqiBwNV/RyxXigO6mVBx3MGcTl7J5HagZBWEseONqp3Wj+JWQFUCodKQMUdkPx85G+ZJysBvNTORF8N9G6yTC53lojf2tdEMRzkfJM7OOcwkF5Q7NI5C+0p1lACG/nQHWXfkxSpZFPUjKhhrE017rUbNxpyQiftWXSedi6xHUfKkX24PUFjDPP+yHDI39tnTkpn1XEbWLKv/7xRAPwOPWzIAX0/BHDnIKxVNZ4RDiU/Ykh+ayRldirpn0r1nZ1vjRku16hn5i0WGs9rdfD5uFJCiAzxKY0nkto6sfa+5ZewrWkhiyFdCSY9NFIFH5M+QH+Be84kbarUdb04bMViw== 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=qZ09lQ2EjxALltfDWQ4bHiT52QAFHn4E5bhGpBmYThQ=; b=Dh89ZXLJZZZuONX3U1/5ssbt09lUWmWlc8VPoJhg1TGBubCh3ob0DQ92IjvVYeLjCcMViCIj+7VcU6fTZ2GdHvolLegKTAJxZlvHWCVJzpiszGPzoK5CVXX0M3zCgMF5zhtlH0wLVdfpbMJ2VULfaRsVBiqkxlF5cjrUOtO9NVFvAnGxxHY8/yjTGSz8co3u3M7jjqOXIYSOlPrI2KUOoC+/Hqu8ZBFTlKr0KQ6Q1GcHSFWX/F/ENmLiFbv+bQtsCjGtId6lpYdwZZgbP3yXLkIQdbtYutY3/EPVqcM5jgUk0013ZxPRI+MY36STpnrQKgcBl9PQB5aGMcHUomgtBQ== 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=qZ09lQ2EjxALltfDWQ4bHiT52QAFHn4E5bhGpBmYThQ=; b=FrOEK+rFMBe9bwiJeEEZMznK/520Vb49OpdtVZ47Rf7pKUEMZ17lthZPCJrU3LoFsKQw/NZtcewLdbPkl1vK/Tw1cCbv1qNkonrZ1Z/eZ4qoUNprcYMGFdbssKYFgC1cFpnizodmxBO7X4fDbgGowdMtpJbrxI1y0AI3iTuTcs8= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:07 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:06 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 7/9] tc/mqprio: break up synopsis into multiple lines Date: Mon, 3 Apr 2023 13:52:43 +0300 Message-Id: <20230403105245.2902376-8-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: 6f78b5a4-fdbe-4523-ae2a-08db34319b57 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xxQmwCBA2ZJEwxe07D+dHltIg3vK4R2dd08eMQzwF57eGmfJxXB0C6aDn41tiXpMeid59S3D7CNHTuks5UITjYkw97vprKaHN47lF2lUYMQAazOL8tJfBqWETYF6adM6/Majcy8XiU+z0HddjZNYW2baW1bBYqzmbtQLyHXZdLfqNrx/JKPQsMwrZQozPCv8zGrtGNsbeQIWQAq8YJ1uPUEPMREmpKpJbnbk0O8dB47ugc/HX2nbBECpvsQc1mP1Un/XWKh204VOorj5aL970aP9f0jATFkOj0DciPyoalBvymhhGNgE8kkD2wAZj8I6CPAJ4jSR6N+9fT9onOP5d1PA2j/DWnVFjOdT8V8CACPdizFBtLtnTOi70/8pfIrhOm6V1deGgsqrQ52yVFxVlh/oJMJxdDOwV77ERNTm/V3QI8J7XSmYfzBRL5HXDMx51p4XUW7T9mubUKxHqzECtL7MfCFdDs6t4qlkPYISsQG9sBH0rFOH0SGM6JJEDy/16ChTUaqj7EPJVoQiPH4tLI7JaPA9IMQRLwOhxs/hZEOUPcE0ikF5RJ34+3hnRZjYI3LlIkhcZ5oQAuW8YXHIvD3YhnqNw+GM6n55dW5S9dnPqGO3HRbJI/2lNCgmr2J5 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(83380400001)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: wNLgxVzUZPiKAoP1mMC+6qLlQiVv3xw230RVyI5eVSYpZpt8xEWk9AT8J0sQ6aDU1OvD7aJ0WelCwJkhAsDCrZezMiVW4I3sT1QPrN84NMb5Z9ZLbehFHIlZakgW5QD4f/PedfmkW76PT9acjofGn0RSoLVCiEotFpwDBxT9vzn3+/tr6lkUXSkOwzyMkfzHH2GKf4v5j1GORt8ctk1RDgnELRpwolstU78Clb8KravRB/WZI5sgNl424pOYzggfF9gSpsKJiC0qMfdz5tFX5eUsZIDX+plvqdVArFKCWF1TG6oW44Iy2xTxeCy8H79u/ylsFfFIM0+BuCWbgkHjeSMRb8SExxfhA1lo5+FeuJsB5exzSKsGW3llwQSY8D7IAPKBYKudRmELiKBoefKzwexWJps6e18wLM8NFO/dz+CerTJZ9qS2bVzs4gxPbl3nOJEOvMFpVwPC+DQ12eY3pu8pWx2HcfHR23LcIZydkPKJ2KRCz7QFOJ//Q3T++siQ2nGil5fPXVhCN36n8Yj1KFB032kLlzWteEB3Il7twx4FGVjJgwEknj4ntZJrV3GgQV67v0u8vh1CNpIreyHH0xTxhX6zNQCTwqko7M1mCXCdfuCGryf71R1/OY4HoULEYJoVjQsC9jTdpj8L8GPqYj+Rl3ZeKNXwGFxSSH1w3qZsgrCxtly9fu6gJkw0cAPc2zHdhcQ0ISZCTU8zImyLcwaeYXNvKWI9t8oJoFTYbwefYDM/59k79fy0AMead8FP6EZ5lyWPVdw+0oIZEjAzdOnMH2Vs78syagvQa8S7rovQk5i37hAPmnU+nVlBEbOMYGsosKZwsn53cSdZCPJKZH+ccLf9eEvI7E7YsWrzSZtOmQEIwABb709ZCRv0/NgVZLBuhyns36pZKMGMlzQjTdWt7U6LU214v0tpGe977jc0zjkLKhzCiiASKgxnSeJH3He9j4iZbIv38/ckZgIS/noX/wN8spT7hq7Q/B9zUlRP7pJZ3Py+hQsX9QeqBZzbXQMGO7sKnbf/wXMlJ6cVibMXKrageIRpM6tv3TJ61uPdNtSOK1n5qmY7DK4sQ44U4LNpXES9WJ2NkBC0ZFRqOLVCUhukqwWC5RhhpX61wDExEcvKN2IkYfbHH0z6leBxUu8eLBHy7QHTs09YCkOdwAJYyCSTnQsDdCK2Ic6nKJZpGgQ6vvn459HRsY3jBbkz8zxOjeNiN8RLBNOuh41ko6r38nsiE2iSuIIl0LomKdg/CIJLCYEo0ZuRRHm3mUZaVgPnDa9tSLdYkqGv/vSn4E6Xt5jFY3LgOgvcL5Fhob8VpQdVBUBkkLuFqnkR7yAfR0tPHqACZ9ncRUjBgzzzeUmulDuRglsqwoUghyedAZFfKyj1M8Lw7NnKYM4TvHcUBcVHgUal5H6h/W7NWzN72GSJpN9ISbNfAWb8XZgbM/04TkRln/1q2ND/G8P8xlfWSVw8Ag3ReWwePDDM2pEViu8MLI1x+GFTHWGGo1m5HA85YUg/+R1bmTDc2KTSzmkW2d92oS0hdsXSZ37c5k+iHgxR3qqS3a+Qa7qaZWgQ3g4KoUB0YoW68NbRp7g9MlECzXBrRT9TvzMMz60IrSj2Kg== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 6f78b5a4-fdbe-4523-ae2a-08db34319b57 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:06.9074 (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: Aq5aII7GW2JxksRCddaGt2JCSs9tZDooeHdkIo7J8Bf9x0P+3tItap7oTH8emn4dw+/500o9AOzvyzufMib6jQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 --- 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 Mon Apr 3 10:52: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: 13198026 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 97D37C761A6 for ; Mon, 3 Apr 2023 10:54:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231309AbjDCKyC (ORCPT ); Mon, 3 Apr 2023 06:54:02 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43664 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232063AbjDCKxe (ORCPT ); Mon, 3 Apr 2023 06:53:34 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2079.outbound.protection.outlook.com [40.107.22.79]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 23D0B1166C for ; Mon, 3 Apr 2023 03:53:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JKU2Z4tTncW9EWzoyMUHRfjmOHjmszBqiK1Ir/gpnRVPpOfrc/UC1H4lsSaS5hKTbgXlY7/Sff7sNb76X4+4X4YdhSohR4tsIyGr5Dxo2zJwryqfPjSr3sM3ZPRrkYgvxRw1EQOcLGHsaPIR107oop14dxSA+ndEPXG8uRa1DRwsrAAGFW0klOPpGyQSxbzzXJp9HJe2T40jSanoJpqRemRW1bHE5FsJkcPOOt1yYV3oVrkZBIr1eHRFtL+jP5NtsIdiVmEoTr/0H9E8nXyru4B4YxLmNUaXi0Dl0EBb8wX2bTMW6YzXcPPrbyn26TVwFfy1VFIjqinlrsIXdlbg5Q== 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=XLJPmYrpLvkcx8Ch5BDBoVjb6FKaRmtoCBBeGtrk2ss=; b=SXdA3J+obeX+mIQEOY3kARu9mB9oKkdqWs+glSBMKOUKod7ZcvzrNcc6EEsuL2MTF9T8I9tyB8nFJu+UkyOwcjV4KDS130KVz9Xx7Br8qLt6IugmAf8S+E8FPIfGFbjGEQx+VYzlsr60AuXneOPduH2LgGH7LnCVrMheKiTM76DWyPQ6HCJYqTXWiiCop5HlOfsTagJIG6R8+i8RUnmXMBYoN7FybPza10AkcV7Ihzi+2HxD5c6xtIhVh7r9McJRaMtSiIfKSRM/QtcoZRlZQL2pcTJiwnsGl/BxIjfvC4LYMc6S+g4kSpNslZz2pNmhOAGkvtygt2dJhHgZ0YQrMA== 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=XLJPmYrpLvkcx8Ch5BDBoVjb6FKaRmtoCBBeGtrk2ss=; b=E4iYDC+RfKZ2GBgPh6YhrIyfeb1bSCtlgDlfQrvIfNDJsbWIIN1qnl8m+W9COTtELVEAKpFFJRYRITUibJnHDknVPo4iGVnQ/jxMvDpgef2U96sEppyVND2YT1NNptLqn0aUOP6mqkDbOPVpsawW2tglcX8rbNLx3TgP7816flk= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:07 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:07 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 8/9] tc/mqprio: add support for preemptible traffic classes Date: Mon, 3 Apr 2023 13:52:44 +0300 Message-Id: <20230403105245.2902376-9-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: e02a76b8-d803-4150-81b2-08db34319bad X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: ISYdJp1VjcPI55IWGq+t3zneq0rmacOgjZ//92IDhDTzZJXrPX10GVciwkqIyZmHXfpXY17Z4o+WmZfk6jF5PlzhuXJ9zEGXbpT5JapXqSQIWRx8l7yx3WKJXYUNUXxdx4uwK7cHCZcaww4xtZtXAXCbDN8BwfzOojWlkvstP1Mc4KZBi/ieYUEggGnG2zXh6prjcv/wDW6Pte9d0ama1/Vg3OulP2c7UTQ0dskpFqCbuvdaP24GtmAz8yaf0zuEQchLV8R7qTMG8SUWcJdSOEYCuoOvNCStItqEIRsiiKTilkbE+0lc9a0Fi3HyhEy4zCrBfy6sMOW2r8ueDo0P9lRcnzxluPckYc2BdE2f+imWM2o38g1y1pjmjat6s7I1Lw33fqQ32wywLS8huwPwlD2u6lTlRV6VeCQiMCBIH+ArWPTQGxPSQSjOpry0+QS1KJ+fFeWzOnkkXFiYeWjVTAVipSEuqdyUG43rlg3pHmRHRYN/3sShkX1r4KYOYn6FfIbqGa1VNbieaui4lmJ6bpgfuCxDybIoqYzJqAZJwE6OzOcL5RnHYVMREIdqJdh2KPCV383GKH+X2addG/UwUlladUIM3cy6xm2R8qs+3MTXdaawkn+TlrdEotR2yDXG 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(83380400001)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: W7SGzuBSjhucqKLws55ZkpMZdB90aAZCzie1o/rbrAjWhCj8uLB8WhFmPBLdjV9Xz4jSOp7C6F3D6ih5Bib0neQF8WJ8gaLXHlKjKLvl+MhbSGtfQ9fkbrK9yn5FuZRTI5sVVSkH0jsdb55DweTuO0j1GiX3C/xaV1uHxuQ/WKY226d8nL1wcdwcjPEbQZ/9xdpToFl++LnR9InLJkHRdXeGkUsc4WQHQKQ+VA1I2l61uZo8GWUbUAE4oqxzXOK+ns9TMsQmO5zMJnmGRP8jYDVUKk6RQxdvF8Pu/Jo/EGrOQ/4WVuXcIWAi6QVUSfbnMSgx5KileMm1F4Jkf6UgpT1SALZ6OHuBFzuRgiyRih2Q5tkj/Y176u2HIB8ySfT5GBfjeLeK1VbUlMgc4XXshdI3KtSh399eOAtOsIx9ucnnYN1doz2fVokSFAvL5ZqN/qbkrWBRn8QfdcaTfuKXofcJarFLZKwPBX/wN012hz6lvG+D5mc3bamJtoXJIYABIT/jsxplQK00cUEFz3XEC7KZkzBI0WDlWKkmbCy5LdC5c5WaJvr4Wo4CMAyDj4L68WsxQJ3GPCBWEnC7fYF+IGnaALtUBM+xOP+GY1QJKDWnubA9tuyP07mkS8b4jNeRe0mv+6nwiH6gNT7CWmGqvncWIcJvV+t23a1NKBubR6j63G67hkqHW0kiSUl22td2JSkWStGM6Y5g87uMYPrk4lIoZc68D8nxaLFbHAlfpwh6cgJnRt1AH7VgzxTH034lWHIOkic+qkma6509V/S9SqAN/bvumYP5Dy8EezKOoM2oE1Bylqd+TxPDSh3DrdMv5inX4rVM7a59eGE1bwbal/OyRQb+s9ZJe/670Qr3ijPcPIxpdujX68en+iD0fZaBEqLZGGRx462M7yE7kQE4F55G8+gIXQlCmoOkwsIRYIEiM7yDocrAUmIWj7R/omBgXxTFZzzmoaXSVQqd9MMGOW+ZVDm2JF0KEdG+WTAON9XBzkXUJ/YkFstpHDP4mI8fzLw2dQHDF84rnswTylPJo/k4Vj247TMs4bckXR/hunYDFa7Q7vzDDtgEHVhDqjZX0Fl5cSDrvVXBfzsCbd1y8ez/widErx8lOplZEZ9riRpzfKQr9/v3/48fIyf7PkxRTGpmDsyJFvHWd151Zf2H2lM3pEIprUOX8h8XN8Vs0sOoxrjXBZ5XsAodz6zZKa/6vuzg2ZLw28zDcNHptpDkAu7IuJ2OIhQgXExYHFntxITjbRrW0JBxkQz3Mg4isID1M2EGoDUX9sZi0+bNdeGmCerPFVnuy0HIyUVkz3GNwn9FuEjJFp48kmtmcinVnRGGGHvGTkAb1JFqOIBFiHxczVPfQpqewYqC/r3x06jHuaLR8sny8nU8BSVkNL9I9PGse5tX3WnnmyLGR0EzlSj55IE/fjZE/eLqngtFvdTtfMVW4HFXaFFagofcBlU1OEDhp0srzauyjvQE55Ksdd5P/E7rHjFWChXaxN5YknKH6SPzF0koXimozX78Xdd1I2gfVF4xjQRElUs8IDoqjSOOfcLTlFFNn2GxKQgnZ0kImU8GlW8djpo1G3Hu3irJiE9fVnhyFAlqiARPWEG57Ae0BA== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: e02a76b8-d803-4150-81b2-08db34319bad X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:07.4830 (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: goQSad1S/hAkbYTlLFxM8VngiipTpG/6WGOeDZdjSSeYa6UvuiLsglvUaZPhYbTDbc3VOW3rAQgmt2gPadzHfg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 --- man/man8/tc-mqprio.8 | 36 ++++++++++++++-- tc/q_mqprio.c | 98 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 131 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..0ecb05a5613a 100644 --- a/tc/q_mqprio.c +++ b/tc/q_mqprio.c @@ -29,6 +29,22 @@ static void explain(void) " 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 +59,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 +112,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 +221,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 +255,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 +404,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 Mon Apr 3 10:52: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: 13198028 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 1E37FC761A6 for ; Mon, 3 Apr 2023 10:54:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232183AbjDCKyH (ORCPT ); Mon, 3 Apr 2023 06:54:07 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43348 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231743AbjDCKxi (ORCPT ); Mon, 3 Apr 2023 06:53:38 -0400 Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2060.outbound.protection.outlook.com [40.107.22.60]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14C6B11641 for ; Mon, 3 Apr 2023 03:53:33 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Hiqu8ogam9BoK4FA+gn3GQWFtjQgahhS7uG2/gKsZ0Z0Meslm/iGfiSRDRz3fdB6ivzN/OMlM9vJeSQL34FI95rNRODsTCmE5G4xEd1wmSuolHDIW8Uivlz3Jk6vE8/kY0hHi03uHMz7NVazSMeaUYxwPdSTEeQS68MvM+d/sDUvdCi4Z4pL9u65DP32zBlsjBG3wl6i7f+8znHzeGySyOzm21LAop0cehTg5TF9W/m7kaDrp6WmizHjwVXfZvah09BJ0b4hDhq9W13iRoYNtMgSzMLqHKx+Bc1UYbnZtBJFBiDtEw39GsmguCrCvvconUIzeSVbthlfci9hZvYSqA== 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=fcmsjT+oS6JoyxMeBU9bZtMCkGJcfIFKFORtWOUpaAY=; b=ciYazCn5UtI5EsFeZwmBQvIKpkl3thX6UIao8ouok21PCQXleKPpKtf54iFgGRpG9ofIU7pfbb1XyB+C208JBSFTrI85mvT5n+w6yvy/+WriMlFzpgzMPofYmKOQ/HQZn1haicovxniQrLAt4IQBiEWefDWDU6wwXoJxfL8ZTShu8cIN/vp6EO4gLY81HHOZoEDSWlrTyqNP/t7A/aagHWwLf0VbXcACdOVev5umQjjQcZ0lO+4/Fnn0es5QyLPoqqFh0aQmCIZMf8Hbl9etdJGsNm1is0emlJTa5E2udebTGWq8YxXIy7zDeiLC/d7n+Y1jjkECbVVVc7xiIcTedA== 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=fcmsjT+oS6JoyxMeBU9bZtMCkGJcfIFKFORtWOUpaAY=; b=prWgTCdIgyA58RSk0TzgKFChStexxcXkCiZwh1WMIEGkrZM7h0FGiXw92aImmE8Ce5AJX7VP0jvO+StjMVkHaieUVqClQkxYDevT9grSFihL42eO5VKFrFWFiioNTFQr3hBGWJarlG8EkaHzYa61rp5hHjsWwmNZb5nDGaupp0s= 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 DB9PR04MB8479.eurprd04.prod.outlook.com (2603:10a6:10:2c5::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6254.33; Mon, 3 Apr 2023 10:53:08 +0000 Received: from AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5]) by AM0PR04MB6452.eurprd04.prod.outlook.com ([fe80::dfa2:5d65:fad:a2a5%3]) with mapi id 15.20.6254.026; Mon, 3 Apr 2023 10:53:08 +0000 From: Vladimir Oltean To: netdev@vger.kernel.org Cc: David Ahern , Stephen Hemminger Subject: [PATCH iproute2-next 9/9] tc/taprio: add support for preemptible traffic classes Date: Mon, 3 Apr 2023 13:52:45 +0300 Message-Id: <20230403105245.2902376-10-vladimir.oltean@nxp.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20230403105245.2902376-1-vladimir.oltean@nxp.com> References: <20230403105245.2902376-1-vladimir.oltean@nxp.com> X-ClientProxiedBy: FRYP281CA0006.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::16) To AM0PR04MB6452.eurprd04.prod.outlook.com (2603:10a6:208:16d::21) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AM0PR04MB6452:EE_|DB9PR04MB8479:EE_ X-MS-Office365-Filtering-Correlation-Id: 9e8767cf-95ed-4fdf-f2f9-08db34319c00 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: /vsoXVdezAeckoVuZYxSxQwRLgfeslOgSx5xBkLiTGRYMuBQxZ1kziJBJ/RQIIKK9CSzXgzCDAYLg4N2OYf7lJbjrYNXpOBdkVUxFaF0U0EtY/6RhJNU5g8jtCcw2uHArJwdvpdsXHgI5qmMNsx1BGpW2r1n0VtS74yhGbuTkbSWTBNMUTHXZfvszxVG2mb35dx3oAWBL93huo8H7qyRkibxg7d93J6B8+3E7K4eAgJcfptbTgmeCLATn8fihZL7FlthvDcmnJhccFb2YS7gZdgGp2dlYLmJcVrQFMwkr0NMocytcE4R/2PEuDm/kVZfdkfIriWuTe7QswKEluP2E5rDT4kZk829hpfuANIiE6DQ4Yev2Th2BvkY6qn5+jChXo5fwymNVRPUbOETsmSoK3pktKC94nzz3h4OlEivf7ZuWxJwaVlIe2JuxUcMOjMOOPQIA0D9jWdoiXKzPLfAH6UhVLMREYyaEppkUVrQ9toStuSH3xJ2VKG2Cb2st1Pp4XdB0t0AtneiS9/AGSobZWwq7WfLG6uNoUALqQbIC6l42Hm8aLcDq204bEZtZCzzaB0i4HIiyJY56ZBrN4PHZP14VRnGLGy75nZK1/N0QrKBszb42TZ8IYdi4u7PwoiD 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)(396003)(136003)(39860400002)(376002)(346002)(366004)(451199021)(8676002)(6916009)(66556008)(66476007)(66946007)(54906003)(316002)(478600001)(8936002)(44832011)(41300700001)(5660300002)(38100700002)(38350700002)(4326008)(186003)(83380400001)(2616005)(52116002)(6486002)(6666004)(1076003)(26005)(6506007)(6512007)(86362001)(36756003)(2906002);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: W33695xmFV2E50cNaFQKourZSto1t3HQyXh3F7hVM4HHe2rIoCjC62CFwZnf5G1V3dmlKmma392UcZK2VaLDlRsTswPuj3pQ5RW19qNfD1pPTnSRVyePOjixntTWnUx2xty4W5pue2CntH/nqOE8wAaGwUmPbwiwtFzGnvSEsGDm4VtswlYhtQ3d/drbp82Med5eUrQg9ouMX5iNd2/7LinhShj14gCTTtuRueyrbtTOdilmnDak3qvhD+DHuxslDjI9U27eN67OcMdVcc7yucFrlaWFr6b/dXaLpD9kNg3RAWHb3KShjF5a3V7U1DCmgyafCc7q/FoRM4AEv0tOkbOPN6f0DvwX4udQRfjRb4dsL3FrFTvYkDC0DJc2q5epplgzmnjOqLXWfueTN1rL69jpAcJ2c/ZVOtGchIbTSaM2WFP0IO2PaZ5x17nEc08GqcFsF6NmGoNdFeUf/PKi+UcoUtRcx184lAXxbQeUsADCTgHQhQT/ifp1BY7mJh2fkO52nrWQ9AdvdL8ILxCx/W9gfmHdRRlbevRDauRIdEqK8MpRjNw10boMzhN0ErRD3Qk97b9lBnvLZDkhNA1KbY7s30ORSJCwui4ilXrdXr5dsdhuloBcU8v2BgQUXeRcR0cBpRhjqPoJ/sOjgpYcCRPXE22nwxI4TDcWEwnCgUgqPNQKI0k2pszRlZcTR812eBBPna6c6O2B8xOiIbe8mS92Ndnbuuk/ZRj/ExAgzCjtaTd9EywA9KZCq28aJVHN7XFt3jdG+2ZPdChA8LRBNnchjE3lTwBcpCi2x6g1TfcB3mOp0qX5DXcvpT1dejJkuQiUC+rr0AYS88XGuF4kkaIqhsGtbuhOBplt+qoz+Dn375Jka8Xnrj3uul4v3/0PIGzipa3LhT7lhACOxPdKZe8npsFlLf82Nt6klWP6JcbiZasvZFJi6kueg+3Foi9PKf5uyoqvIVlrfQuTtk9Lb97TsLlATaWswqbr8zj/nWPFdRjzLDBVPj1sUZu02w1YYFL8hpMBMFGFyACJeJYyN3B2wYWJxoI2mbVNt2kLbZV82ryE611m44VQ3vbo1tC+rFDbWCqpGvk14WjlX3M8KczzkIqmdJeIiCfNJvvfC0GhJvtHpbiUktmSs5Sxu48f8DsbJgytCgvoI2owWPwGjJtXhENdSK4bLbCFnpHivtqb0WXA8wX7wK68ko2CE2JOKewcBbxl5f2t8tu3sPWlC+LDnfkshVOVxJmYXjf8CGQ2kxraWifaC6QQUdNm19k4U4Z/g69NnxUd0hHIiSdn2oKQVXFzvU+mohCwuvANnvY0Ek72WDcBR32sDEDcLU5jII426uGNbD10N/nWeER+i4RJUxhHVpOmkm5v0P0gzns26hxP/Tg/H6F//j1JEfvUSwk/nvbtKOsPYvXm1BMD95ty6L4OLfLI2oKpLxVt9WoCUI4RMZ5GPrFvSN8vYTy87jEES7DTQymnCvsg9Lp3kDBXS5EXQ2l3Fwe8eRmiyVYr+UmPzhrIjsWUd14YX4/+oS+j//1j+6hONrYEJJrNlTGe0FCrJBeTqH/pH1T3pwT2tJFNuPivQ8B7Ebm9BQ3EEGYVQRredXeRg9J2p2r5KQ== X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9e8767cf-95ed-4fdf-f2f9-08db34319c00 X-MS-Exchange-CrossTenant-AuthSource: AM0PR04MB6452.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Apr 2023 10:53:07.9920 (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: 9p3gBxaTGEI/AMsWjezXIiaKUdL0vuW5k6fbhI9mlpa+dUCNcKl17e0WQQ30ZSGVeqa3UlVvYDaNQnNQ6pDavA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB9PR04MB8479 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 --- man/man8/tc-taprio.8 | 11 +++++ tc/q_taprio.c | 99 +++++++++++++++++++++++++++++++++----------- 2 files changed, 86 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 e00d2aa9a842..23386aa7d82f 100644 --- a/tc/q_taprio.c +++ b/tc/q_taprio.c @@ -148,17 +148,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 +180,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 +188,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 +241,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 +400,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 +491,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 +513,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 +544,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)