One may set RECIRC_ID in a MAE action rule specification.
This field is not a network one, and its handling goes
to the code snippet which does not recognise field
sizes other than 4 bytes. Add the missing handler.

Fixes: 3a73dcfdb255 ("common/sfc_efx/base: match on recirc ID in action rules")
Cc: sta...@dpdk.org

Signed-off-by: Ivan Malov <ivan.ma...@oktetlabs.ru>
Reviewed-by: Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>
Reviewed-by: Andy Moreton <amore...@xilinx.com>
---
 drivers/common/sfc_efx/base/efx_mae.c | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/drivers/common/sfc_efx/base/efx_mae.c 
b/drivers/common/sfc_efx/base/efx_mae.c
index 7d48b5787e..31f51b5548 100644
--- a/drivers/common/sfc_efx/base/efx_mae.c
+++ b/drivers/common/sfc_efx/base/efx_mae.c
@@ -1027,6 +1027,10 @@ efx_mae_match_spec_field_set(
                        memcpy(mvp + descp->emmd_value_offset,
                            &dword, sizeof (dword));
                        break;
+               case 1:
+                       memcpy(mvp + descp->emmd_value_offset,
+                           value, 1);
+                       break;
                default:
                        EFSYS_ASSERT(B_FALSE);
                }
@@ -1039,6 +1043,10 @@ efx_mae_match_spec_field_set(
                        memcpy(mvp + descp->emmd_mask_offset,
                            &dword, sizeof (dword));
                        break;
+               case 1:
+                       memcpy(mvp + descp->emmd_mask_offset,
+                           mask, 1);
+                       break;
                default:
                        EFSYS_ASSERT(B_FALSE);
                }
-- 
2.30.2

Reply via email to