[PATCH v2] mbuf: add new ptype for slow protocols

Mario Kuka kuka at cesnet.cz
Mon Jul 7 09:51:00 CEST 2025


Introduce a new ptype for identifying slow protocol packets.

Signed-off-by: Mario Kuka <kuka at cesnet.cz>
---
* Added 'destination mac'=01-80-C2-00-00-02 required by slow protocols.
* Change ether type value from optional to mandatory.

 dts/framework/remote_session/testpmd_shell.py | 2 ++
 lib/mbuf/rte_mbuf_ptype.c                     | 1 +
 lib/mbuf/rte_mbuf_ptype.h                     | 7 +++++++
 3 files changed, 10 insertions(+)

diff --git a/dts/framework/remote_session/testpmd_shell.py b/dts/framework/remote_session/testpmd_shell.py
index ac99bd09ef..8c3dda3ab4 100644
--- a/dts/framework/remote_session/testpmd_shell.py
+++ b/dts/framework/remote_session/testpmd_shell.py
@@ -1046,6 +1046,8 @@ class RtePTypes(Flag):
     L2_ETHER_FCOE = auto()
     #: MPLS packet type.
     L2_ETHER_MPLS = auto()
+    #: Ethernet packet type for Slow Protocols.
+    L2_ETHER_SLOW = auto()
     #: No L2 packet information.
     L2_UNKNOWN = auto()
 
diff --git a/lib/mbuf/rte_mbuf_ptype.c b/lib/mbuf/rte_mbuf_ptype.c
index 2c80294498..6f5926344f 100644
--- a/lib/mbuf/rte_mbuf_ptype.c
+++ b/lib/mbuf/rte_mbuf_ptype.c
@@ -23,6 +23,7 @@ const char *rte_get_ptype_l2_name(uint32_t ptype)
 	case RTE_PTYPE_L2_ETHER_PPPOE: return "L2_ETHER_PPPOE";
 	case RTE_PTYPE_L2_ETHER_FCOE: return "L2_ETHER_FCOE";
 	case RTE_PTYPE_L2_ETHER_MPLS: return "L2_ETHER_MPLS";
+	case RTE_PTYPE_L2_ETHER_SLOW: return "L2_ETHER_SLOW";
 	default: return "L2_UNKNOWN";
 	}
 }
diff --git a/lib/mbuf/rte_mbuf_ptype.h b/lib/mbuf/rte_mbuf_ptype.h
index c46a94f89f..b38b4d91be 100644
--- a/lib/mbuf/rte_mbuf_ptype.h
+++ b/lib/mbuf/rte_mbuf_ptype.h
@@ -144,6 +144,13 @@ extern "C" {
  * <'ether type'=[0x8847|0x8848]>
  */
 #define RTE_PTYPE_L2_ETHER_MPLS             0x0000000a
+/**
+ * Ethernet packet type for Slow Protocols.
+ *
+ * Packet format:
+ * <'destination mac'=01-80-C2-00-00-02, 'ether type'=0x8809>
+ */
+#define RTE_PTYPE_L2_ETHER_SLOW             0x0000000b
 /**
  * Mask of layer 2 packet types.
  * It is used for outer packet for tunneling cases.
-- 
2.43.0



More information about the dev mailing list