Re: [ovs-dev] [PATCH ovn branch-23.03 4/5] Add new egress tables to accommodate for too-big packets handling

2023-05-31 Thread 0-day Robot
Bleep bloop.  Greetings Ihar Hrachyshka, I am a robot and I have tried out your 
patch.
Thanks for your contribution.

I encountered some error that I wasn't expecting.  See the details below.


checkpatch:
WARNING: Unexpected sign-offs from developers who are not authors or co-authors 
or committers: Mark Michelson , Dumitru Ceara 

Lines checked: 1928, Warnings: 1, Errors: 0


Please check this out.  If you feel there has been an error, please email 
acon...@redhat.com

Thanks,
0-day Robot
___
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev


[ovs-dev] [PATCH ovn branch-23.03 4/5] Add new egress tables to accommodate for too-big packets handling

2023-05-31 Thread Ihar Hrachyshka
The new tables will be used in a later patch as follows:

table=37, OFTABLE_OUTPUT_INIT: becomes an initial entry point into the
egress pipeline that serves a semantic goal. (Not doing any actual
processing at the moment.)

table=38, OFTABLE_OUTPUT_LARGE_PKT_DETECT: detect "too-big" IP packets
and mark them for later processing in table=39.

table=39, OFTABLE_OUTPUT_LARGE_PKT_PROCESS: process "too-big" IP packets
detected in table=38 by sending ICMPv4 Fragmentation Needed / ICMPv6 Too
Big errors back to the originating port.

All previous table indices shifted by 3 (old table=37 becomes table=40).
Otherwise, no changes to existing tables and flows introduced.

Conflicts:
  tests/ovn-controller.at
  tests/ovn.at
  tests/system-ovn-kmod.at

Acked-by: Dumitru Ceara 
Signed-off-by: Ihar Hrachyshka 
Signed-off-by: Mark Michelson 
(cherry picked from commit b17ee2e124a9d0173dc0c5df0996d9ff0532f36e)



This cherry-pick also includes the following patch that fixes test
failure.



test: Fix expected OpenFlow table numbers.

Commit 549e8ccebca7 ("ovn-controller.c: Fix assertion failure during
address set update.") added a new ovn-controller.at test and commit
740f23c19577 ("Add new egress tables to accommodate for too-big packets
handling") went in without updating the expected numbers for that test.

Fixes: 740f23c19577 ("Add new egress tables to accommodate for too-big packets 
handling")
Signed-off-by: Dumitru Ceara 
Reviewed-By: Ihar Hrachyshka 
(cherry picked from commit a5428a8e58dfcd239d9ae05c1adf2fd4605a8a3f)
(cherry picked from commit 84c55880d5b5d87072942c3692e86bbe93b8dd55)
---
 controller/lflow.c   |   4 +-
 controller/lflow.h   |  49 ---
 controller/physical.c|  77 +++
 controller/pinctrl.c |   8 +-
 ovn-architecture.7.xml   |  71 +-
 tests/ovn-controller.at  | 180 -
 tests/ovn.at | 282 +++
 tests/system-ovn-kmod.at |   2 +-
 tests/system-ovn.at  |   8 +-
 9 files changed, 355 insertions(+), 326 deletions(-)

diff --git a/controller/lflow.c b/controller/lflow.c
index 0b071138d..22faaf013 100644
--- a/controller/lflow.c
+++ b/controller/lflow.c
@@ -397,7 +397,7 @@ consider_lflow_for_added_as_ips__(
 : OFTABLE_LOG_EGRESS_PIPELINE);
 uint8_t ptable = first_ptable + lflow->table_id;
 uint8_t output_ptable = (ingress
- ? OFTABLE_REMOTE_OUTPUT
+ ? OFTABLE_OUTPUT_INIT
  : OFTABLE_SAVE_INPORT);
 
 uint64_t ovnacts_stub[1024 / 8];
@@ -1067,7 +1067,7 @@ consider_logical_flow__(const struct sbrec_logical_flow 
*lflow,
 : OFTABLE_LOG_EGRESS_PIPELINE);
 uint8_t ptable = first_ptable + lflow->table_id;
 uint8_t output_ptable = (ingress
- ? OFTABLE_REMOTE_OUTPUT
+ ? OFTABLE_OUTPUT_INIT
  : OFTABLE_SAVE_INPORT);
 
 /* Parse OVN logical actions.
diff --git a/controller/lflow.h b/controller/lflow.h
index dd742257b..b804e61e5 100644
--- a/controller/lflow.h
+++ b/controller/lflow.h
@@ -63,27 +63,34 @@ struct uuid;
  *
  * These are heavily documented in ovn-architecture(7), please update it if
  * you make any changes. */
-#define OFTABLE_PHY_TO_LOG0
-#define OFTABLE_LOG_INGRESS_PIPELINE  8 /* First of LOG_PIPELINE_LEN tables. */
-#define OFTABLE_REMOTE_OUTPUT37
-#define OFTABLE_LOCAL_OUTPUT 38
-#define OFTABLE_CHECK_LOOPBACK   39
-#define OFTABLE_LOG_EGRESS_PIPELINE  40 /* First of LOG_PIPELINE_LEN tables. */
-#define OFTABLE_SAVE_INPORT  64
-#define OFTABLE_LOG_TO_PHY   65
-#define OFTABLE_MAC_BINDING  66
-#define OFTABLE_MAC_LOOKUP   67
-#define OFTABLE_CHK_LB_HAIRPIN   68
-#define OFTABLE_CHK_LB_HAIRPIN_REPLY 69
-#define OFTABLE_CT_SNAT_HAIRPIN  70
-#define OFTABLE_GET_FDB  71
-#define OFTABLE_LOOKUP_FDB   72
-#define OFTABLE_CHK_IN_PORT_SEC  73
-#define OFTABLE_CHK_IN_PORT_SEC_ND   74
-#define OFTABLE_CHK_OUT_PORT_SEC 75
-#define OFTABLE_ECMP_NH_MAC  76
-#define OFTABLE_ECMP_NH  77
-#define OFTABLE_CHK_LB_AFFINITY  78
+#define OFTABLE_PHY_TO_LOG0
+
+/* Start of LOG_PIPELINE_LEN tables. */
+#define OFTABLE_LOG_INGRESS_PIPELINE  8
+#define OFTABLE_OUTPUT_INIT  37
+#define OFTABLE_OUTPUT_LARGE_PKT_DETECT  38
+#define OFTABLE_OUTPUT_LARGE_PKT_PROCESS 39
+#define OFTABLE_REMOTE_OUTPUT40
+#define OFTABLE_LOCAL_OUTPUT 41
+#define OFTABLE_CHECK_LOOPBACK   42
+
+/* Start of LOG_PIPELINE_LEN tables. */
+#define OFTABLE_LOG_EGRESS_PIPELINE  43
+#define OFTABLE_SAVE_INPORT  64
+#define OFTABLE_LOG_TO_PHY   65
+#define OFTABLE_MAC_BINDING  66
+#define OFTABLE_MAC_LOOKUP   67
+#define OFTABLE_CHK_LB_HAIRPIN   68
+