From: Steen Hegelund <steen.hegelund@microchip.com> To: "David S . Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com> Cc: Steen Hegelund <steen.hegelund@microchip.com>, <UNGLinuxDriver@microchip.com>, Randy Dunlap <rdunlap@infradead.org>, "Casper Andersson" <casper.casan@gmail.com>, Russell King <rmk+kernel@armlinux.org.uk>, Wan Jiabing <wanjiabing@vivo.com>, "Nathan Huckleberry" <nhuck@google.com>, <linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, "Steen Hegelund" <Steen.Hegelund@microchip.com>, Daniel Machon <daniel.machon@microchip.com>, Horatiu Vultur <horatiu.vultur@microchip.com>, Lars Povlsen <lars.povlsen@microchip.com> Subject: [PATCH net-next v2 0/8] Add support for VCAP debugFS in Sparx5 Date: Thu, 17 Nov 2022 22:31:06 +0100 [thread overview] Message-ID: <20221117213114.699375-1-steen.hegelund@microchip.com> (raw) This provides support for getting VCAP instance, VCAP rule and VCAP port keyset configuration information via the debug file system. It builds on top of the initial IS2 VCAP support found in these series: https://lore.kernel.org/all/20221020130904.1215072-1-steen.hegelund@microchip.com/ https://lore.kernel.org/all/20221109114116.3612477-1-steen.hegelund@microchip.com/ https://lore.kernel.org/all/20221111130519.1459549-1-steen.hegelund@microchip.com/ Functionality: ============== The VCAP API exposes a /sys/kernel/debug/sparx5/vcaps folder containing the following entries: - raw_<vcap>_<instance> This is a raw dump of the VCAP instance with a line for each available VCAP rule. This information is limited to the VCAP rule address, the rule size and the rule keyset name as this requires very little information from the VCAP cache. This can be used to detect if a valid rule is stored at the correct address. - <vcap>_<instance> This dumps the VCAP instance configuration: address ranges, chain id ranges, word size of keys and actions etc, and for each VCAP rule the details of keys (values and masks) and actions are shown. This is useful when discovering if the expected rule is present and in which order it will be matched. - <interface> This shows the keyset configuration per lookup and traffic type and the set of sticky bits (common for all interfaces). This is cleared when shown, so it is possible to sample over a period of time. It also shows if this port/lookup is enabled for matching in the VCAP. This can be used to find out which keyset the traffic being sent to a port, will be matched against, and if such traffic has been seen by one of the ports. Delivery: ========= This is current plan for delivering the full VCAP feature set of Sparx5: - TC protocol all support for IS2 VCAP - Sparx5 IS0 VCAP support - TC policer and drop action support (depends on the Sparx5 QoS support upstreamed separately) - Sparx5 ES0 VCAP support - TC flower template support - TC matchall filter support for mirroring and policing ports - TC flower filter mirror action support - Sparx5 ES2 VCAP support Version History: ================ v2 Removed a 'support' folder (used for integration testing) that had been added in patch 6/8 by a mistake. Wrapped long lines. v1 Initial version Steen Hegelund (8): net: microchip: sparx5: Ensure L3 protocol has a default value net: microchip: sparx5: Ensure VCAP last_used_addr is set back to default net: microchip: sparx5: Add VCAP debugFS support net: microchip: sparx5: Add raw VCAP debugFS support for the VCAP API net: microchip: sparx5: Add VCAP rule debugFS support for the VCAP API net: microchip: sparx5: Add VCAP debugFS key/action support for the VCAP API net: microchip: sparx5: Add VCAP locking to protect rules net: microchip: sparx5: Add VCAP debugfs KUNIT test .../net/ethernet/microchip/sparx5/Makefile | 1 + .../ethernet/microchip/sparx5/sparx5_main.c | 3 + .../ethernet/microchip/sparx5/sparx5_main.h | 3 + .../microchip/sparx5/sparx5_tc_flower.c | 6 +- .../microchip/sparx5/sparx5_vcap_debugfs.c | 200 +++++ .../microchip/sparx5/sparx5_vcap_debugfs.h | 33 + .../microchip/sparx5/sparx5_vcap_impl.c | 67 +- .../microchip/sparx5/sparx5_vcap_impl.h | 48 ++ drivers/net/ethernet/microchip/vcap/Kconfig | 1 + drivers/net/ethernet/microchip/vcap/Makefile | 1 + .../net/ethernet/microchip/vcap/vcap_api.c | 106 ++- .../net/ethernet/microchip/vcap/vcap_api.h | 14 +- .../microchip/vcap/vcap_api_debugfs.c | 782 ++++++++++++++++++ .../microchip/vcap/vcap_api_debugfs.h | 41 + .../microchip/vcap/vcap_api_debugfs_kunit.c | 545 ++++++++++++ .../ethernet/microchip/vcap/vcap_api_kunit.c | 12 +- .../microchip/vcap/vcap_api_private.h | 103 +++ 17 files changed, 1838 insertions(+), 128 deletions(-) create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_vcap_debugfs.c create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_vcap_debugfs.h create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.h create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_debugfs_kunit.c create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_private.h -- 2.38.1
WARNING: multiple messages have this Message-ID (diff)
From: Steen Hegelund <steen.hegelund@microchip.com> To: "David S . Miller" <davem@davemloft.net>, Eric Dumazet <edumazet@google.com>, Jakub Kicinski <kuba@kernel.org>, Paolo Abeni <pabeni@redhat.com> Cc: Steen Hegelund <steen.hegelund@microchip.com>, <UNGLinuxDriver@microchip.com>, Randy Dunlap <rdunlap@infradead.org>, "Casper Andersson" <casper.casan@gmail.com>, Russell King <rmk+kernel@armlinux.org.uk>, Wan Jiabing <wanjiabing@vivo.com>, "Nathan Huckleberry" <nhuck@google.com>, <linux-kernel@vger.kernel.org>, <netdev@vger.kernel.org>, <linux-arm-kernel@lists.infradead.org>, "Steen Hegelund" <Steen.Hegelund@microchip.com>, Daniel Machon <daniel.machon@microchip.com>, Horatiu Vultur <horatiu.vultur@microchip.com>, Lars Povlsen <lars.povlsen@microchip.com> Subject: [PATCH net-next v2 0/8] Add support for VCAP debugFS in Sparx5 Date: Thu, 17 Nov 2022 22:31:06 +0100 [thread overview] Message-ID: <20221117213114.699375-1-steen.hegelund@microchip.com> (raw) This provides support for getting VCAP instance, VCAP rule and VCAP port keyset configuration information via the debug file system. It builds on top of the initial IS2 VCAP support found in these series: https://lore.kernel.org/all/20221020130904.1215072-1-steen.hegelund@microchip.com/ https://lore.kernel.org/all/20221109114116.3612477-1-steen.hegelund@microchip.com/ https://lore.kernel.org/all/20221111130519.1459549-1-steen.hegelund@microchip.com/ Functionality: ============== The VCAP API exposes a /sys/kernel/debug/sparx5/vcaps folder containing the following entries: - raw_<vcap>_<instance> This is a raw dump of the VCAP instance with a line for each available VCAP rule. This information is limited to the VCAP rule address, the rule size and the rule keyset name as this requires very little information from the VCAP cache. This can be used to detect if a valid rule is stored at the correct address. - <vcap>_<instance> This dumps the VCAP instance configuration: address ranges, chain id ranges, word size of keys and actions etc, and for each VCAP rule the details of keys (values and masks) and actions are shown. This is useful when discovering if the expected rule is present and in which order it will be matched. - <interface> This shows the keyset configuration per lookup and traffic type and the set of sticky bits (common for all interfaces). This is cleared when shown, so it is possible to sample over a period of time. It also shows if this port/lookup is enabled for matching in the VCAP. This can be used to find out which keyset the traffic being sent to a port, will be matched against, and if such traffic has been seen by one of the ports. Delivery: ========= This is current plan for delivering the full VCAP feature set of Sparx5: - TC protocol all support for IS2 VCAP - Sparx5 IS0 VCAP support - TC policer and drop action support (depends on the Sparx5 QoS support upstreamed separately) - Sparx5 ES0 VCAP support - TC flower template support - TC matchall filter support for mirroring and policing ports - TC flower filter mirror action support - Sparx5 ES2 VCAP support Version History: ================ v2 Removed a 'support' folder (used for integration testing) that had been added in patch 6/8 by a mistake. Wrapped long lines. v1 Initial version Steen Hegelund (8): net: microchip: sparx5: Ensure L3 protocol has a default value net: microchip: sparx5: Ensure VCAP last_used_addr is set back to default net: microchip: sparx5: Add VCAP debugFS support net: microchip: sparx5: Add raw VCAP debugFS support for the VCAP API net: microchip: sparx5: Add VCAP rule debugFS support for the VCAP API net: microchip: sparx5: Add VCAP debugFS key/action support for the VCAP API net: microchip: sparx5: Add VCAP locking to protect rules net: microchip: sparx5: Add VCAP debugfs KUNIT test .../net/ethernet/microchip/sparx5/Makefile | 1 + .../ethernet/microchip/sparx5/sparx5_main.c | 3 + .../ethernet/microchip/sparx5/sparx5_main.h | 3 + .../microchip/sparx5/sparx5_tc_flower.c | 6 +- .../microchip/sparx5/sparx5_vcap_debugfs.c | 200 +++++ .../microchip/sparx5/sparx5_vcap_debugfs.h | 33 + .../microchip/sparx5/sparx5_vcap_impl.c | 67 +- .../microchip/sparx5/sparx5_vcap_impl.h | 48 ++ drivers/net/ethernet/microchip/vcap/Kconfig | 1 + drivers/net/ethernet/microchip/vcap/Makefile | 1 + .../net/ethernet/microchip/vcap/vcap_api.c | 106 ++- .../net/ethernet/microchip/vcap/vcap_api.h | 14 +- .../microchip/vcap/vcap_api_debugfs.c | 782 ++++++++++++++++++ .../microchip/vcap/vcap_api_debugfs.h | 41 + .../microchip/vcap/vcap_api_debugfs_kunit.c | 545 ++++++++++++ .../ethernet/microchip/vcap/vcap_api_kunit.c | 12 +- .../microchip/vcap/vcap_api_private.h | 103 +++ 17 files changed, 1838 insertions(+), 128 deletions(-) create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_vcap_debugfs.c create mode 100644 drivers/net/ethernet/microchip/sparx5/sparx5_vcap_debugfs.h create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.c create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_debugfs.h create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_debugfs_kunit.c create mode 100644 drivers/net/ethernet/microchip/vcap/vcap_api_private.h -- 2.38.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next reply other threads:[~2022-11-17 21:31 UTC|newest] Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top 2022-11-17 21:31 Steen Hegelund [this message] 2022-11-17 21:31 ` [PATCH net-next v2 0/8] Add support for VCAP debugFS in Sparx5 Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 1/8] net: microchip: sparx5: Ensure L3 protocol has a default value Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 2/8] net: microchip: sparx5: Ensure VCAP last_used_addr is set back to default Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 3/8] net: microchip: sparx5: Add VCAP debugFS support Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 4/8] net: microchip: sparx5: Add raw VCAP debugFS support for the VCAP API Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 5/8] net: microchip: sparx5: Add VCAP rule " Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 6/8] net: microchip: sparx5: Add VCAP debugFS key/action " Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 7/8] net: microchip: sparx5: Add VCAP locking to protect rules Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-17 21:31 ` [PATCH net-next v2 8/8] net: microchip: sparx5: Add VCAP debugfs KUNIT test Steen Hegelund 2022-11-17 21:31 ` Steen Hegelund 2022-11-21 11:40 ` [PATCH net-next v2 0/8] Add support for VCAP debugFS in Sparx5 patchwork-bot+netdevbpf 2022-11-21 11:40 ` patchwork-bot+netdevbpf 2022-11-21 19:01 ` Jakub Kicinski 2022-11-21 19:01 ` Jakub Kicinski 2022-11-22 9:17 ` Steen Hegelund 2022-11-22 9:17 ` Steen Hegelund 2022-11-22 18:47 ` Jakub Kicinski 2022-11-22 18:47 ` Jakub Kicinski
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20221117213114.699375-1-steen.hegelund@microchip.com \ --to=steen.hegelund@microchip.com \ --cc=UNGLinuxDriver@microchip.com \ --cc=casper.casan@gmail.com \ --cc=daniel.machon@microchip.com \ --cc=davem@davemloft.net \ --cc=edumazet@google.com \ --cc=horatiu.vultur@microchip.com \ --cc=kuba@kernel.org \ --cc=lars.povlsen@microchip.com \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-kernel@vger.kernel.org \ --cc=netdev@vger.kernel.org \ --cc=nhuck@google.com \ --cc=pabeni@redhat.com \ --cc=rdunlap@infradead.org \ --cc=rmk+kernel@armlinux.org.uk \ --cc=wanjiabing@vivo.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.