[PATCH] examples/pipeline: simplify the L2 forwarding example
Cristian Dumitrescu
cristian.dumitrescu at intel.com
Tue Feb 13 13:13:37 CET 2024
Simplified the L2 forwarding examples by removing all tables and
actions, as they are not really needed for this simplest use-case.
---
examples/pipeline/examples/l2fwd.spec | 34 +++++++--------------------
1 file changed, 8 insertions(+), 26 deletions(-)
diff --git a/examples/pipeline/examples/l2fwd.spec b/examples/pipeline/examples/l2fwd.spec
index 0aebafd07b..1e3e1ad040 100644
--- a/examples/pipeline/examples/l2fwd.spec
+++ b/examples/pipeline/examples/l2fwd.spec
@@ -1,42 +1,24 @@
; SPDX-License-Identifier: BSD-3-Clause
; Copyright(c) 2020 Intel Corporation
+; The simplest pipeline processing with just packet reception and transmission. No header parsing,
+; table lookup or action execution involved. Packets received on port 0 are sent out on port 1,
+; those received on port 1 are sent out on port 0, etc.
+
//
// Meta-data.
//
struct metadata_t {
- bit<32> port_in
- bit<32> port_out
+ bit<32> port
}
metadata instanceof metadata_t
-//
-// Actions.
-//
-action NoAction args none {
- return
-}
-
-//
-// Tables.
-//
-table stub {
- key {
- }
-
- actions {
- NoAction
- }
-
- default_action NoAction args none const
-}
-
//
// Pipeline.
//
apply {
- rx m.port_in
- table stub
- tx m.port_in
+ rx m.port
+ xor m.port 1
+ tx m.port
}
--
2.34.1
More information about the dev
mailing list