Thread (195 messages) 195 messages, 4 authors, 2021-01-28

Re: [dpdk-dev] [PATCH v1 22/38] net/mvpp2: flow: add support for RAW type

From: Jerin Jacob <hidden>
Date: 2021-01-11 16:18:42

On Wed, Dec 23, 2020 at 2:58 PM Michael Shamis [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Reviewed-by: Michael Shamis <redacted>

-----Original Message-----
From: dev <redacted> On Behalf Of lironh@marvell.com
Sent: Wednesday, December 2, 2020 12:12 PM
To: Jerin Jacob Kollanukkaran <redacted>
Cc: dev@dpdk.org; Liron Himi <redacted>
Subject: [dpdk-dev] [PATCH v1 22/38] net/mvpp2: flow: add support for RAW type

From: Liron Himi <redacted>

add support for RAW type and connect it to MUSDK UDF

Signed-off-by: Liron Himi <redacted>
Reviewed-by: Liron Himi <redacted>
---
 drivers/net/mvpp2/mrvl_ethdev.h |   1 +
 drivers/net/mvpp2/mrvl_flow.c   | 141 ++++++++++++++++++++++++++++++++
 2 files changed, 142 insertions(+)
diff --git a/drivers/net/mvpp2/mrvl_ethdev.h b/drivers/net/mvpp2/mrvl_ethdev.h index e7f75067f..be5e5a51b 100644
--- a/drivers/net/mvpp2/mrvl_ethdev.h
+++ b/drivers/net/mvpp2/mrvl_ethdev.h
@@ -92,6 +92,7 @@ struct rte_flow {
        struct pp2_cls_tbl_rule rule;
        struct pp2_cls_cos_desc cos;
        struct pp2_cls_tbl_action action;
+       uint8_t next_udf_id;
 };

 struct mrvl_mtr_profile {
diff --git a/drivers/net/mvpp2/mrvl_flow.c b/drivers/net/mvpp2/mrvl_flow.c index ffa47a12e..3c8052f06 100644
--- a/drivers/net/mvpp2/mrvl_flow.c
+++ b/drivers/net/mvpp2/mrvl_flow.c
@@ -1196,6 +1196,146 @@ mrvl_parse_udp(const struct rte_flow_item *item,
        return -rte_errno;
 }

+static int
+mrvl_string_to_hex_values(const uint8_t *input_string,
+                         uint8_t *hex_key,
+                         uint8_t *length)
+{
+       char tmp_arr[3], tmp_string[MRVL_CLS_STR_SIZE_MAX], *string_iter;
+       int i;
+
+       strcpy(tmp_string, (const char *)input_string);
+       string_iter = tmp_string;
+
+       string_iter += 2; /* skip the '0x' */
+       *length = ((*length - 2) + 1) / 2;
+
+       for (i = 0; i < *length; i++) {
+               strncpy(tmp_arr, string_iter, 2);
+               tmp_arr[2] = '\0';
+               if (get_val_securely8(tmp_arr, 16,
+                                     &hex_key[*length - 1 - i]) < 0)
+                       return -1;
+               string_iter += 2;
+       }
+
+       return 0;
+}
Is standard strtol()  not enough?
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help