git: 14e2413289ae - stable/13 - mlx5en: add ASCII art providing an overview of flow tables organization
Konstantin Belousov
kib at FreeBSD.org
Mon Jul 26 15:19:46 UTC 2021
The branch stable/13 has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=14e2413289aedabf20b521dcbe5e24b34ca0d34b
commit 14e2413289aedabf20b521dcbe5e24b34ca0d34b
Author: Konstantin Belousov <konstantinb at nvidia.com>
AuthorDate: 2021-04-26 22:38:46 +0000
Commit: Konstantin Belousov <kib at FreeBSD.org>
CommitDate: 2021-07-26 13:51:11 +0000
mlx5en: add ASCII art providing an overview of flow tables organization
(cherry picked from commit b1277d42d718cd42d04d39fa2d61873655e909b3)
---
sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c
index cdfe19d910d1..54fbe8e057cc 100644
--- a/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c
+++ b/sys/dev/mlx5/mlx5_en/mlx5_en_flow_table.c
@@ -31,6 +31,35 @@
#include <dev/mlx5/fs.h>
#include <dev/mlx5/mpfs.h>
+/*
+ * The flow tables with rules define the packet processing on receive.
+ * Currently, the following structure is set up to handle different offloads
+ * like VLAN decapsulation, packet classification, RSS hashing, VxLAN checksum
+ * offloading:
+ *
+ *
+ * +=========+ +=========+ +=================+
+ * |VLAN ft: | |VxLAN | |VxLAN Main |
+ * |CTAG/STAG|------>| VNI|----->|Inner Proto Match|=====> Inner TIR n
+ * |VID/noVID|/ |Catch-all|\ | |
+ * +=========+ +=========+| +=================+
+ * |
+ * |
+ * |
+ * v
+ * +=================+
+ * |Main |
+ * |Outer Proto Match|=====> TIR n
+ * | |
+ * +=================+
+ *
+ * The path through flow rules directs each packet into an appropriate TIR,
+ * according to the:
+ * - VLAN encapsulation
+ * - Outer protocol
+ * - Presence of inner protocol
+ */
+
#define MLX5_SET_CFG(p, f, v) MLX5_SET(create_flow_group_in, p, f, v)
enum {
More information about the dev-commits-src-all
mailing list